#include #include #include #include #include "TGraphErrors.h" void adcVout(){ //Define parameters common to all analysis configurations const Int_t points = 9; gStyle->SetPalette(1); gStyle->SetPadGridX(kTRUE); gStyle->SetPadGridY(kTRUE); TGaxis::SetMaxDigits(4); gStyle->SetOptStat(kFALSE); ifstream infile("summary.txt"); char header[256]; for(int h = 0; h<11; h++) { //read the header info infile >> header; } Double_t Run[points], HV[points], PreAmp[points], Navg[points], PedAve[points], PedRMS[points], nonLin[points], nonLinpV[points], Error[points], Chi2p6df[points], I_out[points]; Double_t RelativeWidth[points], HV_positive[points], nonLin_positive[points], Chi2[points], erX[points], erY[points], myPreAmp[points], myNavg[points], Vout[points], nonLinpV_positive[points], my_Iout[points]; const int ndf = 6; Double_t Vperch = 76.29E-6; //Volts per channel for(int i=0;i> Run[i] >> HV[i] >> PreAmp[i] >> Navg[i] >> PedAve[i] >> PedRMS[i] >> nonLin[i] >> Error[i] >> nonLinpV[i] >> Chi2p6df[i] >> I_out[i]; RelativeWidth[i] = PedRMS[i]/PedAve[i]; HV_positive[i] = HV[i]; nonLin_positive[i] = nonLin[i]; nonLinpV_positive[i] = nonLinpV[i]; Chi2[i] = Chi2p6df[i]/ndf; myPreAmp[i] = PreAmp[i]; erX[i] = 0.0; erY[i] = Error[i]; myNavg[i] = Navg[i]; Vout[i] = Navg[i]*Vperch; my_Iout[i] = I_out[i]; cout << Run[i]<<" "<SetTitle("non-linearity vs HV for ZK5363 @ 0.15nALL; HV (V); nonLinearity (%)"); TExec *ex = new TExec("ex","HVoltage();"); gr->GetListOfFunctions()->Add(ex); gr->Draw("AP"); gr->GetXaxis()->CenterTitle(); gr->GetYaxis()->CenterTitle(); TF1 *f1 = new TF1("f1","pol1",-1000,-520); f1->SetLineWidth(2); f1->SetLineColor(46); gr->Fit("f1","R"); gPad->Modified(); TString leg[points]; leg[0]=Form("Vadc=%1.2fV, 1.0M#Omega(MAIN)",Vout[0]); leg[1]=Form("Vadc=%1.2fV, 2.0M#Omega(MAIN)",Vout[1]); leg[2]=Form("Vadc=%1.2fV, 2.0M#Omega(MAIN)",Vout[2]); leg[3]=Form("Vadc=%1.2fV, 4.0M#Omega(MAIN)",Vout[3]); leg[4]=Form("Vadc=%1.2fV, 4.0M#Omega(MAIN)",Vout[4]); leg[5]=Form("Vadc=%1.2fV, 10.0M#Omega(SNS)",Vout[5]); leg[6]=Form("Vadc=%1.2fV, 10.0M#Omega(SNS)",Vout[6]); leg[7]=Form("Vadc=%1.2fV, 25.0M#Omega(LUMI)",Vout[7]); leg[8]=Form("Vadc=%1.2fV, 25.0M#Omega(LUMI)",Vout[8]); TPaveText *pt=new TPaveText(-618,.3,-500,.62); pt->SetBorderSize(1); pt->SetFillColor(0); pt->AddText(leg[0]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(1); pt->AddText(leg[1]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(2); pt->AddText(leg[2]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(3); pt->AddText(leg[3]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(4); pt->AddText(leg[4]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(5); pt->AddText(leg[5]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(6); pt->AddText(leg[6]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(7); pt->AddText(leg[7]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(8); pt->AddText(leg[8]); ((TText*)pt->GetListOfLines()->Last())->SetTextColor(9); pt->Draw(); c->SaveAs("nonLinearity_vs_HV.png"); } void HVoltage(){ Int_t i,points,j; Double_t x,y; TGraph *g = (TGraph*)gPad->GetListOfPrimitives()->FindObject("Graph"); points = g->GetN(); TMarker *m; for (i=0; iGetPoint(i,x,y); m = new TMarker(x,y,29); m->SetMarkerColor(i+1); m->Paint(); } }