]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- include a series of HLT histograms with cuts for selecting primary tracks
authorkkanaki <kkanaki@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 17 Apr 2011 15:21:49 +0000 (15:21 +0000)
committerkkanaki <kkanaki@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 17 Apr 2011 15:21:49 +0000 (15:21 +0000)
- rearranged histo titles for reducing the number of calls in the drawing macro
- removed obsolete unused histograms

HLT/QA/tasks/AliAnalysisTaskHLT.cxx
HLT/QA/tasks/AliAnalysisTaskHLT.h
HLT/QA/tasks/macros/drawGlobalESDHistograms.C

index 4116fff3fb60270a0ed310ef1f2e4f6f9ce020d6..24a979d288ec7ef16c1703b2aff0dae7b275df04 100644 (file)
@@ -61,20 +61,15 @@ AliAnalysisTaskSE()
   ,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)  
   
@@ -84,20 +79,23 @@ AliAnalysisTaskSE()
   ,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()
@@ -126,17 +124,12 @@ AliAnalysisTaskHLT::AliAnalysisTaskHLT(const char *name)
   ,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)
@@ -145,17 +138,18 @@ AliAnalysisTaskHLT::AliAnalysisTaskHLT(const char *name)
   ,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)
   
@@ -212,109 +206,97 @@ void AliAnalysisTaskHLT::UserCreateOutputObjects(){
   //=========== 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);  
   
@@ -382,7 +364,6 @@ void AliAnalysisTaskHLT::UserExec(Option_t *){
 
 
   if(vertHLT->GetStatus()==kTRUE){
-    fXYvertexHLT->Fill(vertHLT->GetX(), vertHLT->GetY() );
     fXvertexHLT->Fill( vertHLT->GetX() );
     fYvertexHLT->Fill( vertHLT->GetY() );
     fZvertexHLT->Fill( vertHLT->GetZ() );
@@ -425,6 +406,15 @@ void AliAnalysisTaskHLT::UserExec(Option_t *){
     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);
@@ -445,16 +435,15 @@ void AliAnalysisTaskHLT::UserExec(Option_t *){
   }
   
   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());
index e04b0dec2f5d762b76519112ca2791736735ca5f..5d625ed7b4394084f1cf12a9e87e413ca2c90042 100644 (file)
@@ -52,7 +52,6 @@ private:
     //AliESDtrackCuts *fESDHLTtrackCuts;   //! ESD cuts - on HLT object 
     
     TList *fOutputList; // list of output histograms
-
     TH1F *fHistTrigger; //! trigger counters 
 
     TH1F  *fChargeOff;         //! Charge distribution      
@@ -61,23 +60,20 @@ private:
     TH1F  *fDCAzOff;           //! track DCAz to beam line      
     TH1F  *fNclusterOff;       //! #clusters per track
     TH1F  *fNITSclusterOff;    //! # ITS clusters per track
-    TH1F  *fNclusterOffwCut;   //! #clusters per track w cuts
     TH1F  *fPhiOff;            //! azimuthal angle distribution
+    TH1F  *fEtaOff;            //! pseudorapidity  
     TH1F  *fMultOff;           //! track multiplicity of the event
-    TH2F  *fXYvertexOff;       //! XY primary vertex distribution
     TH1F  *fXvertexOff;        //! X primary vertex distribution
     TH1F  *fYvertexOff;        //! Y primary vertex distribution
     TH1F  *fZvertexOff;        //! Z primary vertex distribution
     TH1F  *fSPDXvertexOff;     //! SPD X primary vertex distribution
     TH1F  *fSPDYvertexOff;     //! SPD Y primary vertex distribution
     TH1F  *fSPDZvertexOff;     //! SPD Z primary vertex distribution
-    TH1F  *fEtaOff;            //! pseudorapidity
-    TH1F  *fEtaMomentumcutOff;      //! pseudorapidity with DCA cut
-    TH2F  *fNclusVSphiOff;     //! clusters per track vs. azimuthal angle 
-    TH2F  *fNclusVSthetaOff;   //! clusters per track vs. polar angle 
     TH1F  *fEventSpecieOff;    //! Event Specie Offline
     TH1F  *fV0cent;            //! V0 centrality information
     TH1F  *fNcontOff;          //! # of contributors to the vertex estimate
+
+   //---------------------------------//
     
     TH1F  *fChargeHLT;         //! Charge distribution 
     TH1F  *fMomentumHLT;       //! momentum    
@@ -85,20 +81,25 @@ private:
     TH1F  *fDCAzHLT;          //! track DCAz to beam line       
     TH1F  *fNclusterHLT;       //! #clusters per track
     TH1F  *fNITSclusterHLT;    //! # ITS clusters per track
-    TH1F  *fNclusterHLTwCut;   //! #clusters per track with cuts
     TH1F  *fPhiHLT;           //! azimuthal angle distribution
+    TH1F  *fEtaHLT;           //! pseudorapidity
+    
+    TH1F  *fChargeHLTcut;      //! Charge distribution with cuts for selecting primary tracks
+    TH1F  *fMomentumHLTcut;    //! momentum    
+    TH1F  *fDCArHLTcut;               //! track DCAr to beam line       
+    TH1F  *fDCAzHLTcut;               //! track DCAz to beam line       
+    TH1F  *fNclusterHLTcut;    //! #clusters per track
+    TH1F  *fNITSclusterHLTcut; //! # ITS clusters per track
+    TH1F  *fPhiHLTcut;        //! azimuthal angle distribution
+    TH1F  *fEtaHLTcut;        //! pseudorapidity
+    
     TH1F  *fMultHLT;          //! track multiplicity of the event   
-    TH2F  *fXYvertexHLT;       //! XY primary vertex distribution
     TH1F  *fXvertexHLT;        //! X primary vertex distribution
     TH1F  *fYvertexHLT;        //! Y primary vertex distribution
     TH1F  *fZvertexHLT;        //! Z primary vertex distribution
     TH1F  *fSPDXvertexHLT;     //! SPD X primary vertex distribution
     TH1F  *fSPDYvertexHLT;     //! SPD Y primary vertex distribution
     TH1F  *fSPDZvertexHLT;     //! SPD Z primary vertex distribution
-    TH1F  *fEtaHLT;           //! pseudorapidity
-    TH1F  *fEtaMomentumcutHLT;      //! pseudorapidity with DCA cut
-    TH2F  *fNclusVSphiHLT;     //! clusters per track vs. azimuthal angle 
-    TH2F  *fNclusVSthetaHLT;   //! clusters per track vs. polar angle 
     TH1F  *fEventSpecieHLT;    //! Event Specie HLT
     TH1F  *fNcontHLT;          //! # of contributors to the vertex estimate
         
index c0f6ab4624f2242cd7ce1d8dc62564eaed56efd1..fc7e1c6d6278f627cbc136b0c15c48f2f2f0d2e6 100644 (file)
@@ -68,7 +68,7 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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;
@@ -78,7 +78,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -94,8 +93,7 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -104,7 +102,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -114,7 +111,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -124,7 +120,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -134,7 +129,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -142,11 +136,8 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
 //------------------------------------------------- 
 
-
  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);
@@ -155,12 +146,92 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  
  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 ===============//
 
@@ -170,7 +241,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -181,7 +251,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -191,7 +260,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -201,7 +269,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -211,7 +278,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -221,7 +287,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
  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);
@@ -233,7 +298,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);
@@ -243,7 +307,6 @@ void drawGlobalESDHistograms(const char* filename="HLT-OFFLINE-GLOBAL-comparison
 
  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);