#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=500596; //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=9; //First subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int b=0; //Second subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int c=2; //Third subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int c2=1; //Third subdetector (second) name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int d=12; //Fourth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int e=13; //Fifth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int f=14; //Sixth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int g=15; //Seventh subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET int h=7; //Eightth subdetector name to analyze. To change each time //TO USE FOR FILES WITH THE TARGET // */ int csig=3;//Sigma const int enecut=157; // energy cut in ADC count //int enecut2=20; int enecutHORSA=2000; int p1p2=1; //a,b int p13subp23sub=1; //a,c int p13subp23sub2=2; //a,c2 int p14subp24sub=1; //a,d int p15subp25sub=1; //a,e int p16subp26sub=1; //a,f int p17subp27sub=1; //a,g int p18subp28sub=2; //a,h //int p13subp23suball=p13subp23sub; //a,c int p13subp23suball=1; //a,c int p13subp23suball2=p13subp23sub2; //a,c2 int p14subp24suball=p14subp24sub; //a,d //int p15subp25suball=p15subp25sub; //a,e int p15subp25suball=2; //a,e int p16subp26suball=p16subp26sub; //a,f int p17subp27suball=p17subp27sub; //a,g int p18subp28suball=p18subp28sub; //a,h float p0; float p1; float p2; float p03sub; float p13sub; float p23sub; float p03suball; float p13suball; float p23suball; float p03sub2; float p13sub2; float p23sub2; float p03suball2; float p13suball2; float p23suball2; float p04sub; float p14sub; float p24sub; float p04suball; float p14suball; float p24suball; float p05sub; float p15sub; float p25sub; float p05suball; float p15suball; float p25suball; float p06sub; float p16sub; float p26sub; float p06suball; float p16suball; float p26suball; float p07sub; float p17sub; float p27sub; float p07suball; float p17suball; float p27suball; float p08sub; float p18sub; float p28sub; float p08suball; float p18suball; float p28suball; float posssub; 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 timenamesubc2[50]; char timeenergynamesubc2[50]; char timenamesubd[50]; char timeenergynamesubd[50]; char timenamesube[50]; char timeenergynamesube[50]; char timenamesubf[50]; char timeenergynamesubf[50]; char timenamesubg[50]; char timeenergynamesubg[50]; char timenamesubh[50]; char timeenergynamesubh[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:/grap"); 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, "E_{obs} (ADC counts)"); sprintf(cdeneYnameab, "# Counts/ADC counts"); sprintf(particletype, "si-%d, #mu^{+}_{22GeV}:",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 (c2==8 || c2==9 || c2==6 || c2==7){ sprintf(timenamesubc2, "Scintillator"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc2, "Scintillator"); //Third subdetector tipology name for energy plot. } else if (c2==0 || c2==1 || c2==2 || c2==3 || c2==4 || c2==5) { sprintf(timenamesubc2, "Lead"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc2, "Lead"); //Third subdetector tipology name for energy plot. } else if (c2==12 || c2==13 || c2==14 || c2==15 ){ sprintf(timenamesubc2, "Horsa"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc2, "Horsa"); //Third subdetector tipology name for energy plot. } else if (c2==16 || c2==17 || c2==18 || c2==19 || c2==10 || c2==11 || c2==20 || c2==21 || c2==22 || c2==23 ){ sprintf(timenamesubc2, "Versa"); //Third subdetector tipology name for time plot. sprintf(timeenergynamesubc2, "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. } if (f==8 || f==9 || f==6 || f==7){ sprintf(timenamesubf, "Scintillator"); //Sixth subdetector tipology name for time plot. sprintf(timeenergynamesubf, "Scintillator"); //Sixth subdetector tipology name for energy plot. } else if (f==0 || f==1 || f==2 || f==3 || f==4 || f==5) { sprintf(timenamesubf, "Lead"); //Sixth subdetector tipology name for time plot. sprintf(timeenergynamesubf, "Lead"); //Fifth subdetector tipology name for energy plot. } else if (f==12 || f==13 || f==14 || f==15 ){ sprintf(timenamesubf, "Horsa"); //Sixth subdetector tipology name for time plot. sprintf(timeenergynamesubf, "Horsa"); //Fifth subdetector tipology name for energy plot. } else if (f==16 || f==17 || f==18 || f==19 || f==10 || f==11 || f==20 || f==21 || f==22 || f==23 ){ sprintf(timenamesubf, "Versa"); //Sixth subdetector tipology name for time plot. sprintf(timeenergynamesubf, "Versa"); //Sixth subdetector tipology name for energy plot. } if (g==8 || g==9 || g==6 || g==7){ sprintf(timenamesubg, "Scintillator"); //Seventh subdetector tipology name for time plot. sprintf(timeenergynamesubg, "Scintillator"); //Seventh subdetector tipology name for energy plot. } else if (g==0 || g==1 || g==2 || g==3 || g==4 || g==5) { sprintf(timenamesubg, "Lead"); //Seventh subdetector tipology name for time plot. sprintf(timeenergynamesubg, "Lead"); //Seventh subdetector tipology name for energy plot. } else if (g==12 || g==13 || g==14 || g==15 ){ sprintf(timenamesubg, "Horsa"); //Seventh subdetector tipology name for time plot. sprintf(timeenergynamesubg, "Horsa"); //Seventh subdetector tipology name for energy plot. } else if (g==16 || g==17 || g==18 || g==19 || g==10 || g==11 || g==20 || g==21 || g==22 || g==23 ){ sprintf(timenamesubg, "Versa"); //Seventh subdetector tipology name for time plot. sprintf(timeenergynamesubg, "Versa"); //Seventh subdetector tipology name for energy plot. } if (h==8 || h==9 || h==6 || h==7){ sprintf(timenamesubh, "Scintillator"); //Sixth subdetector tipology name for time plot. sprintf(timeenergynamesubh, "Scintillator"); //Sixth subdetector tipology name for energy plot. } else if (h==0 || h==1 || h==2 || h==3 || h==4 || h==5) { sprintf(timenamesubh, "Lead"); //Eighth subdetector tipology name for time plot. sprintf(timeenergynamesubh, "Lead"); //Eighth subdetector tipology name for energy plot. } else if (h==12 || h==13 || h==14 || h==15 ){ sprintf(timenamesubh, "Horsa"); //Eighth subdetector tipology name for time plot. sprintf(timeenergynamesubh, "Horsa"); //Eighth subdetector tipology name for energy plot. } else if (h==16 || h==17 || h==18 || h==19 || h==10 || h==11 || h==20 || h==21 || h==22 || h==23 ){ sprintf(timenamesubh, "Versa"); //Eighth subdetector tipology name for time plot. sprintf(timeenergynamesubh, "Versa"); //Eighth subdetector tipology name for energy plot. } int n=3; int c_YTitleSize=40; int c_YTitleFont=43; double c_YTitleOffset=1.55; int c_YLabelFont=43; int c_YLabelSize=40; int c_XTitleSize=25; int c_XTitleFont=43; int c_XTitleOffset=1; int c_XLabelFont=43; int c_XLabelSize=20; int c1_YTitleSize=40; int c1_YTitleFont=43; double c1_YTitleOffset=2; int c1_YLabelFont=43; int c1_YLabelSize=10; int c1_XTitleSize=25; int c1_XTitleFont=43; int c1_XTitleOffset=2; int c1_XLabelFont=43; int c1_XLabelSize=10; int c2_YTitleSize=40; int c2_YTitleFont=43; double c2_YTitleOffset=1; int c2_YLabelFont=43; int c2_YLabelSize=40; int c2_XTitleSize=40; int c2_XTitleFont=43; int c2_XTitleOffset=1; int c2_XLabelFont=43; int c2_XLabelSize=40; 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",dirout,ifile, a,b,c2),kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/",dirout,ifile, a,b,d),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,d,e),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,d,e,f),kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/sub_%d/",dirout,ifile,a,b,d,e,f,g),kTRUE); // TO USE FOR FILES WITH TARGET gSystem->mkdir(TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/sub_%d/sub_%d/",dirout,ifile,a,b,d,e,f,g,h),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 outfolder3sub2=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/",dirout,ifile, a,b,c2); // TO USE FOR FILES WITH TARGET TString outfolder4sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/",dirout,ifile, a,b,d); // TO USE FOR FILES WITH TARGET TString outfolder5sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/",dirout,ifile, a,b,d,e); // TO USE FOR FILES WITH TARGET TString outfolder6sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/",dirout,ifile, a,b,d,e,f); // TO USE FOR FILES WITH TARGET TString outfolder7sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/sub_%d/",dirout,ifile, a,b,d,e,f,g); // TO USE FOR FILES WITH TARGET TString outfolder8sub=TString::Format("%stestbeam/si-%d/sub_%d-%d/sub_%d/sub_%d/sub_%d/sub_%d/sub_%d/",dirout,ifile,a,b,d,e,f,g,h); // 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 myplotdeltatimeout3sub2 = TString::Format("%ssi-%d_deltatime%d-%d-%d.pdf",outfolder3sub2.Data(),ifile,a,b,c2); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout4sub = TString::Format("%ssi-%d_deltatime%d-%d-%d.pdf",outfolder4sub.Data(),ifile,a,b,d); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout5sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d.pdf",outfolder5sub.Data(),ifile,a,b,d,e); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout6sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d-%d.pdf",outfolder6sub.Data(),ifile,a,b,d,e,f); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout7sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d-%d-%d.pdf",outfolder7sub.Data(),ifile,a,b,d,e,f,g); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout8sub = TString::Format("%ssi-%d_deltatime%d-%d-%d-%d-%d-%d-%d.pdf",outfolder8sub.Data(),ifile,a,b,c,d,f,g,h); // 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 myplotdeltatimeout3suball2 = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder3sub2.Data(),ifile,a,c2); // 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 myplotdeltatimeout6suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder6sub.Data(),ifile,a,f); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout7suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder7sub.Data(),ifile,a,g); // TO USE FOR FILES WITH TARGET TString myplotdeltatimeout8suball = TString::Format("%ssi-%d_deltatime%d-%d.pdf",outfolder8sub.Data(),ifile,a,h); // 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 myplottimeout3sub2 = TString::Format("%ssi-%d_time%d-%d-%d.pdf",outfolder3sub2.Data(),ifile,a,b,c2); // 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 myplottimeout6sub = TString::Format("%ssi-%d_time%d-%d-%d-%d-%d.pdf",outfolder6sub.Data(),ifile,a,b,d,e,f); // TO USE FOR FILES WITH TARGET TString myplottimeout7sub = TString::Format("%ssi-%d_time%d-%d-%d-%d-%d-%d.pdf",outfolder7sub.Data(),ifile,a,b,d,e,f); // TO USE FOR FILES WITH TARGET TString myplottimeout8sub = TString::Format("%ssi-%d_time%d-%d-%d-%d-%d-%d-%d.pdf",outfolder8sub.Data(),ifile,a,b,c,d,f,g,h); // 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 myploteneoutcut = TString::Format("%ssi-%d_ene%d-%d_cut%d-%d_&&_enemax_lead%d=%d_%s.pdf",outfolder.Data(),ifile,a,b,c,c2,b,enecut,energyunit); // 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 myploteneout3sub2 = TString::Format("%ssi-%d_ene%d-%d-%d.pdf",outfolder3sub2.Data(),ifile,a,b,c2); // TO USE FOR FILES WHIT TARGET TString myploteneout4sub = TString::Format("%ssi-%d_ene%d-%d-%d.pdf",outfolder4sub.Data(),ifile,a,b,d); // TO USE FOR FILES WHIT TARGET TString myploteneout5sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d.pdf",outfolder5sub.Data(),ifile,a,b,d,e); // TO USE FOR FILES WHIT TARGET TString myploteneout6sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d-%d.pdf",outfolder6sub.Data(),ifile,a,b,d,e,f); // TO USE FOR FILES WHIT TARGET TString myploteneout7sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d-%d-%d.pdf",outfolder7sub.Data(),ifile,a,b,d,e,f,g); // TO USE FOR FILES WHIT TARGET TString myploteneout8sub = TString::Format("%ssi-%d_ene%d-%d-%d-%d-%d-%d-%d.pdf",outfolder8sub.Data(),ifile,a,b,c,d,f,g,h); // TO USE FOR FILES WHIT TARGET TString myploteneoutoss = TString::Format("%ssi-%d_eneoss_Sum%d-%d-%d-%d-%d.pdf",outfolder8sub.Data(),ifile,b,d,e,f,g); // TO USE FOR FILES WHIT TARGET TString myploteneoutosscut = TString::Format("%ssi-%d_eneoss_Sum%d-%d-%d-%d-%d_cut_%d.pdf",outfolder8sub.Data(),ifile,b,d,e,f,g,enecutHORSA); // TO USE FOR FILES WHIT TARGET TString myplothenecdsubstringcutrelTHF = TString::Format("%ssi-%d_ene0-vs-ene-Horsa.pdf",outfolder8sub.Data(),ifile); // TO USE FOR FILES WHIT TARGET TString myplothenecdsubstringcutrelTHFcut = TString::Format("%ssi-%d_ene0-vs-ene-Horsa_cut_%d.pdf",outfolder8sub.Data(),ifile,enecutHORSA); // 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 cdname3sub2 = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubc2,c2); // 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 cdname6sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubf,f); // TO USE FOR FILES WITH TARGET METHOD 2 TString cdname7sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubg,g); // TO USE FOR FILES WITH TARGET METHOD 2 TString cdname8sub = TString::Format("%s Time_{%s}_{%d}-Time_{%s}_{%d}", particletype, timenamesuba,a,timenamesubh,h); // 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 cdtempnamec2 = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubc2,c2); // 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 cdtempnamef = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubf,f); // TO USE FOR FILES WITH TARGET TString cdtempnameg = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubg,g); // TO USE FOR FILES WITH TARGET TString cdtempnameh = TString::Format("%s Time_{%s}_{%d}",particletype, timeenergynamesubh,h); // 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 cdenenamec2 = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubc2,c2); // 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 cdenenamef = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubf,f); // TO USE FOR FILES WITH TARGET TString cdenenameg = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubg,g); // TO USE FOR FILES WITH TARGET TString cdenenameh = TString::Format("%s Energy_{%s}_{%d}", particletype,timeenergynamesubh,h); // TO USE FOR FILES WITH TARGET TString cdenenameoss = TString::Format("Released energy by 22GeV #mu^{+}"); // TO USE FOR FILES WITH TARGET TString cdhenecdsubstringcutrelTHFname = TString::Format("%s Energy_{%s}_{%d} vs Energy_{%s}_{%d-%d-%d-%d}",particletype, timeenergynamesubb,b,timeenergynamesubd,d,e,f,g); // TO USE FOR FILES WITH TARGET TString cdeneXnameabenecvsd = TString::Format("Energy_{%s}_{%d} (%s)",timeenergynamesubb,b,energyunit); // TO USE FOR FILES WITH TARGET TString cdeneYnameabenecvsd = TString::Format("Energy_{%s}_{%d+%d+%d+%d} (%s)", timeenergynamesubd,d,e,f,g,energyunit); // 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(500, -400., 100.)", 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", -140, -110); g1->SetLineColor(kYellow); TF1 *g2 = new TF1 ("m2", "gaus", -140, 110); g2->SetLineColor(kGreen); TF1 *f1 = new TF1("double_gaus", "gaus(0) + gaus(3)", -400, 100); f1->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); 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", -140, -120); g13suball->SetLineColor(kYellow); TF1 *g23suball = new TF1 ("m23suball", "gaus", -130, -110); g23suball->SetLineColor(kGreen); TF1 *f13suball = new TF1("double_gaus3suball", "gaus(0) + gaus(3)", -140, -110); //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(700., -400., 300.)", 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, 300); 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 3 SUBDETECTORS COINCIDENCE 2----------------------------------*/ TCanvas *c21 = new TCanvas("c21",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(1100., -550., 550.)", a, c2)); t->GetHistogram()->SetTitle(cdname3sub2); t->SetScanField(0); TH1F *htemp3suball2 = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g13suball2 = new TF1 ("m13suball2", "gaus", -140, -120); g13suball2->SetLineColor(kYellow); TF1 *g23suball2 = new TF1 ("m23suball2", "gaus", -130, -110); g23suball2->SetLineColor(kGreen); TF1 *f13suball2 = new TF1("double_gaus3suball2", "gaus(0) + gaus(3)", -140, -110); f13suball2->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f13suball2->SetLineColor(kRed); htemp3suball2->Fit(g13suball2, "R"); htemp3suball2->Fit(g23suball2, "R"); Double_t par3suball2[6]; g13suball2->GetParameters(&par3suball2[0]); g23suball2->GetParameters(&par3suball2[3]); f13suball2->SetParameters(par3suball2); htemp3suball2->Fit(f13suball2, "R"); htemp3suball2->Draw("e1"); g13suball2->Draw("SAME"); g23suball2->Draw("SAME"); f13suball2->Draw("SAME"); std::cout << g13suball2->Mean(f13suball2->GetXmin(), f13suball2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g13suball2->Variance(f13suball2->GetXmin(), f13suball2->GetXmax())) << std::endl; std::cout << g23suball2->Mean(f13suball2->GetXmin(), f13suball2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g23suball2->Variance(f13suball2->GetXmin(), f13suball2->GetXmax())) << std::endl; std::cout << f13suball2->Mean(f13suball2->GetXmin(), f13suball2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f13suball2->Variance(f13suball2->GetXmin(), f13suball2->GetXmax())) << std::endl; Double_t xmin3suball2 = f13suball2->GetXmin(); Double_t xmax3suball2 = f13suball2->GetXmax(); Double_t mean3suball2 = f13suball2->Mean(xmin3suball2, xmax3suball2); Double_t sigma3suball2 = TMath::Sqrt(f13suball2->Variance(xmin3suball2, xmax3suball2)); xmin3suball2 = mean3suball2 - 5.0 * sigma3suball2; xmax3suball2 = mean3suball2 + 5.0 * sigma3suball2; mean3suball2 = f13suball2->Mean(xmin3suball2, xmax3suball2); sigma3suball2 = TMath::Sqrt(f13suball2->Variance(xmin3suball2, xmax3suball2)); std::cout << "Mean = " << mean3suball2 << std::endl; std::cout << "Sigma = " << sigma3suball2 << std::endl; if (p13subp23suball2==1) { p13suball2=f13suball2->GetParameter(1); p23sub2=f13suball2->GetParameter(2); } else if (p13subp23suball2==2) { p13suball2=f13suball2->GetParameter(4); p23suball2=f13suball2->GetParameter(5); } htemp3suball2->GetXaxis()->SetTitle(cddeltatimeXname); htemp3suball2->GetYaxis()->SetTitle(cddeltatimeYname); htemp3suball2->GetYaxis()->SetTitleSize(c_YTitleSize); htemp3suball2->GetYaxis()->SetTitleFont(c_YTitleFont); htemp3suball2->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp3suball2->GetYaxis()->SetLabelFont(c_YLabelFont); htemp3suball2->GetYaxis()->SetLabelSize(c_YLabelSize); htemp3suball2->GetXaxis()->SetTitleSize(c_XTitleSize); htemp3suball2->GetXaxis()->SetTitleFont(c_XTitleFont); htemp3suball2->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp3suball2->GetXaxis()->SetLabelFont(c_XLabelFont); htemp3suball2->GetXaxis()->SetLabelSize(c_XLabelSize); htemp3suball2->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp3suball2->Draw(); htemp3suball2->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c21->Update(); TLegend* leg3suball2 = new TLegend(0.15, 0.7, .25, .75); leg3suball2->SetHeader("Legend"); leg3suball2->SetNColumns(1); leg3suball2->AddEntry(htemp3suball2, "Data", "l"); leg3suball2->AddEntry(f13suball2, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg3suball2->Draw(); c21->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime3suball2 = (TPaveStats*)htemp3suball2->GetListOfFunctions()->FindObject("stats"); statsgdeltatime3suball2->SetTextColor(kBlue); statsgdeltatime3suball2->SetX1NDC(0.80); statsgdeltatime3suball2->SetX2NDC(0.98); statsgdeltatime3suball2->SetY1NDC(0.77); statsgdeltatime3suball2->SetY2NDC(0.92); statsgdeltatime3suball2->AddText(TString::Format("Mean = %g", p13suball2)); statsgdeltatime3suball2->AddText(TString::Format("Sigma = %g", p23suball2)); statsgdeltatime3suball2->DrawClone(); gPad->Update(); c21->Print(myplotdeltatimeout3suball2); delete c21; TCanvas *c22 = new TCanvas("c22",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp3substring2 = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(700., -400., 300.)", a,c2); t->Draw(htemp3substring2, cut); t->GetHistogram()->SetTitle(cdname3sub2); t->SetScanField(0); TH1F *htemp3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g13sub2 = new TF1 ("m13sub2", "gaus", -140, -120); g13sub2->SetLineColor(kYellow); TF1 *g23sub2 = new TF1 ("m23sub2", "gaus", -130, -110); g23sub2->SetLineColor(kGreen); TF1 *f13sub2 = new TF1("double_gaus3sub2", "gaus(0) + gaus(3)", -140, -110); f13sub2->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f13sub2->SetLineColor(kRed); htemp3sub2->Fit(g13sub2, "R"); htemp3sub2->Fit(g23sub2, "R"); Double_t par3sub2[6]; g13sub2->GetParameters(&par3sub2[0]); g23sub2->GetParameters(&par3sub2[3]); f13sub2->SetParameters(par3sub2); htemp3sub2->Fit(f13sub2, "R"); htemp3sub2->Draw("e1"); g13sub2->Draw("SAME"); g23sub2->Draw("SAME"); f13sub2->Draw("SAME"); std::cout << g13sub2->Mean(f13sub2->GetXmin(), f13sub2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g13sub2->Variance(f13sub2->GetXmin(), f13sub2->GetXmax())) << std::endl; std::cout << g23sub2->Mean(f13sub2->GetXmin(), f13sub2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g23sub2->Variance(f13sub2->GetXmin(), f13sub2->GetXmax())) << std::endl; std::cout << f13sub2->Mean(f13sub2->GetXmin(), f13sub2->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f13sub2->Variance(f13sub->GetXmin(), f13sub2->GetXmax())) << std::endl; Double_t xmin3sub2 = f13sub2->GetXmin(); Double_t xmax3sub2 = f13sub2->GetXmax(); Double_t mean3sub2 = f13sub2->Mean(xmin3sub2, xmax3sub2); Double_t sigma3sub2 = TMath::Sqrt(f13sub2->Variance(xmin3sub2, xmax3sub2)); xmin3sub2 = mean3sub2 - 5.0 * sigma3sub2; xmax3sub2 = mean3sub2 + 5.0 * sigma3sub2; mean3sub2 = f13sub2->Mean(xmin3sub2, xmax3sub2); sigma3sub2 = TMath::Sqrt(f13sub2->Variance(xmin3sub2, xmax3sub2)); std::cout << "Mean = " << mean3sub2 << std::endl; std::cout << "Sigma = " << sigma3sub2 << std::endl; if (p13subp23sub2==1) { p13sub2=f13sub2->GetParameter(1); p23sub2=f13sub2->GetParameter(2); } else if (p13subp23sub2==2) { p13sub2=f13sub2->GetParameter(4); p23sub2=f13sub2->GetParameter(5); } htemp3sub2->GetXaxis()->SetTitle(cddeltatimeXname); htemp3sub2->GetYaxis()->SetTitle(cddeltatimeYname); htemp3sub2->GetYaxis()->SetTitleSize(c_YTitleSize); htemp3sub2->GetYaxis()->SetTitleFont(c_YTitleFont); htemp3sub2->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp3sub2->GetYaxis()->SetLabelFont(c_YLabelFont); htemp3sub2->GetYaxis()->SetLabelSize(c_YLabelSize); htemp3sub2->GetXaxis()->SetTitleSize(c_XTitleSize); htemp3sub2->GetXaxis()->SetTitleFont(c_XTitleFont); htemp3sub2->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp3sub2->GetXaxis()->SetLabelFont(c_XLabelFont); htemp3sub2->GetXaxis()->SetLabelSize(c_XLabelSize); htemp3sub2->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp3sub2->Draw(); htemp3sub2->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c22->Update(); TLegend* leg3sub2 = new TLegend(0.15, 0.7, .25, .75); leg3sub2->SetHeader("Legend"); leg3sub2->SetNColumns(1); leg3sub2->AddEntry(htemp3sub2, "Data", "l"); leg3sub2->AddEntry(f13sub2, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg3sub2->Draw(); c22->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime3sub2 = (TPaveStats*)htemp3sub2->GetListOfFunctions()->FindObject("stats"); statsgdeltatime3sub2->SetTextColor(kBlue); statsgdeltatime3sub2->SetX1NDC(0.80); statsgdeltatime3sub2->SetX2NDC(0.98); statsgdeltatime3sub2->SetY1NDC(0.77); statsgdeltatime3sub2->SetY2NDC(0.92); statsgdeltatime3sub2->AddText(TString::Format("Mean = %g", p13sub2)); statsgdeltatime3sub2->AddText(TString::Format("Sigma = %g", p23sub2)); statsgdeltatime3sub2->DrawClone(); gPad->Update(); c22->Print(myplotdeltatimeout3sub2); delete c22; TCanvas *c23 = new TCanvas("c23",canvtitle,1280,1024); c23->Divide (3,1); c23->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 *htempa3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); htempa3sub2->GetXaxis()->SetTitle(cdtempXnameab); htempa3sub2->GetYaxis()->SetTitle(cdtempYnameab); htempa3sub2->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa3sub2->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa3sub2->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa3sub2->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa3sub2->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa3sub2->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa3sub2->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa3sub2->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa3sub2->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa3sub2->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa3sub2->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa3sub2->Draw(); htempa3sub2->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa3sub2 = new TLegend(0.65, 0.7, .75, .75); legtempa3sub2->SetHeader("Legend"); legtempa3sub2->SetNColumns(1); legtempa3sub2->AddEntry(htempa3sub2, "Data", "l"); legtempa3sub2->Draw(); gPad->Update(); TPaveStats *statsgtempa3sub2= (TPaveStats*)htempa3sub2->GetListOfFunctions()->FindObject("stats"); statsgtempa3sub2->SetTextColor(kBlue); statsgtempa3sub2->SetX1NDC(0.80); statsgtempa3sub2->SetX2NDC(0.98); statsgtempa3sub2->SetY1NDC(0.77); statsgtempa3sub2->SetY2NDC(0.92); gPad->Update(); c23->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 *htempb3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); htempb3sub2->GetXaxis()->SetTitle(cdtempXnameab); htempb3sub2->GetYaxis()->SetTitle(cdtempYnameab); htempb3sub2->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb3sub2->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb3sub2->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb3sub2->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb3sub2->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb3sub2->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb3sub2->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb3sub2->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb3sub2->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb3sub2->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb3sub2->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb3sub2->Draw(); htempb3sub2->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb3sub2 = new TLegend(0.65, 0.7, .75, .75); legtempb3sub2->SetHeader("Legend"); legtempb3sub2->SetNColumns(1); legtempb3sub2->AddEntry(htempb3sub2, "Data", "l"); legtempb3sub2->Draw(); gPad->Update(); TPaveStats *statsgtempb3sub2 = (TPaveStats*)htempb3sub2->GetListOfFunctions()->FindObject("stats"); statsgtempb3sub2->SetTextColor(kBlue); statsgtempb3sub2->SetX1NDC(0.80); statsgtempb3sub2->SetX2NDC(0.98); statsgtempb3sub2->SetY1NDC(0.77); statsgtempb3sub2->SetY2NDC(0.92); gPad->Update(); c23->cd(3); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",c2)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamec); TH1F *htempc3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); htempc3sub2->GetXaxis()->SetTitle(cdtempXnameab); htempc3sub2->GetYaxis()->SetTitle(cdtempYnameab); htempc3sub2->GetYaxis()->SetTitleSize(c1_YTitleSize); htempc3sub2->GetYaxis()->SetTitleFont(c1_YTitleFont); htempc3sub2->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempc3sub2->GetYaxis()->SetLabelFont(c1_YLabelFont); htempc3sub2->GetYaxis()->SetLabelSize(c1_YLabelSize); htempc3sub2->GetXaxis()->SetTitleSize(c1_XTitleSize); htempc3sub2->GetXaxis()->SetTitleFont(c1_XTitleFont); htempc3sub2->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempc3sub2->GetXaxis()->SetLabelFont(c1_XLabelFont); htempc3sub2->GetXaxis()->SetLabelSize(c1_XLabelSize); htempc3sub2->SetFillColorAlpha(kBlue, htimeabfillcolor); htempc3sub2->Draw(); htempc3sub2->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempc3sub2 = new TLegend(0.65, 0.7, .75, .75); legtempc3sub2->SetHeader("Legend"); legtempc3sub2->SetNColumns(1); legtempc3sub2->AddEntry(htempc3sub, "Data", "l"); legtempc3sub2->Draw(); gPad->Update(); TPaveStats *statsgtempc3sub2 = (TPaveStats*)htempc3sub2->GetListOfFunctions()->FindObject("stats"); statsgtempc3sub2->SetTextColor(kBlue); statsgtempc3sub2->SetX1NDC(0.80); statsgtempc3sub2->SetX2NDC(0.98); statsgtempc3sub2->SetY1NDC(0.77); statsgtempc3sub2->SetY2NDC(0.92); gPad->Update(); c23->Print(myplottimeout3sub2); delete c23; TCanvas *c24 = new TCanvas("c24",canvtitle,1280,1024); c24->Divide (3,1); c24->cd(1); t->SetLineColor(kBlue); TCut cut3sub2 = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, c2, p13sub2, csig, p23sub2).Data(); TString henea3substring2 = TString::Format("Calo_EnDep[%d] >> htemp(9000., 0., 9000.)", a); t->Draw(henea3substring2, cut && cut3sub2); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); henea3sub2->GetXaxis()->SetTitle(cdeneXnameab); henea3sub2->GetYaxis()->SetTitle(cdeneYnameab); henea3sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); henea3sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); henea3sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea3sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); henea3sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); henea3sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); henea3sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); henea3sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea3sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); henea3sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); henea3sub2->SetFillColorAlpha(kBlue, heneabfillcolor); henea3sub2->Draw(); henea3sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenea3sub2 = new TLegend(0.65, 0.7, .75, .75); legenea3sub2->SetHeader("Legend"); legenea3sub2->SetNColumns(1); legenea3sub2->AddEntry(henea3sub, "Data", "l"); legenea3sub2->Draw(); gPad->Update(); TPaveStats *statsgenea3sub2 = (TPaveStats*)henea3sub2->GetListOfFunctions()->FindObject("stats"); statsgenea3sub2->SetTextColor(kBlue); statsgenea3sub2->SetX1NDC(0.80); statsgenea3sub2->SetX2NDC(0.98); statsgenea3sub2->SetY1NDC(0.77); statsgenea3sub2->SetY2NDC(0.92); gPad->Update(); c24->cd(2); t->SetLineColor(kBlue); TString heneb3substring2 = TString::Format("Calo_EnDep[%d] >> htemp(9000., 0., 9000.)", b); t->Draw(heneb3substring2, cut && cut3sub2); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb3sub2= (TH1F*)gPad->GetPrimitive("htemp"); heneb3sub2->GetXaxis()->SetTitle(cdeneXnameab); heneb3sub2->GetYaxis()->SetTitle(cdeneYnameab); heneb3sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb3sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb3sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb3sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb3sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb3sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb3sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb3sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb3sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb3sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb3sub2->SetFillColorAlpha(kBlue, heneabfillcolor); heneb3sub2->Draw(); heneb3sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb3sub2= new TLegend(0.65, 0.7, .75, .75); legeneb3sub2->SetHeader("Legend"); legeneb3sub2->SetNColumns(1); legeneb3sub2->AddEntry(heneb3sub2, "Data", "l"); legeneb3sub2->Draw(); gPad->Update(); TPaveStats *statsgeneb3sub2 = (TPaveStats*)heneb3sub2->GetListOfFunctions()->FindObject("stats"); statsgeneb3sub2->SetTextColor(kBlue); statsgeneb3sub2->SetX1NDC(0.80); statsgeneb3sub2->SetX2NDC(0.98); statsgeneb3sub2->SetY1NDC(0.77); statsgeneb3sub2->SetY2NDC(0.92); gPad->Update(); c24->cd(3); t->SetLineColor(kBlue); TString henec3substring2 = TString::Format("Calo_EnDep[%d] >> htemp(9000., 0., 9000.)", c2); t->Draw(henec3substring2, cut && cut3sub2); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec3sub2 = (TH1F*)gPad->GetPrimitive("htemp"); henec3sub2->GetXaxis()->SetTitle(cdeneXnameab); henec3sub2->GetYaxis()->SetTitle(cdeneYnameab); henec3sub2->GetYaxis()->SetTitleSize(c2_YTitleSize); henec3sub2->GetYaxis()->SetTitleFont(c2_YTitleFont); henec3sub2->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec3sub2->GetYaxis()->SetLabelFont(c2_YLabelFont); henec3sub2->GetYaxis()->SetLabelSize(c2_YLabelSize); henec3sub2->GetXaxis()->SetTitleSize(c2_XTitleSize); henec3sub2->GetXaxis()->SetTitleFont(c2_XTitleFont); henec3sub2->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec3sub2->GetXaxis()->SetLabelFont(c2_XLabelFont); henec3sub2->GetXaxis()->SetLabelSize(c2_XLabelSize); henec3sub2->SetFillColorAlpha(kBlue, heneabfillcolor); henec3sub2->Draw(); henec3sub2->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenec3sub2 = new TLegend(0.65, 0.7, .75, .75); legenec3sub2->SetHeader("Legend"); legenec3sub2->SetNColumns(1); legenec3sub2->AddEntry(henec3sub2, "Data", "l"); legenec3sub2->Draw(); gPad->Update(); TPaveStats *statsgenec3sub2 = (TPaveStats*)henec3sub2->GetListOfFunctions()->FindObject("stats"); statsgenec3sub2->SetTextColor(kBlue); statsgenec3sub2->SetX1NDC(0.80); statsgenec3sub2->SetX2NDC(0.98); statsgenec3sub2->SetY1NDC(0.77); statsgenec3sub2->SetY2NDC(0.92); gPad->Update(); c24->Print(myploteneout3sub2); delete c24; /*----------------------------------SECTION FOR DE-SELECTION OF COINCIDENCES BETWEEN CLOSE SUBDETCORS AND ENERGY LEAD----------------------------------*/ TCanvas *c20 = new TCanvas("c20",canvtitle,1280,1024); c20->Divide (2,1); c20->cd(1); t->SetLineColor(kBlue); TCut cuteneb = TString::Format("Calo_EnDep[%d] < %d", b, enecut).Data(); TString heneasubstringcut = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", a); t->Draw(heneasubstringcut, cut && !cut3sub && !cut3sub2 && cuteneb); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *heneasubcut = (TH1F*)gPad->GetPrimitive("htemp"); heneasubcut->GetXaxis()->SetTitle(cdeneXnameab); heneasubcut->GetYaxis()->SetTitle(cdeneYnameab); heneasubcut->GetYaxis()->SetTitleSize(c2_YTitleSize); heneasubcut->GetYaxis()->SetTitleFont(c2_YTitleFont); heneasubcut->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneasubcut->GetYaxis()->SetLabelFont(c2_YLabelFont); heneasubcut->GetYaxis()->SetLabelSize(c2_YLabelSize); heneasubcut->GetXaxis()->SetTitleSize(c2_XTitleSize); heneasubcut->GetXaxis()->SetTitleFont(c2_XTitleFont); heneasubcut->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneasubcut->GetXaxis()->SetLabelFont(c2_XLabelFont); heneasubcut->GetXaxis()->SetLabelSize(c2_XLabelSize); heneasubcut->SetFillColorAlpha(kBlue, heneabfillcolor); heneasubcut->Draw(); heneasubcut->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneasubcut = new TLegend(0.65, 0.7, .75, .75); legeneasubcut->SetHeader("Legend"); legeneasubcut->SetNColumns(1); legeneasubcut->AddEntry(heneasubcut, "Data", "l"); legeneasubcut->Draw(); gPad->Update(); TPaveStats *statsgeneasubcut = (TPaveStats*)heneasubcut->GetListOfFunctions()->FindObject("stats"); statsgeneasubcut->SetTextColor(kBlue); statsgeneasubcut->SetX1NDC(0.80); statsgeneasubcut->SetX2NDC(0.98); statsgeneasubcut->SetY1NDC(0.77); statsgeneasubcut->SetY2NDC(0.92); gPad->Update(); c20->cd(2); t->SetLineColor(kBlue); TString henebsubstringcut = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", b); t->Draw(henebsubstringcut, cut && !cut3sub && !cut3sub2 && cuteneb); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *henebsubcut = (TH1F*)gPad->GetPrimitive("htemp"); henebsubcut->GetXaxis()->SetTitle(cdeneXnameab); henebsubcut->GetYaxis()->SetTitle(cdeneYnameab); henebsubcut->GetYaxis()->SetTitleSize(c2_YTitleSize); henebsubcut->GetYaxis()->SetTitleFont(c2_YTitleFont); henebsubcut->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henebsubcut->GetYaxis()->SetLabelFont(c2_YLabelFont); henebsubcut->GetYaxis()->SetLabelSize(c2_YLabelSize); henebsubcut->GetXaxis()->SetTitleSize(c2_XTitleSize); henebsubcut->GetXaxis()->SetTitleFont(c2_XTitleFont); henebsubcut->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henebsubcut->GetXaxis()->SetLabelFont(c2_XLabelFont); henebsubcut->GetXaxis()->SetLabelSize(c2_XLabelSize); henebsubcut->SetFillColorAlpha(kBlue, heneabfillcolor); henebsubcut->Draw(); henebsubcut->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenebsubcut = new TLegend(0.65, 0.7, .75, .75); legenebsubcut->SetHeader("Legend"); legenebsubcut->SetNColumns(1); legenebsubcut->AddEntry(henebsubcut, "Data", "l"); legenebsubcut->Draw(); gPad->Update(); TPaveStats *statsgenebsubcut = (TPaveStats*)henebsubcut->GetListOfFunctions()->FindObject("stats"); statsgenebsubcut->SetTextColor(kBlue); statsgenebsubcut->SetX1NDC(0.80); statsgenebsubcut->SetX2NDC(0.98); statsgenebsubcut->SetY1NDC(0.77); statsgenebsubcut->SetY2NDC(0.92); gPad->Update(); c20->Print(myploteneoutcut); delete c20; /*----------------------------------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", -20, 10); g14suball->SetLineColor(kYellow); TF1 *g24suball = new TF1 ("m24suball", "gaus", -10, 20); g24suball->SetLineColor(kGreen); TF1 *f14suball = new TF1("double_gaus4suball", "gaus(0) + gaus(3)", -400, 200); 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(700., -400., 300.)", a,d); t->Draw(htemp4substring, cut && !cut3sub && !cut3sub2 && cuteneb); t->GetHistogram()->SetTitle(cdname4sub); t->SetScanField(0); TH1F *htemp4sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g14sub = new TF1 ("m14sub", "gaus", -20, 10); g14sub->SetLineColor(kYellow); TF1 *g24sub = new TF1 ("m24sub", "gaus", -10, 20); g24sub->SetLineColor(kGreen); TF1 *f14sub = new TF1("double_gaus4sub", "gaus(0) + gaus(3)", -400, 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 (3,1); 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.)",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 (3,1); 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(8000., 0., 8000.)", a); t->Draw(henea4substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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(8000., 0., 8000.)", b); t->Draw(heneb4substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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 hened4substring = TString::Format("Calo_EnDep[%d] >> htemp(8000., 0., 8000.)", d); t->Draw(hened4substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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 && !cut3sub2 && cuteneb && cut4sub); t->GetHistogram()->SetTitle(cdname5sub); t->SetScanField(0); TH1F *htemp5sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g15sub = new TF1 ("m15sub", "gaus", -20, 10); g15sub->SetLineColor(kYellow); TF1 *g25sub = new TF1 ("m25sub", "gaus", -10, 20); g25sub->SetLineColor(kGreen); TF1 *f15sub = new TF1("double_gaus5sub", "gaus(0) + gaus(3)", -20, 20); 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 (2,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.)",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(4); 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 (2,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(15000., 0., 15000.)", a); t->Draw(henea5substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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(15000., 0., 15000.)", b); t->Draw(heneb5substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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 hened5substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", d); t->Draw(hened5substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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(4); t->SetLineColor(kBlue); TString henee5substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", e); t->Draw(henee5substring, cut && !cut3sub && !cut3sub2 && cuteneb && 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; /*----------------------------------SECTION FOR 6 SUBDETECTORS COINCIDENCE 1----------------------------------*/ TCanvas *c16b = new TCanvas("c16b",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(600., -400., 200.)", a, f)); t->GetHistogram()->SetTitle(cdname6sub); t->SetScanField(0); TH1F *htemp6suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g16suball = new TF1 ("m16suball", "gaus", -20, 10); g16suball->SetLineColor(kYellow); TF1 *g26suball = new TF1 ("m26suball", "gaus", -10, 20); g26suball->SetLineColor(kGreen); TF1 *f16suball = new TF1("double_gaus6suball", "gaus(0) + gaus(3)", -20, 20); //f16suball->SetParLimits(5,0,100); f16suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f16suball->SetLineColor(kRed); htemp6suball->Fit(g16suball, "R"); htemp6suball->Fit(g26suball, "R"); Double_t par6suball[6]; g16suball->GetParameters(&par6suball[0]); g26suball->GetParameters(&par6suball[3]); f16suball->SetParameters(par6suball); htemp6suball->Fit(f16suball, "R"); htemp6suball->Draw("e1"); g16suball->Draw("SAME"); g26suball->Draw("SAME"); f16suball->Draw("SAME"); std::cout << g16suball->Mean(f16suball->GetXmin(), f16suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g16suball->Variance(f16suball->GetXmin(), f16suball->GetXmax())) << std::endl; std::cout << g26suball->Mean(f16suball->GetXmin(), f16suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g26suball->Variance(f16suball->GetXmin(), f16suball->GetXmax())) << std::endl; std::cout << f16suball->Mean(f16suball->GetXmin(), f16suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f16suball->Variance(f16suball->GetXmin(), f16suball->GetXmax())) << std::endl; Double_t xmin6suball = f16suball->GetXmin(); Double_t xmax6suball = f16suball->GetXmax(); Double_t mean6suball = f16suball->Mean(xmin6suball, xmax6suball); Double_t sigma6suball = TMath::Sqrt(f16suball->Variance(xmin6suball, xmax6suball)); xmin6suball = mean6suball - 5.0 * sigma6suball; xmax6suball = mean6suball + 5.0 * sigma6suball; mean6suball = f16suball->Mean(xmin6suball, xmax6suball); sigma6suball = TMath::Sqrt(f16suball->Variance(xmin6suball, xmax6suball)); std::cout << "Mean = " << mean6suball << std::endl; std::cout << "Sigma = " << sigma6suball << std::endl; if (p16subp26suball==1) { p16suball=f16suball->GetParameter(1); p26suball=f16suball->GetParameter(2); } else if (p16subp26suball==2) { p16suball=f16suball->GetParameter(4); p26suball=f16suball->GetParameter(5); } htemp6suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp6suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp6suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp6suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp6suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp6suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp6suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp6suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp6suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp6suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp6suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp6suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp6suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp6suball->Draw(); htemp6suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c16b->Update(); TLegend* leg6suball = new TLegend(0.15, 0.7, .25, .75); leg6suball->SetHeader("Legend"); leg6suball->SetNColumns(1); leg6suball->AddEntry(htemp6suball, "Data", "l"); leg6suball->AddEntry(f16suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg6suball->Draw(); c16b->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime6suball = (TPaveStats*)htemp6suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime6suball->SetTextColor(kBlue); statsgdeltatime6suball->SetX1NDC(0.80); statsgdeltatime6suball->SetX2NDC(0.98); statsgdeltatime6suball->SetY1NDC(0.77); statsgdeltatime6suball->SetY2NDC(0.92); statsgdeltatime6suball->AddText(TString::Format("Mean = %g", p16suball)); statsgdeltatime6suball->AddText(TString::Format("Sigma = %g", p26suball)); statsgdeltatime6suball->DrawClone(); gPad->Update(); c16b->Print(myplotdeltatimeout6suball); delete c16b; TCanvas *c17b = new TCanvas("c17b",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp6substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(700., -400., 300.)", a,f); //-400,200 t->Draw(htemp6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub); t->GetHistogram()->SetTitle(cdname6sub); t->SetScanField(0); TH1F *htemp6sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g16sub = new TF1 ("m16sub", "gaus", -20, 10); g16sub->SetLineColor(kYellow); TF1 *g26sub = new TF1 ("m26sub", "gaus", -10, 20); g26sub->SetLineColor(kGreen); TF1 *f16sub = new TF1("double_gaus6sub", "gaus(0) + gaus(3)", -20, 20); //-300,100 f16sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f16sub->SetLineColor(kRed); htemp6sub->Fit(g16sub, "R"); htemp6sub->Fit(g26sub, "R"); Double_t par6sub[6]; g16sub->GetParameters(&par6sub[0]); g26sub->GetParameters(&par6sub[3]); f16sub->SetParameters(par6sub); htemp6sub->Fit(f16sub, "R"); htemp6sub->Draw("e1"); g16sub->Draw("SAME"); g26sub->Draw("SAME"); f16sub->Draw("SAME"); std::cout << g16sub->Mean(f16sub->GetXmin(), f16sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g16sub->Variance(f16sub->GetXmin(), f16sub->GetXmax())) << std::endl; std::cout << g26sub->Mean(f16sub->GetXmin(), f16sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g26sub->Variance(f16sub->GetXmin(), f16sub->GetXmax())) << std::endl; std::cout << f16sub->Mean(f16sub->GetXmin(), f16sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f16sub->Variance(f16sub->GetXmin(), f16sub->GetXmax())) << std::endl; Double_t xmin6sub = f16sub->GetXmin(); Double_t xmax6sub = f16sub->GetXmax(); Double_t mean6sub = f16sub->Mean(xmin6sub, xmax6sub); Double_t sigma6sub = TMath::Sqrt(f16sub->Variance(xmin6sub, xmax6sub)); xmin6sub = mean6sub - 5.0 * sigma6sub; xmax6sub = mean6sub + 5.0 * sigma6sub; mean6sub = f16sub->Mean(xmin6sub, xmax6sub); sigma6sub = TMath::Sqrt(f16sub->Variance(xmin6sub, xmax6sub)); std::cout << "Mean = " << mean6sub << std::endl; std::cout << "Sigma = " << sigma6sub << std::endl; if (p16subp26sub==1) { p16sub=f16sub->GetParameter(1); p26sub=f16sub->GetParameter(2); } else if (p16subp26sub==2) { p16sub=f16sub->GetParameter(4); p26sub=f16sub->GetParameter(5); } htemp6sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp6sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp6sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp6sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp6sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp6sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp6sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp6sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp6sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp6sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp6sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp6sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp6sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp6sub->Draw(); htemp6sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c17b->Update(); TLegend* leg6sub = new TLegend(0.15, 0.7, .25, .75); leg6sub->SetHeader("Legend"); leg6sub->SetNColumns(1); leg6sub->AddEntry(htemp6sub, "Data", "l"); leg6sub->AddEntry(f16sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg6sub->Draw(); c17b->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime6sub = (TPaveStats*)htemp6sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime6sub->SetTextColor(kBlue); statsgdeltatime6sub->SetX1NDC(0.80); statsgdeltatime6sub->SetX2NDC(0.98); statsgdeltatime6sub->SetY1NDC(0.77); statsgdeltatime6sub->SetY2NDC(0.92); statsgdeltatime6sub->AddText(TString::Format("Mean = %g", p16sub)); statsgdeltatime6sub->AddText(TString::Format("Sigma = %g", p26sub)); statsgdeltatime6sub->DrawClone(); gPad->Update(); c17b->Print(myplotdeltatimeout6sub); delete c17b; TCanvas *c18b = new TCanvas("c18b",canvtitle,1280,1024); c18b->Divide (3,2); c18b->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 *htempa6sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa6sub->GetXaxis()->SetTitle(cdtempXnameab); htempa6sub->GetYaxis()->SetTitle(cdtempYnameab); htempa6sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa6sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa6sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa6sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa6sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa6sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa6sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa6sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa6sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa6sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa6sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa6sub->Draw(); htempa6sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa6sub = new TLegend(0.65, 0.7, .75, .75); legtempa6sub->SetHeader("Legend"); legtempa6sub->SetNColumns(1); legtempa6sub->AddEntry(htempa6sub, "Data", "l"); legtempa6sub->Draw(); gPad->Update(); TPaveStats *statsgtempa6sub = (TPaveStats*)htempa6sub->GetListOfFunctions()->FindObject("stats"); statsgtempa6sub->SetTextColor(kBlue); statsgtempa6sub->SetX1NDC(0.80); statsgtempa6sub->SetX2NDC(0.98); statsgtempa6sub->SetY1NDC(0.77); statsgtempa6sub->SetY2NDC(0.92); gPad->Update(); c18b->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 *htempb6sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb6sub->GetXaxis()->SetTitle(cdtempXnameab); htempb6sub->GetYaxis()->SetTitle(cdtempYnameab); htempb6sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb6sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb6sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb6sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb6sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb6sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb6sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb6sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb6sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb6sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb6sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb6sub->Draw(); htempb6sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb6sub = new TLegend(0.65, 0.7, .75, .75); legtempb6sub->SetHeader("Legend"); legtempb6sub->SetNColumns(1); legtempb6sub->AddEntry(htempb6sub, "Data", "l"); legtempb6sub->Draw(); gPad->Update(); TPaveStats *statsgtempb6sub = (TPaveStats*)htempb6sub->GetListOfFunctions()->FindObject("stats"); statsgtempb6sub->SetTextColor(kBlue); statsgtempb6sub->SetX1NDC(0.80); statsgtempb6sub->SetX2NDC(0.98); statsgtempb6sub->SetY1NDC(0.77); statsgtempb6sub->SetY2NDC(0.92); gPad->Update(); c18b->cd(3); 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(cdtempnamec); TH1F *htempd6sub = (TH1F*)gPad->GetPrimitive("htemp"); htempd6sub->GetXaxis()->SetTitle(cdtempXnameab); htempd6sub->GetYaxis()->SetTitle(cdtempYnameab); htempd6sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempd6sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempd6sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempd6sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempd6sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempd6sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempd6sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempd6sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempd6sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempd6sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempd6sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempd6sub->Draw(); htempd6sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempd6sub = new TLegend(0.65, 0.7, .75, .75); legtempd6sub->SetHeader("Legend"); legtempd6sub->SetNColumns(1); legtempd6sub->AddEntry(htempd6sub, "Data", "l"); legtempd6sub->Draw(); gPad->Update(); TPaveStats *statsgtempd6sub = (TPaveStats*)htempd6sub->GetListOfFunctions()->FindObject("stats"); statsgtempd6sub->SetTextColor(kBlue); statsgtempd6sub->SetX1NDC(0.80); statsgtempd6sub->SetX2NDC(0.98); statsgtempd6sub->SetY1NDC(0.77); statsgtempd6sub->SetY2NDC(0.92); gPad->Update(); c18b->cd(4); 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 *htempe6sub = (TH1F*)gPad->GetPrimitive("htemp"); htempe6sub->GetXaxis()->SetTitle(cdtempXnameab); htempe6sub->GetYaxis()->SetTitle(cdtempYnameab); htempe6sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempe6sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempe6sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempe6sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempe6sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempe6sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempe6sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempe6sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempe6sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempe6sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempe6sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempe6sub->Draw(); htempe6sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempe6sub = new TLegend(0.65, 0.7, .75, .75); legtempe6sub->SetHeader("Legend"); legtempe6sub->SetNColumns(1); legtempe6sub->AddEntry(htempe6sub, "Data", "l"); legtempe6sub->Draw(); gPad->Update(); TPaveStats *statsgtempe6sub = (TPaveStats*)htempe6sub->GetListOfFunctions()->FindObject("stats"); statsgtempe6sub->SetTextColor(kBlue); statsgtempe6sub->SetX1NDC(0.80); statsgtempe6sub->SetX2NDC(0.98); statsgtempe6sub->SetY1NDC(0.77); statsgtempe6sub->SetY2NDC(0.92); gPad->Update(); c18b->cd(5); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",f)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamef); TH1F *htempf6sub = (TH1F*)gPad->GetPrimitive("htemp"); htempf6sub->GetXaxis()->SetTitle(cdtempXnameab); htempf6sub->GetYaxis()->SetTitle(cdtempYnameab); htempf6sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempf6sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempf6sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempf6sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempf6sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempf6sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempf6sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempf6sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempf6sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempf6sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempf6sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempf6sub->Draw(); htempf6sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempf6sub = new TLegend(0.65, 0.7, .75, .75); legtempf6sub->SetHeader("Legend"); legtempf6sub->SetNColumns(1); legtempf6sub->AddEntry(htempf6sub, "Data", "l"); legtempf6sub->Draw(); gPad->Update(); TPaveStats *statsgtempf6sub = (TPaveStats*)htempf6sub->GetListOfFunctions()->FindObject("stats"); statsgtempf6sub->SetTextColor(kBlue); statsgtempf6sub->SetX1NDC(0.80); statsgtempf6sub->SetX2NDC(0.98); statsgtempf6sub->SetY1NDC(0.77); statsgtempf6sub->SetY2NDC(0.92); gPad->Update(); c18b->Print(myplottimeout6sub); delete c18b; TCanvas *c19b = new TCanvas("c19b",canvtitle,1280,1024); c19b->Divide (3,2); c19b->cd(1); t->SetLineColor(kBlue); TCut cut6sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, f, p16sub, csig, p26sub).Data(); TString henea6substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", a); t->Draw(henea6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea6sub = (TH1F*)gPad->GetPrimitive("htemp"); henea6sub->GetXaxis()->SetTitle(cdeneXnameab); henea6sub->GetYaxis()->SetTitle(cdeneYnameab); henea6sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea6sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea6sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea6sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea6sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea6sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea6sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea6sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea6sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea6sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea6sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea6sub->Draw(); henea6sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenea6sub = new TLegend(0.65, 0.7, .75, .75); legenea6sub->SetHeader("Legend"); legenea6sub->SetNColumns(1); legenea6sub->AddEntry(henea6sub, "Data", "l"); legenea6sub->Draw(); gPad->Update(); TPaveStats *statsgenea6sub = (TPaveStats*)henea6sub->GetListOfFunctions()->FindObject("stats"); statsgenea6sub->SetTextColor(kBlue); statsgenea6sub->SetX1NDC(0.80); statsgenea6sub->SetX2NDC(0.98); statsgenea6sub->SetY1NDC(0.77); statsgenea6sub->SetY2NDC(0.92); gPad->Update(); c19b->cd(2); t->SetLineColor(kBlue); TString heneb6substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", b); t->Draw(heneb6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb6sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb6sub->GetXaxis()->SetTitle(cdeneXnameab); heneb6sub->GetYaxis()->SetTitle(cdeneYnameab); heneb6sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb6sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb6sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb6sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb6sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb6sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb6sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb6sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb6sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb6sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb6sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb6sub->Draw(); heneb6sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legeneb6sub = new TLegend(0.65, 0.7, .75, .75); legeneb6sub->SetHeader("Legend"); legeneb6sub->SetNColumns(1); legeneb6sub->AddEntry(heneb6sub, "Data", "l"); legeneb6sub->Draw(); gPad->Update(); TPaveStats *statsgeneb6sub = (TPaveStats*)heneb6sub->GetListOfFunctions()->FindObject("stats"); statsgeneb6sub->SetTextColor(kBlue); statsgeneb6sub->SetX1NDC(0.80); statsgeneb6sub->SetX2NDC(0.98); statsgeneb6sub->SetY1NDC(0.77); statsgeneb6sub->SetY2NDC(0.92); gPad->Update(); c19b->cd(3); t->SetLineColor(kBlue); TString hened6substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", d); t->Draw(hened6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened6sub = (TH1F*)gPad->GetPrimitive("htemp"); hened6sub->GetXaxis()->SetTitle(cdeneXnameab); hened6sub->GetYaxis()->SetTitle(cdeneYnameab); hened6sub->GetYaxis()->SetTitleSize(c2_YTitleSize); hened6sub->GetYaxis()->SetTitleFont(c2_YTitleFont); hened6sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened6sub->GetYaxis()->SetLabelFont(c2_YLabelFont); hened6sub->GetYaxis()->SetLabelSize(c2_YLabelSize); hened6sub->GetXaxis()->SetTitleSize(c2_XTitleSize); hened6sub->GetXaxis()->SetTitleFont(c2_XTitleFont); hened6sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened6sub->GetXaxis()->SetLabelFont(c2_XLabelFont); hened6sub->GetXaxis()->SetLabelSize(c2_XLabelSize); hened6sub->SetFillColorAlpha(kBlue, heneabfillcolor); hened6sub->Draw(); hened6sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legened6sub = new TLegend(0.65, 0.7, .75, .75); legened6sub->SetHeader("Legend"); legened6sub->SetNColumns(1); legened6sub->AddEntry(hened6sub, "Data", "l"); legened6sub->Draw(); gPad->Update(); TPaveStats *statsgened6sub = (TPaveStats*)hened6sub->GetListOfFunctions()->FindObject("stats"); statsgened6sub->SetTextColor(kBlue); statsgened6sub->SetX1NDC(0.80); statsgened6sub->SetX2NDC(0.98); statsgened6sub->SetY1NDC(0.77); statsgened6sub->SetY2NDC(0.92); gPad->Update(); c19b->cd(4); t->SetLineColor(kBlue); TString henee6substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", e); t->Draw(henee6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamee); TH1F *henee6sub = (TH1F*)gPad->GetPrimitive("htemp"); henee6sub->GetXaxis()->SetTitle(cdeneXnameab); henee6sub->GetYaxis()->SetTitle(cdeneYnameab); henee6sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henee6sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henee6sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henee6sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henee6sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henee6sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henee6sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henee6sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henee6sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henee6sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henee6sub->SetFillColorAlpha(kBlue, heneabfillcolor); henee6sub->Draw(); henee6sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenee6sub = new TLegend(0.65, 0.7, .75, .75); legenee6sub->SetHeader("Legend"); legenee6sub->SetNColumns(1); legenee6sub->AddEntry(henee6sub, "Data", "l"); legenee6sub->Draw(); gPad->Update(); TPaveStats *statsgenee6sub = (TPaveStats*)henee6sub->GetListOfFunctions()->FindObject("stats"); statsgenee6sub->SetTextColor(kBlue); statsgenee6sub->SetX1NDC(0.80); statsgenee6sub->SetX2NDC(0.98); statsgenee6sub->SetY1NDC(0.77); statsgenee6sub->SetY2NDC(0.92); gPad->Update(); c19b->cd(5); t->SetLineColor(kBlue); TString henef6substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", f); t->Draw(henef6substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamef); TH1F *henef6sub = (TH1F*)gPad->GetPrimitive("htemp"); henef6sub->GetXaxis()->SetTitle(cdeneXnameab); henef6sub->GetYaxis()->SetTitle(cdeneYnameab); henef6sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henef6sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henef6sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henef6sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henef6sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henef6sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henef6sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henef6sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henef6sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henef6sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henef6sub->SetFillColorAlpha(kBlue, heneabfillcolor); henef6sub->Draw(); henef6sub->SetName(heneabname); gPad->Modified(); gPad->Update(); TLegend* legenef6sub = new TLegend(0.65, 0.7, .75, .75); legenef6sub->SetHeader("Legend"); legenef6sub->SetNColumns(1); legenef6sub->AddEntry(henef6sub, "Data", "l"); legenef6sub->Draw(); gPad->Update(); TPaveStats *statsgenef6sub = (TPaveStats*)henef6sub->GetListOfFunctions()->FindObject("stats"); statsgenef6sub->SetTextColor(kBlue); statsgenef6sub->SetX1NDC(0.80); statsgenef6sub->SetX2NDC(0.98); statsgenef6sub->SetY1NDC(0.77); statsgenef6sub->SetY2NDC(0.92); gPad->Update(); c19b->Print(myploteneout6sub); delete c19b; /*----------------------------------SECTION FOR 7 SUBDETECTORS COINCIDENCE---------------------------------*/ TCanvas *c26 = new TCanvas("c26",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(600., -400., 200.)", a, g)); t->GetHistogram()->SetTitle(cdname7sub); t->SetScanField(0); TH1F *htemp7suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g17suball = new TF1 ("m17suball", "gaus", -20, 10); g17suball->SetLineColor(kYellow); TF1 *g27suball = new TF1 ("m27suball", "gaus", -10, 20); g27suball->SetLineColor(kGreen); TF1 *f17suball = new TF1("double_gaus7suball", "gaus(0) + gaus(3)", -400, 200); f17suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f17suball->SetLineColor(kRed); htemp7suball->Fit(g17suball, "R"); htemp7suball->Fit(g27suball, "R"); Double_t par7suball[6]; g17suball->GetParameters(&par7suball[0]); g27suball->GetParameters(&par7suball[3]); f17suball->SetParameters(par7suball); htemp7suball->Fit(f17suball, "R"); htemp7suball->Draw("e1"); g17suball->Draw("SAME"); g27suball->Draw("SAME"); f17suball->Draw("SAME"); std::cout << g17suball->Mean(f17suball->GetXmin(), f17suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g17suball->Variance(f17suball->GetXmin(), f17suball->GetXmax())) << std::endl; std::cout << g27suball->Mean(f17suball->GetXmin(), f17suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g27suball->Variance(f17suball->GetXmin(), f17suball->GetXmax())) << std::endl; std::cout << f17suball->Mean(f17suball->GetXmin(), f17suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f17suball->Variance(f17suball->GetXmin(), f17suball->GetXmax())) << std::endl; Double_t xmin7suball = f17suball->GetXmin(); Double_t xmax7suball = f17suball->GetXmax(); Double_t mean7suball = f17suball->Mean(xmin7suball, xmax7suball); Double_t sigma7suball = TMath::Sqrt(f17suball->Variance(xmin7suball, xmax7suball)); xmin7suball = mean7suball - 5.0 * sigma7suball; xmax7suball = mean7suball + 5.0 * sigma7suball; mean7suball = f17suball->Mean(xmin7suball, xmax7suball); sigma7suball = TMath::Sqrt(f17suball->Variance(xmin7suball, xmax7suball)); std::cout << "Mean = " << mean7suball << std::endl; std::cout << "Sigma = " << sigma7suball << std::endl; if (p17subp27suball==1) { p17suball=f17suball->GetParameter(1); p27suball=f17suball->GetParameter(2); } else if (p17subp27suball==2) { p17suball=f17suball->GetParameter(4); p27suball=f17suball->GetParameter(5); } htemp7suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp7suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp7suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp7suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp7suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp7suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp7suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp7suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp7suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp7suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp7suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp7suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp7suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp7suball->Draw(); htemp7suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c26->Update(); TLegend* leg7suball = new TLegend(0.15, 0.7, .25, .75); leg7suball->SetHeader("Legend"); leg7suball->SetNColumns(1); leg7suball->AddEntry(htemp7suball, "Data", "l"); leg7suball->AddEntry(f17suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg7suball->Draw(); c26->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime7suball = (TPaveStats*)htemp7suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime7suball->SetTextColor(kBlue); statsgdeltatime7suball->SetX1NDC(0.80); statsgdeltatime7suball->SetX2NDC(0.98); statsgdeltatime7suball->SetY1NDC(0.77); statsgdeltatime7suball->SetY2NDC(0.92); statsgdeltatime7suball->AddText(TString::Format("Mean = %g", p17suball)); statsgdeltatime7suball->AddText(TString::Format("Sigma = %g", p27suball)); statsgdeltatime7suball->DrawClone(); gPad->Update(); c26->Print(myplotdeltatimeout7suball); delete c26; TCanvas *c27 = new TCanvas("c27",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp7substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(700., -400., 300.)", a,g); t->Draw(htemp7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub); t->GetHistogram()->SetTitle(cdname7sub); //t->SetScanField(0); TH1F *htemp7sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g17sub = new TF1 ("m17sub", "gaus", -20, 10); g17sub->SetLineColor(kYellow); TF1 *g27sub = new TF1 ("m27sub", "gaus", -10, 20); g27suball->SetLineColor(kGreen); TF1 *f17sub = new TF1("double_gaus7sub", "gaus(0) + gaus(3)", -20, 20); f17sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f17sub->SetLineColor(kRed); htemp7sub->Fit(g17sub, "R"); htemp7sub->Fit(g27sub, "R"); Double_t par7sub[6]; g17sub->GetParameters(&par7sub[0]); g27sub->GetParameters(&par7sub[3]); f17sub->SetParameters(par7sub); htemp7sub->Fit(f17sub, "R"); htemp7sub->Draw("e1"); g17sub->Draw("SAME"); g27sub->Draw("SAME"); f17sub->Draw("SAME"); std::cout << g17sub->Mean(f17sub->GetXmin(), f17sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g17sub->Variance(f17sub->GetXmin(), f17sub->GetXmax())) << std::endl; std::cout << g27sub->Mean(f17sub->GetXmin(), f17sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g27sub->Variance(f17sub->GetXmin(), f17sub->GetXmax())) << std::endl; std::cout << f17sub->Mean(f17sub->GetXmin(), f17sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f17sub->Variance(f17sub->GetXmin(), f17sub->GetXmax())) << std::endl; Double_t xmin7sub = f17sub->GetXmin(); Double_t xmax7sub = f17sub->GetXmax(); Double_t mean7sub = f17sub->Mean(xmin7sub, xmax7sub); Double_t sigma7sub = TMath::Sqrt(f17sub->Variance(xmin7sub, xmax7sub)); xmin7sub = mean7sub - 5.0 * sigma7sub; xmax7sub = mean7sub + 5.0 * sigma7sub; mean7sub = f17sub->Mean(xmin7sub, xmax7sub); sigma7sub = TMath::Sqrt(f17sub->Variance(xmin7sub, xmax7sub)); std::cout << "Mean = " << mean7sub << std::endl; std::cout << "Sigma = " << sigma7sub << std::endl; if (p17subp27sub==1) { p17sub=f17sub->GetParameter(1); p27sub=f17sub->GetParameter(2); } else if (p17subp27sub==2) { p17sub=f17sub->GetParameter(4); p27sub=f17sub->GetParameter(5); } /*htemp7sub->Fit("gaus"); p07sub = htemp7sub->GetFunction("gaus")->GetParameter(0); p17sub = htemp7sub->GetFunction("gaus")->GetParameter(1); p27sub = htemp7sub->GetFunction("gaus")->GetParameter(2);*/ htemp7sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp7sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp7sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp7sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp7sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp7sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp7sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp7sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp7sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp7sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp7sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp7sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp7sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp7sub->Draw(); htemp7sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c27->Update(); TLegend* leg7sub = new TLegend(0.15, 0.7, .25, .75); leg7sub->SetHeader("Legend"); leg7sub->SetNColumns(1); leg7sub->AddEntry(htemp7sub, "Data", "l"); leg7sub->AddEntry(f17sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT //leg7sub->AddEntry(htemp7sub->GetFunction("gaus"), "Fit", "l"); //TO USE FOR 1 GAUSSIAN FIT leg7sub->Draw(); c27->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime7sub = (TPaveStats*)htemp7sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime7sub->SetTextColor(kBlue); statsgdeltatime7sub->SetX1NDC(0.80); statsgdeltatime7sub->SetX2NDC(0.98); statsgdeltatime7sub->SetY1NDC(0.77); statsgdeltatime7sub->SetY2NDC(0.92); statsgdeltatime7sub->AddText(TString::Format("Mean = %g", p17sub)); statsgdeltatime7sub->AddText(TString::Format("Sigma = %g", p27sub)); statsgdeltatime7sub->DrawClone(); gPad->Update(); c27->Print(myplotdeltatimeout7sub); delete c27; TCanvas *c44 = new TCanvas("c44",canvtitle,1280,1024); c44->Divide (3,2); c44->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 *htempa7sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa7sub->GetXaxis()->SetTitle(cdtempXnameab); htempa7sub->GetYaxis()->SetTitle(cdtempYnameab); htempa7sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa7sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa7sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa7sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa7sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa7sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa7sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa7sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa7sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa7sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa7sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa7sub->Draw(); htempa7sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa7sub = new TLegend(0.65, 0.7, .75, .75); legtempa7sub->SetHeader("Legend"); legtempa7sub->SetNColumns(1); legtempa7sub->AddEntry(htempa7sub, "Data", "l"); legtempa7sub->Draw(); gPad->Update(); TPaveStats *statsgtempa7sub = (TPaveStats*)htempa7sub->GetListOfFunctions()->FindObject("stats"); statsgtempa7sub->SetTextColor(kBlue); statsgtempa7sub->SetX1NDC(0.80); statsgtempa7sub->SetX2NDC(0.98); statsgtempa7sub->SetY1NDC(0.77); statsgtempa7sub->SetY2NDC(0.92); gPad->Update(); c44->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 *htempb7sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb7sub->GetXaxis()->SetTitle(cdtempXnameab); htempb7sub->GetYaxis()->SetTitle(cdtempYnameab); htempb7sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb7sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb7sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb7sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb7sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb7sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb7sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb7sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb7sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb7sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb7sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb7sub->Draw(); htempb7sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb7sub = new TLegend(0.65, 0.7, .75, .75); legtempb7sub->SetHeader("Legend"); legtempb7sub->SetNColumns(1); legtempb7sub->AddEntry(htempb7sub, "Data", "l"); legtempb7sub->Draw(); gPad->Update(); TPaveStats *statsgtempb7sub = (TPaveStats*)htempb7sub->GetListOfFunctions()->FindObject("stats"); statsgtempb7sub->SetTextColor(kBlue); statsgtempb7sub->SetX1NDC(0.80); statsgtempb7sub->SetX2NDC(0.98); statsgtempb7sub->SetY1NDC(0.77); statsgtempb7sub->SetY2NDC(0.92); gPad->Update(); c44->cd(3); 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 *htempd7sub = (TH1F*)gPad->GetPrimitive("htemp"); htempd7sub->GetXaxis()->SetTitle(cdtempXnameab); htempd7sub->GetYaxis()->SetTitle(cdtempYnameab); htempd7sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempd7sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempd7sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempd7sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempd7sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempd7sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempd7sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempd7sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempd7sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempd7sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempd7sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempd7sub->Draw(); htempd7sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempd7sub = new TLegend(0.65, 0.7, .75, .75); legtempd7sub->SetHeader("Legend"); legtempd7sub->SetNColumns(1); legtempd7sub->AddEntry(htempd7sub, "Data", "l"); legtempd7sub->Draw(); gPad->Update(); TPaveStats *statsgtempd7sub = (TPaveStats*)htempd7sub->GetListOfFunctions()->FindObject("stats"); statsgtempd7sub->SetTextColor(kBlue); statsgtempd7sub->SetX1NDC(0.80); statsgtempd7sub->SetX2NDC(0.98); statsgtempd7sub->SetY1NDC(0.77); statsgtempd7sub->SetY2NDC(0.92); gPad->Update(); c44->cd(4); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",f)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamed); TH1F *htempf7sub = (TH1F*)gPad->GetPrimitive("htemp"); htempf7sub->GetXaxis()->SetTitle(cdtempXnameab); htempf7sub->GetYaxis()->SetTitle(cdtempYnameab); htempf7sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempf7sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempf7sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempf7sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempf7sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempf7sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempf7sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempf7sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempf7sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempf7sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempf7sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempf7sub->Draw(); htempf7sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempf7sub = new TLegend(0.65, 0.7, .75, .75); legtempf7sub->SetHeader("Legend"); legtempf7sub->SetNColumns(1); legtempf7sub->AddEntry(htempf7sub, "Data", "l"); legtempf7sub->Draw(); gPad->Update(); TPaveStats *statsgtempf7sub = (TPaveStats*)htempf7sub->GetListOfFunctions()->FindObject("stats"); statsgtempf7sub->SetTextColor(kBlue); statsgtempf7sub->SetX1NDC(0.80); statsgtempf7sub->SetX2NDC(0.98); statsgtempf7sub->SetY1NDC(0.77); statsgtempf7sub->SetY2NDC(0.92); gPad->Update(); c44->cd(5); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",g)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameg); TH1F *htempg7sub = (TH1F*)gPad->GetPrimitive("htemp"); htempg7sub->GetXaxis()->SetTitle(cdtempXnameab); htempg7sub->GetYaxis()->SetTitle(cdtempYnameab); htempg7sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempg7sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempg7sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempg7sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempg7sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempg7sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempg7sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempg7sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempg7sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempg7sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempg7sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempg7sub->Draw(); htempg7sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempg7sub = new TLegend(0.65, 0.7, .75, .75); legtempg7sub->SetHeader("Legend"); legtempg7sub->SetNColumns(1); legtempg7sub->AddEntry(htempg7sub, "Data", "l"); legtempg7sub->Draw(); gPad->Update(); TPaveStats *statsgtempg7sub = (TPaveStats*)htempg7sub->GetListOfFunctions()->FindObject("stats"); statsgtempg7sub->SetTextColor(kBlue); statsgtempg7sub->SetX1NDC(0.80); statsgtempg7sub->SetX2NDC(0.98); statsgtempg7sub->SetY1NDC(0.77); statsgtempg7sub->SetY2NDC(0.92); gPad->Update(); c44->Print(myplottimeout7sub); delete c44; TCanvas *c28 = new TCanvas("c28",canvtitle,1280,1024); c28->Divide (3,2); TCut cut7sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f) ", a, g, p17sub, csig, p27sub).Data(); c28->cd(1); t->SetLineColor(kBlue); TString henea7subcutstring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", a); t->Draw(henea7subcutstring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea7sub = (TH1F*)gPad->GetPrimitive("htemp"); henea7sub->GetXaxis()->SetTitle(cdeneXnameab); henea7sub->GetYaxis()->SetTitle(cdeneYnameab); henea7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea7sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea7sub->Draw(); henea7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea7sub = new TLegend(0.65, 0.7, .75, .75); legenea7sub->SetHeader("Legend"); legenea7sub->SetNColumns(1); legenea7sub->AddEntry(henea7sub, "Data", "l"); legenea7sub->Draw(); gPad->Update(); TPaveStats *statsgenea7sub = (TPaveStats*)henea7sub->GetListOfFunctions()->FindObject("stats"); statsgenea7sub->SetTextColor(kBlue); statsgenea7sub->SetX1NDC(0.80); statsgenea7sub->SetX2NDC(0.98); statsgenea7sub->SetY1NDC(0.77); statsgenea7sub->SetY2NDC(0.92); gPad->Update(); c28->cd(2); t->SetLineColor(kBlue); TString heneb7substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", b); t->Draw(heneb7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb7sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb7sub->GetXaxis()->SetTitle(cdeneXnameab); heneb7sub->GetYaxis()->SetTitle(cdeneYnameab); heneb7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb7sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb7sub->Draw(); heneb7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneb7sub = new TLegend(0.65, 0.7, .75, .75); legeneb7sub->SetHeader("Legend"); legeneb7sub->SetNColumns(1); legeneb7sub->AddEntry(heneb7sub, "Data", "l"); legeneb7sub->Draw(); gPad->Update(); TPaveStats *statsgeneb7sub = (TPaveStats*)heneb7sub->GetListOfFunctions()->FindObject("stats"); statsgeneb7sub->SetTextColor(kBlue); statsgeneb7sub->SetX1NDC(0.80); statsgeneb7sub->SetX2NDC(0.98); statsgeneb7sub->SetY1NDC(0.77); statsgeneb7sub->SetY2NDC(0.92); gPad->Update(); c28->cd(3); t->SetLineColor(kBlue); TString hened7substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", d); t->Draw(hened7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened7sub = (TH1F*)gPad->GetPrimitive("htemp"); hened7sub->GetXaxis()->SetTitle(cdeneXnameab); hened7sub->GetYaxis()->SetTitle(cdeneYnameab); hened7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); hened7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); hened7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); hened7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); hened7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); hened7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); hened7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); hened7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); hened7sub->SetFillColorAlpha(kBlue, heneabfillcolor); hened7sub->Draw(); hened7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legened7sub = new TLegend(0.65, 0.7, .75, .75); legened7sub->SetHeader("Legend"); legened7sub->SetNColumns(1); legened7sub->AddEntry(hened7sub, "Data", "l"); legened7sub->Draw(); gPad->Update(); TPaveStats *statsgened7sub = (TPaveStats*)hened7sub->GetListOfFunctions()->FindObject("stats"); statsgened7sub->SetTextColor(kBlue); statsgened7sub->SetX1NDC(0.80); statsgened7sub->SetX2NDC(0.98); statsgened7sub->SetY1NDC(0.77); statsgened7sub->SetY2NDC(0.92); gPad->Update(); c28->cd(4); t->SetLineColor(kBlue); TString henee7substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", e); t->Draw(henee7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamee); TH1F *henee7sub = (TH1F*)gPad->GetPrimitive("htemp"); henee7sub->GetXaxis()->SetTitle(cdeneXnameab); henee7sub->GetYaxis()->SetTitle(cdeneYnameab); henee7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henee7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henee7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henee7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henee7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henee7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henee7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henee7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henee7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henee7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henee7sub->SetFillColorAlpha(kBlue, heneabfillcolor); henee7sub->Draw(); henee7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenee7sub = new TLegend(0.65, 0.7, .75, .75); legenee7sub->SetHeader("Legend"); legenee7sub->SetNColumns(1); legenee7sub->AddEntry(henee7sub, "Data", "l"); legenee7sub->Draw(); gPad->Update(); TPaveStats *statsgenee7sub = (TPaveStats*)henee7sub->GetListOfFunctions()->FindObject("stats"); statsgenee7sub->SetTextColor(kBlue); statsgenee7sub->SetX1NDC(0.80); statsgenee7sub->SetX2NDC(0.98); statsgenee7sub->SetY1NDC(0.77); statsgenee7sub->SetY2NDC(0.92); gPad->Update(); c28->cd(5); t->SetLineColor(kBlue); TString henef7substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", f); t->Draw(henef7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamef); TH1F *henef7sub = (TH1F*)gPad->GetPrimitive("htemp"); henef7sub->GetXaxis()->SetTitle(cdeneXnameab); henef7sub->GetYaxis()->SetTitle(cdeneYnameab); henef7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henef7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henef7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henef7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henef7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henef7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henef7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henef7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henef7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henef7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henef7sub->SetFillColorAlpha(kBlue, heneabfillcolor); henef7sub->Draw(); henef7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenef7sub = new TLegend(0.65, 0.7, .75, .75); legenef7sub->SetHeader("Legend"); legenef7sub->SetNColumns(1); legenef7sub->AddEntry(henef7sub, "Data", "l"); legenef7sub->Draw(); gPad->Update(); TPaveStats *statsgenef7sub = (TPaveStats*)henef7sub->GetListOfFunctions()->FindObject("stats"); statsgenef7sub->SetTextColor(kBlue); statsgenef7sub->SetX1NDC(0.80); statsgenef7sub->SetX2NDC(0.98); statsgenef7sub->SetY1NDC(0.77); statsgenef7sub->SetY2NDC(0.92); gPad->Update(); c28->cd(6); t->SetLineColor(kBlue); TString heneg7substring = TString::Format("Calo_EnDep[%d] >> htemp(15000., 0., 15000.)", g); t->Draw(heneg7substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameg); TH1F *heneg7sub = (TH1F*)gPad->GetPrimitive("htemp"); heneg7sub->GetXaxis()->SetTitle(cdeneXnameab); heneg7sub->GetYaxis()->SetTitle(cdeneYnameab); heneg7sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneg7sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneg7sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneg7sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneg7sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneg7sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneg7sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneg7sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneg7sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneg7sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneg7sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneg7sub->Draw(); heneg7sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneg7sub = new TLegend(0.65, 0.7, .75, .75); legeneg7sub->SetHeader("Legend"); legeneg7sub->SetNColumns(1); legeneg7sub->AddEntry(heneg7sub, "Data", "l"); legeneg7sub->Draw(); gPad->Update(); TPaveStats *statsgeneg7sub = (TPaveStats*)heneg7sub->GetListOfFunctions()->FindObject("stats"); statsgeneg7sub->SetTextColor(kBlue); statsgeneg7sub->SetX1NDC(0.80); statsgeneg7sub->SetX2NDC(0.98); statsgeneg7sub->SetY1NDC(0.77); statsgeneg7sub->SetY2NDC(0.92); gPad->Update(); c28->Print(myploteneout7sub); delete c28; /*----------------------------------SECTION FOR 8 SUBDETECTORS COINCIDENCE---------------------------------*/ TCanvas *c32 = new TCanvas("c32",canvtitle,1280,1024); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d]-Calo_Time[%d] >> htemp(1100., -550., 550.)", a, h)); t->GetHistogram()->SetTitle(cdname8sub); t->SetScanField(0); TH1F *htemp8suball = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g18suball = new TF1 ("m18suball", "gaus", -140, -110); g18suball->SetLineColor(kYellow); TF1 *g28suball = new TF1 ("m28suball", "gaus", -140, -110); g28suball->SetLineColor(kGreen); TF1 *f18suball = new TF1("double_gaus8suball", "gaus(0) + gaus(3)", -200, 550); f18suball->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f18suball->SetLineColor(kRed); htemp8suball->Fit(g18suball, "R"); htemp8suball->Fit(g28suball, "R"); Double_t par8suball[6]; g18suball->GetParameters(&par8suball[0]); g28suball->GetParameters(&par8suball[3]); f18suball->SetParameters(par8suball); htemp8suball->Fit(f18suball, "R"); htemp8suball->Draw("e1"); g18suball->Draw("SAME"); g28suball->Draw("SAME"); f18suball->Draw("SAME"); std::cout << g18suball->Mean(f18suball->GetXmin(), f18suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g18suball->Variance(f18suball->GetXmin(), f18suball->GetXmax())) << std::endl; std::cout << g28suball->Mean(f18suball->GetXmin(), f18suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g28suball->Variance(f18suball->GetXmin(), f18suball->GetXmax())) << std::endl; std::cout << f18suball->Mean(f18suball->GetXmin(), f18suball->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f18suball->Variance(f18suball->GetXmin(), f18suball->GetXmax())) << std::endl; Double_t xmin8suball = f18suball->GetXmin(); Double_t xmax8suball = f18suball->GetXmax(); Double_t mean8suball = f18suball->Mean(xmin8suball, xmax8suball); Double_t sigma8suball = TMath::Sqrt(f18suball->Variance(xmin8suball, xmax8suball)); xmin8suball = mean8suball - 5.0 * sigma8suball; xmax8suball = mean8suball + 5.0 * sigma8suball; mean8suball = f18suball->Mean(xmin8suball, xmax8suball); sigma8suball = TMath::Sqrt(f18suball->Variance(xmin8suball, xmax8suball)); std::cout << "Mean = " << mean8suball << std::endl; std::cout << "Sigma = " << sigma8suball << std::endl; if (p18subp28suball==1) { p18suball=f18suball->GetParameter(1); p28suball=f18suball->GetParameter(2); } else if (p18subp28suball==2) { p18suball=f18suball->GetParameter(4); p28suball=f18suball->GetParameter(5); } htemp8suball->GetXaxis()->SetTitle(cddeltatimeXname); htemp8suball->GetYaxis()->SetTitle(cddeltatimeYname); htemp8suball->GetYaxis()->SetTitleSize(c_YTitleSize); htemp8suball->GetYaxis()->SetTitleFont(c_YTitleFont); htemp8suball->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp8suball->GetYaxis()->SetLabelFont(c_YLabelFont); htemp8suball->GetYaxis()->SetLabelSize(c_YLabelSize); htemp8suball->GetXaxis()->SetTitleSize(c_XTitleSize); htemp8suball->GetXaxis()->SetTitleFont(c_XTitleFont); htemp8suball->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp8suball->GetXaxis()->SetLabelFont(c_XLabelFont); htemp8suball->GetXaxis()->SetLabelSize(c_XLabelSize); htemp8suball->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp8suball->Draw(); htemp8suball->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c32->Update(); TLegend* leg8suball = new TLegend(0.15, 0.7, .25, .75); leg8suball->SetHeader("Legend"); leg8suball->SetNColumns(1); leg8suball->AddEntry(htemp8suball, "Data", "l"); leg8suball->AddEntry(f18suball, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg8suball->Draw(); c32->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime8suball = (TPaveStats*)htemp8suball->GetListOfFunctions()->FindObject("stats"); statsgdeltatime8suball->SetTextColor(kBlue); statsgdeltatime8suball->SetX1NDC(0.80); statsgdeltatime8suball->SetX2NDC(0.98); statsgdeltatime8suball->SetY1NDC(0.77); statsgdeltatime8suball->SetY2NDC(0.92); statsgdeltatime8suball->AddText(TString::Format("Mean = %g", p18suball)); statsgdeltatime8suball->AddText(TString::Format("Sigma = %g", p28suball)); statsgdeltatime8suball->DrawClone(); gPad->Update(); c32->Print(myplotdeltatimeout8suball); delete c32; TCanvas *c33 = new TCanvas("c33",canvtitle,1280,1024); t->SetLineColor(kBlue); TString htemp8substring = TString::Format("Calo_Time[%d] - Calo_Time[%d] >> htemp(700., -400., 300.)", a,h); // -15, 15 t->Draw(htemp8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub); t->GetHistogram()->SetTitle(cdname8sub); //t->SetScanField(0); TH1F *htemp8sub = (TH1F*)gPad->GetPrimitive("htemp"); TF1 *g18sub = new TF1 ("m18sub", "gaus", -140, -110); //-15, 14 -7,-4 g18sub->SetLineColor(kYellow); TF1 *g28sub = new TF1 ("m28sub", "gaus",-140, -110);// -14, 15 -4,-1 g28sub->SetLineColor(kGreen); TF1 *f18sub = new TF1("double_gaus8sub", "gaus(0) + gaus(3)", -160,-120); //-15, 15 f18sub->SetParNames("Constant 1", "Mean 1", "Sigma 1","Constant 2", "Mean 2", "Sigma 2"); f18sub->SetLineColor(kRed); htemp8sub->Fit(g18sub, "R"); htemp8sub->Fit(g28sub, "R"); Double_t par8sub[6]; g18sub->GetParameters(&par8sub[0]); g28sub->GetParameters(&par8sub[3]); f18sub->SetParameters(par8sub); htemp8sub->Fit(f18sub, "R"); htemp8sub->Draw("e1"); g18sub->Draw("SAME"); g28sub->Draw("SAME"); f18sub->Draw("SAME"); std::cout << g18sub->Mean(f18sub->GetXmin(), f18sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g18sub->Variance(f18sub->GetXmin(), f18sub->GetXmax())) << std::endl; std::cout << g28sub->Mean(f18sub->GetXmin(), f18sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(g28sub->Variance(f18sub->GetXmin(), f18sub->GetXmax())) << std::endl; std::cout << f18sub->Mean(f18sub->GetXmin(), f18sub->GetXmax()) << std::endl; std::cout << TMath::Sqrt(f18sub->Variance(f18sub->GetXmin(), f18sub->GetXmax())) << std::endl; Double_t xmin8sub = f18sub->GetXmin(); Double_t xmax8sub = f18sub->GetXmax(); Double_t mean8sub = f18sub->Mean(xmin8sub, xmax8sub); Double_t sigma8sub = TMath::Sqrt(f18sub->Variance(xmin8sub, xmax8sub)); xmin8sub = mean8sub - 5.0 * sigma8sub; xmax8sub = mean8sub + 5.0 * sigma8sub; mean8sub = f18sub->Mean(xmin8sub, xmax8sub); sigma8sub = TMath::Sqrt(f18sub->Variance(xmin8sub, xmax8sub)); std::cout << "Mean = " << mean8sub << std::endl; std::cout << "Sigma = " << sigma8sub << std::endl; if (p18subp28sub==1) { p18sub=f18sub->GetParameter(1); p28sub=f18sub->GetParameter(2); } else if (p18subp28sub==2) { p18sub=f18sub->GetParameter(4); p28sub=f18sub->GetParameter(5); } /*htemp8sub->Fit("gaus"); p08sub = htemp8sub->GetFunction("gaus")->GetParameter(0); p18sub = htemp8sub->GetFunction("gaus")->GetParameter(1); p28sub = htemp8sub->GetFunction("gaus")->GetParameter(2);*/ htemp8sub->GetXaxis()->SetTitle(cddeltatimeXname); htemp8sub->GetYaxis()->SetTitle(cddeltatimeYname); htemp8sub->GetYaxis()->SetTitleSize(c_YTitleSize); htemp8sub->GetYaxis()->SetTitleFont(c_YTitleFont); htemp8sub->GetYaxis()->SetTitleOffset(c_YTitleOffset); htemp8sub->GetYaxis()->SetLabelFont(c_YLabelFont); htemp8sub->GetYaxis()->SetLabelSize(c_YLabelSize); htemp8sub->GetXaxis()->SetTitleSize(c_XTitleSize); htemp8sub->GetXaxis()->SetTitleFont(c_XTitleFont); htemp8sub->GetXaxis()->SetTitleOffset(c_XTitleOffset); htemp8sub->GetXaxis()->SetLabelFont(c_XLabelFont); htemp8sub->GetXaxis()->SetLabelSize(c_XLabelSize); htemp8sub->SetFillColorAlpha(kBlue, hdeltatimeabfillcolor); htemp8sub->Draw(); htemp8sub->SetName(htempname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn c33->Update(); TLegend* leg8sub = new TLegend(0.15, 0.7, .25, .75); leg8sub->SetHeader("Legend"); leg8sub->SetNColumns(1); leg8sub->AddEntry(htemp8sub, "Data", "l"); //leg8sub->AddEntry(htemp8sub->GetFunction("gaus"), "Fit", "l"); //TO USE FOR 1 GAUSSIAN FI leg8sub->AddEntry(f18sub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT leg8sub->Draw(); c33->Update(); gPad->Modified(); gPad->Update(); TPaveStats *statsgdeltatime8sub = (TPaveStats*)htemp8sub->GetListOfFunctions()->FindObject("stats"); statsgdeltatime8sub->SetTextColor(kBlue); statsgdeltatime8sub->SetX1NDC(0.80); statsgdeltatime8sub->SetX2NDC(0.98); statsgdeltatime8sub->SetY1NDC(0.77); statsgdeltatime8sub->SetY2NDC(0.92); statsgdeltatime8sub->AddText(TString::Format("Mean = %g", p18sub)); statsgdeltatime8sub->AddText(TString::Format("Sigma = %g", p28sub)); statsgdeltatime8sub->DrawClone(); gPad->Update(); c33->Print(myplotdeltatimeout8sub); delete c33; TCanvas *c46 = new TCanvas("c46",canvtitle,1280,1024); c46->Divide (3,3); c46->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 *htempa8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempa8sub->GetXaxis()->SetTitle(cdtempXnameab); htempa8sub->GetYaxis()->SetTitle(cdtempYnameab); htempa8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempa8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempa8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempa8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempa8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempa8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempa8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempa8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempa8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempa8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempa8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempa8sub->Draw(); htempa8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempa8sub = new TLegend(0.65, 0.7, .75, .75); legtempa8sub->SetHeader("Legend"); legtempa8sub->SetNColumns(1); legtempa8sub->AddEntry(htempa8sub, "Data", "l"); legtempa8sub->Draw(); gPad->Update(); TPaveStats *statsgtempa8sub = (TPaveStats*)htempa8sub->GetListOfFunctions()->FindObject("stats"); statsgtempa8sub->SetTextColor(kBlue); statsgtempa8sub->SetX1NDC(0.80); statsgtempa8sub->SetX2NDC(0.98); statsgtempa8sub->SetY1NDC(0.77); statsgtempa8sub->SetY2NDC(0.92); gPad->Update(); c46->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 *htempb8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempb8sub->GetXaxis()->SetTitle(cdtempXnameab); htempb8sub->GetYaxis()->SetTitle(cdtempYnameab); htempb8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempb8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempb8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempb8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempb8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempb8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempb8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempb8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempb8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempb8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempb8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempb8sub->Draw(); htempb8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempb8sub = new TLegend(0.65, 0.7, .75, .75); legtempb8sub->SetHeader("Legend"); legtempb8sub->SetNColumns(1); legtempb8sub->AddEntry(htempb8sub, "Data", "l"); legtempb8sub->Draw(); gPad->Update(); TPaveStats *statsgtempb8sub = (TPaveStats*)htempb8sub->GetListOfFunctions()->FindObject("stats"); statsgtempb8sub->SetTextColor(kBlue); statsgtempb8sub->SetX1NDC(0.80); statsgtempb8sub->SetX2NDC(0.98); statsgtempb8sub->SetY1NDC(0.77); statsgtempb8sub->SetY2NDC(0.92); gPad->Update(); c46->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 *htempc8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempc8sub->GetXaxis()->SetTitle(cdtempXnameab); htempc8sub->GetYaxis()->SetTitle(cdtempYnameab); htempc8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempc8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempc8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempc8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempc8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempc8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempc8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempc8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempc8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempc8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempc8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempc8sub->Draw(); htempc8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempc8sub = new TLegend(0.65, 0.7, .75, .75); legtempc8sub->SetHeader("Legend"); legtempc8sub->SetNColumns(1); legtempc8sub->AddEntry(htempc8sub, "Data", "l"); legtempc8sub->Draw(); gPad->Update(); TPaveStats *statsgtempc8sub = (TPaveStats*)htempc8sub->GetListOfFunctions()->FindObject("stats"); statsgtempc8sub->SetTextColor(kBlue); statsgtempc8sub->SetX1NDC(0.80); statsgtempc8sub->SetX2NDC(0.98); statsgtempc8sub->SetY1NDC(0.77); statsgtempc8sub->SetY2NDC(0.92); gPad->Update(); c46->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 *htempd8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempd8sub->GetXaxis()->SetTitle(cdtempXnameab); htempd8sub->GetYaxis()->SetTitle(cdtempYnameab); htempd8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempd8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempd8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempd8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempd8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempd8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempd8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempd8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempd8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempd8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempd8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempd8sub->Draw(); htempd8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempd8sub = new TLegend(0.65, 0.7, .75, .75); legtempd8sub->SetHeader("Legend"); legtempd8sub->SetNColumns(1); legtempd8sub->AddEntry(htempd8sub, "Data", "l"); legtempd8sub->Draw(); gPad->Update(); TPaveStats *statsgtempd8sub = (TPaveStats*)htempd8sub->GetListOfFunctions()->FindObject("stats"); statsgtempd8sub->SetTextColor(kBlue); statsgtempd8sub->SetX1NDC(0.80); statsgtempd8sub->SetX2NDC(0.98); statsgtempd8sub->SetY1NDC(0.77); statsgtempd8sub->SetY2NDC(0.92); gPad->Update(); c46->cd(5); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",f)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnamef); TH1F *htempf8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempf8sub->GetXaxis()->SetTitle(cdtempXnameab); htempf8sub->GetYaxis()->SetTitle(cdtempYnameab); htempf8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempf8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempf8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempf8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempf8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempf8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempf8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempf8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempf8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempf8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempf8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempf8sub->Draw(); htempf8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempf8sub = new TLegend(0.65, 0.7, .75, .75); legtempf8sub->SetHeader("Legend"); legtempf8sub->SetNColumns(1); legtempf8sub->AddEntry(htempf8sub, "Data", "l"); legtempf8sub->Draw(); gPad->Update(); TPaveStats *statsgtempf8sub = (TPaveStats*)htempf8sub->GetListOfFunctions()->FindObject("stats"); statsgtempf8sub->SetTextColor(kBlue); statsgtempf8sub->SetX1NDC(0.80); statsgtempf8sub->SetX2NDC(0.98); statsgtempf8sub->SetY1NDC(0.77); statsgtempf8sub->SetY2NDC(0.92); gPad->Update(); c46->cd(6); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",g)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameg); TH1F *htempg8sub = (TH1F*)gPad->GetPrimitive("htemp"); htempg8sub->GetXaxis()->SetTitle(cdtempXnameab); htempg8sub->GetYaxis()->SetTitle(cdtempYnameab); htempg8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htempg8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htempg8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htempg8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htempg8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htempg8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htempg8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htempg8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htempg8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htempg8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htempg8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htempg8sub->Draw(); htempg8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtempg8sub = new TLegend(0.65, 0.7, .75, .75); legtempg8sub->SetHeader("Legend"); legtempg8sub->SetNColumns(1); legtempg8sub->AddEntry(htempg8sub, "Data", "l"); legtempg8sub->Draw(); gPad->Update(); TPaveStats *statsgtempg8sub = (TPaveStats*)htempg8sub->GetListOfFunctions()->FindObject("stats"); statsgtempg8sub->SetTextColor(kBlue); statsgtempg8sub->SetX1NDC(0.80); statsgtempg8sub->SetX2NDC(0.98); statsgtempg8sub->SetY1NDC(0.77); statsgtempg8sub->SetY2NDC(0.92); gPad->Update(); c46->cd(7); t->SetLineColor(kBlue); t->Draw(Form("Calo_Time[%d] >> htemp(550., 0., 550.)",h)); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdtempnameh); TH1F *htemph8sub = (TH1F*)gPad->GetPrimitive("htemp"); htemph8sub->GetXaxis()->SetTitle(cdtempXnameab); htemph8sub->GetYaxis()->SetTitle(cdtempYnameab); htemph8sub->GetYaxis()->SetTitleSize(c1_YTitleSize); htemph8sub->GetYaxis()->SetTitleFont(c1_YTitleFont); htemph8sub->GetYaxis()->SetTitleOffset(c1_YTitleOffset); htemph8sub->GetYaxis()->SetLabelFont(c1_YLabelFont); htemph8sub->GetYaxis()->SetLabelSize(c1_YLabelSize); htemph8sub->GetXaxis()->SetTitleSize(c1_XTitleSize); htemph8sub->GetXaxis()->SetTitleFont(c1_XTitleFont); htemph8sub->GetXaxis()->SetTitleOffset(c1_XTitleOffset); htemph8sub->GetXaxis()->SetLabelFont(c1_XLabelFont); htemph8sub->GetXaxis()->SetLabelSize(c1_XLabelSize); htemph8sub->SetFillColorAlpha(kBlue, htimeabfillcolor); htemph8sub->Draw(); htemph8sub->SetName(htempabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legtemph8sub = new TLegend(0.65, 0.7, .75, .75); legtemph8sub->SetHeader("Legend"); legtemph8sub->SetNColumns(1); legtemph8sub->AddEntry(htemph8sub, "Data", "l"); legtemph8sub->Draw(); gPad->Update(); TPaveStats *statsgtemph8sub = (TPaveStats*)htemph8sub->GetListOfFunctions()->FindObject("stats"); statsgtemph8sub->SetTextColor(kBlue); statsgtemph8sub->SetX1NDC(0.80); statsgtemph8sub->SetX2NDC(0.98); statsgtemph8sub->SetY1NDC(0.77); statsgtemph8sub->SetY2NDC(0.92); gPad->Update(); c46->Print(myplottimeout8sub); delete c46; TCanvas *c34b = new TCanvas("c34b",canvtitle,1280,1024); c34b->Divide (3,3); TCut cut8sub = TString::Format("TMath::Abs(Calo_Time[%d] - Calo_Time[%d] - (%f)) < (%d)*(%f)", a, h, p18sub, csig, p28sub).Data(); c34b->cd(1); t->SetLineColor(kBlue); TString henea8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", a); t->Draw(henea8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamea); TH1F *henea8sub = (TH1F*)gPad->GetPrimitive("htemp"); henea8sub->GetXaxis()->SetTitle(cdeneXnameab); henea8sub->GetYaxis()->SetTitle(cdeneYnameab); henea8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henea8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henea8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henea8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henea8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henea8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henea8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henea8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henea8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henea8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henea8sub->SetFillColorAlpha(kBlue, heneabfillcolor); henea8sub->Draw(); henea8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenea8sub = new TLegend(0.65, 0.7, .75, .75); legenea8sub->SetHeader("Legend"); legenea8sub->SetNColumns(1); legenea8sub->AddEntry(henea8sub, "Data", "l"); legenea8sub->Draw(); gPad->Update(); TPaveStats *statsgenea8sub = (TPaveStats*)henea8sub->GetListOfFunctions()->FindObject("stats"); statsgenea8sub->SetTextColor(kBlue); statsgenea8sub->SetX1NDC(0.80); statsgenea8sub->SetX2NDC(0.98); statsgenea8sub->SetY1NDC(0.77); statsgenea8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(2); t->SetLineColor(kBlue); TString heneb8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", b); t->Draw(heneb8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameb); TH1F *heneb8sub = (TH1F*)gPad->GetPrimitive("htemp"); heneb8sub->GetXaxis()->SetTitle(cdeneXnameab); heneb8sub->GetYaxis()->SetTitle(cdeneYnameab); heneb8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneb8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneb8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneb8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneb8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneb8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneb8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneb8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneb8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneb8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneb8sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneb8sub->Draw(); heneb8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneb8sub = new TLegend(0.65, 0.7, .75, .75); legeneb8sub->SetHeader("Legend"); legeneb8sub->SetNColumns(1); legeneb8sub->AddEntry(heneb8sub, "Data", "l"); legeneb8sub->Draw(); gPad->Update(); TPaveStats *statsgeneb8sub = (TPaveStats*)heneb8sub->GetListOfFunctions()->FindObject("stats"); statsgeneb8sub->SetTextColor(kBlue); statsgeneb8sub->SetX1NDC(0.80); statsgeneb8sub->SetX2NDC(0.98); statsgeneb8sub->SetY1NDC(0.77); statsgeneb8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(3); t->SetLineColor(kBlue); TString henec8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", c); t->Draw(henec8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamec); TH1F *henec8sub = (TH1F*)gPad->GetPrimitive("htemp"); henec8sub->GetXaxis()->SetTitle(cdeneXnameab); henec8sub->GetYaxis()->SetTitle(cdeneYnameab); henec8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henec8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henec8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henec8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henec8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henec8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henec8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henec8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henec8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henec8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henec8sub->SetFillColorAlpha(kBlue, heneabfillcolor); henec8sub->Draw(); henec8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenec8sub = new TLegend(0.65, 0.7, .75, .75); legenec8sub->SetHeader("Legend"); legenec8sub->SetNColumns(1); legenec8sub->AddEntry(henec8sub, "Data", "l"); legenec8sub->Draw(); gPad->Update(); TPaveStats *statsgenec8sub = (TPaveStats*)henec8sub->GetListOfFunctions()->FindObject("stats"); statsgenec8sub->SetTextColor(kBlue); statsgenec8sub->SetX1NDC(0.80); statsgenec8sub->SetX2NDC(0.98); statsgenec8sub->SetY1NDC(0.77); statsgenec8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(4); t->SetLineColor(kBlue); TString hened8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", d); t->Draw(hened8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamed); TH1F *hened8sub = (TH1F*)gPad->GetPrimitive("htemp"); hened8sub->GetXaxis()->SetTitle(cdeneXnameab); hened8sub->GetYaxis()->SetTitle(cdeneYnameab); hened8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); hened8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); hened8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); hened8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); hened8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); hened8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); hened8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); hened8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); hened8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); hened8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); hened8sub->SetFillColorAlpha(kBlue, heneabfillcolor); hened8sub->Draw(); hened8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legened8sub = new TLegend(0.65, 0.7, .75, .75); legened8sub->SetHeader("Legend"); legened8sub->SetNColumns(1); legened8sub->AddEntry(hened8sub, "Data", "l"); legened8sub->Draw(); gPad->Update(); TPaveStats *statsgened8sub = (TPaveStats*)hened8sub->GetListOfFunctions()->FindObject("stats"); statsgened8sub->SetTextColor(kBlue); statsgened8sub->SetX1NDC(0.80); statsgened8sub->SetX2NDC(0.98); statsgened8sub->SetY1NDC(0.77); statsgened8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(5); t->SetLineColor(kBlue); TString henef8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", f); t->Draw(henef8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenamef); TH1F *henef8sub = (TH1F*)gPad->GetPrimitive("htemp"); henef8sub->GetXaxis()->SetTitle(cdeneXnameab); henef8sub->GetYaxis()->SetTitle(cdeneYnameab); henef8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); henef8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); henef8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henef8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); henef8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); henef8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); henef8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); henef8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henef8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); henef8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); henef8sub->SetFillColorAlpha(kBlue, heneabfillcolor); henef8sub->Draw(); henef8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legenef8sub = new TLegend(0.65, 0.7, .75, .75); legenef8sub->SetHeader("Legend"); legenef8sub->SetNColumns(1); legenef8sub->AddEntry(henef8sub, "Data", "l"); legenef8sub->Draw(); gPad->Update(); TPaveStats *statsgenef8sub = (TPaveStats*)henef8sub->GetListOfFunctions()->FindObject("stats"); statsgenef8sub->SetTextColor(kBlue); statsgenef8sub->SetX1NDC(0.80); statsgenef8sub->SetX2NDC(0.98); statsgenef8sub->SetY1NDC(0.77); statsgenef8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(6); t->SetLineColor(kBlue); TString heneg8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", g); t->Draw(heneg8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameg); TH1F *heneg8sub = (TH1F*)gPad->GetPrimitive("htemp"); heneg8sub->GetXaxis()->SetTitle(cdeneXnameab); heneg8sub->GetYaxis()->SetTitle(cdeneYnameab); heneg8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneg8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneg8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneg8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneg8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneg8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneg8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneg8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneg8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneg8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneg8sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneg8sub->Draw(); heneg8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneg8sub = new TLegend(0.65, 0.7, .75, .75); legeneg8sub->SetHeader("Legend"); legeneg8sub->SetNColumns(1); legeneg8sub->AddEntry(heneg8sub, "Data", "l"); legeneg8sub->Draw(); gPad->Update(); TPaveStats *statsgeneg8sub = (TPaveStats*)heneg8sub->GetListOfFunctions()->FindObject("stats"); statsgeneg8sub->SetTextColor(kBlue); statsgeneg8sub->SetX1NDC(0.80); statsgeneg8sub->SetX2NDC(0.98); statsgeneg8sub->SetY1NDC(0.77); statsgeneg8sub->SetY2NDC(0.92); gPad->Update(); c34b->cd(7); t->SetLineColor(kBlue); TString heneh8substring = TString::Format("Calo_EnDep[%d] >> htemp(10000., 0., 10000.)", h); t->Draw(heneh8substring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameh); TH1F *heneh8sub = (TH1F*)gPad->GetPrimitive("htemp"); heneh8sub->GetXaxis()->SetTitle(cdeneXnameab); heneh8sub->GetYaxis()->SetTitle(cdeneYnameab); heneh8sub->GetYaxis()->SetTitleSize(c2_YTitleSize); heneh8sub->GetYaxis()->SetTitleFont(c2_YTitleFont); heneh8sub->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneh8sub->GetYaxis()->SetLabelFont(c2_YLabelFont); heneh8sub->GetYaxis()->SetLabelSize(c2_YLabelSize); heneh8sub->GetXaxis()->SetTitleSize(c2_XTitleSize); heneh8sub->GetXaxis()->SetTitleFont(c2_XTitleFont); heneh8sub->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneh8sub->GetXaxis()->SetLabelFont(c2_XLabelFont); heneh8sub->GetXaxis()->SetLabelSize(c2_XLabelSize); heneh8sub->SetFillColorAlpha(kBlue, heneabfillcolor); heneh8sub->Draw(); heneh8sub->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneh8sub = new TLegend(0.65, 0.7, .75, .75); legeneh8sub->SetHeader("Legend"); legeneh8sub->SetNColumns(1); legeneh8sub->AddEntry(heneh8sub, "Data", "l"); legeneh8sub->Draw(); gPad->Update(); TPaveStats *statsgeneh8sub = (TPaveStats*)heneh8sub->GetListOfFunctions()->FindObject("stats"); statsgeneh8sub->SetTextColor(kBlue); statsgeneh8sub->SetX1NDC(0.80); statsgeneh8sub->SetX2NDC(0.98); statsgeneh8sub->SetY1NDC(0.77); statsgeneh8sub->SetY2NDC(0.92); gPad->Update(); c34b->Print(myploteneout8sub); delete c34b; TCanvas *c92 = new TCanvas("c32",canvtitle,1280,1024); t->SetLineColor(kBlue); TString heneossstring = TString::Format("Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] >> htemp(16000., 0., 16000.)", b,d,e,f,g); t->Draw(heneossstring, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameoss); TH1F *heneoss = (TH1F*)gPad->GetPrimitive("htemp"); heneoss->SetStats(0); /* TF1 *gosssub = new TF1 ("mosssub", "gaus", 1000, 3000); gosssub->SetLineColor(kYellow); TF1 *gosssub = new TF1 ("mosssub", "gaus", 2000, 16000); gosssub->SetLineColor(kGreen); TF1 *fosssub = new TF1("gaussexpo", "gaus(0) + gaus(3)", 0, 4000); fosssub->SetParNames("Constant 1", "Mean 1", "Sigma 1", "Constant 2", "Mean 2", "Sigma 2"); fosssub->SetLineColor(kRed); heneoss->Fit(gosssub, "R"); heneoss->Fit(gosssub, "R"); Double_t parosssub[6]; gosssub->GetParameters(&parosssub[0]); gosssub->GetParameters(&parosssub[3]); fosssub->SetParameters(parosssub); heneoss->Fit(fosssub, "R"); heneoss->Draw("e1"); gosssub->Draw("SAME"); gosssub->Draw("SAME"); fosssub->Draw("SAME"); posssub=fosssub->GetParameter(1); posssub=fosssub->GetParameter(2); */ heneoss->GetXaxis()->SetTitle(cdeneXnameab); heneoss->GetYaxis()->SetTitle(cdeneYnameab); heneoss->GetYaxis()->SetTitleSize(c2_YTitleSize); heneoss->GetYaxis()->SetTitleFont(c2_YTitleFont); heneoss->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneoss->GetYaxis()->SetLabelFont(c2_YLabelFont); heneoss->GetYaxis()->SetLabelSize(c2_YLabelSize); heneoss->GetXaxis()->SetTitleSize(c2_XTitleSize); heneoss->GetXaxis()->SetTitleFont(c2_XTitleFont); heneoss->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneoss->GetXaxis()->SetLabelFont(c2_XLabelFont); heneoss->GetXaxis()->SetLabelSize(c2_XLabelSize); heneoss->SetFillColorAlpha(kBlue, heneabfillcolor); heneoss->Draw(); heneoss->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneoss = new TLegend(0.15, 0.85, .25, .75); legeneoss->SetHeader("Legend"); legeneoss->SetNColumns(1); legeneoss->AddEntry(heneoss, "Data", "l"); //legeneoss->AddEntry(fosssub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT legeneoss->Draw(); gPad->Update(); /*TPaveStats *statsgeneoss = (TPaveStats*)heneoss->GetListOfFunctions()->FindObject("stats"); statsgeneoss->SetTextColor(kBlue); statsgeneoss->SetX1NDC(0.80); statsgeneoss->SetX2NDC(0.98); statsgeneoss->SetY1NDC(0.77); statsgeneoss->SetY2NDC(0.92); //statsgeneoss->AddText(TString::Format("Mean = %g", posssub)); //statsgeneoss->AddText(TString::Format("Sigma = %g", posssub)); //statsgeneoss->DrawClone(); gPad->Update();*/ c92->Print(myploteneoutoss); delete c92; TCanvas *c95 = new TCanvas("c95",canvtitle,1280,1024); TH2F *henecdsubstringcutrelTHF = new TH2F("henecdsubstringcutrelTHF", "", 500, 0., 0.,500., 0.,0.); TString what = TString::Format("(Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d]) : Calo_EnDep[%d]>> henecdsubstringcutrelTHF", d, e, f, g, b); t->Draw(what, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn henecdsubstringcutrelTHF->SetTitle(cdhenecdsubstringcutrelTHFname); henecdsubstringcutrelTHF->GetXaxis()->SetTitle(cdeneXnameabenecvsd); henecdsubstringcutrelTHF->GetYaxis()->SetTitle(cdeneYnameabenecvsd); henecdsubstringcutrelTHF->GetYaxis()->SetTitleSize(c2_YTitleSize); henecdsubstringcutrelTHF->GetYaxis()->SetTitleFont(c2_YTitleFont); henecdsubstringcutrelTHF->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henecdsubstringcutrelTHF->GetYaxis()->SetLabelFont(c2_YLabelFont); henecdsubstringcutrelTHF->GetYaxis()->SetLabelSize(c2_YLabelSize); henecdsubstringcutrelTHF->GetXaxis()->SetTitleSize(c2_XTitleSize); henecdsubstringcutrelTHF->GetXaxis()->SetTitleFont(c2_XTitleFont); henecdsubstringcutrelTHF->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henecdsubstringcutrelTHF->GetXaxis()->SetLabelFont(c2_XLabelFont); henecdsubstringcutrelTHF->GetXaxis()->SetLabelSize(c2_XLabelSize); henecdsubstringcutrelTHF->SetMarkerSize(50); henecdsubstringcutrelTHF->Draw("COLZ"); henecdsubstringcutrelTHF->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TH1 *hh = henecdsubstringcutrelTHF->DrawCopy("colz"); // creates all axes gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TPaletteAxis * palette = (TPaletteAxis *) hh->GetListOfFunctions()->FindObject("palette"); palette->SetX1NDC(0.86); palette->SetX2NDC(0.90); palette->SetY1NDC(0.2); palette->SetY2NDC(0.8); c95->Modified(); c95->Update(); TLegend* leghenecdsubstringcutrelTHF = new TLegend(0.65, 0.7, .75, .75); leghenecdsubstringcutrelTHF->SetHeader("Legend"); leghenecdsubstringcutrelTHF->SetNColumns(1); leghenecdsubstringcutrelTHF->AddEntry(leghenecdsubstringcutrelTHF, "Data", "l"); leghenecdsubstringcutrelTHF->Draw(); gPad->Update(); TPaveStats *statsghenecdsubstringcutrelTHF = (TPaveStats*)henecdsubstringcutrelTHF->GetListOfFunctions()->FindObject("stats"); statsghenecdsubstringcutrelTHF->SetTextColor(kBlue); statsghenecdsubstringcutrelTHF->SetX1NDC(0.80); statsghenecdsubstringcutrelTHF->SetX2NDC(0.98); statsghenecdsubstringcutrelTHF->SetY1NDC(0.77); statsghenecdsubstringcutrelTHF->SetY2NDC(0.92); gPad->Update(); c95->Print(myplothenecdsubstringcutrelTHF); delete c95; TCanvas *c96 = new TCanvas("c32",canvtitle,1280,1024); // TCut cutene0 = TString::Format("Calo_EnDep[%d] < %d", b, enecut2).Data(); TCut cuteneHORSA= TString::Format("(Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d]) < %d", d,e,f,g, enecutHORSA).Data(); t->SetLineColor(kBlue); TString heneossstringcut = TString::Format("Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] >> htemp(2500., 0., 2500.)", b,d,e,f,g); t->Draw(heneossstringcut, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub && cuteneHORSA); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn t->GetHistogram()->SetTitle(cdenenameoss); TH1F *heneosscut = (TH1F*)gPad->GetPrimitive("htemp"); /* TF1 *gosssub = new TF1 ("mosssub", "gaus", 1000, 3000); gosssub->SetLineColor(kYellow); TF1 *gosssub = new TF1 ("mosssub", "gaus", 2000, 16000); gosssub->SetLineColor(kGreen); TF1 *fosssub = new TF1("gaussexpo", "gaus(0) + gaus(3)", 0, 4000); fosssub->SetParNames("Constant 1", "Mean 1", "Sigma 1", "Constant 2", "Mean 2", "Sigma 2"); fosssub->SetLineColor(kRed); heneoss->Fit(gosssub, "R"); heneoss->Fit(gosssub, "R"); Double_t parosssub[6]; gosssub->GetParameters(&parosssub[0]); gosssub->GetParameters(&parosssub[3]); fosssub->SetParameters(parosssub); heneoss->Fit(fosssub, "R"); heneoss->Draw("e1"); gosssub->Draw("SAME"); gosssub->Draw("SAME"); fosssub->Draw("SAME"); posssub=fosssub->GetParameter(1); posssub=fosssub->GetParameter(2); */ heneosscut->GetXaxis()->SetTitle(cdeneXnameab); heneosscut->GetYaxis()->SetTitle(cdeneYnameab); heneosscut->GetYaxis()->SetTitleSize(c2_YTitleSize); heneosscut->GetYaxis()->SetTitleFont(c2_YTitleFont); heneosscut->GetYaxis()->SetTitleOffset(c2_YTitleOffset); heneosscut->GetYaxis()->SetLabelFont(c2_YLabelFont); heneosscut->GetYaxis()->SetLabelSize(c2_YLabelSize); heneosscut->GetXaxis()->SetTitleSize(c2_XTitleSize); heneosscut->GetXaxis()->SetTitleFont(c2_XTitleFont); heneosscut->GetXaxis()->SetTitleOffset(c2_XTitleOffset); heneosscut->GetXaxis()->SetLabelFont(c2_XLabelFont); heneosscut->GetXaxis()->SetLabelSize(c2_XLabelSize); heneosscut->SetFillColorAlpha(kBlue, heneabfillcolor); heneosscut->Draw(); heneosscut->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TLegend* legeneosscut = new TLegend(0.65, 0.7, .75, .75); legeneosscut->SetHeader("Legend"); legeneosscut->SetNColumns(1); legeneosscut->AddEntry(heneosscut, "Data", "l"); //legeneoss->AddEntry(fosssub, "Fit", "l"); //TO USE FOR 2 GAUSSIAN FIT legeneoss->Draw(); gPad->Update(); TPaveStats *statsgeneosscut = (TPaveStats*)heneosscut->GetListOfFunctions()->FindObject("stats"); statsgeneosscut->SetTextColor(kBlue); statsgeneosscut->SetX1NDC(0.80); statsgeneosscut->SetX2NDC(0.98); statsgeneosscut->SetY1NDC(0.77); statsgeneosscut->SetY2NDC(0.92); //statsgeneosscut->AddText(TString::Format("Mean = %g", posssub)); //statsgeneosscut->AddText(TString::Format("Sigma = %g", posssub)); //statsgeneosscut->DrawClone(); gPad->Update(); c96->Print(myploteneoutosscut); delete c96; TCanvas *c97 = new TCanvas("c97",canvtitle,1280,1024); TH2F *henecdsubstringcutrelTHFcut = new TH2F("henecdsubstringcutrelTHFcut", "", 500, 0., 0.,500., 0.,0.); TString what2 = TString::Format("(Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d] + Calo_EnDep[%d]) : Calo_EnDep[%d]>> henecdsubstringcutrelTHFcut", d, e, f, g, b); t->Draw(what2, cut && !cut3sub && !cut3sub2 && cuteneb && cut4sub && cut5sub && cut6sub && cut7sub && cut8sub && cuteneHORSA); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn henecdsubstringcutrelTHFcut->SetTitle(cdhenecdsubstringcutrelTHFname); henecdsubstringcutrelTHFcut->GetXaxis()->SetTitle(cdeneXnameabenecvsd); henecdsubstringcutrelTHFcut->GetYaxis()->SetTitle(cdeneYnameabenecvsd); henecdsubstringcutrelTHFcut->GetYaxis()->SetTitleSize(c2_YTitleSize); henecdsubstringcutrelTHFcut->GetYaxis()->SetTitleFont(c2_YTitleFont); henecdsubstringcutrelTHFcut->GetYaxis()->SetTitleOffset(c2_YTitleOffset); henecdsubstringcutrelTHFcut->GetYaxis()->SetLabelFont(c2_YLabelFont); henecdsubstringcutrelTHFcut->GetYaxis()->SetLabelSize(c2_YLabelSize); henecdsubstringcutrelTHFcut->GetXaxis()->SetTitleSize(c2_XTitleSize); henecdsubstringcutrelTHFcut->GetXaxis()->SetTitleFont(c2_XTitleFont); henecdsubstringcutrelTHFcut->GetXaxis()->SetTitleOffset(c2_XTitleOffset); henecdsubstringcutrelTHFcut->GetXaxis()->SetLabelFont(c2_XLabelFont); henecdsubstringcutrelTHFcut->GetXaxis()->SetLabelSize(c2_XLabelSize); henecdsubstringcutrelTHFcut->SetMarkerSize(50); henecdsubstringcutrelTHFcut->Draw("COLZ"); henecdsubstringcutrelTHFcut->SetName(heneabname); gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TH1 *hhb = henecdsubstringcutrelTHFcut->DrawCopy("colz"); // creates all axes gPad->Modified(); gPad->Update(); // make sure it's really (re)drawn TPaletteAxis * palette2 = (TPaletteAxis *) hhb->GetListOfFunctions()->FindObject("palette"); palette2->SetX1NDC(0.86); palette2->SetX2NDC(0.90); palette2->SetY1NDC(0.2); palette2->SetY2NDC(0.8); c97->Modified(); c97->Update(); TLegend* leghenecdsubstringcutrelTHFcut = new TLegend(0.65, 0.7, .75, .75); leghenecdsubstringcutrelTHFcut->SetHeader("Legend"); leghenecdsubstringcutrelTHFcut->SetNColumns(1); leghenecdsubstringcutrelTHFcut->AddEntry(leghenecdsubstringcutrelTHFcut, "Data", "l"); leghenecdsubstringcutrelTHFcut->Draw(); gPad->Update(); TPaveStats *statsghenecdsubstringcutrelTHFcut = (TPaveStats*)henecdsubstringcutrelTHFcut->GetListOfFunctions()->FindObject("stats"); statsghenecdsubstringcutrelTHFcut->SetTextColor(kBlue); statsghenecdsubstringcutrelTHFcut->SetX1NDC(0.80); statsghenecdsubstringcutrelTHFcut->SetX2NDC(0.98); statsghenecdsubstringcutrelTHFcut->SetY1NDC(0.77); statsghenecdsubstringcutrelTHFcut->SetY2NDC(0.92); gPad->Update(); c97->Print(myplothenecdsubstringcutrelTHFcut); delete c97; } }