#include "TFile.h" #include "TCanvas.h" #include "TStyle.h" #include "TH1.h" #include "TH2.h" #include "TH3.h" #include "TGaxis.h" #include "TRandom.h" #include "TLegend.h" #include "TPaveStats.h" #include "TGraph.h" #include "TSystem.h" #include "TTree.h" #include "TTreePlayer.h" #include "TF1.h" void caloeff() { int ifile=500636660; //Root File number name. To change each time /* int a=8; //First subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int b=3; //Second subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int c=19; //Third subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int d=10; //Fourth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int e=11; //Fifth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int f=23;//Sixth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET */ // /* int a=8; //First subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int b=9; //Second subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int c=6; //Third subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int d=7; //Fourth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int e=0; //Fifth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET // */ int csig=3;//Sigma const int ene22mean=3281; //mean 22 GeV da fit int ene22sigma=361; //sigma 22 GeV da fit int p1p2=2; //a,b int p13subp23sub=2; //a,c int p14subp24sub=1; //a,d int p15subp25sub=1; //a,e //int p13subp23suball=p13subp23sub; //a,c int p13subp23suball=1; //a,c int p14subp24suball=p14subp24sub; //a,d int p15subp25suball=p15subp25sub; //a,e float p0; float p1; float p2; float p03sub; float p13sub; float p23sub; float p03suball; float p13suball; float p23suball; float p04sub; float p14sub; float p24sub; float p04suball; float p14suball; float p24suball; float p05sub; float p15sub; float p25sub; float p05suball; float p15suball; float p25suball; char dirin[50];//Directory where there is the input root file char dirout[50];//Main Directory where to save the output files char htempname[50]; char htempabname[50]; char heneabname[50]; char fobject[50]; char cdenename[50]; char cddeltatimeXname[50]; char cddeltatimeYname[50]; char cdtempXnameab[50]; char cdtempYnameab[50]; char cdeneXnameab[50]; char cdeneYnameab[50]; char particletype[200]; char timenamesuba[50]; char timeenergynamesuba[50]; char timenamesubb[50]; char timeenergynamesubb[50]; char timenamesubc[50]; char timeenergynamesubc[50]; char timenamesubd[50]; char timeenergynamesubd[50]; char timenamesube[50]; char timeenergynamesube[50]; char timenamesubf[50]; char energyunit[50]; sprintf(dirin, "C:/si-calo-sep18/"); //TO USE FOR FILES WITH THE TARGET //sprintf(dirin, "D:/data_calib/"); //TO USE FOR FILES WITHOUT THE TARGET sprintf(dirout, "C:/"); sprintf(htempname, "#DeltaTime"); sprintf(htempabname, "Time"); sprintf(heneabname, "Energy"); sprintf(fobject, "lemma"); sprintf(cdenename, "Energy"); sprintf(cddeltatimeXname, "#DeltaTime (ns)"); sprintf(cddeltatimeYname, "# Counts"); sprintf(cdtempXnameab, "Time (ns)"); sprintf(cdtempYnameab, "# Counts"); sprintf(cdeneXnameab, "Energy (ADC counts)"); sprintf(cdeneYnameab, "# Counts"); sprintf(particletype, "si-%d, e^{+}_{45GeV} + Be_{6cm}:",ifile); sprintf(energyunit, "ADC counts"); if (a==8 || a==9 || a==6 || a==7 ) { sprintf(timenamesuba, "Scintillator"); //First subdetector tipology name for time plot. sprintf(timeenergynamesuba, "Scintillator"); //First subdetector tipology name for energy plot. } else if (a==0 || a==1 || a==2 || a==3 || a==4 || a==5) { sprintf(timenamesuba, "Lead"); //First subdetector tipology name for time plot. sprintf(timeenergynamesuba, "Lead"); //First subdetector tipology name for energy plot. } else if (a==12 || a==13 || a==14 || a==15 ) { sprintf(timenamesuba, "Horsa"); //First subdetector tipology name for time plot. sprintf(timeenergynamesuba, "Horsa"); //First subdetector tipology name for energy plot. } else if (a==16 || a==17 || a==18 || a==19 || a==10 || a==11 || a==20 || a==21 || a==22 || a==23 ) { sprintf(timenamesuba, "Versa"); //First subdetector tipology name for time plot. sprintf(timeenergynamesuba, "Versa"); //First subdetector tipology name for energy plot. } if (b==8 || b==9 || b==6 || b==7){ sprintf(timenamesubb, "Scintillator"); //Second subdetector tipology name for time plot. sprintf(timeenergynamesubb, "Scintillator"); //Second subdetector tipology name for energy plot. } else if (b==0 || b==1 || b==2 || b==3 || b==4 || b==5) { sprintf(timenamesubb, "Lead"); //Second subdetector tipology name for time plot. sprintf(timeenergynamesubb, "Lead"); //Second subdetector tipology name for energy plot. } else if (b==12 || b==13 || b==14 || b==15 ){ sprintf(timenamesubb, "Horsa"); //Second subdetector tipology name for time plot. sprintf(timeenergynamesubb, "Horsa"); //Second subdetector tipology name for energy plot. } else if (b==16 || b==17 || b==18 || b==19 || b==10 || b==11 || b==20 || b==21 || b==22 || b==23 ){ sprintf(timenamesubb, "Versa"); //Second subdetector tipology name for time plot. sprintf(timeenergynamesubb, "Versa"); //Second subdetector tipology name for energy plot. } if (c==8 || c==9 || c==6 || c==7){ sprintf(timenamesubc, "Scintillator"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc, "Scintillator"); //Third subdetector tipology name for energy plot. } else if (c==0 || c==1 || c==2 || c==3 || c==4 || c==5) { sprintf(timenamesubc, "Lead"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc, "Lead"); //Third subdetector tipology name for energy plot. } else if (c==12 || c==13 || c==14 || c==15 ){ sprintf(timenamesubc, "Horsa"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc, "Horsa"); //Third subdetector tipology name for energy plot. } else if (c==16 || c==17 || c==18 || c==19 || c==10 || c==11 || c==20 || c==21 || c==22 || c==23 ){ sprintf(timenamesubc, "Versa"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc, "Versa"); //Third subdetector tipology name for energy plot. } if (d==8 || d==9 || d==6 || d==7){ sprintf(timenamesubd, "Scintillator"); //Fourth subdetector tipology name for time plot. sprintf(timeenergynamesubd, "Scintillator"); //Fourth subdetector tipology name for energy plot. } else if (d==0 || d==1 || d==2 || d==3 || d==4 || d==5) { sprintf(timenamesubd, "Lead"); //Fourth subdetector tipology name for time plot. sprintf(timeenergynamesubd, "Lead"); //Fourth subdetector tipology name for energy plot. } else if (d==12 || d==13 || d==14 || d==15 ){ sprintf(timenamesubd, "Horsa"); //Fourth subdetector tipology name for time plot. sprintf(timeenergynamesubd, "Horsa"); //Fourth subdetector tipology name for energy plot. } else if (d==16 || d==17 || d==18 || d==19 || d==10 || d==11 || d==20 || d==21 || d==22 || d==23 ){ sprintf(timenamesubd, "Versa"); //Fourth subdetector tipology name for time plot. sprintf(timeenergynamesubd, "Versa"); //Fourth subdetector tipology name for energy plot. } if (e==8 || e==9 || e==6 || e==7){ sprintf(timenamesube, "Scintillator"); //Fifth subdetector tipology name for time plot. sprintf(timeenergynamesube, "Scintillator"); //Fifth subdetector tipology name for energy plot. } else if (e==0 || e==1 || e==2 || e==3 || e==4 || e==5) { sprintf(timenamesube, "Lead"); //Fifth subdetector tipology name for time plot. sprintf(timeenergynamesube, "Lead"); //Fifth subdetector tipology name for energy plot. } else if (e==12 || e==13 || e==14 || e==15 ){ sprintf(timenamesube, "Horsa"); //Fifth subdetector tipology name for time plot. sprintf(timeenergynamesube, "Horsa"); //Fifth subdetector tipology name for energy plot. } else if (e==16 || e==17 || e==18 || e==19 || e==10 || e==11 || e==20 || e==21 || e==22 || e==23 ){ sprintf(timenamesube, "Versa"); //Fifth subdetector tipology name for time plot. sprintf(timeenergynamesube, "Versa"); //Fifth subdetector tipology name for energy plot. } int n=3; int c_YTitleSize=25; int c_YTitleFont=43; double c_YTitleOffset=1.55; int c_YLabelFont=43; int c_YLabelSize=20; int c_XTitleSize=25; int c_XTitleFont=43; int c_XTitleOffset=1; int c_XLabelFont=43; int c_XLabelSize=20; int c1_YTitleSize=10; int c1_YTitleFont=43; double c1_YTitleOffset=2; int c1_YLabelFont=43; int c1_YLabelSize=10; int c1_XTitleSize=10; int c1_XTitleFont=43; int c1_XTitleOffset=2; int c1_XLabelFont=43; int c1_XLabelSize=10; int c2_YTitleSize=10; int c2_YTitleFont=43; double c2_YTitleOffset=2; int c2_YLabelFont=43; int c2_YLabelSize=10; int c2_XTitleSize=10; int c2_XTitleFont=43; int c2_XTitleOffset=2; int c2_XLabelFont=43; int c2_XLabelSize=10; int c2_XSetRangem=0; int c2_XSetRangeMa=4000; int c2_XSetRangeMb=2000; float heneabfillcolor=0.35; float htimeabfillcolor=0.35; float hdeltatimeabfillcolor=0.35; TString myfilein = TString::Format("%ssi-%d.root",dirin,ifile); gSystem->mkdir(TString::Format("%stestbeam/", dirout), kTRUE); gSystem->mkdir(TString::Format("%stestbeam/si-%d/", dirout,ifile), kTRUE); gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/",dirout,ifile, a,b), kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d",dirout,ifile, a,b,c),kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/",dirout,ifile, a,b,c,d),kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/",dirout,ifile,a,b,c,d,e),kTRUE); // TO USE FOR FILES WITH TARGET TString outfolder=TString::Format("%stestbeam/si-%d/sub_%d-%d/",dirout,ifile, a,b); // TO USE FOR FILES WITH TARGET TString outfolder3sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/",dirout,ifile, a,b,c); // TO USE FOR FILES WITH TARGET TString outfolder4sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/",dirout,ifile, a,b,c,d); // TO USE FOR FILES WITH TARGET TString outfolder5sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/",dirout,ifile, a,b,c,d,e); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder.Data(),ifile,a,b); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout3sub = TString::Format("%ssi-%d_deltatime%d-%d-%d.pdf",outfolder3sub.Data(),ifile,a,b,c); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout4sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d.pdf",outfolder4sub.Data(),ifile,a,b,c,d); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout5sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d-%d.pdf",outfolder5sub.Data(),ifile,a,b,c,d,e); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout3suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder3sub.Data(),ifile,a,c); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout4suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder4sub.Data(),ifile,a,d); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout5suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder5sub.Data(),ifile,a,e); // TO USE FOR FILES WITH TARGET TString myplottimeout = TString::Format("%ssi-%d_time%d-%d.pdf",outfolder.Data(),ifile,a,b); // TO USE FOR FILES WITH TARGET TString myplottimeout3sub = TString::Format("%ssi-%d_time%d-%d-%d.pdf",outfolder3sub.Data(),ifile,a,b,c); // TO USE FOR FILES WITH TARGET TString myplottimeout4sub = TString::Format("%ssi-%d_time%d-%d-%d.pdf",outfolder4sub.Data(),ifile,a,b,d); // TO USE FOR FILES WITH TARGET TString myplottimeout5sub = TString::Format("%ssi-%d_time%d-%d-%d-%d.pdf",outfolder5sub.Data(),ifile,a,b,d,e); // TO USE FOR FILES WITH TARGET TString myploteneout = TString::Format("%ssi-%d_ene%d-%d.pdf",outfolder.Data(),ifile,a,b); // TO USE FOR FILES WHIT TARGET TString myploteneout3sub = TString::Format("%ssi-%d_ene%d-%d-%d.pdf",outfolder3sub.Data(),ifile,a,b,c); // TO USE FOR FILES WHIT TARGET TString myploteneout4sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d.pdf",outfolder4sub.Data(),ifile,a,b,c,d); // TO USE FOR FILES WHIT TARGET TString myploteneout5sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d-%d.pdf",outfolder5sub.Data(),ifile,a,b,c,d,e); // TO USE FOR FILES WHIT TARGET TString myploteneout22GeV = TString::Format("%ssi-%d_ene%d_22GeV.pdf",outfolder5sub.Data(),ifile,e); // TO USE FOR FILES WHIT TARGET TString cdname = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype,timenamesuba,a,timenamesubb,b); // TO USE FOR FILES WITH TARGET TString cdname3sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubc,c); // TO USE FOR FILES WITH TARGET METHOD 2 TString cdname4sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubd,d); // TO USE FOR FILES WITH TARGET METHOD 2 TString cdname5sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesube,e); // TO USE FOR FILES WITH TARGET METHOD 2 TString cdtempnamea = TString::Format("%s Time_{%s}_{%d}", particletype,timeenergynamesuba,a); TString cdtempnameb = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubb,b); // TO USE FOR FILES WITH TARGET TString cdtempnamec = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubc,c); // TO USE FOR FILES WITH TARGET TString cdtempnamed = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubd,d); // TO USE FOR FILES WITH TARGET TString cdtempnamee = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesube,e); // TO USE FOR FILES WITH TARGET TString cdenenamea = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesuba,a); TString cdenenameb = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubb,b); // TO USE FOR FILES WITH TARGET TString cdenenamec = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubc,c); // TO USE FOR FILES WITH TARGET TString cdenenamed = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubd,d); // TO USE FOR FILES WITH TARGET TString cdenenamee = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesube,e); // TO USE FOR FILES WITH TARGET TString canvtitle = TString::Format("si-%d",ifile); TFile *fin = TFile::Open(myfilein); fin->ls (); TGaxis::SetMaxDigits(n); if (fin == 0) { printf("Error: cannot open the file!\n"); } else { TTree *t=0; fin->GetObject(fobject,t); TCanvas *c0 = new TCanvas("c0",canvtitle,1280,1024); gStyle->SetOptFit(); gStyle->SetOptStat(111110); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(1100, -550., 550.)", a, b)); t->GetHistogram()->SetTitle(cdname); t->SetScanField(0); /* ((TTreePlayer*)(t->GetPlayer()))->SetScanRedirect(true); ((TTreePlayer*)(t->GetPlayer()))->SetScanFileName(mydatavalueouta); t->Scan(Form("Calo_Time[%d]",a)); ((TTreePlayer*)(t->GetPlayer()))->SetScanRedirect(true); ((TTreePlayer*)(t->GetPlayer()))->SetScanFileName(mydatavalueoutb); t->Scan(Form("Calo_Time[%d]",b)); ((TTreePlayer*)(t->GetPlayer()))->SetScanRedirect(true); ((TTreePlayer*)(t->GetPlayer()))->SetScanFileName(mydatavalueoutab); t->Scan(Form("Calo_Time[%d]-Calo_Time[%d]",a,b)); */ TH1F *htemp = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g1 = new TF1 ("m1", "gaus", -50, 5); g1->SetLineColor(kYellow); TF1 *g2 = new TF1 ("m2", "gaus", 0, 5); g2->SetLineColor(kGreen); TF1 *f1 = new TF1("double_gaus", "gaus(0) + gaus(3)", -50, 50); f1->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f1->SetParLimits(5,0,100); f1->SetLineColor(kRed); htemp->Fit(g1, "R"); htemp->Fit(g2, "R"); Double_t par[6]; g1->GetParameters(&par[0]); g2->GetParameters(&par[3]); f1->SetParameters(par); htemp->Fit(f1, "R"); htemp->Draw("e1"); g1->Draw("SAME"); g2->Draw("SAME"); f1->Draw("SAME"); std::cout << g1->Mean(f1->GetXmin(), f1->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g1->Variance(f1->GetXmin(), f1->GetXmax())) << std::endl; std::cout << g2->Mean(f1->GetXmin(), f1->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g2->Variance(f1->GetXmin(), f1->GetXmax())) << std::endl; std::cout << f1->Mean(f1->GetXmin(), f1->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f1->Variance(f1->GetXmin(), f1->GetXmax())) << std::endl; Double_t xmin = f1->GetXmin(); Double_t xmax = f1->GetXmax(); Double_t mean = f1->Mean(xmin, xmax); Double_t sigma = TMath::Sqrt(f1->Variance(xmin, xmax)); xmin = mean - 5.0 * sigma; xmax = mean + 5.0 * sigma; mean = f1->Mean(xmin, xmax); sigma = TMath::Sqrt(f1->Variance(xmin, xmax)); std::cout << "Mean = " << mean << std::endl; std::cout << "Sigma = " << sigma << std::endl; if (p1p2==1) { p1=f1->GetParameter(1); p2=f1->GetParameter(2); } else if (p1p2==2) { p1=f1->GetParameter(4); p2=f1->GetParameter(5); } htemp->GetXaxis()->SetTitle(cddeltatimeXname); htemp->GetYaxis()->SetTitle(cddeltatimeYname); htemp->GetYaxis()->SetTitleSize(c_YTitleSize); htemp->GetYaxis()->SetTitleFont(c_YTitleFont); htemp->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp->GetYaxis()->SetLabelFont(c_YLabelFont); htemp->GetYaxis()->SetLabelSize(c_YLabelSize); htemp->GetXaxis()->SetTitleSize(c_XTitleSize); htemp->GetXaxis()->SetTitleFont(c_XTitleFont); htemp->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp->GetXaxis()->SetLabelFont(c_XLabelFont); htemp->GetXaxis()->SetLabelSize(c_XLabelSize); htemp->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp->Draw(); htemp->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c0->Update(); TLegend* leg = new TLegend(0.15, 0.7, .25, .75); leg->SetHeader("Legend"); leg->SetNColumns(1); leg->AddEntry(htemp, "Data", "l"); leg->AddEntry(f1, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg->Draw(); c0->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime = (TPaveStats*)htemp->GetListOfFunctions()->FindObject("stats"); statsgdeltatime->SetTextColor(kBlue); statsgdeltatime->SetX1NDC(0.80); statsgdeltatime->SetX2NDC(0.98); statsgdeltatime->SetY1NDC(0.77); statsgdeltatime->SetY2NDC(0.92); statsgdeltatime->AddText(TString::Format("Mean = %g", p1)); statsgdeltatime->AddText(TString::Format("Sigma = %g", p2)); statsgdeltatime->DrawClone(); gPad->Update(); c0->Print(myplotdeltatimeout); delete c0; TCanvas *c1 = new TCanvas("c1",canvtitle,1280,1024); c1->Divide (2,1); c1->cd(1); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",a)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamea); TH1F *htempa = (TH1F*)gPad->GetPrimitive("htemp"); htempa->GetXaxis()->SetTitle(cdtempXnameab); htempa->GetYaxis()->SetTitle(cdtempYnameab); htempa->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa->Draw(); htempa->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa = new TLegend(0.65, 0.7, .75, .75); legtempa->SetHeader("Legend"); legtempa->SetNColumns(1); legtempa->AddEntry(htempa, "Data", "l"); legtempa->Draw(); gPad->Update(); TPaveStats *statsgtempa = (TPaveStats*)htempa->GetListOfFunctions()->FindObject("stats"); statsgtempa->SetTextColor(kBlue); statsgtempa->SetX1NDC(0.80); statsgtempa->SetX2NDC(0.98); statsgtempa->SetY1NDC(0.77); statsgtempa->SetY2NDC(0.92); gPad->Update(); c1->cd(2); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",b)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameb); TH1F *htempb = (TH1F*)gPad->GetPrimitive("htemp"); htempb->GetXaxis()->SetTitle(cdtempXnameab); htempb->GetYaxis()->SetTitle(cdtempYnameab); htempb->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb->Draw(); htempb->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb = new TLegend(0.65, 0.7, .75, .75); legtempb->SetHeader("Legend"); legtempb->SetNColumns(1); legtempb->AddEntry(htempb, "Data", "l"); legtempb->Draw(); gPad->Update(); TPaveStats *statsgtempb = (TPaveStats*)htempb->GetListOfFunctions()->FindObject("stats"); statsgtempb->SetTextColor(kBlue); statsgtempb->SetX1NDC(0.80); statsgtempb->SetX2NDC(0.98); statsgtempb->SetY1NDC(0.77); statsgtempb->SetY2NDC(0.92); gPad->Update(); c1->Print(myplottimeout); delete c1; TCanvas *c34 = new TCanvas("c34",canvtitle,1280,1024); c34->Divide (2,1); c34->cd(1); t->SetLineColor(kBlue); TCut cut = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, b, p1, csig, p2).Data(); TString heneastring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", a); t->Draw(heneastring, cut); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea = (TH1F*)gPad->GetPrimitive("htemp"); henea->GetXaxis()->SetTitle(cdeneXnameab); henea->GetYaxis()->SetTitle(cdeneYnameab); henea->GetYaxis()->SetTitleSize(c2_YTitleSize); henea->GetYaxis()->SetTitleFont(c2_YTitleFont); henea->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea->GetYaxis()->SetLabelFont(c2_YLabelFont); henea->GetYaxis()->SetLabelSize(c2_YLabelSize); henea->GetXaxis()->SetTitleSize(c2_XTitleSize); henea->GetXaxis()->SetTitleFont(c2_XTitleFont); henea->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea->GetXaxis()->SetLabelFont(c2_XLabelFont); henea->GetXaxis()->SetLabelSize(c2_XLabelSize); henea->SetFillColorAlpha(kBlue, heneabfillcolor); henea->Draw(); henea->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea = new TLegend(0.65, 0.7, .75, .75); legenea->SetHeader("Legend"); legenea->SetNColumns(1); legenea->AddEntry(henea, "Data", "l"); legenea->Draw(); gPad->Update(); TPaveStats *statsgenea = (TPaveStats*)henea->GetListOfFunctions()->FindObject("stats"); statsgenea->SetTextColor(kBlue); statsgenea->SetX1NDC(0.80); statsgenea->SetX2NDC(0.98); statsgenea->SetY1NDC(0.77); statsgenea->SetY2NDC(0.92); gPad->Update(); c34->cd(2); t->SetLineColor(kBlue); TString henebstring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", b); t->Draw(henebstring, cut); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb = (TH1F*)gPad->GetPrimitive("htemp"); heneb->GetXaxis()->SetTitle(cdeneXnameab); heneb->GetYaxis()->SetTitle(cdeneYnameab); heneb->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb->SetFillColorAlpha(kBlue, heneabfillcolor); heneb->Draw(); heneb->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb = new TLegend(0.65, 0.7, .75, .75); legeneb->SetHeader("Legend"); legeneb->SetNColumns(1); legeneb->AddEntry(heneb, "Data", "l"); legeneb->Draw(); gPad->Update(); TPaveStats *statsgeneb = (TPaveStats*)heneb->GetListOfFunctions()->FindObject("stats"); statsgeneb->SetTextColor(kBlue); statsgeneb->SetX1NDC(0.80); statsgeneb->SetX2NDC(0.98); statsgeneb->SetY1NDC(0.77); statsgeneb->SetY2NDC(0.92); gPad->Update(); c34->Print(myploteneout); delete c34; /*----------------------------------SECTION FOR 3 SUBDETECTORS COINCIDENCE 1----------------------------------*/ TCanvas *c16 = new TCanvas("c16",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(1100., -550., -550.)", a, c)); t->GetHistogram()->SetTitle(cdname3sub); t->SetScanField(0); TH1F *htemp3suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g13suball = new TF1 ("m13suball", "gaus", -200, -120); g13suball->SetLineColor(kYellow); TF1 *g23suball = new TF1 ("m23suball", "gaus", -130, 100); g23suball->SetLineColor(kGreen); TF1 *f13suball = new TF1("double_gaus3suball", "gaus(0) + gaus(3)", -200, 100); //f13suball->SetParLimits(5,0,100); f13suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f13suball->SetLineColor(kRed); htemp3suball->Fit(g13suball, "R"); htemp3suball->Fit(g23suball, "R"); Double_t par3suball[6]; g13suball->GetParameters(&par3suball[0]); g23suball->GetParameters(&par3suball[3]); f13suball->SetParameters(par3suball); htemp3suball->Fit(f13suball, "R"); htemp3suball->Draw("e1"); g13suball->Draw("SAME"); g23suball->Draw("SAME"); f13suball->Draw("SAME"); std::cout << g13suball->Mean(f13suball->GetXmin(), f13suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g13suball->Variance(f13suball->GetXmin(), f13suball->GetXmax())) << std::endl; std::cout << g23suball->Mean(f13suball->GetXmin(), f13suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g23suball->Variance(f13suball->GetXmin(), f13suball->GetXmax())) << std::endl; std::cout << f13suball->Mean(f13suball->GetXmin(), f13suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f13suball->Variance(f13suball->GetXmin(), f13suball->GetXmax())) << std::endl; Double_t xmin3suball = f13suball->GetXmin(); Double_t xmax3suball = f13suball->GetXmax(); Double_t mean3suball = f13suball->Mean(xmin3suball, xmax3suball); Double_t sigma3suball = TMath::Sqrt(f13suball->Variance(xmin3suball, xmax3suball)); xmin3suball = mean3suball - 5.0 * sigma3suball; xmax3suball = mean3suball + 5.0 * sigma3suball; mean3suball = f13suball->Mean(xmin3suball, xmax3suball); sigma3suball = TMath::Sqrt(f13suball->Variance(xmin3suball, xmax3suball)); std::cout << "Mean = " << mean3suball << std::endl; std::cout << "Sigma = " << sigma3suball << std::endl; if (p13subp23suball==1) { p13suball=f13suball->GetParameter(1); p23suball=f13suball->GetParameter(2); } else if (p13subp23suball==2) { p13suball=f13suball->GetParameter(4); p23suball=f13suball->GetParameter(5); } htemp3suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp3suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp3suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp3suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp3suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp3suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp3suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp3suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp3suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp3suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp3suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp3suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp3suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp3suball->Draw(); htemp3suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c16->Update(); TLegend* leg3suball = new TLegend(0.15, 0.7, .25, .75); leg3suball->SetHeader("Legend"); leg3suball->SetNColumns(1); leg3suball->AddEntry(htemp3suball, "Data", "l"); leg3suball->AddEntry(f13suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg3suball->Draw(); c16->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime3suball = (TPaveStats*)htemp3suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime3suball->SetTextColor(kBlue); statsgdeltatime3suball->SetX1NDC(0.80); statsgdeltatime3suball->SetX2NDC(0.98); statsgdeltatime3suball->SetY1NDC(0.77); statsgdeltatime3suball->SetY2NDC(0.92); statsgdeltatime3suball->AddText(TString::Format("Mean = %g", p13suball)); statsgdeltatime3suball->AddText(TString::Format("Sigma = %g", p23suball)); statsgdeltatime3suball->DrawClone(); gPad->Update(); c16->Print(myplotdeltatimeout3suball); delete c16; TCanvas *c17 = new TCanvas("c17",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp3substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(950., -550., 400.)", a,c); t->Draw(htemp3substring, cut); t->GetHistogram()->SetTitle(cdname3sub); t->SetScanField(0); TH1F *htemp3sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g13sub = new TF1 ("m13sub", "gaus", -140, -120); g13sub->SetLineColor(kYellow); TF1 *g23sub = new TF1 ("m23sub", "gaus", -130, -110); g23sub->SetLineColor(kGreen); TF1 *f13sub = new TF1("double_gaus3sub", "gaus(0) + gaus(3)", -400, 00); f13sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f13sub->SetLineColor(kRed); htemp3sub->Fit(g13sub, "R"); htemp3sub->Fit(g23sub, "R"); Double_t par3sub[6]; g13sub->GetParameters(&par3sub[0]); g23sub->GetParameters(&par3sub[3]); f13sub->SetParameters(par3sub); htemp3sub->Fit(f13sub, "R"); htemp3sub->Draw("e1"); g13sub->Draw("SAME"); g23sub->Draw("SAME"); f13sub->Draw("SAME"); std::cout << g13sub->Mean(f13sub->GetXmin(), f13sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g13sub->Variance(f13sub->GetXmin(), f13sub->GetXmax())) << std::endl; std::cout << g23sub->Mean(f13sub->GetXmin(), f13sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g23sub->Variance(f13sub->GetXmin(), f13sub->GetXmax())) << std::endl; std::cout << f13sub->Mean(f13sub->GetXmin(), f13sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f13sub->Variance(f13sub->GetXmin(), f13sub->GetXmax())) << std::endl; Double_t xmin3sub = f13sub->GetXmin(); Double_t xmax3sub = f13sub->GetXmax(); Double_t mean3sub = f13sub->Mean(xmin3sub, xmax3sub); Double_t sigma3sub = TMath::Sqrt(f13sub->Variance(xmin3sub, xmax3sub)); xmin3sub = mean3sub - 5.0 * sigma3sub; xmax3sub = mean3sub + 5.0 * sigma3sub; mean3sub = f13sub->Mean(xmin3sub, xmax3sub); sigma3sub = TMath::Sqrt(f13sub->Variance(xmin3sub, xmax3sub)); std::cout << "Mean = " << mean3sub << std::endl; std::cout << "Sigma = " << sigma3sub << std::endl; if (p13subp23sub==1) { p13sub=f13sub->GetParameter(1); p23sub=f13sub->GetParameter(2); } else if (p13subp23sub==2) { p13sub=f13sub->GetParameter(4); p23sub=f13sub->GetParameter(5); } htemp3sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp3sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp3sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp3sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp3sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp3sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp3sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp3sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp3sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp3sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp3sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp3sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp3sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp3sub->Draw(); htemp3sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c17->Update(); TLegend* leg3sub = new TLegend(0.15, 0.7, .25, .75); leg3sub->SetHeader("Legend"); leg3sub->SetNColumns(1); leg3sub->AddEntry(htemp3sub, "Data", "l"); leg3sub->AddEntry(f13sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg3sub->Draw(); c17->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime3sub = (TPaveStats*)htemp3sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime3sub->SetTextColor(kBlue); statsgdeltatime3sub->SetX1NDC(0.80); statsgdeltatime3sub->SetX2NDC(0.98); statsgdeltatime3sub->SetY1NDC(0.77); statsgdeltatime3sub->SetY2NDC(0.92); statsgdeltatime3sub->AddText(TString::Format("Mean = %g", p13sub)); statsgdeltatime3sub->AddText(TString::Format("Sigma = %g", p23sub)); statsgdeltatime3sub->DrawClone(); gPad->Update(); c17->Print(myplotdeltatimeout3sub); delete c17; TCanvas *c18 = new TCanvas("c18",canvtitle,1280,1024); c18->Divide (3,1); c18->cd(1); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",a)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamea); TH1F *htempa3sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa3sub->GetXaxis()->SetTitle(cdtempXnameab); htempa3sub->GetYaxis()->SetTitle(cdtempYnameab); htempa3sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa3sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa3sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa3sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa3sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa3sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa3sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa3sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa3sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa3sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa3sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa3sub->Draw(); htempa3sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa3sub = new TLegend(0.65, 0.7, .75, .75); legtempa3sub->SetHeader("Legend"); legtempa3sub->SetNColumns(1); legtempa3sub->AddEntry(htempa3sub, "Data", "l"); legtempa3sub->Draw(); gPad->Update(); TPaveStats *statsgtempa3sub = (TPaveStats*)htempa3sub->GetListOfFunctions()->FindObject("stats"); statsgtempa3sub->SetTextColor(kBlue); statsgtempa3sub->SetX1NDC(0.80); statsgtempa3sub->SetX2NDC(0.98); statsgtempa3sub->SetY1NDC(0.77); statsgtempa3sub->SetY2NDC(0.92); gPad->Update(); c18->cd(2); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",b)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameb); TH1F *htempb3sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb3sub->GetXaxis()->SetTitle(cdtempXnameab); htempb3sub->GetYaxis()->SetTitle(cdtempYnameab); htempb3sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb3sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb3sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb3sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb3sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb3sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb3sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb3sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb3sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb3sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb3sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb3sub->Draw(); htempb3sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb3sub = new TLegend(0.65, 0.7, .75, .75); legtempb3sub->SetHeader("Legend"); legtempb3sub->SetNColumns(1); legtempb3sub->AddEntry(htempb3sub, "Data", "l"); legtempb3sub->Draw(); gPad->Update(); TPaveStats *statsgtempb3sub = (TPaveStats*)htempb3sub->GetListOfFunctions()->FindObject("stats"); statsgtempb3sub->SetTextColor(kBlue); statsgtempb3sub->SetX1NDC(0.80); statsgtempb3sub->SetX2NDC(0.98); statsgtempb3sub->SetY1NDC(0.77); statsgtempb3sub->SetY2NDC(0.92); gPad->Update(); c18->cd(3); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",c)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamec); TH1F *htempc3sub = (TH1F*)gPad->GetPrimitive("htemp"); htempc3sub->GetXaxis()->SetTitle(cdtempXnameab); htempc3sub->GetYaxis()->SetTitle(cdtempYnameab); htempc3sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempc3sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempc3sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempc3sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempc3sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempc3sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempc3sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempc3sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempc3sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempc3sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempc3sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempc3sub->Draw(); htempc3sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempc3sub = new TLegend(0.65, 0.7, .75, .75); legtempc3sub->SetHeader("Legend"); legtempc3sub->SetNColumns(1); legtempc3sub->AddEntry(htempc3sub, "Data", "l"); legtempc3sub->Draw(); gPad->Update(); TPaveStats *statsgtempc3sub = (TPaveStats*)htempc3sub->GetListOfFunctions()->FindObject("stats"); statsgtempc3sub->SetTextColor(kBlue); statsgtempc3sub->SetX1NDC(0.80); statsgtempc3sub->SetX2NDC(0.98); statsgtempc3sub->SetY1NDC(0.77); statsgtempc3sub->SetY2NDC(0.92); gPad->Update(); c18->Print(myplottimeout3sub); delete c18; TCanvas *c19 = new TCanvas("c19",canvtitle,1280,1024); c19->Divide (3,1); c19->cd(1); t->SetLineColor(kBlue); TCut cut3sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, c, p13sub, csig, p23sub).Data(); TString henea3substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", a); t->Draw(henea3substring, cut && !cut3sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea3sub = (TH1F*)gPad->GetPrimitive("htemp"); henea3sub->GetXaxis()->SetTitle(cdeneXnameab); henea3sub->GetYaxis()->SetTitle(cdeneYnameab); henea3sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea3sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea3sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea3sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea3sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea3sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea3sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea3sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea3sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea3sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea3sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea3sub->Draw(); henea3sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenea3sub = new TLegend(0.65, 0.7, .75, .75); legenea3sub->SetHeader("Legend"); legenea3sub->SetNColumns(1); legenea3sub->AddEntry(henea3sub, "Data", "l"); legenea3sub->Draw(); gPad->Update(); TPaveStats *statsgenea3sub = (TPaveStats*)henea3sub->GetListOfFunctions()->FindObject("stats"); statsgenea3sub->SetTextColor(kBlue); statsgenea3sub->SetX1NDC(0.80); statsgenea3sub->SetX2NDC(0.98); statsgenea3sub->SetY1NDC(0.77); statsgenea3sub->SetY2NDC(0.92); gPad->Update(); c19->cd(2); t->SetLineColor(kBlue); TString heneb3substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", b); t->Draw(heneb3substring, cut && !cut3sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb3sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb3sub->GetXaxis()->SetTitle(cdeneXnameab); heneb3sub->GetYaxis()->SetTitle(cdeneYnameab); heneb3sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb3sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb3sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb3sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb3sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb3sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb3sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb3sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb3sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb3sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb3sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb3sub->Draw(); heneb3sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb3sub = new TLegend(0.65, 0.7, .75, .75); legeneb3sub->SetHeader("Legend"); legeneb3sub->SetNColumns(1); legeneb3sub->AddEntry(heneb3sub, "Data", "l"); legeneb3sub->Draw(); gPad->Update(); TPaveStats *statsgeneb3sub = (TPaveStats*)heneb3sub->GetListOfFunctions()->FindObject("stats"); statsgeneb3sub->SetTextColor(kBlue); statsgeneb3sub->SetX1NDC(0.80); statsgeneb3sub->SetX2NDC(0.98); statsgeneb3sub->SetY1NDC(0.77); statsgeneb3sub->SetY2NDC(0.92); gPad->Update(); c19->cd(3); t->SetLineColor(kBlue); TString henec3substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", c); t->Draw(henec3substring, cut && !cut3sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec3sub = (TH1F*)gPad->GetPrimitive("htemp"); henec3sub->GetXaxis()->SetTitle(cdeneXnameab); henec3sub->GetYaxis()->SetTitle(cdeneYnameab); henec3sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henec3sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henec3sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec3sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henec3sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henec3sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henec3sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henec3sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec3sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henec3sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henec3sub->SetFillColorAlpha(kBlue, heneabfillcolor); henec3sub->Draw(); henec3sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenec3sub = new TLegend(0.65, 0.7, .75, .75); legenec3sub->SetHeader("Legend"); legenec3sub->SetNColumns(1); legenec3sub->AddEntry(henec3sub, "Data", "l"); legenec3sub->Draw(); gPad->Update(); TPaveStats *statsgenec3sub = (TPaveStats*)henec3sub->GetListOfFunctions()->FindObject("stats"); statsgenec3sub->SetTextColor(kBlue); statsgenec3sub->SetX1NDC(0.80); statsgenec3sub->SetX2NDC(0.98); statsgenec3sub->SetY1NDC(0.77); statsgenec3sub->SetY2NDC(0.92); gPad->Update(); c19->Print(myploteneout3sub); delete c19; /*----------------------------------SECTION FOR 4 SUBDETECTORS COINCIDENCE METHOD 2----------------------------------*/ TCanvas *c11 = new TCanvas("c11",canvtitle,1280,1024); gStyle->SetOptFit(); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(600., -400., 200.)", a, d)); t->GetHistogram()->SetTitle(cdname4sub); t->SetScanField(0); TH1F *htemp4suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g14suball = new TF1 ("m14suball", "gaus", -200, 0); g14suball->SetLineColor(kYellow); TF1 *g24suball = new TF1 ("m24suball", "gaus", -100, 100); g24suball->SetLineColor(kGreen); TF1 *f14suball = new TF1("double_gaus4suball", "gaus(0) + gaus(3)", -200, 100); f14suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f14suball->SetLineColor(kRed); htemp4suball->Fit(g14suball, "R"); htemp4suball->Fit(g24suball, "R"); Double_t par4suball[6]; g14suball->GetParameters(&par4suball[0]); g24suball->GetParameters(&par4suball[3]); f14suball->SetParameters(par4suball); htemp4suball->Fit(f14suball, "R"); htemp4suball->Draw("e1"); g14suball->Draw("SAME"); g24suball->Draw("SAME"); f14suball->Draw("SAME"); std::cout << g14suball->Mean(f14suball->GetXmin(), f14suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g14suball->Variance(f14suball->GetXmin(), f14suball->GetXmax())) << std::endl; std::cout << g24suball->Mean(f14suball->GetXmin(), f14suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g24suball->Variance(f14suball->GetXmin(), f14suball->GetXmax())) << std::endl; std::cout << f14suball->Mean(f14suball->GetXmin(), f14suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f14suball->Variance(f14suball->GetXmin(), f14suball->GetXmax())) << std::endl; Double_t xmin4suball = f14suball->GetXmin(); Double_t xmax4suball = f14suball->GetXmax(); Double_t mean4suball = f14suball->Mean(xmin4suball, xmax4suball); Double_t sigma4suball = TMath::Sqrt(f14suball->Variance(xmin4suball, xmax4suball)); xmin4suball = mean4suball - 5.0 * sigma4suball; xmax4suball = mean4suball + 5.0 * sigma4suball; mean4suball = f14suball->Mean(xmin4suball, xmax4suball); sigma4suball = TMath::Sqrt(f14suball->Variance(xmin4suball, xmax4suball)); std::cout << "Mean = " << mean4suball << std::endl; std::cout << "Sigma = " << sigma4suball << std::endl; if (p14subp24suball==1) { p14suball=f14suball->GetParameter(1); p24suball=f14suball->GetParameter(2); } else if (p14subp24suball==2) { p14suball=f14suball->GetParameter(4); p24suball=f14suball->GetParameter(5); } htemp4suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp4suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp4suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp4suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp4suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp4suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp4suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp4suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp4suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp4suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp4suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp4suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp4suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp4suball->Draw(); htemp4suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c11->Update(); TLegend* leg4suball = new TLegend(0.15, 0.7, .25, .75); leg4suball->SetHeader("Legend"); leg4suball->SetNColumns(1); leg4suball->AddEntry(htemp4suball, "Data", "l"); leg4suball->AddEntry(f14suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg4suball->Draw(); c11->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime4suball = (TPaveStats*)htemp4suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime4suball->SetTextColor(kBlue); statsgdeltatime4suball->SetX1NDC(0.80); statsgdeltatime4suball->SetX2NDC(0.98); statsgdeltatime4suball->SetY1NDC(0.77); statsgdeltatime4suball->SetY2NDC(0.92); statsgdeltatime4suball->AddText(TString::Format("Mean = %g", p14suball)); statsgdeltatime4suball->AddText(TString::Format("Sigma = %g", p24suball)); statsgdeltatime4suball->DrawClone(); gPad->Update(); c11->Print(myplotdeltatimeout4suball); delete c11; TCanvas *c8 = new TCanvas("c8",canvtitle,1280,1024); gStyle->SetOptFit(); t->SetLineColor(kBlue); TString htemp4substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(900., -400., 500.)", a,d); t->Draw(htemp4substring, cut && !cut3sub); t->GetHistogram()->SetTitle(cdname4sub); t->SetScanField(0); TH1F *htemp4sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g14sub = new TF1 ("m14sub", "gaus", -200, 0); g14sub->SetLineColor(kYellow); TF1 *g24sub = new TF1 ("m24sub", "gaus", -100, 100); g24sub->SetLineColor(kGreen); TF1 *f14sub = new TF1("double_gaus4sub", "gaus(0) + gaus(3)", -200, 100); f14sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f14sub->SetLineColor(kRed); htemp4sub->Fit(g14sub, "R"); htemp4sub->Fit(g24sub, "R"); Double_t par4sub[6]; g14sub->GetParameters(&par4sub[0]); g24sub->GetParameters(&par4sub[3]); f14sub->SetParameters(par4sub); htemp4sub->Fit(f14sub, "R"); htemp4sub->Draw("e1"); g14sub->Draw("SAME"); g24sub->Draw("SAME"); f14sub->Draw("SAME"); std::cout << g14sub->Mean(f14sub->GetXmin(), f14sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g14sub->Variance(f14sub->GetXmin(), f14sub->GetXmax())) << std::endl; std::cout << g24sub->Mean(f14sub->GetXmin(), f14sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g24sub->Variance(f14sub->GetXmin(), f14sub->GetXmax())) << std::endl; std::cout << f14sub->Mean(f14sub->GetXmin(), f14sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f14sub->Variance(f14sub->GetXmin(), f14sub->GetXmax())) << std::endl; Double_t xmin4sub = f14sub->GetXmin(); Double_t xmax4sub = f14sub->GetXmax(); Double_t mean4sub = f14sub->Mean(xmin4sub, xmax4sub); Double_t sigma4sub = TMath::Sqrt(f14sub->Variance(xmin4sub, xmax4sub)); xmin4sub = mean4sub - 5.0 * sigma4sub; xmax4sub = mean4sub + 5.0 * sigma4sub; mean4sub = f14sub->Mean(xmin4sub, xmax4sub); sigma4sub = TMath::Sqrt(f14sub->Variance(xmin4sub, xmax4sub)); std::cout << "Mean = " << mean4sub << std::endl; std::cout << "Sigma = " << sigma4sub << std::endl; if (p14subp24sub==1) { p14sub=f14sub->GetParameter(1); p24sub=f14sub->GetParameter(2); } else if (p14subp24sub==2) { p14sub=f14sub->GetParameter(4); p24sub=f14sub->GetParameter(5); } htemp4sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp4sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp4sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp4sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp4sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp4sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp4sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp4sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp4sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp4sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp4sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp4sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp4sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp4sub->Draw(); htemp4sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c8->Update(); TLegend* leg4sub = new TLegend(0.15, 0.7, .25, .75); leg4sub->SetHeader("Legend"); leg4sub->SetNColumns(1); leg4sub->AddEntry(htemp4sub, "Data", "l"); leg4sub->AddEntry(f14sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg4sub->Draw(); c8->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime4sub = (TPaveStats*)htemp4sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime4sub->SetTextColor(kBlue); statsgdeltatime4sub->SetX1NDC(0.80); statsgdeltatime4sub->SetX2NDC(0.98); statsgdeltatime4sub->SetY1NDC(0.77); statsgdeltatime4sub->SetY2NDC(0.92); statsgdeltatime4sub->AddText(TString::Format("Mean = %g", p14sub)); statsgdeltatime4sub->AddText(TString::Format("Sigma = %g", p24sub)); statsgdeltatime4sub->DrawClone(); gPad->Update(); c8->Print(myplotdeltatimeout4sub); delete c8; TCanvas *c9 = new TCanvas("c9",canvtitle,1280,1024); c9->Divide (2,2); c9->cd(1); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",a)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamea); TH1F *htempa4sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa4sub->GetXaxis()->SetTitle(cdtempXnameab); htempa4sub->GetYaxis()->SetTitle(cdtempYnameab); htempa4sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa4sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa4sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa4sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa4sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa4sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa4sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa4sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa4sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa4sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa4sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa4sub->Draw(); htempa4sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa4sub = new TLegend(0.65, 0.7, .75, .75); legtempa4sub->SetHeader("Legend"); legtempa4sub->SetNColumns(1); legtempa4sub->AddEntry(htempa4sub, "Data", "l"); legtempa4sub->Draw(); gPad->Update(); TPaveStats *statsgtempa4sub = (TPaveStats*)htempa4sub->GetListOfFunctions()->FindObject("stats"); statsgtempa4sub->SetTextColor(kBlue); statsgtempa4sub->SetX1NDC(0.80); statsgtempa4sub->SetX2NDC(0.98); statsgtempa4sub->SetY1NDC(0.77); statsgtempa4sub->SetY2NDC(0.92); gPad->Update(); c9->cd(2); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",b)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameb); TH1F *htempb4sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb4sub->GetXaxis()->SetTitle(cdtempXnameab); htempb4sub->GetYaxis()->SetTitle(cdtempYnameab); htempb4sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb4sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb4sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb4sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb4sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb4sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb4sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb4sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb4sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb4sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb4sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb4sub->Draw(); htempb4sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb4sub = new TLegend(0.65, 0.7, .75, .75); legtempb4sub->SetHeader("Legend"); legtempb4sub->SetNColumns(1); legtempb4sub->AddEntry(htempb4sub, "Data", "l"); legtempb4sub->Draw(); gPad->Update(); TPaveStats *statsgtempb4sub = (TPaveStats*)htempb4sub->GetListOfFunctions()->FindObject("stats"); statsgtempb4sub->SetTextColor(kBlue); statsgtempb4sub->SetX1NDC(0.80); statsgtempb4sub->SetX2NDC(0.98); statsgtempb4sub->SetY1NDC(0.77); statsgtempb4sub->SetY2NDC(0.92); gPad->Update(); c9->cd(3); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",c)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamec); TH1F *htempc4sub = (TH1F*)gPad->GetPrimitive("htemp"); htempc4sub->GetXaxis()->SetTitle(cdtempXnameab); htempc4sub->GetYaxis()->SetTitle(cdtempYnameab); htempc4sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempc4sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempc4sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempc4sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempc4sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempc4sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempc4sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempc4sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempc4sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempc4sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempc4sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempc4sub->Draw(); htempc4sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempc4sub = new TLegend(0.65, 0.7, .75, .75); legtempc4sub->SetHeader("Legend"); legtempc4sub->SetNColumns(1); legtempc4sub->AddEntry(htempc4sub, "Data", "l"); legtempc4sub->Draw(); gPad->Update(); TPaveStats *statsgtempc4sub = (TPaveStats*)htempc4sub->GetListOfFunctions()->FindObject("stats"); statsgtempc4sub->SetTextColor(kBlue); statsgtempc4sub->SetX1NDC(0.80); statsgtempc4sub->SetX2NDC(0.98); statsgtempc4sub->SetY1NDC(0.77); statsgtempc4sub->SetY2NDC(0.92); gPad->Update(); c9->cd(4); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",d)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamed); TH1F *htempd4sub = (TH1F*)gPad->GetPrimitive("htemp"); htempd4sub->GetXaxis()->SetTitle(cdtempXnameab); htempd4sub->GetYaxis()->SetTitle(cdtempYnameab); htempd4sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempd4sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempd4sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempd4sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempd4sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempd4sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempd4sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempd4sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempd4sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempd4sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempd4sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempd4sub->Draw(); htempd4sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempd4sub = new TLegend(0.65, 0.7, .75, .75); legtempd4sub->SetHeader("Legend"); legtempd4sub->SetNColumns(1); legtempd4sub->AddEntry(htempd4sub, "Data", "l"); legtempd4sub->Draw(); gPad->Update(); TPaveStats *statsgtempd4sub = (TPaveStats*)htempd4sub->GetListOfFunctions()->FindObject("stats"); statsgtempd4sub->SetTextColor(kBlue); statsgtempd4sub->SetX1NDC(0.80); statsgtempd4sub->SetX2NDC(0.98); statsgtempd4sub->SetY1NDC(0.77); statsgtempd4sub->SetY2NDC(0.92); gPad->Update(); c9->Print(myplottimeout4sub); delete c9; TCanvas *c10 = new TCanvas("c10",canvtitle,1280,1024); c10->Divide (2,2); c10->cd(1); t->SetLineColor(kBlue); TCut cut4sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ",a, d, p14sub, csig, p24sub).Data(); TString henea4substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", a); t->Draw(henea4substring, cut && !cut3sub && !cut4sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea4sub = (TH1F*)gPad->GetPrimitive("htemp"); henea4sub->GetXaxis()->SetTitle(cdeneXnameab); henea4sub->GetYaxis()->SetTitle(cdeneYnameab); henea4sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea4sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea4sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea4sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea4sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea4sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea4sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea4sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea4sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea4sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea4sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea4sub->Draw(); henea4sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea4sub = new TLegend(0.65, 0.7, .75, .75); legenea4sub->SetHeader("Legend"); legenea4sub->SetNColumns(1); legenea4sub->AddEntry(henea4sub, "Data", "l"); legenea4sub->Draw(); gPad->Update(); TPaveStats *statsgenea4sub = (TPaveStats*)henea4sub->GetListOfFunctions()->FindObject("stats"); statsgenea4sub->SetTextColor(kBlue); statsgenea4sub->SetX1NDC(0.80); statsgenea4sub->SetX2NDC(0.98); statsgenea4sub->SetY1NDC(0.77); statsgenea4sub->SetY2NDC(0.92); gPad->Update(); c10->cd(2); t->SetLineColor(kBlue); TString heneb4substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", b); t->Draw(heneb4substring, cut && !cut3sub && !cut4sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb4sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb4sub->GetXaxis()->SetTitle(cdeneXnameab); heneb4sub->GetYaxis()->SetTitle(cdeneYnameab); heneb4sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb4sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb4sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb4sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb4sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb4sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb4sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb4sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb4sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb4sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb4sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb4sub->Draw(); heneb4sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb4sub = new TLegend(0.65, 0.7, .75, .75); legeneb4sub->SetHeader("Legend"); legeneb4sub->SetNColumns(1); legeneb4sub->AddEntry(heneb4sub, "Data", "l"); legeneb4sub->Draw(); gPad->Update(); TPaveStats *statsgeneb4sub = (TPaveStats*)heneb4sub->GetListOfFunctions()->FindObject("stats"); statsgeneb4sub->SetTextColor(kBlue); statsgeneb4sub->SetX1NDC(0.80); statsgeneb4sub->SetX2NDC(0.98); statsgeneb4sub->SetY1NDC(0.77); statsgeneb4sub->SetY2NDC(0.92); gPad->Update(); c10->cd(3); t->SetLineColor(kBlue); TString henec4substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", c); t->Draw(henec4substring, cut && !cut3sub && !cut4sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec4sub = (TH1F*)gPad->GetPrimitive("htemp"); henec4sub->GetXaxis()->SetTitle(cdeneXnameab); henec4sub->GetYaxis()->SetTitle(cdeneYnameab); henec4sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henec4sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henec4sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec4sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henec4sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henec4sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henec4sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henec4sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec4sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henec4sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henec4sub->SetFillColorAlpha(kBlue, heneabfillcolor); henec4sub->Draw(); henec4sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenec4sub = new TLegend(0.65, 0.7, .75, .75); legenec4sub->SetHeader("Legend"); legenec4sub->SetNColumns(1); legenec4sub->AddEntry(henec4sub, "Data", "l"); legenec4sub->Draw(); gPad->Update(); TPaveStats *statsgenec4sub = (TPaveStats*)henec4sub->GetListOfFunctions()->FindObject("stats"); statsgenec4sub->SetTextColor(kBlue); statsgenec4sub->SetX1NDC(0.80); statsgenec4sub->SetX2NDC(0.98); statsgenec4sub->SetY1NDC(0.77); statsgenec4sub->SetY2NDC(0.92); gPad->Update(); c10->cd(4); t->SetLineColor(kBlue); TString hened4substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", d); t->Draw(hened4substring, cut && !cut3sub && !cut4sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened4sub = (TH1F*)gPad->GetPrimitive("htemp"); hened4sub->GetXaxis()->SetTitle(cdeneXnameab); hened4sub->GetYaxis()->SetTitle(cdeneYnameab); hened4sub->GetYaxis()->SetTitleSize(c2_YTitleSize); hened4sub->GetYaxis()->SetTitleFont(c2_YTitleFont); hened4sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened4sub->GetYaxis()->SetLabelFont(c2_YLabelFont); hened4sub->GetYaxis()->SetLabelSize(c2_YLabelSize); hened4sub->GetXaxis()->SetTitleSize(c2_XTitleSize); hened4sub->GetXaxis()->SetTitleFont(c2_XTitleFont); hened4sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened4sub->GetXaxis()->SetLabelFont(c2_XLabelFont); hened4sub->GetXaxis()->SetLabelSize(c2_XLabelSize); hened4sub->SetFillColorAlpha(kBlue, heneabfillcolor); hened4sub->Draw(); hened4sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legened4sub = new TLegend(0.65, 0.7, .75, .75); legened4sub->SetHeader("Legend"); legened4sub->SetNColumns(1); legened4sub->AddEntry(hened4sub, "Data", "l"); legened4sub->Draw(); gPad->Update(); TPaveStats *statsgened4sub = (TPaveStats*)hened4sub->GetListOfFunctions()->FindObject("stats"); statsgened4sub->SetTextColor(kBlue); statsgened4sub->SetX1NDC(0.80); statsgened4sub->SetX2NDC(0.98); statsgened4sub->SetY1NDC(0.77); statsgened4sub->SetY2NDC(0.92); gPad->Update(); c10->Print(myploteneout4sub); delete c10; /*----------------------------------SECTION FOR 5 SUBDETECTORS COINCIDENCE ----------------------------------*/ TCanvas *c12= new TCanvas("c12",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(600., -400., 200.)", a, e)); t->GetHistogram()->SetTitle(cdname5sub); t->SetScanField(0); TH1F *htemp5suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g15suball = new TF1 ("m15suball", "gaus", -20, 10); g15suball->SetLineColor(kYellow); TF1 *g25suball = new TF1 ("m25suball", "gaus", -10, 20); g25suball->SetLineColor(kGreen); TF1 *f15suball = new TF1("double_gaus5suball", "gaus(0) + gaus(3)", -400, 200); f15suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f15suball->SetLineColor(kRed); htemp5suball->Fit(g15suball, "R"); htemp5suball->Fit(g25suball, "R"); Double_t par5suball[6]; g15suball->GetParameters(&par5suball[0]); g25suball->GetParameters(&par5suball[3]); f15suball->SetParameters(par5suball); htemp5suball->Fit(f15suball, "R"); htemp5suball->Draw("e1"); g15suball->Draw("SAME"); g25suball->Draw("SAME"); f15suball->Draw("SAME"); std::cout << g15suball->Mean(f15suball->GetXmin(), f15suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g15suball->Variance(f15suball->GetXmin(), f15suball->GetXmax())) << std::endl; std::cout << g25suball->Mean(f15suball->GetXmin(), f15suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g23suball->Variance(f13suball->GetXmin(), f13suball->GetXmax())) << std::endl; std::cout << f15suball->Mean(f15suball->GetXmin(), f15suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f15suball->Variance(f15suball->GetXmin(), f15suball->GetXmax())) << std::endl; Double_t xmin5suball = f15suball->GetXmin(); Double_t xmax5suball = f15suball->GetXmax(); Double_t mean5suball = f15suball->Mean(xmin5suball, xmax5suball); Double_t sigma5suball = TMath::Sqrt(f15suball->Variance(xmin5suball, xmax5suball)); xmin5suball = mean5suball - 5.0 * sigma5suball; xmax5suball = mean5suball + 5.0 * sigma5suball; mean5suball = f15suball->Mean(xmin5suball, xmax5suball); sigma5suball = TMath::Sqrt(f15suball->Variance(xmin5suball, xmax5suball)); std::cout << "Mean = " << mean5suball << std::endl; std::cout << "Sigma = " << sigma5suball << std::endl; if (p15subp25suball==1) { p15suball=f15suball->GetParameter(1); p25suball=f15suball->GetParameter(2); } else if (p15subp25suball==2) { p15suball=f15suball->GetParameter(4); p25suball=f15suball->GetParameter(5); } htemp5suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp5suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp5suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp5suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp5suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp5suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp5suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp5suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp5suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp5suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp5suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp5suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp5suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp5suball->Draw(); htemp5suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c12->Update(); TLegend* leg5suball = new TLegend(0.15, 0.7, .25, .75); leg5suball->SetHeader("Legend"); leg5suball->SetNColumns(1); leg5suball->AddEntry(htemp5suball, "Data", "l"); leg5suball->AddEntry(f15suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg5suball->Draw(); c12->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime5suball = (TPaveStats*)htemp5suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime5suball->SetTextColor(kBlue); statsgdeltatime5suball->SetX1NDC(0.80); statsgdeltatime5suball->SetX2NDC(0.98); statsgdeltatime5suball->SetY1NDC(0.77); statsgdeltatime5suball->SetY2NDC(0.92); statsgdeltatime5suball->AddText(TString::Format("Mean = %g", p15suball)); statsgdeltatime5suball->AddText(TString::Format("Sigma = %g", p25suball)); statsgdeltatime5suball->DrawClone(); gPad->Update(); c12->Print(myplotdeltatimeout5suball); delete c12; TCanvas *c13 = new TCanvas("c13",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp5substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(700., -400., 300.)", a,e); t->Draw(htemp5substring, cut && !cut3sub && !cut4sub); t->GetHistogram()->SetTitle(cdname5sub); t->SetScanField(0); TH1F *htemp5sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g15sub = new TF1 ("m15sub", "gaus", -160, -100); g15sub->SetLineColor(kYellow); TF1 *g25sub = new TF1 ("m25sub", "gaus", -120, 0); g25sub->SetLineColor(kGreen); TF1 *f15sub = new TF1("double_gaus5sub", "gaus(0) + gaus(3)", -160, 0); //-400,100 f15sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f15sub->SetLineColor(kRed); htemp5sub->Fit(g15sub, "R"); htemp5sub->Fit(g25sub, "R"); Double_t par5sub[6]; g15sub->GetParameters(&par5sub[0]); g25sub->GetParameters(&par5sub[3]); f15sub->SetParameters(par5sub); htemp5sub->Fit(f15sub, "R"); htemp5sub->Draw("e1"); g15sub->Draw("SAME"); g25sub->Draw("SAME"); f15sub->Draw("SAME"); std::cout << g15sub->Mean(f15sub->GetXmin(), f15sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g15sub->Variance(f15sub->GetXmin(), f15sub->GetXmax())) << std::endl; std::cout << g25sub->Mean(f15sub->GetXmin(), f15sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g25sub->Variance(f15sub->GetXmin(), f15sub->GetXmax())) << std::endl; std::cout << f13sub->Mean(f15sub->GetXmin(), f15sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f15sub->Variance(f15sub->GetXmin(), f15sub->GetXmax())) << std::endl; Double_t xmin5sub = f15sub->GetXmin(); Double_t xmax5sub = f15sub->GetXmax(); Double_t mean5sub = f15sub->Mean(xmin5sub, xmax5sub); Double_t sigma5sub = TMath::Sqrt(f15sub->Variance(xmin5sub, xmax5sub)); xmin5sub = mean5sub - 5.0 * sigma5sub; xmax5sub = mean5sub + 5.0 * sigma5sub; mean5sub = f15sub->Mean(xmin5sub, xmax5sub); sigma5sub = TMath::Sqrt(f15sub->Variance(xmin5sub, xmax5sub)); std::cout << "Mean = " << mean5sub << std::endl; std::cout << "Sigma = " << sigma5sub << std::endl; if (p15subp25sub==1) { p15sub=f15sub->GetParameter(1); p25sub=f15sub->GetParameter(2); } else if (p15subp25sub==2) { p15sub=f15sub->GetParameter(4); p25sub=f15sub->GetParameter(5); } htemp5sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp5sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp5sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp5sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp5sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp5sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp5sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp5sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp5sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp5sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp5sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp5sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp5sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp5sub->Draw(); htemp5sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c13->Update(); TLegend* leg5sub = new TLegend(0.15, 0.7, .25, .75); leg5sub->SetHeader("Legend"); leg5sub->SetNColumns(1); leg5sub->AddEntry(htemp5sub, "Data", "l"); leg5sub->AddEntry(f15sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg5sub->Draw(); c13->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime5sub = (TPaveStats*)htemp5sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime5sub->SetTextColor(kBlue); statsgdeltatime5sub->SetX1NDC(0.80); statsgdeltatime5sub->SetX2NDC(0.98); statsgdeltatime5sub->SetY1NDC(0.77); statsgdeltatime5sub->SetY2NDC(0.92); statsgdeltatime5sub->AddText(TString::Format("Mean = %g", p15sub)); statsgdeltatime5sub->AddText(TString::Format("Sigma = %g", p25sub)); statsgdeltatime5sub->DrawClone(); gPad->Update(); c13->Print(myplotdeltatimeout5sub); delete c13; TCanvas *c14 = new TCanvas("c14",canvtitle,1280,1024); c14->Divide (3,2); c14->cd(1); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",a)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamea); TH1F *htempa5sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa5sub->GetXaxis()->SetTitle(cdtempXnameab); htempa5sub->GetYaxis()->SetTitle(cdtempYnameab); htempa5sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa5sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa5sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa5sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa5sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa5sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa5sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa5sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa5sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa5sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa5sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa5sub->Draw(); htempa5sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa5sub = new TLegend(0.65, 0.7, .75, .75); legtempa5sub->SetHeader("Legend"); legtempa5sub->SetNColumns(1); legtempa5sub->AddEntry(htempa5sub, "Data", "l"); legtempa5sub->Draw(); gPad->Update(); TPaveStats *statsgtempa5sub = (TPaveStats*)htempa5sub->GetListOfFunctions()->FindObject("stats"); statsgtempa5sub->SetTextColor(kBlue); statsgtempa5sub->SetX1NDC(0.80); statsgtempa5sub->SetX2NDC(0.98); statsgtempa5sub->SetY1NDC(0.77); statsgtempa5sub->SetY2NDC(0.92); gPad->Update(); c14->cd(2); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",b)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameb); TH1F *htempb5sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb5sub->GetXaxis()->SetTitle(cdtempXnameab); htempb5sub->GetYaxis()->SetTitle(cdtempYnameab); htempb5sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb5sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb5sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb5sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb5sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb5sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb5sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb5sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb5sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb5sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb5sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb5sub->Draw(); htempb5sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb5sub = new TLegend(0.65, 0.7, .75, .75); legtempb5sub->SetHeader("Legend"); legtempb5sub->SetNColumns(1); legtempb5sub->AddEntry(htempb5sub, "Data", "l"); legtempb5sub->Draw(); gPad->Update(); TPaveStats *statsgtempb5sub = (TPaveStats*)htempb5sub->GetListOfFunctions()->FindObject("stats"); statsgtempb5sub->SetTextColor(kBlue); statsgtempb5sub->SetX1NDC(0.80); statsgtempb5sub->SetX2NDC(0.98); statsgtempb5sub->SetY1NDC(0.77); statsgtempb5sub->SetY2NDC(0.92); gPad->Update(); c14->cd(3); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",c)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamec); TH1F *htempc5sub = (TH1F*)gPad->GetPrimitive("htemp"); htempc5sub->GetXaxis()->SetTitle(cdtempXnameab); htempc5sub->GetYaxis()->SetTitle(cdtempYnameab); htempc5sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempc5sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempc5sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempc5sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempc5sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempc5sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempc5sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempc5sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempc5sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempc5sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempc5sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempc5sub->Draw(); htempc5sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempc5sub = new TLegend(0.65, 0.7, .75, .75); legtempc5sub->SetHeader("Legend"); legtempc5sub->SetNColumns(1); legtempc5sub->AddEntry(htempc5sub, "Data", "l"); legtempc5sub->Draw(); gPad->Update(); TPaveStats *statsgtempc5sub = (TPaveStats*)htempc5sub->GetListOfFunctions()->FindObject("stats"); statsgtempc5sub->SetTextColor(kBlue); statsgtempc5sub->SetX1NDC(0.80); statsgtempc5sub->SetX2NDC(0.98); statsgtempc5sub->SetY1NDC(0.77); statsgtempc5sub->SetY2NDC(0.92); gPad->Update(); c14->cd(4); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",d)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamed); TH1F *htempd5sub = (TH1F*)gPad->GetPrimitive("htemp"); htempd5sub->GetXaxis()->SetTitle(cdtempXnameab); htempd5sub->GetYaxis()->SetTitle(cdtempYnameab); htempd5sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempd5sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempd5sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempd5sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempd5sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempd5sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempd5sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempd5sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempd5sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempd5sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempd5sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempd5sub->Draw(); htempd5sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempd5sub = new TLegend(0.65, 0.7, .75, .75); legtempd5sub->SetHeader("Legend"); legtempd5sub->SetNColumns(1); legtempd5sub->AddEntry(htempd5sub, "Data", "l"); legtempd5sub->Draw(); gPad->Update(); TPaveStats *statsgtempd5sub = (TPaveStats*)htempd5sub->GetListOfFunctions()->FindObject("stats"); statsgtempd5sub->SetTextColor(kBlue); statsgtempd5sub->SetX1NDC(0.80); statsgtempd5sub->SetX2NDC(0.98); statsgtempd5sub->SetY1NDC(0.77); statsgtempd5sub->SetY2NDC(0.92); gPad->Update(); c14->cd(5); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",e)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamee); TH1F *htempe5sub = (TH1F*)gPad->GetPrimitive("htemp"); htempe5sub->GetXaxis()->SetTitle(cdtempXnameab); htempe5sub->GetYaxis()->SetTitle(cdtempYnameab); htempe5sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempe5sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempe5sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempe5sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempe5sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempe5sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempe5sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempe5sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempe5sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempe5sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempe5sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempe5sub->Draw(); htempe5sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempe5sub = new TLegend(0.65, 0.7, .75, .75); legtempe5sub->SetHeader("Legend"); legtempe5sub->SetNColumns(1); legtempe5sub->AddEntry(htempe5sub, "Data", "l"); legtempe5sub->Draw(); gPad->Update(); TPaveStats *statsgtempe5sub = (TPaveStats*)htempe5sub->GetListOfFunctions()->FindObject("stats"); statsgtempe5sub->SetTextColor(kBlue); statsgtempe5sub->SetX1NDC(0.80); statsgtempe5sub->SetX2NDC(0.98); statsgtempe5sub->SetY1NDC(0.77); statsgtempe5sub->SetY2NDC(0.92); gPad->Update(); c14->Print(myplottimeout5sub); delete c14; TCanvas *c15 = new TCanvas("c15",canvtitle,1280,1024); c15->Divide (3,2); c15->cd(1); t->SetLineColor(kBlue); TCut cut5sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, e, p15sub, csig, p25sub).Data(); TString henea5substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", a); t->Draw(henea5substring, cut && !cut3sub && !cut4sub && cut5sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea5sub = (TH1F*)gPad->GetPrimitive("htemp"); henea5sub->GetXaxis()->SetTitle(cdeneXnameab); henea5sub->GetYaxis()->SetTitle(cdeneYnameab); henea5sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea5sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea5sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea5sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea5sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea5sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea5sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea5sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea5sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea5sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea5sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea5sub->Draw(); henea5sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea5sub = new TLegend(0.65, 0.7, .75, .75); legenea5sub->SetHeader("Legend"); legenea5sub->SetNColumns(1); legenea5sub->AddEntry(henea5sub, "Data", "l"); legenea5sub->Draw(); gPad->Update(); TPaveStats *statsgenea5sub = (TPaveStats*)henea5sub->GetListOfFunctions()->FindObject("stats"); statsgenea5sub->SetTextColor(kBlue); statsgenea5sub->SetX1NDC(0.80); statsgenea5sub->SetX2NDC(0.98); statsgenea5sub->SetY1NDC(0.77); statsgenea5sub->SetY2NDC(0.92); gPad->Update(); c15->cd(2); t->SetLineColor(kBlue); TString heneb5substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", b); t->Draw(heneb5substring, cut && !cut3sub && !cut4sub && cut5sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb5sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb5sub->GetXaxis()->SetTitle(cdeneXnameab); heneb5sub->GetYaxis()->SetTitle(cdeneYnameab); heneb5sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb5sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb5sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb5sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb5sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb5sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb5sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb5sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb5sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb5sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb5sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb5sub->Draw(); heneb5sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb5sub = new TLegend(0.65, 0.7, .75, .75); legeneb5sub->SetHeader("Legend"); legeneb5sub->SetNColumns(1); legeneb5sub->AddEntry(heneb5sub, "Data", "l"); legeneb5sub->Draw(); gPad->Update(); TPaveStats *statsgeneb5sub = (TPaveStats*)heneb5sub->GetListOfFunctions()->FindObject("stats"); statsgeneb5sub->SetTextColor(kBlue); statsgeneb5sub->SetX1NDC(0.80); statsgeneb5sub->SetX2NDC(0.98); statsgeneb5sub->SetY1NDC(0.77); statsgeneb5sub->SetY2NDC(0.92); gPad->Update(); c15->cd(3); t->SetLineColor(kBlue); TString henec5substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", c); t->Draw(henec5substring, cut && !cut3sub && !cut4sub && cut5sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec5sub = (TH1F*)gPad->GetPrimitive("htemp"); henec5sub->GetXaxis()->SetTitle(cdeneXnameab); henec5sub->GetYaxis()->SetTitle(cdeneYnameab); henec5sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henec5sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henec5sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec5sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henec5sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henec5sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henec5sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henec5sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec5sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henec5sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henec5sub->SetFillColorAlpha(kBlue, heneabfillcolor); henec5sub->Draw(); henec5sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenec5sub = new TLegend(0.65, 0.7, .75, .75); legenec5sub->SetHeader("Legend"); legenec5sub->SetNColumns(1); legenec5sub->AddEntry(henec5sub, "Data", "l"); legenec5sub->Draw(); gPad->Update(); TPaveStats *statsgenec5sub = (TPaveStats*)henec5sub->GetListOfFunctions()->FindObject("stats"); statsgenec5sub->SetTextColor(kBlue); statsgenec5sub->SetX1NDC(0.80); statsgenec5sub->SetX2NDC(0.98); statsgenec5sub->SetY1NDC(0.77); statsgenec5sub->SetY2NDC(0.92); gPad->Update(); c15->cd(4); t->SetLineColor(kBlue); TString hened5substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", d); t->Draw(hened5substring, cut && !cut3sub && !cut4sub && cut5sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened5sub = (TH1F*)gPad->GetPrimitive("htemp"); hened5sub->GetXaxis()->SetTitle(cdeneXnameab); hened5sub->GetYaxis()->SetTitle(cdeneYnameab); hened5sub->GetYaxis()->SetTitleSize(c2_YTitleSize); hened5sub->GetYaxis()->SetTitleFont(c2_YTitleFont); hened5sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened5sub->GetYaxis()->SetLabelFont(c2_YLabelFont); hened5sub->GetYaxis()->SetLabelSize(c2_YLabelSize); hened5sub->GetXaxis()->SetTitleSize(c2_XTitleSize); hened5sub->GetXaxis()->SetTitleFont(c2_XTitleFont); hened5sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened5sub->GetXaxis()->SetLabelFont(c2_XLabelFont); hened5sub->GetXaxis()->SetLabelSize(c2_XLabelSize); hened5sub->SetFillColorAlpha(kBlue, heneabfillcolor); hened5sub->Draw(); hened5sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legened5sub = new TLegend(0.65, 0.7, .75, .75); legened5sub->SetHeader("Legend"); legened5sub->SetNColumns(1); legened5sub->AddEntry(hened5sub, "Data", "l"); legened5sub->Draw(); gPad->Update(); TPaveStats *statsgened5sub = (TPaveStats*)hened5sub->GetListOfFunctions()->FindObject("stats"); statsgened5sub->SetTextColor(kBlue); statsgened5sub->SetX1NDC(0.80); statsgened5sub->SetX2NDC(0.98); statsgened5sub->SetY1NDC(0.77); statsgened5sub->SetY2NDC(0.92); gPad->Update(); c15->cd(5); t->SetLineColor(kBlue); TString henee5substring = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", e); t->Draw(henee5substring, cut && !cut3sub && !cut4sub && cut5sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamee); TH1F *henee5sub = (TH1F*)gPad->GetPrimitive("htemp"); henee5sub->GetXaxis()->SetTitle(cdeneXnameab); henee5sub->GetYaxis()->SetTitle(cdeneYnameab); henee5sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henee5sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henee5sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henee5sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henee5sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henee5sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henee5sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henee5sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henee5sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henee5sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henee5sub->SetFillColorAlpha(kBlue, heneabfillcolor); henee5sub->Draw(); henee5sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenee5sub = new TLegend(0.65, 0.7, .75, .75); legenee5sub->SetHeader("Legend"); legenee5sub->SetNColumns(1); legenee5sub->AddEntry(henee5sub, "Data", "l"); legenee5sub->Draw(); gPad->Update(); TPaveStats *statsgenee5sub = (TPaveStats*)henee5sub->GetListOfFunctions()->FindObject("stats"); statsgenee5sub->SetTextColor(kBlue); statsgenee5sub->SetX1NDC(0.80); statsgenee5sub->SetX2NDC(0.98); statsgenee5sub->SetY1NDC(0.77); statsgenee5sub->SetY2NDC(0.92); gPad->Update(); c15->Print(myploteneout5sub); delete c15; TCanvas *c25 = new TCanvas("c25",canvtitle,1280,1024); c25->Divide (3,2); c25->cd(1); t->SetLineColor(kBlue); TCut cutene22 = TString::Format("TMath::Abs((%f)) < (%d)*(%f) ", ene22mean, csig, ene22sigma).Data(); TString henea5sub2string = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", a); t->Draw(henea5sub2string, cut && !cut3sub && !cut4sub && cut5sub && cutene22); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea5sub2 = (TH1F*)gPad->GetPrimitive("htemp"); henea5sub2->GetXaxis()->SetTitle(cdeneXnameab); henea5sub2->GetYaxis()->SetTitle(cdeneYnameab); henea5sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); henea5sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); henea5sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea5sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); henea5sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); henea5sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); henea5sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); henea5sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea5sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); henea5sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); henea5sub2->SetFillColorAlpha(kBlue, heneabfillcolor); henea5sub2->Draw(); henea5sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea5sub2 = new TLegend(0.65, 0.7, .75, .75); legenea5sub2->SetHeader("Legend"); legenea5sub2->SetNColumns(1); legenea5sub2->AddEntry(henea5sub2, "Data", "l"); legenea5sub2->Draw(); gPad->Update(); TPaveStats *statsgenea5sub2 = (TPaveStats*)henea5sub2->GetListOfFunctions()->FindObject("stats"); statsgenea5sub2->SetTextColor(kBlue); statsgenea5sub2->SetX1NDC(0.80); statsgenea5sub2->SetX2NDC(0.98); statsgenea5sub2->SetY1NDC(0.77); statsgenea5sub2->SetY2NDC(0.92); gPad->Update(); c25->cd(2); t->SetLineColor(kBlue); TString heneb5sub2string = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", b); t->Draw(heneb5sub2string, cut && !cut3sub && !cut4sub && cut5sub && cutene22); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb5sub2 = (TH1F*)gPad->GetPrimitive("htemp"); heneb5sub2->GetXaxis()->SetTitle(cdeneXnameab); heneb5sub2->GetYaxis()->SetTitle(cdeneYnameab); heneb5sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb5sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb5sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb5sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb5sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb5sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb5sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb5sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb5sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb5sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb5sub2->SetFillColorAlpha(kBlue, heneabfillcolor); heneb5sub2->Draw(); heneb5sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb5sub2 = new TLegend(0.65, 0.7, .75, .75); legeneb5sub2->SetHeader("Legend"); legeneb5sub2->SetNColumns(1); legeneb5sub2->AddEntry(heneb5sub2, "Data", "l"); legeneb5sub2->Draw(); gPad->Update(); TPaveStats *statsgeneb5sub2 = (TPaveStats*)heneb5sub2->GetListOfFunctions()->FindObject("stats"); statsgeneb5sub2->SetTextColor(kBlue); statsgeneb5sub2->SetX1NDC(0.80); statsgeneb5sub2->SetX2NDC(0.98); statsgeneb5sub2->SetY1NDC(0.77); statsgeneb5sub2->SetY2NDC(0.92); gPad->Update(); c25->cd(3); t->SetLineColor(kBlue); TString henec5sub2string = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", c); t->Draw(henec5sub2string, cut && !cut3sub && !cut4sub && cut5sub && cutene22); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec5sub2 = (TH1F*)gPad->GetPrimitive("htemp"); henec5sub2->GetXaxis()->SetTitle(cdeneXnameab); henec5sub2->GetYaxis()->SetTitle(cdeneYnameab); henec5sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); henec5sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); henec5sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec5sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); henec5sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); henec5sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); henec5sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); henec5sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec5sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); henec5sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); henec5sub2->SetFillColorAlpha(kBlue, heneabfillcolor); henec5sub2->Draw(); henec5sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenec5sub2 = new TLegend(0.65, 0.7, .75, .75); legenec5sub2->SetHeader("Legend"); legenec5sub2->SetNColumns(1); legenec5sub2->AddEntry(henec5sub2, "Data", "l"); legenec5sub2->Draw(); gPad->Update(); TPaveStats *statsgenec5sub2 = (TPaveStats*)henec5sub2->GetListOfFunctions()->FindObject("stats"); statsgenec5sub2->SetTextColor(kBlue); statsgenec5sub2->SetX1NDC(0.80); statsgenec5sub2->SetX2NDC(0.98); statsgenec5sub2->SetY1NDC(0.77); statsgenec5sub2->SetY2NDC(0.92); gPad->Update(); c25->cd(4); t->SetLineColor(kBlue); TString hened5sub2string = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", d); t->Draw(hened5sub2string, cut && !cut3sub && !cut4sub && cut5sub && cutene22); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened5sub2 = (TH1F*)gPad->GetPrimitive("htemp"); hened5sub2->GetXaxis()->SetTitle(cdeneXnameab); hened5sub2->GetYaxis()->SetTitle(cdeneYnameab); hened5sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); hened5sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); hened5sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened5sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); hened5sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); hened5sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); hened5sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); hened5sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened5sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); hened5sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); hened5sub2->SetFillColorAlpha(kBlue, heneabfillcolor); hened5sub2->Draw(); hened5sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legened5sub2 = new TLegend(0.65, 0.7, .75, .75); legened5sub2->SetHeader("Legend"); legened5sub2->SetNColumns(1); legened5sub2->AddEntry(hened5sub2, "Data", "l"); legened5sub2->Draw(); gPad->Update(); TPaveStats *statsgened5sub2 = (TPaveStats*)hened5sub2->GetListOfFunctions()->FindObject("stats"); statsgened5sub2->SetTextColor(kBlue); statsgened5sub2->SetX1NDC(0.80); statsgened5sub2->SetX2NDC(0.98); statsgened5sub2->SetY1NDC(0.77); statsgened5sub2->SetY2NDC(0.92); gPad->Update(); c25->cd(5); t->SetLineColor(kBlue); TString henee5sub2string = TString::Format("Calo_EnDep[%d] >> htemp(4000., 0., 4000.)", e); t->Draw(henee5sub2string, cut && !cut3sub && !cut4sub && cut5sub && cutene22); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamee); TH1F *henee5sub2 = (TH1F*)gPad->GetPrimitive("htemp"); henee5sub2->GetXaxis()->SetTitle(cdeneXnameab); henee5sub2->GetYaxis()->SetTitle(cdeneYnameab); henee5sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); henee5sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); henee5sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henee5sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); henee5sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); henee5sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); henee5sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); henee5sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henee5sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); henee5sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); henee5sub2->SetFillColorAlpha(kBlue, heneabfillcolor); henee5sub2->Draw(); henee5sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenee5sub2 = new TLegend(0.65, 0.7, .75, .75); legenee5sub2->SetHeader("Legend"); legenee5sub2->SetNColumns(1); legenee5sub2->AddEntry(henee5sub2, "Data", "l"); legenee5sub2->Draw(); gPad->Update(); TPaveStats *statsgenee5sub2 = (TPaveStats*)henee5sub2->GetListOfFunctions()->FindObject("stats"); statsgenee5sub2->SetTextColor(kBlue); statsgenee5sub2->SetX1NDC(0.80); statsgenee5sub2->SetX2NDC(0.98); statsgenee5sub2->SetY1NDC(0.77); statsgenee5sub2->SetY2NDC(0.92); gPad->Update(); c25->Print(myploteneout22GeV); delete c25; } }