//#include "TCanvas.h" void histCorr(const char *filename = "analysis_08_2_CFD07_3.root", const char *foldername = "8_2", const char *ext = ".gif", const Bool_t can1 = 0, const Bool_t can2 = 0, const Bool_t can3 = 0, const Bool_t can4 = 0, const Bool_t can5 = 1) { gSystem->Load("../libData.so"); TFile *f = new TFile(Form("../data/dataDSR4/%s", filename)); // TFile *f = new TFile("../data/dataDSR4/analysis_08_2.root"); TTree *t = (TTree*)f->Get("atree"); if (can1) { TCanvas *c1 = new TCanvas("c1", "Correlation pictures: delta t from CFD vs something"); c1->Divide(2,2); TH2F *h1 = new TH2F("h1", "Time difference between two channels vs an integral of the first channel",125, -50., 50., 125, 0., 5e-9); TH2F *h2 = new TH2F("h2", "Time difference between two channels vs an integral of the second channel",125, -50., 50.,125, 0e-9, 5e-9); TH2F *h3 = new TH2F("h3", "Time difference between two channels vs amplitude of the first channel",125, -100., 100., 125, 0., 0.5); TH2F *h4 = new TH2F("h4", "Time difference between two channels vs amplitude of the second channel",125, -100., 100., 125, 0., 0.5); c1->cd(1); t->Draw("Ach0.fChargeCFD : ( Ach0.fTimeCFD - Ach2.fTimeCFD ) >> h1","","col"); //x h1->GetXaxis()->SetTitle("\\Delta \\tau_{0-2} [ns]"); h1->GetXaxis()->CenterTitle(); //y h1->GetYaxis()->SetTitle("Q_{0} [C]"); h1->GetYaxis()->CenterTitle(); c1->Update(); c1->cd(2); t->Draw("Ach2.fChargeCFD : ( Ach0.fTimeCFD - Ach2.fTimeCFD ) >> h2","","col"); h2->GetXaxis()->SetTitle("\\Delta \\tau_{0-2} [ns]"); h2->GetXaxis()->CenterTitle(); //y h2->GetYaxis()->SetTitle("Q_{2} [C]"); h2->GetYaxis()->CenterTitle(); c1->Update(); c1->cd(3); t->Draw("Ach0.fAmpMax: ( Ach0.fTimeCFD - Ach2.fTimeCFD ) >> h3","","col"); //x h3->GetXaxis()->SetTitle("\\Delta \\tau_{0-2} [ns]"); h3->GetXaxis()->CenterTitle(); //y h3->GetYaxis()->SetTitle("Max_ampl_{0} [V]"); h3->GetYaxis()->CenterTitle(); c1->Update(); c1->cd(4); t->Draw("Ach2.fAmpMax: ( Ach0.fTimeCFD - Ach2.fTimeCFD ) >> h4","","col"); //x h4->GetXaxis()->SetTitle("\\Delta \\tau_{0-2} [ns]"); h4->GetXaxis()->CenterTitle(); //y h4->GetYaxis()->SetTitle("Max_ampl_{2} [V]"); h4->GetYaxis()->CenterTitle(); c1->Show(); c1->Update(); //c1->Print(Form("../macros/picsDRS4/file%s/TimeDiffCFD%s", foldername, ext)); } if (can2) { TCanvas *c2 = new TCanvas("c2", "Correlation pictures: Integrals and amplitudes"); c2->Divide(1,2); TH2F *h5 = new TH2F("h5", "Integral of the first channel vs integral of the second channel", 300, 0., 2e-9, 300, 0., 2e-9); TH2F *h6 = new TH2F("h6", "Amplitude of the first channel vs amplitude of the second channel", 300, 10, 1e-10, 300, 10, 1e-10); c2->cd(1); t->Draw("Ach0.fChargeCFD : Ach2.fChargeCFD >> h5","","col"); //x h5->GetXaxis()->SetTitle("Q_{2} [C]"); h5->GetXaxis()->CenterTitle(); //y h5->GetYaxis()->SetTitle("Q_{0} [C]"); h5->GetYaxis()->CenterTitle(); c2->Update(); c2->cd(2); t->Draw("Ach0.fAmpMax : Ach2.fAmpMax >> h6","","col"); //x h6->GetXaxis()->SetTitle("Max_ampl_{2} [V]"); h6->GetXaxis()->CenterTitle(); //y h6->GetYaxis()->SetTitle("Max_ampl_{0} [V]"); h6->GetYaxis()->CenterTitle(); c2->Update(); c2->Print(Form("../macros/picsDRS4/file%s/IntergAmpl%s", foldername, ext)); // c2->Print("../macros/picsDRS4/file7_8/IntergAmpl.eps"); } if (can3) { TCanvas *c3 = new TCanvas("c3", "Correlation pictures: rising edge times"); c3->Divide(2,2); TH1F *h7 = new TH1F("h7", "Time difference between 90 and 10 percent of the rising edge ampl", 100, 0, 5); TH2F *h8 = new TH2F("h8", "Time difference between 90 and 10 percent vs integral", 100, 0., 5., 100, 0., 3e-9); TH2F *h9 = new TH2F("h9", "Time difference between 90 and 10: ch0 vs ch1", 100, 0., 5., 100, 0., 5.); TH1F *h10 = new TH1F("h10", "Time difference between 90 and 10 > 0 and chi square < 0.0005", 100, 0., 5.); c3->cd(1); t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h7","((Ach1.fTime90-Ach1.fTime10)>=0)","col"); t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h7","((Ach1.fTime90-Ach1.fTime10)>=0) && (Ach1.fEdgeXi < 0.0015)","col"); // t->Draw("Ach0.fTime90 - Ach0.fTime10 >> h7","","col"); //x h7->GetXaxis()->SetTitle("\\Delta \\tau_{0}^{(rise)} [ns]"); h7->GetXaxis()->CenterTitle(); c3->Update(); c3->cd(3); t->Draw(" Ach1.fChargeCFD : (Ach1.fTime90 - Ach1.fTime10) >> h8","(Ach1.fTime90 - Ach1.fTime10)>0","col"); //x h8->GetXaxis()->SetTitle("\\Delta \\tau_{0}^{(rise)} [ns]"); h8->GetXaxis()->CenterTitle(); //y h8->GetYaxis()->SetTitle("Q_{0} [C]"); h8->GetYaxis()->CenterTitle(); c3->Update(); c3->cd(2); t->Draw(" (Ach1.fTime90 - Ach1.fTime10) : (Ach0.fTime90 - Ach0.fTime10) >> h9","(Ach1.fTime90 - Ach1.fTime10)>0","col"); //x h9->GetXaxis()->SetTitle("\\Delta \\tau_{0}^{(rise)} [ns]"); h9->GetXaxis()->CenterTitle(); //y h9->GetYaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]"); h9->GetYaxis()->CenterTitle(); c3->Update(); c3->cd(4); t->Draw("Ach1.fTime90 - Ach1.fTime10 >> h10","((Ach1.fTime90-Ach1.fTime10)>=0)",""); t->SetLineColor(kRed); t->Draw("Ach1.fTime90 - Ach1.fTime10 ","((Ach1.fTime90-Ach1.fTime10)>=0) && (Ach1.fEdgeXi < 0.0005)","same"); //???????? h10->GetXaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]"); h10->GetXaxis()->CenterTitle(); c3->Update(); c3->Print(Form("../macros/picsDRS4/file%s/RisingEdge%s", foldername, ext)); // c3->Print("../macros/picsDRS4/file7_8/RisingEdge.eps"); } if (can4) { TCanvas *c4 = new TCanvas("c4", "Correlation pictures: XiSquares"); TH2F *h11 = new TH2F("h11", "Time difference between two channels vs XiSquare of edge",100, -0., 5., 100, 0., 0.005); t->Draw("Ach1.fEdgeXi : (Ach1.fTime90 - Ach1.fTime10) >> h11","","col"); //t->Draw("Ach1.fEdgeXi : (Ach1.fTime90 - Ach1.fTime10) >> h11","(Ach1.fTime90 - Ach1.fTime10)>0","col"); //x h11->GetXaxis()->SetTitle("\\Delta \\tau_{1}^{(rise)} [ns]"); h11->GetXaxis()->CenterTitle(); //y h11->GetYaxis()->SetTitle("fEdgeXi"); h11->GetYaxis()->CenterTitle(); c4->Update(); c4->Print(Form("../macros/picsDRS4/file%s/XiSquares%s", foldername, ext)); } if (can5) { TCanvas *c5 = new TCanvas("c5", "Changing CFD parameters"); TH1F *h12 = new TH1F("h12", "Delta tau CFD",100, -10., 30.); // c5->Divide(1,2); // c5->cd(1); t->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD >> h12","Ach1.fChargeCFD>0.05e-9 && Ach1.fChargeCFD<0.5e-9",""); h12->GetXaxis()->SetTitle("\\Delta \\tau_{0-1} [ns]"); h12->GetXaxis()->CenterTitle(); TF1 *fGaus = new TF1("f1", "gaus", 8.5, 13.); h12->Fit(fGaus, "R"); gStyle->SetOptFit(); c5->Update(); c5->Print(Form("../macros/picsDRS4/file%s/TimeDiffCFD_0.7_3%s", foldername, ext)); } }