#include "TH2F.h" #include "TH3F.h" #include "TStyle.h" void histCorrNew01 ( //01 means it is used for channels 0 and 1 // const char *filename = "analysis_07_8.root", //considered non-collimated // const char *filename = "analysis_07_2.root", //collimated? // const char *filename = "analysis_07_4.root", const char *filename = "analysis_08_2.root", const char *foldername = "7_8/chpair01", // const char *ext = ".eps", const char *ext = ".gif", const Bool_t can1 = 0, const Bool_t can2 = 0, const Bool_t can3 = 0, const Bool_t can4 = 1) //const Bool_t can5 = 0, const Bool_t can6 = 0) { using std::cout; using std::endl; gSystem->Load("../libData.so"); TFile *f = new TFile(Form("../data/dataDSR4/%s", filename)); TTree *t = (TTree*)f->Get("atree"); //gStyle->SetCanvasDefH(900); //gStyle->SetCanvasDefW(1500); if(can1){ TCanvas *c1 = new TCanvas("c1", "Correlation pictures for non-collimated data: delta t and integrals"); c1->Divide(2,2); c1->cd(1); TH2F *h1 = new TH2F("h1", "front time tau vs charge TF 0 ", 200, 0 ,0.5e-9, 100, 5, 15 ); t->Draw(" Ach0.fTimeFront - Ach1.fTimeFront : Ach0.fChargeTF >> h1","","col"); //x h1->GetXaxis()->SetTitle("Charge [C]"); h1->GetXaxis()->CenterTitle(); //y h1->GetYaxis()->SetTitle("tau_TF [ns]"); h1->GetYaxis()->CenterTitle(); c1->Update(); c1->cd(2); TH2F *h2 = new TH2F("h2", "front time tau vs charge TF 1 ", 200, 0, 0.5e-9, 200, 5 ,15); t->Draw(" Ach0.fTimeFront - Ach1.fTimeFront : Ach1.fChargeTF >> h2","","col"); //x h2->GetXaxis()->SetTitle("Charge [C]"); h2->GetXaxis()->CenterTitle(); //y h2->GetYaxis()->SetTitle("tau_TF [V]"); h2->GetYaxis()->CenterTitle(); c1->Update(); c1->cd(3); TH2F *h3 = new TH2F("h3", "charge TF 1 vs charge TF 0", 200, 0 ,0.5e-9, 200, 0, 0.5e-9); t->Draw(" Ach0.fChargeTF : Ach1.fChargeTF >> h3","","col"); //x h3->GetXaxis()->SetTitle("Charge_0 [C]"); h3->GetXaxis()->CenterTitle(); //y h3->GetYaxis()->SetTitle("Charge_1 [C]"); h3->GetYaxis()->CenterTitle(); c1->Update(); // c1->Print(Form("../macros/picsDRS4/file%s/time_front_corr1%s", foldername, ext)); } if(can2) { TCanvas *c2 = new TCanvas("c2", "Correlation pictures for non-collimated data: delta t and amplitudes"); c2->Divide(2,2); c2->cd(1); TH2F *h4 = new TH2F("h4", "front time tau vs amplitude 0", 200, 0, 0.5, 200, 5 ,15); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront : Ach0.fAmpMax >> h4","","col"); //x h4->GetXaxis()->SetTitle("Max_ampl_{0} [V]"); h4->GetXaxis()->CenterTitle(); //y h4->GetYaxis()->SetTitle("tau_TF"); h4->GetYaxis()->CenterTitle(); c2->cd(2); TH2F *h5 = new TH2F("h5", "front time tau vs amplitude 1", 200, 0, 0.5, 200, 5 ,15); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront : Ach1.fAmpMax >> h5","","col"); //x h5->GetXaxis()->SetTitle("Max_ampl_{1} [V]"); h5->GetXaxis()->CenterTitle(); //y h5->GetYaxis()->SetTitle("tau_TF"); h5->GetYaxis()->CenterTitle(); c2->Update(); c2->cd(3); TH2F *h6 = new TH2F("h6", "amplitude 0 vs amplitude 1", 200, 0 ,0.1, 200, 0, 0.2); t->Draw("Ach0.fAmpMax : Ach1.fAmpMax >> h6","","col"); //x h6->GetXaxis()->SetTitle("Max_ampl_{1} [V]"); h6->GetXaxis()->CenterTitle(); //y h6->GetYaxis()->SetTitle("Max_ampl_{0} [V]"); h6->GetYaxis()->CenterTitle(); // c2->Print(Form("../macros/picsDRS4/file%s/time_front_corr2%s", foldername, ext)); } if(can3) { TCanvas *c3 = new TCanvas ("c3", "Correlation pictures for non-collimated data: time difference"); c3->Divide(2,2); c3->cd(1); TH1F *h10 = new TH1F("h10", "delta t (front edge fit)", 100, -5 , 25); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront >> h10","Ach0.fTimeFront>100. && Ach0.fTimeFront < 150 && Ach1.fTimeFront>100 && Ach1.fTimeFront < 150",""); h10->Fit("gaus", "","",-5,5); gStyle->SetOptFit(); h10->GetXaxis()->SetTitle("delta t [ns]"); h10->GetXaxis()->CenterTitle(); c3->cd(2); TH1F *h7 = new TH1F("h7", "delta t (front edge fit) with edge slope correction", 100, -5 , 25); // t->Draw("Ach0.fTimeFront - Ach1.fTimeFront >> h7", // "Ach0.fTimeFront>100. && Ach0.fTimeFront < 150 && Ach1.fTimeFront>100 && Ach1.fTimeFront < 150 && Ach0.fEdgeSlope > 0.01 && Ach1.fEdgeSlope > 0.01",""); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront >> h7","Ach0.fTimeFront>100. && Ach0.fTimeFront < 150 && Ach1.fTimeFront>100 && Ach1.fTimeFront < 150 && Ach0.fEdgeSlope > 0.005 && Ach1.fEdgeSlope > 0.001",""); h7->Fit("gaus", "","",-5,5); gStyle->SetOptFit(); h7->GetXaxis()->SetTitle("delta t [ns]"); h7->GetXaxis()->CenterTitle(); c3->cd(3); TH1F *h8 = new TH1F("h8", "delta t (front edge fit) with charge correction", 100, -5 , 25); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront >> h8", "Ach0.fTimeFront>100. && Ach0.fTimeFront < 150 && Ach1.fTimeFront>100 && Ach1.fTimeFront < 150 && Ach0.fChargeTF > 0.05e-9 && Ach1.fChargeTF > 0.025e-9",""); h8->Fit("gaus","","",-5,5); gStyle->SetOptFit(); h8->GetXaxis()->SetTitle("delta t [ns]"); h8->GetXaxis()->CenterTitle(); c3->cd(4); TH1F *h9 = new TH1F("h9", "delta t (front edge fit) with rise time correction", 100, -5 , 25); t->Draw("Ach0.fTimeFront - Ach1.fTimeFront >> h9", "Ach0.fTimeFront> 100 && Ach0.fTimeFront<150 && Ach1.fTimeFront> 100 && Ach1.fTimeFront<150 && (Ach0.fTime90 - Ach0.fTime10) > 1.5 && (Ach0.fTime90 - Ach0.fTime10)<3 && (Ach1.fTime90 - Ach1.fTime10) > 1.5 && (Ach1.fTime90 - Ach1.fTime10)<3",""); h9->Fit("gaus","","",-5,5); gStyle->SetOptFit(); h9->GetXaxis()->SetTitle("delta t [ns]"); h9->GetXaxis()->CenterTitle(); // c3->Print(Form("../macros/picsDRS4/file%s/time_front_corr3%s", foldername, ext)); } if(can4) { TCanvas *c4 = new TCanvas ("c4", "Correlation pictures for non-collimated data: time difference"); c4->Divide(2,2); /* c4->cd(1); TH1F *h11 = new TH1F("h11", "rise time for ch0", 100, 0 , 5); t->Draw("Ach0.fTime90 - Ach0.fTime10 >> h11","",""); //gStyle->SetLineColor(kRed); c4->cd(2); TH1F *h12 = new TH1F("h12", "rise time for ch1", 100, 0 , 5); t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h12","",""); */ c4->cd(1); TH1F *h11 = new TH1F("h11", "ToT for ch0", 100, 0 , 10); t->Draw("Ach0.fToT >> h11","Ach0.fToT > 0",""); //gStyle->SetLineColor(kRed); c4->cd(2); TH1F *h12 = new TH1F("h12", "ToT for ch1", 100, 0 , 10); t->Draw("Ach1.fToT >> h12","Ach1.fToT > 0",""); //other files /* c4->cd(3); TH1F *h13 = new TH1F("h13", "time difference at the middle point of front edge", 100, -10, 10); //t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","Ach0.fEdgeSlope > 0.03 && Ach1.fEdgeSlope > 0.006",""); t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","",""); h13->Fit("gaus","","",-3,2); gStyle->SetOptFit(); c4->cd(4); TH1F *h13 = new TH1F("h14", "time difference at the middle point of front edge with the correction on the ToT", 100, -10, 10); t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h14","Ach0.fToT > 2. && Ach0.fToT < 5. && Ach1.fToT > 1. && Ach1.fToT < 5.",""); h14->Fit("gaus","","",-3,2); gStyle->SetOptFit(); */ //file 7_8 /* c4->cd(3); TH1F *h13 = new TH1F("h13", "time difference at the 10 percent of front edge", 100, -10, 10); //t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","Ach0.fEdgeSlope > 0.03 && Ach1.fEdgeSlope > 0.006",""); t->Draw("Ach0.fTime10 - Ach1.fTime10 >> h13","",""); h13->Fit("gaus","","",-3,2); gStyle->SetOptFit(); c4->cd(4); TH1F *h13 = new TH1F("h14", "time difference at the middle point of front edge with the correction on the ToT", 100, -10, 10); t->Draw("Ach0.fTime10 - Ach1.fTime10 >> h14","Ach0.fToT > 3. && Ach0.fToT < 6. && Ach1.fToT > 3. && Ach1.fToT < 6.",""); h14->Fit("gaus","","",-2,1); gStyle->SetOptFit(); */ //file 8_2 c4->cd(3); TH1F *h13 = new TH1F("h13", "time difference at the middle point of front edge", 100, 0, 20); //t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","Ach0.fEdgeSlope > 0.03 && Ach1.fEdgeSlope > 0.006",""); t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","",""); h13->Fit("gaus","","",8,13); gStyle->SetOptFit(); c4->cd(4); TH1F *h13 = new TH1F("h14", "time difference at the middle point of front edge with the correction on the ToT", 100, 0, 20); t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h14","Ach0.fToT > 4. && Ach0.fToT < 6. && Ach1.fToT > 4 && Ach1.fToT < 6.",""); h14->Fit("gaus","","",9,13); gStyle->SetOptFit(); /* c4->cd(3); TH1F *h13 = new TH1F("h13", "time difference at the 10 percent of front edge", 100, 0, 20); //t->Draw("Ach0.fTimeMid - Ach1.fTimeMid >> h13","Ach0.fEdgeSlope > 0.03 && Ach1.fEdgeSlope > 0.006",""); t->Draw("Ach0.fTime10 - Ach1.fTime10 >> h13","",""); h13->Fit("gaus","","",9,13); gStyle->SetOptFit(); c4->cd(4); TH1F *h13 = new TH1F("h14", "time difference at the middle point of front edge with the correction on the ToT", 100, 0, 20); t->Draw("Ach0.fTime10 - Ach1.fTime10 >> h14","Ach0.fToT > 1. && Ach0.fToT < 6. && Ach1.fToT > 1. && Ach1.fToT < 6.",""); h14->Fit("gaus","","",9,13); gStyle->SetOptFit(); */ // c4->Print(Form("../macros/picsDRS4/file%s/time_front_corr4%s", foldername, ext)); } }