#include "TH2F.h" #include "TH3F.h" #include "TStyle.h" #include "TMath.h" #include "TF1.h" void histCorr( // const char *filename = "Neurad_7_08_NEW.root", const char *filename1 = "analysis_08_2.root", const char *filename = "analysis_07_8.root", const char *foldername = "report", // const char *foldername = "8_2", // const char *ext = ".eps", const char *ext = ".gif", const Bool_t can1 = 1, const Bool_t can2 = 0, // delta tLed and delta tcfd // dvumerki const Bool_t can3 = 0, const Bool_t can4 = 0, const Bool_t can5 = 0, const Bool_t can6 = 0) // tLEd and CFD for colollinated and NONcollimated data { Double_t rMin[4]; Double_t rMax[4]; using std::cout; using std::endl; 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"); TFile *f1 = new TFile(Form("../data/dataDSR4/%s", filename1)); // TFile *f = new TFile("../data/dataDSR4/analysis_08_2.root"); TTree *t1 = (TTree*)f1->Get("atree"); gStyle->SetCanvasDefH(900); gStyle->SetCanvasDefW(1500); // gStyle->SetCanvas if (can1) { // t1 - коллимированные данные!!! TCanvas *c1 = new TCanvas("c5", "Changing CFD parameters"); c1->Divide(2,2); c1->cd(1); TF1 *g1 = new TF1("g1","gaus",0,20); g1->SetParLimits(0,1e+2,1e+4); g1->SetParLimits(1,-100,100); g1->SetParLimits(2,0.1,10); rMin[0]= -4.8; rMax[0] = 0.8; rMin[1]= -7.6; rMax[1] = -0.8; rMin[2]= 9.2; rMax[2] = 12.8; rMin[3]= 6.8; rMax[3] = 12.4; TH1F *h1 = new TH1F("h1", "delta tau_CFD for NONcollimated data",1000 , -200., 200); t->Draw("Ach0.fTimeCFD - Ach3.fTimeCFD >> h1","(Ach0.fTimeCFD - Ach3.fTimeCFD)>-20 && (Ach0.fTimeCFD - Ach3.fTimeCFD)<10",""); h1->GetXaxis()->SetRangeUser(-20, 10); h1->GetXaxis()->SetTitle("delta tauCFD [ns]"); h1->GetXaxis()->CenterTitle(); g1->SetRange(rMin[0],rMax[0]); h1->Fit("g1","R"); cout<<"sigma= "<GetParameter(2)<cd(2); TH1F *h2 = new TH1F("h2", "delta tau_LED for NONcollimated data",1000, -200., 200); t->Draw("Ach0.fTimeLED - Ach3.fTimeLED >> h2","(Ach0.fTimeLED - Ach3.fTimeLED)>-20 && (Ach0.fTimeLED - Ach3.fTimeLED)<10",""); //t->Draw("Ach0.fTimeLED - Ach3.fTimeLED >> h2","",""); h2->GetXaxis()->SetRangeUser(-20, 10); h2->GetXaxis()->SetTitle("delta tauLED [ns]"); h2->GetXaxis()->CenterTitle(); g1->SetRange(rMin[1],rMax[1]); h2->Fit("g1","R"); cout<<"sigma= "<GetParameter(2)<cd(3); TH1F *h3 = new TH1F("h3", "delta tau_CFD for collimated data",1000 , -200, 200); t1->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD >> h3","(Ach0.fTimeCFD - Ach1.fTimeCFD)>0 && (Ach0.fTimeCFD - Ach1.fTimeCFD)<20",""); //t1->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD >> h3","",""); h3->GetXaxis()->SetRangeUser(0, 20); h3->GetXaxis()->SetTitle("delta tauCFD [ns]"); h3->GetXaxis()->CenterTitle(); g1->SetRange(rMin[2],rMax[2]); h3->Fit("g1","R"); cout<<"sigma= "<GetParameter(2)<cd(4); TH1F *h4 = new TH1F("h4", "delta tau_LED for collimated data",1000 , -200., 200); t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED >> h4","(Ach0.fTimeLED - Ach1.fTimeLED)>0 && (Ach0.fTimeLED - Ach1.fTimeLED)<20",""); //t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED >> h4","",""); h4->GetXaxis()->SetRangeUser(0,20); h4->GetXaxis()->SetTitle("delta tauLED [ns]"); h4->GetXaxis()->CenterTitle(); g1->SetRange(rMin[3],rMax[3]); h4->Fit("g1","R"); cout<<"sigma= "<GetParameter(2)<Update(); c1->Print(Form("../macros/picsDRS4/%s/deltaT%s", foldername, ext)); } if (can2) { TCanvas *c2 = new TCanvas("c2", "Correlation pictures: Integrals and amplitudes"); c2->Divide(2,2); TH2F *h5 = new TH2F("h5", "maxapl of the first channel vs maxamp of the second channel", 300, 0 ,0.1, 300, 0, 0.2); c2->cd(1); t1->Draw("Ach0.fAmpMax : Ach1.fAmpMax >> h5","","col"); //x h5->GetXaxis()->SetTitle("Max_ampl_{1} [V]"); h5->GetXaxis()->CenterTitle(); //y h5->GetYaxis()->SetTitle("Max_ampl_{0} [V]"); h5->GetYaxis()->CenterTitle(); c2->Update(); TH2F *h6 = new TH2F("h6", "tau(fTimeLed0-fTimeLed1) vs amplitude of the trigered channel", 200, 0 ,0.5, 200, 5, 15); c2->cd(2); t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED : Ach0.fAmpMax >> h6","","col"); //x h6->GetXaxis()->SetTitle("Max_ampl_{0} [V]"); h6->GetXaxis()->CenterTitle(); //y h6->GetYaxis()->SetTitle("tau_LED [V]"); h6->GetYaxis()->CenterTitle(); c2->Update(); TH2F *h7 = new TH2F("h7", "tau(fTimeLed0-fTimeLed1) vs summ of amplitudes", 200, 0 ,0.5, 200, 5, 15); c2->cd(3); t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED : Ach0.fAmpMax + Ach1.fAmpMax >> h7","","col"); //x h7->GetXaxis()->SetTitle("summ_Amps [V]"); h7->GetXaxis()->CenterTitle(); //y h7->GetYaxis()->SetTitle("tau_LED [V]"); h7->GetYaxis()->CenterTitle(); c2->Update(); TH2F *h8 = new TH2F("h8", "tau(fTimeCFD0-fTimeCFD1) vs summ of amplitudes", 200, 0 ,0.5, 200, -150, 150); c2->cd(4); t1->Draw("Ach0.fTimeCFD - Ach1.fTimeCFD : Ach0.fAmpMax + Ach1.fAmpMax >> h8","","col"); //x h8->GetXaxis()->SetTitle("summ_Amps [V]"); h8->GetXaxis()->CenterTitle(); //y h8->GetYaxis()->SetTitle("tau_CFD [V]"); h8->GetYaxis()->CenterTitle(); c2->Update(); //c2->Print(Form("../macros/picsDRS4/%s/tauVSAmpl%s", foldername, ext)); } if (can3) { TCanvas *c3 = new TCanvas("c3", "Correlation pictures: Integrals and amplitudes"); c3->Divide(2,2); TH2F *h9 = new TH2F("h9", "tau_led vs chargeLed KOLLIMATED", 200, 0 ,5e-10, 200, 5, 15); c3->cd(1); t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED : Ach0.fChargeLED >> h9","","col"); //x h9->GetXaxis()->SetTitle("Charge [kl]"); h9->GetXaxis()->CenterTitle(); //y h9->GetYaxis()->SetTitle("tauLED [ns]"); h9->GetYaxis()->CenterTitle(); TH2F *h10 = new TH2F("h10", "tau_led vs chargeLed NONKOLLIMATED", 200, 0 ,8e-10, 200, -10, 5); c3->cd(3); t->Draw("Ach0.fTimeLED - Ach3.fTimeLED : Ach0.fChargeLED >> h10","","col"); //x h10->GetXaxis()->SetTitle("Charge [kl]"); h10->GetXaxis()->CenterTitle(); //y h10->GetYaxis()->SetTitle("tauLED [ns]"); h10->GetYaxis()->CenterTitle(); c3->Update(); TH2F *h11 = new TH2F("h11", "tauLED vs summCharge COLLIMATED", 200, 0 ,1e-9, 200, 5, 15); c3->cd(2); t1->Draw("Ach0.fTimeLED - Ach1.fTimeLED : Ach0.fChargeLED + Ach1.fChargeLED >> h11","","col"); //x h11->GetXaxis()->SetTitle("Summ_Charge [kl]"); h11->GetXaxis()->CenterTitle(); //y h11->GetYaxis()->SetTitle("tau_LED [V]"); h11->GetYaxis()->CenterTitle(); c3->Update(); TH2F *h12 = new TH2F("h12", "tau_led vs summCharge NONKOLLIMATED", 200, 0 ,8e-10, 200, -10, 5); c3->cd(4); t->Draw("Ach0.fTimeLED - Ach3.fTimeLED : Ach0.fChargeLED + Ach3.fChargeLED >> h12","","col"); //x h12->GetXaxis()->SetTitle("Summ_Charge [kl]"); h12->GetXaxis()->CenterTitle(); //y h12->GetYaxis()->SetTitle("tauLED [ns]"); h12->GetYaxis()->CenterTitle(); c3->Update(); c3->Print(Form("../macros/picsDRS4/%s/tauVSCHARGE%s", foldername, ext)); } 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("Ach0.fEdgeXi : (Ach0.fTime90 - Ach0.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"); c5->Divide(2,2); c5->cd(1); rMin[0]= 138.4; rMax[0] = 140.4; rMin[1]= 137; rMax[1] = 138.4; rMin[2]= 136.4; rMax[2] = 142.4; rMin[3]= 135.2; rMax[3] = 141.4; // TF1 *gaus5 = new TF1("gaus5","TMath:gaus(0)"); TF1 *g5 = new TF1("g5","gaus",135,140); g5->SetParLimits(0,1e+2,1e+4); g5->SetParLimits(1,10,1000); g5->SetParLimits(2,0.1,10); TH1F *h12 = new TH1F("h12", "tau_CFD triggered channel for NONcollimated data",1000, 0., 200); t->Draw("Ach0.fTimeCFD >> h12","Ach0.fTimeCFD>132 && Ach0.fTimeCFD<150",""); h12->GetXaxis()->SetRangeUser(132, 150); h12->GetXaxis()->SetTitle("tauCFD_{0} [ns]"); h12->GetXaxis()->CenterTitle(); g5->SetRange(rMin[0],rMax[0]); h12->Fit("g5","R"); cout<<"sigma= "<GetParameter(2)<cd(2); TH1F *h13 = new TH1F("h13", "tau LED triggered channel for NONcollimated data",1000, 0., 200); t->Draw("Ach0.fTimeLED >> h13","Ach0.fTimeLED>132 && Ach0.fTimeLED<150",""); h13->GetXaxis()->SetRangeUser(132, 150); h13->GetXaxis()->SetTitle("tauLED_{0} [ns]"); h13->GetXaxis()->CenterTitle(); g5->SetRange(rMin[1],rMax[1]); h13->Fit("g5","R"); cout<<"sigma= "<GetParameter(2)<cd(3); TH1F *h14 = new TH1F("h14", "tau_CFD nontriggered channel for NONcollimated data",1000 , 0., 200); t->Draw("Ach1.fTimeCFD >> h14","Ach1.fTimeCFD > 132 && Ach1.fTimeCFD<150",""); h14->GetXaxis()->SetRangeUser(132, 150); h14->GetXaxis()->SetTitle("tauCFD_{0} [ns]"); h14->GetXaxis()->CenterTitle(); g5->SetRange(rMin[2],rMax[2]); h14->Fit("g5","R"); cout<<"sigma= "<GetParameter(2)<cd(4); TH1F *h15 = new TH1F("h15", "tau LED nontriggered channel for NONcollimated data",1000 , 0., 200); t->Draw("Ach1.fTimeLED >> h15","Ach1.fTimeLED>132 && Ach1.fTimeLED<150",""); h15->GetXaxis()->SetRangeUser(132, 150); h15->GetXaxis()->SetTitle("tauLED_{0} [ns]"); h15->GetXaxis()->CenterTitle(); g5->SetRange(rMin[3],rMax[3]); h15->Fit("g5","R"); cout<<"sigma= "<GetParameter(2)<Update(); c5->Print(Form("../macros/picsDRS4/%s/NONcollimatedT%s", foldername, ext)); } if (can6) { TCanvas *c6 = new TCanvas("c6", "Changing CFD parameters"); c6->Divide(2,2); TF1 *g6 = new TF1("g6","gaus",135,140); //g6->SetParLimits(0,1e+2,1e+4); //g6->SetParLimits(1,10,1000); //g6->SetParLimits(2,0.1,10); rMin[0]= 138.8; rMax[0] = 140.2; rMin[1]= 137.4; rMax[1] = 138.4; rMin[2]= 125.6; rMax[2] = 131.6; rMin[3]= 125.8; rMax[3] = 131.4; c6->cd(1); TH1F *h16 = new TH1F("h16", "tau_CFD triggered channel for collimated data",1000, 0., 200); t1->Draw("Ach0.fTimeCFD >> h16","Ach0.fTimeCFD>132 && Ach0.fTimeCFD<142",""); h16->GetXaxis()->SetRangeUser(120, 150); h16->GetXaxis()->SetTitle("tauCFD_{0} [ns]"); h16->GetXaxis()->CenterTitle(); g6->SetRange(rMin[0],rMax[0]); h16->Fit("g6","R"); cout<<"sigma= "<GetParameter(2)<cd(2); TH1F *h17 = new TH1F("h17", "tau LED triggered channel for collimated data",1000, 0., 200); t1->Draw("Ach0.fTimeLED >> h17","Ach0.fTimeLED>132 && Ach0.fTimeLED<142",""); h17->GetXaxis()->SetRangeUser(120, 150); h17->GetXaxis()->SetTitle("tauLED_{0} [ns]"); h17->GetXaxis()->CenterTitle(); g6->SetRange(rMin[1],rMax[1]); h17->Fit("g6","R"); cout<<"sigma= "<GetParameter(2)<cd(3); TH1F *h18 = new TH1F("h18", "tau_CFD nontriggered channel for collimated data",1000 , 0., 200); t1->Draw("Ach1.fTimeCFD >> h18","Ach1.fTimeCFD > 120 && Ach1.fTimeCFD<180",""); h18->GetXaxis()->SetRangeUser(120, 150); h18->GetXaxis()->SetTitle("tauCFD_{0} [ns]"); h18->GetXaxis()->CenterTitle(); g6->SetRange(rMin[2],rMax[2]); h18->Fit("g6","R"); cout<<"sigma= "<GetParameter(2)<cd(4); TH1F *h19 = new TH1F("h19", "tau LED nontriggered channel for collimated data",1000 , 0., 200); t1->Draw("Ach1.fTimeLED >> h19","Ach1.fTimeLED>120 && Ach1.fTimeLED<180",""); h19->GetXaxis()->SetRangeUser(120, 150); h19->GetXaxis()->SetTitle("tauLED_{0} [ns]"); h19->GetXaxis()->CenterTitle(); g6->SetRange(rMin[3],rMax[3]); h19->Fit("g6","R"); cout<<"sigma= "<GetParameter(2)<Update(); c6->Print(Form("../macros/picsDRS4/%s/collimatedT%s", foldername, ext)); } }