,fDCAzOff(0)
,fNclusterOff(0)
,fNITSclusterOff(0)
- ,fNclusterOffwCut(0)
,fPhiOff(0)
+ ,fEtaOff(0)
,fMultOff(0)
- ,fXYvertexOff(0)
,fXvertexOff(0)
,fYvertexOff(0)
,fZvertexOff(0)
,fSPDXvertexOff(0)
,fSPDYvertexOff(0)
,fSPDZvertexOff(0)
- ,fEtaOff(0)
- ,fEtaMomentumcutOff(0)
- ,fNclusVSphiOff(0)
- ,fNclusVSthetaOff(0)
,fEventSpecieOff(0)
,fV0cent(0)
,fDCAzHLT(0)
,fNclusterHLT(0)
,fNITSclusterHLT(0)
- ,fNclusterHLTwCut(0)
,fPhiHLT(0)
+ ,fEtaHLT(0)
+ ,fChargeHLTcut(0)
+ ,fMomentumHLTcut(0)
+ ,fDCArHLTcut(0)
+ ,fDCAzHLTcut(0)
+ ,fNclusterHLTcut(0)
+ ,fNITSclusterHLTcut(0)
+ ,fPhiHLTcut(0)
+ ,fEtaHLTcut(0)
,fMultHLT(0)
- ,fXYvertexHLT(0)
,fXvertexHLT(0)
,fYvertexHLT(0)
,fZvertexHLT(0)
,fSPDXvertexHLT(0)
,fSPDYvertexHLT(0)
,fSPDZvertexHLT(0)
- ,fEtaHLT(0)
- ,fEtaMomentumcutHLT(0)
- ,fNclusVSphiHLT(0)
- ,fNclusVSthetaHLT(0)
,fEventSpecieHLT(0)
,fBeamType()
,fDCAzOff(0)
,fNclusterOff(0)
,fNITSclusterOff(0)
- ,fNclusterOffwCut(0)
,fPhiOff(0)
+ ,fEtaOff(0)
,fMultOff(0)
- ,fXYvertexOff(0)
,fXvertexOff(0)
,fYvertexOff(0)
,fZvertexOff(0)
- ,fEtaOff(0)
- ,fEtaMomentumcutOff(0)
- ,fNclusVSphiOff(0)
- ,fNclusVSthetaOff(0)
,fEventSpecieOff(0)
,fV0cent(0)
,fNcontOff(0)
,fMomentumHLT(0)
,fNclusterHLT(0)
,fNITSclusterHLT(0)
- ,fNclusterHLTwCut(0)
,fPhiHLT(0)
+ ,fEtaHLT(0)
+ ,fChargeHLTcut(0)
+ ,fMomentumHLTcut(0)
+ ,fNclusterHLTcut(0)
+ ,fNITSclusterHLTcut(0)
+ ,fPhiHLTcut(0)
+ ,fEtaHLTcut(0)
,fMultHLT(0)
- ,fXYvertexHLT(0)
,fXvertexHLT(0)
,fYvertexHLT(0)
,fZvertexHLT(0)
- ,fEtaHLT(0)
- ,fEtaMomentumcutHLT(0)
- ,fNclusVSphiHLT(0)
- ,fNclusVSthetaHLT(0)
,fEventSpecieHLT(0)
,fNcontHLT(0)
//=========== event properties =================//
if(fBeamType.Contains("Pb")){
- fMultOff = new TH1F("fMult_off", "TPC track multiplicity (OFF)",200,0,2000);
- fMultHLT = new TH1F("fMult_hlt", "TPC track multiplicity (HLT)",200,0,2000);
- fNcontOff = new TH1F("fNcont_off","# of contributors (OFF)",200,0,2000);
- fNcontHLT = new TH1F("fNcont_hlt","# of contributors (HLT)",200,0,2000);
- fV0cent = new TH1F("fV0cent", "V0 centrality", 100,0, 100);
+ fMultOff = new TH1F("fMult_off", "",200,0,2000);
+ fMultHLT = new TH1F("fMult_hlt", "TPC track multiplicity",200,0,2000);
+ fNcontOff = new TH1F("fNcont_off","",200,0,2000);
+ fNcontHLT = new TH1F("fNcont_hlt","# of contributors",200,0,2000);
+ fV0cent = new TH1F("fV0cent", "V0 centrality", 100,0, 100);
}
else {
- fMultOff = new TH1F("fMult_off","TPC track multiplicity (OFF)",200,0,200);
- fMultHLT = new TH1F("fMult_hlt","TPC track multiplicity (HLT)",200,0,200);
- fNcontOff = new TH1F("fNcont_off","# of contributors (OFF)",200,0,200);
- fNcontHLT = new TH1F("fNcont_hlt","# of contributors (HLT)",200,0,200);
+ fMultOff = new TH1F("fMult_off","",200,0,200);
+ fMultHLT = new TH1F("fMult_hlt","TPC track multiplicity",200,0,200);
+ fNcontOff = new TH1F("fNcont_off","",200,0,200);
+ fNcontHLT = new TH1F("fNcont_hlt","# of contributors",200,0,200);
}
+
+ fXvertexOff = new TH1F("fXvertex_off","",200,-0.5,0.5);
+ fXvertexHLT = new TH1F("fXvertex_hlt","X primary vertex",200,-0.5,0.5);
- fXYvertexOff = new TH2F("fXYvertex_off","XY primary vertex (OFF)",100,-1,1,100,-1,1);
- fXYvertexHLT = new TH2F("fXYvertex_hlt","XY primary vertex (HLT)",100,-1,1,100,-1,1);
-
- fXvertexOff = new TH1F("fXvertex_off","X primary vertex (OFF)",200,-0.5,0.5);
- fXvertexHLT = new TH1F("fXvertex_hlt","X primary vertex (HLT)",200,-0.5,0.5);
-
- fYvertexOff = new TH1F("fYvertex_off","Y primary vertex (OFF)",200,-0.5,0.5);
- fYvertexHLT = new TH1F("fYvertex_hlt","Y primary vertex (HLT)",200,-0.5,0.5);
+ fYvertexOff = new TH1F("fYvertex_off","",200,-0.5,0.5);
+ fYvertexHLT = new TH1F("fYvertex_hlt","Y primary vertex",200,-0.5,0.5);
- fZvertexOff = new TH1F("fZvertex_off","Z primary vertex (OFF)",100,-20,20);
- fZvertexHLT = new TH1F("fZvertex_hlt","Z primary vertex (HLT)",100,-20,20);
+ fZvertexOff = new TH1F("fZvertex_off","",100,-20,20);
+ fZvertexHLT = new TH1F("fZvertex_hlt","Z primary vertex",100,-20,20);
- fSPDXvertexOff = new TH1F("fSPDXvertex_off","X SPD primary vertex (OFF)",200,-0.5,0.5);
- fSPDXvertexHLT = new TH1F("fSPDXvertex_hlt","X SPD primary vertex (HLT)",200,-0.5,0.5);
+ fSPDXvertexOff = new TH1F("fSPDXvertex_off","",200,-0.5,0.5);
+ fSPDXvertexHLT = new TH1F("fSPDXvertex_hlt","X SPD primary vertex",200,-0.5,0.5);
- fSPDYvertexOff = new TH1F("fSPDYvertex_off","Y SPD primary vertex (OFF)",200,-0.5,0.5);
- fSPDYvertexHLT = new TH1F("fSPDYvertex_hlt","Y SPD primary vertex (HLT)",200,-0.5,0.5);
+ fSPDYvertexOff = new TH1F("fSPDYvertex_off","",200,-0.5,0.5);
+ fSPDYvertexHLT = new TH1F("fSPDYvertex_hlt","Y SPD primary vertex",200,-0.5,0.5);
- fSPDZvertexOff = new TH1F("fSPDZvertex_off","Z SPD primary vertex (OFF)",100,-20,20);
- fSPDZvertexHLT = new TH1F("fSPDZvertex_hlt","Z SPD primary vertex (HLT)",100,-20,20);
+ fSPDZvertexOff = new TH1F("fSPDZvertex_off","",100,-20,20);
+ fSPDZvertexHLT = new TH1F("fSPDZvertex_hlt","Z SPD primary vertex",100,-20,20);
- fEventSpecieOff = new TH1F("fEventSpecie_off","Eventspecie for OFF",18, 0, 18);
- fEventSpecieHLT = new TH1F("fEventSpecie_hlt","Eventspecie for HLT",18, 0, 18);
+ fEventSpecieOff = new TH1F("fEventSpecie_off","",18, 0, 18);
+ fEventSpecieHLT = new TH1F("fEventSpecie_hlt","event species",18, 0, 18);
//============== track properties =================//
- fChargeOff = new TH1F("fCharge_off", "Charge distribution (OFF)", 3, -1.5, 1.5);
- fChargeHLT = new TH1F("fCharge_hlt", "Charge distribution (HLT)", 3, -1.5, 1.5);
+ fChargeOff = new TH1F("fCharge_off", "", 3, -1.5, 1.5);
+ fChargeHLT = new TH1F("fCharge_hlt", "charge distribution", 3, -1.5, 1.5);
- fMomentumOff = new TH1F("fMomentum_off", "p_{T} (OFF)", 100, 0, 10);
- fMomentumHLT = new TH1F("fMomentum_hlt", "p_{T} (HLT)", 100, 0, 10);
-
- fDCArOff = new TH1F("fDCAr_off", "DCAr to beam line (OFF)", 200, -15, 15);
- fDCArHLT = new TH1F("fDCAr_hlt", "DCAr to beam line (HLT)", 200, -15, 15);
-
- fDCAzOff = new TH1F("fDCAz_off", "DCAz to beam line (OFF)", 200, -15, 15);
- fDCAzHLT = new TH1F("fDCAz_hlt", "DCAz to beam line (HLT)", 200, -15, 15);
+ fMomentumOff = new TH1F("fMomentum_off", "", 100, 0, 10);
+ fMomentumHLT = new TH1F("fMomentum_hlt", "transverse momentum", 100, 0, 10);
- fNclusterOff = new TH1F("fNcluster_off","TPC clusters/track (OFF)", 200, 0, 200);
- fNclusterHLT = new TH1F("fNcluster_hlt","TPC clusters/track (HLT)", 200, 0, 200);
+ fDCArOff = new TH1F("fDCAr_off", "", 200, -15, 15);
+ fDCArHLT = new TH1F("fDCAr_hlt", "DCAr", 200, -15, 15);
- fNITSclusterOff = new TH1F("fNITScluster_off","ITS clusters/track (OFF)", 10, 0, 10);
- fNITSclusterHLT = new TH1F("fNITScluster_hlt","ITS clusters/track (HLT)", 10, 0, 10);
+ fDCAzOff = new TH1F("fDCAz_off", "", 200, -15, 15);
+ fDCAzHLT = new TH1F("fDCAz_hlt", "DCAz", 200, -15, 15);
- fPhiOff = new TH1F("fPhi_off","azimuthal angle distribution (OFF)",90,0,360);
- fPhiHLT = new TH1F("fPhi_hlt","azimuthal angle distribution (HLT)", 90,0,360);
-
- fEtaOff = new TH1F("fEta_off","pseudorapidity (OFF)",100,-2,2);
- fEtaHLT = new TH1F("fEta_hlt","pseudorapidity (HLT)",100,-2,2);
-
+ fNclusterOff = new TH1F("fNcluster_off","", 200, 0, 200);
+ fNclusterHLT = new TH1F("fNcluster_hlt","TPC clusters/track", 200, 0, 200);
+ fNITSclusterOff = new TH1F("fNITScluster_off","", 10, 0, 10);
+ fNITSclusterHLT = new TH1F("fNITScluster_hlt","ITS clusters/track", 10, 0, 10);
- fNclusterOffwCut = new TH1F("fNcluster_wcut_off","TPC clusters per track with cuts (OFF)", 200, 0, 200);
- fNclusterHLTwCut = new TH1F("fNcluster_wcut_hlt","TPC clusters per track with cuts (HLT)", 200, 0, 200);
+ fPhiOff = new TH1F("fPhi_off","",90,0,360);
+ fPhiHLT = new TH1F("fPhi_hlt","azimuthal angle",90,0,360);
- fEtaMomentumcutOff = new TH1F("fEtaMomentumcut_off","pseudorapidity DCAcut (OFF)",100,-2,2);
- fEtaMomentumcutHLT = new TH1F("fEtaMomentumcut_hlt","pseudorapidity DCAcut (HLT)", 100,-2,2);
-
- fNclusVSphiOff = new TH2F("fNclus_vs_phi_off","clusters per track vs. #phi (OFF)",360,0,360,160,0,160);
- fNclusVSphiHLT = new TH2F("fNclus_vs_phi_hlt","clusters per track vs. #phi (HLT)", 360,0,360,160,0,160);
+ fEtaOff = new TH1F("fEta_off","",100,-2,2);
+ fEtaHLT = new TH1F("fEta_hlt","pseudorapidity",100,-2,2);
- fNclusVSthetaOff = new TH2F("fNclus_vs_theta_off","clusters per track vs. #theta (OFF)",180,0,180,160,0,160);
- fNclusVSthetaHLT = new TH2F("fNclus_vs_theta_hlt","clusters per track vs. #theta (HLT)", 180,0,180,160,0,160);
-
+ fChargeHLTcut = new TH1F("fCharge_hltcut", "", 3, -1.5, 1.5);
+ fMomentumHLTcut = new TH1F("fMomentum_hltcut", "",100, 0, 10);
+ fDCArHLTcut = new TH1F("fDCAr_hltcut", "",200, -15, 15);
+ fDCAzHLTcut = new TH1F("fDCAz_hltcut", "",200, -15, 15);
+ fNclusterHLTcut = new TH1F("fNcluster_hltcut", "",200, 0, 200);
+ fNITSclusterHLTcut = new TH1F("fNITScluster_hltcut","", 10, 0, 10);
+ fPhiHLTcut = new TH1F("fPhi_hltcut", "", 90, 0, 360);
+ fEtaHLTcut = new TH1F("fEta_hltcut", "",100, -2, 2);
+
//--------------------------------------------------//
fTextBox = new TText();
fOutputList->Add(fHistTrigger);
- fOutputList->Add(fChargeOff); fOutputList->Add(fChargeHLT);
- fOutputList->Add(fMomentumOff); fOutputList->Add(fMomentumHLT);
- fOutputList->Add(fDCArOff); fOutputList->Add(fDCArHLT);
- fOutputList->Add(fDCAzOff); fOutputList->Add(fDCAzHLT);
- fOutputList->Add(fNclusterOff); fOutputList->Add(fNclusterHLT);
- fOutputList->Add(fNITSclusterOff); fOutputList->Add(fNITSclusterHLT);
- fOutputList->Add(fNclusterOffwCut); fOutputList->Add(fNclusterHLTwCut);
- fOutputList->Add(fPhiOff); fOutputList->Add(fPhiHLT);
+ fOutputList->Add(fChargeOff); fOutputList->Add(fChargeHLT); fOutputList->Add(fChargeHLTcut);
+ fOutputList->Add(fMomentumOff); fOutputList->Add(fMomentumHLT); fOutputList->Add(fMomentumHLTcut);
+ fOutputList->Add(fDCArOff); fOutputList->Add(fDCArHLT); fOutputList->Add(fDCArHLTcut);
+ fOutputList->Add(fDCAzOff); fOutputList->Add(fDCAzHLT); fOutputList->Add(fDCAzHLTcut);
+ fOutputList->Add(fNclusterOff); fOutputList->Add(fNclusterHLT); fOutputList->Add(fNclusterHLTcut);
+ fOutputList->Add(fNITSclusterOff); fOutputList->Add(fNITSclusterHLT); fOutputList->Add(fNITSclusterHLTcut);
+ fOutputList->Add(fPhiOff); fOutputList->Add(fPhiHLT); fOutputList->Add(fPhiHLTcut);
+ fOutputList->Add(fEtaOff); fOutputList->Add(fEtaHLT); fOutputList->Add(fEtaHLTcut);
+
fOutputList->Add(fMultOff); fOutputList->Add(fMultHLT);
- fOutputList->Add(fXYvertexOff); fOutputList->Add(fXYvertexHLT);
fOutputList->Add(fXvertexOff); fOutputList->Add(fXvertexHLT);
fOutputList->Add(fYvertexOff); fOutputList->Add(fYvertexHLT);
fOutputList->Add(fZvertexOff); fOutputList->Add(fZvertexHLT);
fOutputList->Add(fSPDXvertexOff); fOutputList->Add(fSPDXvertexHLT);
fOutputList->Add(fSPDYvertexOff); fOutputList->Add(fSPDYvertexHLT);
fOutputList->Add(fSPDZvertexOff); fOutputList->Add(fSPDZvertexHLT);
- fOutputList->Add(fEtaOff); fOutputList->Add(fEtaHLT);
- fOutputList->Add(fEtaMomentumcutOff); fOutputList->Add(fEtaMomentumcutHLT);
- fOutputList->Add(fNclusVSphiOff); fOutputList->Add(fNclusVSphiHLT);
- fOutputList->Add(fNclusVSthetaOff); fOutputList->Add(fNclusVSthetaHLT);
fOutputList->Add(fEventSpecieOff); fOutputList->Add(fEventSpecieHLT);
fOutputList->Add(fNcontOff); fOutputList->Add(fNcontHLT);
if(vertHLT->GetStatus()==kTRUE){
- fXYvertexHLT->Fill(vertHLT->GetX(), vertHLT->GetY() );
fXvertexHLT->Fill( vertHLT->GetX() );
fYvertexHLT->Fill( vertHLT->GetY() );
fZvertexHLT->Fill( vertHLT->GetZ() );
fEtaHLT->Fill(esdtrackHLT->Eta());
fPhiHLT->Fill(esdtrackHLT->Phi()*TMath::RadToDeg());
fMomentumHLT->Fill(TMath::Abs(esdtrackHLT->Pt()));
+
+ if(TMath::Abs(esdtrackHLT->Eta())<0.9 && TMath::Abs(esdtrackHLT->Pt())>0.3 && TMath::Abs(dca[0])<5 && TMath::Abs(dca[1])<5){
+ fChargeHLTcut->Fill(esdtrackHLT->Charge());
+ fNclusterHLTcut->Fill(esdtrackHLT->GetTPCNcls());
+ fNITSclusterHLTcut->Fill(esdtrackHLT->GetNcls(0));
+ fEtaHLTcut->Fill(esdtrackHLT->Eta());
+ fPhiHLTcut->Fill(esdtrackHLT->Phi()*TMath::RadToDeg());
+ fMomentumHLTcut->Fill(TMath::Abs(esdtrackHLT->Pt()));
+ }
} // end of loop over hlt tracks
if(nr_tracksHLT>0) fMultHLT->Fill(nr_tracksHLT);
}
if(vertOFF->GetStatus()==kTRUE){
- fXYvertexOff->Fill(vertOFF->GetX(), vertOFF->GetY() );
- fXvertexOff->Fill( vertOFF->GetX() );
- fYvertexOff->Fill( vertOFF->GetY() );
- fZvertexOff->Fill( vertOFF->GetZ() );
+ fXvertexOff->Fill( vertOFF->GetX() );
+ fYvertexOff->Fill( vertOFF->GetY() );
+ fZvertexOff->Fill( vertOFF->GetZ() );
- fSPDXvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetX());
- fSPDYvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetY());
- fSPDZvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetZ());
+ fSPDXvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetX());
+ fSPDYvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetY());
+ fSPDZvertexOff->Fill(esdOFF->GetPrimaryVertexSPD()->GetZ());
- fNcontOff->Fill(vertOFF->GetNContributors());
+ fNcontOff->Fill(vertOFF->GetNContributors());
}
fEventSpecieOff->Fill(esdOFF->GetEventSpecie());
folder.ReplaceAll(",","_");
gSystem->Exec("mkdir "+folder); // create a folder whose name contains run number and date of run
- TCanvas *c1 = new TCanvas("c1","track properties",1200,700);
+ TCanvas *c1 = new TCanvas("c1","track properties HLT vs. OFF",1200,700);
c1->Divide(4,2);
TH1F *h1 = NULL;
h1 = (TH1F*)list->FindObject("fMomentum_hlt"); if(!h1) { printf("Empty histogram fMomentum_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fMomentum_off"); if(!h2) { printf("Empty histogram fMomentum_off\n"); return; }
h1->SetXTitle("p_{t} (GeV/c)");
- h1->SetTitle("transverse momentum");
c1->cd(1);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fNcluster_hlt"); if(!h1) { printf("Empty histogram fNcluster_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fNcluster_off"); if(!h2) { printf("Empty histogram fNcluster_off\n"); return; }
- h1->SetTitle("TPC cluster distribution");
- h1->GetXaxis()->SetTitle("TPC clusters per track");
+ h1->SetXTitle("TPC clusters per track");
c1->cd(2);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fEta_hlt"); if(!h1) { printf("Empty histogram fEta_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fEta_off"); if(!h2) { printf("Empty histogram fEta_off\n"); return; }
- h1->SetTitle("pseudorapidity");
h1->SetXTitle("#eta");
c1->cd(3);
h1 = (TH1F*)list->FindObject("fPhi_hlt"); if(!h1) { printf("Empty histogram fPhi_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fPhi_off"); if(!h2) { printf("Empty histogram fPhi_off\n"); return; }
- h1->SetTitle("azimuthal angle");
h1->SetXTitle("#phi (deg)");
c1->cd(4);
h1 = (TH1F*)list->FindObject("fDCAr_hlt"); if(!h1) { printf("Empty histogram fDCAr_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fDCAr_off"); if(!h2) { printf("Empty histogram fDCAr_off\n"); return; }
- h1->SetTitle("DCA between track and vertex on XY plane");
h1->SetXTitle("DCAr (cm)");
c1->cd(5);
h1 = (TH1F*)list->FindObject("fDCAz_hlt"); if(!h1) { printf("Empty histogram fDCAz_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fDCAz_off"); if(!h2) { printf("Empty histogram fDCAz_off\n"); return; }
- h1->SetTitle("DCA between track and beam line");
h1->SetXTitle("DCAz (cm)");
c1->cd(6);
//-------------------------------------------------
-
h1 = (TH1F*)list->FindObject("fCharge_hlt"); if(!h1) { printf("Empty histogram fCharge_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fCharge_off"); if(!h2) { printf("Empty histogram fCharge_off\n"); return; }
- h1->SetXTitle("polarity");
- h1->SetTitle("charge distribution");
c1->cd(7);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fNITScluster_hlt"); if(!h1) { printf("Empty histogram fNITScluster_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fNITScluster_off"); if(!h2) { printf("Empty histogram fNITScluster_off\n"); return; }
- h1->SetTitle("ITS cluster distribution");
- h1->GetXaxis()->SetTitle("ITS clusters per track");
+ h1->SetXTitle("ITS clusters per track");
c1->cd(8);
plot(h1,h2);
+//============= TRACK PROPERTIES WITH CUTS ===============//
+
+ TCanvas *c4 = new TCanvas("c4","track properties HLT vs. OFF",1200,700);
+ c4->Divide(4,2);
+
+ h1 = (TH1F*)list->FindObject("fMomentum_hlt"); if(!h1) { printf("Empty histogram fMomentum_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fMomentum_hltcut"); if(!h2) { printf("Empty histogram fMomentum_hltcut\n"); return; }
+ h1->SetXTitle("p_{t} (GeV/c)");
+
+ c4->cd(1);
+ plot(h1,h2);
+
+ TLegend *leg2 = new TLegend(0.6,0.2,0.8,0.5);
+ leg2->SetFillColor(10);
+ leg2->SetLineColor(10);
+ leg2->AddEntry(h1,"HLT", "l");
+ leg2->AddEntry(h2,"HLT with cuts", "l");
+ leg2->Draw("same");
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fNcluster_hlt"); if(!h1) { printf("Empty histogram fNcluster_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fNcluster_hltcut"); if(!h2) { printf("Empty histogram fNcluster_hltcut\n"); return; }
+ h1->SetXTitle("TPC clusters per track");
+
+ c4->cd(2);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fEta_hlt"); if(!h1) { printf("Empty histogram fEta_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fEta_hltcut"); if(!h2) { printf("Empty histogram fEta_hltcut\n"); return; }
+ h1->SetXTitle("#eta");
+
+ c4->cd(3);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fPhi_hlt"); if(!h1) { printf("Empty histogram fPhi_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fPhi_hltcut"); if(!h2) { printf("Empty histogram fPhi_hltcut\n"); return; }
+ h1->SetXTitle("#phi (deg)");
+
+ c4->cd(4);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fDCAr_hlt"); if(!h1) { printf("Empty histogram fDCAr_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fDCAr_hltcut"); if(!h2) { printf("Empty histogram fDCAr_hltcut\n"); return; }
+ h1->SetXTitle("DCAr (cm)");
+
+ c4->cd(5);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fDCAz_hlt"); if(!h1) { printf("Empty histogram fDCAz_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fDCAz_hltcut"); if(!h2) { printf("Empty histogram fDCAz_hltcut\n"); return; }
+ h1->SetXTitle("DCAz (cm)");
+
+ c4->cd(6);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fCharge_hlt"); if(!h1) { printf("Empty histogram fCharge_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fCharge_hltcut"); if(!h2) { printf("Empty histogram fCharge_hltcut\n"); return; }
+ h1->SetXTitle("polarity");
+
+ c4->cd(7);
+ plot(h1,h2);
+
+//-------------------------------------------------
+
+ h1 = (TH1F*)list->FindObject("fNITScluster_hlt"); if(!h1) { printf("Empty histogram fNITScluster_hlt\n"); return; }
+ h2 = (TH1F*)list->FindObject("fNITScluster_hltcut"); if(!h2) { printf("Empty histogram fNITScluster_hltcut\n"); return; }
+ h1->SetXTitle("ITS clusters per track");
+
+ c4->cd(8);
+ plot(h1,h2);
//============= EVENT PROPERTIES ===============//
h1 = (TH1F*)list->FindObject("fXvertex_hlt"); if(!h1) { printf("Empty histogram fXvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fXvertex_off"); if(!h2) { printf("Empty histogram fXvertex_off\n"); return; }
h1->SetXTitle("x (cm)");
- h1->SetTitle("x of primary vertex");
c2->cd(1);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fYvertex_hlt"); if(!h1) { printf("Empty histogram fYvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fYvertex_off"); if(!h2) { printf("Empty histogram fYvertex_off\n"); return; }
h1->SetXTitle("y (cm)");
- h1->SetTitle("y of primary vertex");
c2->cd(2);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fZvertex_hlt"); if(!h1) { printf("Empty histogram fZvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fZvertex_off"); if(!h2) { printf("Empty histogram fZvertex_off\n"); return; }
h1->SetXTitle("z (cm)");
- h1->SetTitle("z of primary vertex");
c2->cd(3);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fSPDXvertex_hlt"); if(!h1) { printf("Empty histogram fSPDXvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fSPDXvertex_off"); if(!h2) { printf("Empty histogram fSPDXvertex_off\n"); return; }
h1->SetXTitle("x (cm)");
- h1->SetTitle("x of SPD primary vertex");
c2->cd(4);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fSPDYvertex_hlt"); if(!h1) { printf("Empty histogram fSPDYvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fSPDYvertex_off"); if(!h2) { printf("Empty histogram fSPDYvertex_off\n"); return; }
h1->SetXTitle("y (cm)");
- h1->SetTitle("y of SPD primary vertex");
c2->cd(5);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fSPDZvertex_hlt"); if(!h1) { printf("Empty histogram fSPDZvertex_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fSPDZvertex_off"); if(!h2) { printf("Empty histogram fSPDZvertex_off\n"); return; }
h1->SetXTitle("z (cm)");
- h1->SetTitle("z of SPD primary vertex");
c2->cd(6);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fMult_hlt"); if(!h1) { printf("Empty histogram fMult_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fMult_off"); if(!h2) { printf("Empty histogram fMult_off\n"); return; }
- h1->SetTitle("TPC track multiplicity");
c3->cd(1);
plot(h1,h2);
h1 = (TH1F*)list->FindObject("fNcont_hlt"); if(!h1) { printf("Empty histogram fNcont_hlt\n"); return; }
h2 = (TH1F*)list->FindObject("fNcont_off"); if(!h2) { printf("Empty histogram fNcont_off\n"); return; }
- h1->SetTitle("# of contributors");
c3->cd(2);
plot(h1,h2);