]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add histograms to check the correlation between reconstructed and primary energy...
authorgconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 7 Apr 2014 13:04:22 +0000 (15:04 +0200)
committergconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 7 Apr 2014 13:05:10 +0000 (15:05 +0200)
PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx
PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.h

index 3cd6af803cc9741dd551a1798da6825583748606..69a09a2a7fd35c9392bda4c65207aa30d031cc91 100755 (executable)
@@ -209,6 +209,17 @@ fhPtNPileUpSPDVtxTimeCut2(0),       fhPtNPileUpTrkVtxTimeCut2(0)
       fhMCPtLambda0LocMax     [ipart][i] = 0;
       fhMCSelectedMassPtLocMax[ipart][i] = 0;
     }
+    
+    fhMCPi0PtRecoPtPrimLocMax             [i] = 0;
+    fhMCEtaPtRecoPtPrimLocMax             [i] = 0;
+    fhMCPi0SplitPtRecoPtPrimLocMax        [i] = 0;
+    fhMCEtaSplitPtRecoPtPrimLocMax        [i] = 0;
+
+    fhMCPi0SelectedPtRecoPtPrimLocMax     [i] = 0;
+    fhMCEtaSelectedPtRecoPtPrimLocMax     [i] = 0;
+    fhMCPi0SelectedSplitPtRecoPtPrimLocMax[i] = 0;
+    fhMCEtaSelectedSplitPtRecoPtPrimLocMax[i] = 0;
+
   }
   
   //Weight studies
@@ -2064,6 +2075,67 @@ TList *  AliAnaPi0EbE::GetCreateOutputObjects()
       fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
       outputContainer->Add(fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap ) ;
       
+      
+      for(Int_t inlm = 0; inlm < 3; inlm++)
+      {
+        fhMCPi0PtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCPi0PtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCPi0PtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCPi0PtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCPi0PtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCPi0SelectedPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCPi0SelectedPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCPi0SelectedPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCPi0SelectedPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCPi0SelectedPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCPi0SplitPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCPi0SplitPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} (split sum) vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCPi0SplitPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCPi0SplitPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCPi0SplitPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCPi0SelectedSplitPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCPi0SelectedSplitPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} (split sum) vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCPi0SelectedSplitPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCPi0SelectedSplitPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCPi0SelectedSplitPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCEtaPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCEtaPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCEtaPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCEtaPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCEtaPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCEtaSelectedPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCEtaSelectedPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCEtaSelectedPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCEtaSelectedPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCEtaSelectedPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCEtaSplitPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCEtaSplitPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} (split sum) vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCEtaSplitPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCEtaSplitPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCEtaSplitPtRecoPtPrimLocMax[inlm] ) ;
+        
+        fhMCEtaSelectedSplitPtRecoPtPrimLocMax[inlm]  = new TH2F
+        (Form("hMCEtaSelectedSplitPtRecoPtPrimLocMax%d",inlm+1),Form("p_{T,reco} (split sum) vs p_{T,gen}, %s",nlm[inlm].Data()),
+         nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+        fhMCEtaSelectedSplitPtRecoPtPrimLocMax[inlm] ->SetYTitle("p_{T,gen} (GeV/c)");
+        fhMCEtaSelectedSplitPtRecoPtPrimLocMax[inlm] ->SetXTitle("p_{T,reco} (GeV/c)");
+        outputContainer->Add(fhMCEtaSelectedSplitPtRecoPtPrimLocMax[inlm] ) ;
+        
+      }
+      
       for(Int_t i = 0; i< 6; i++)
       {
         fhMCPtAsymmetry[i]  = new TH2F (Form("hEAsymmetry_MC%s",pname[i].Data()),
@@ -3054,13 +3126,18 @@ void  AliAnaPi0EbE::MakeShowerShapeIdentification()
       fhMCMassSplitPt[mcIndex]->Fill(ptSplit ,mass);
       if(mcIndex==kmcPi0)
       {
-        fhMCPi0PtRecoPtPrim     ->Fill(mom.Pt(),ptprim);
-        fhMCPi0SplitPtRecoPtPrim->Fill(ptSplit ,ptprim);
+        fhMCPi0PtRecoPtPrim                     ->Fill(mom.Pt(),ptprim);
+        fhMCPi0SplitPtRecoPtPrim                ->Fill(ptSplit ,ptprim);
+        fhMCPi0PtRecoPtPrimLocMax     [indexMax]->Fill(mom.Pt(),ptprim);
+        fhMCPi0SplitPtRecoPtPrimLocMax[indexMax]->Fill(ptSplit ,ptprim);
+
       }
       else if(mcIndex==kmcEta)
       {
-        fhMCEtaPtRecoPtPrim     ->Fill(mom.Pt(),ptprim);
-        fhMCEtaSplitPtRecoPtPrim->Fill(ptSplit ,ptprim);
+        fhMCEtaPtRecoPtPrim                     ->Fill(mom.Pt(),ptprim);
+        fhMCEtaSplitPtRecoPtPrim                ->Fill(ptSplit ,ptprim);
+        fhMCEtaPtRecoPtPrimLocMax     [indexMax]->Fill(mom.Pt(),ptprim);
+        fhMCEtaSplitPtRecoPtPrimLocMax[indexMax]->Fill(ptSplit ,ptprim);
       }
 
       if(noverlaps==0)
@@ -3133,13 +3210,17 @@ void  AliAnaPi0EbE::MakeShowerShapeIdentification()
     {
       if(mcIndex==kmcPi0)
       {
-        fhMCPi0SelectedPtRecoPtPrim     ->Fill(mom.Pt(),ptprim);
-        fhMCPi0SelectedSplitPtRecoPtPrim->Fill(ptSplit ,ptprim);
+        fhMCPi0SelectedPtRecoPtPrim                     ->Fill(mom.Pt(),ptprim);
+        fhMCPi0SelectedSplitPtRecoPtPrim                ->Fill(ptSplit ,ptprim);
+        fhMCPi0SelectedPtRecoPtPrimLocMax     [indexMax]->Fill(mom.Pt(),ptprim);
+        fhMCPi0SelectedSplitPtRecoPtPrimLocMax[indexMax]->Fill(ptSplit ,ptprim);
       }
       else if(mcIndex==kmcEta)
       {
-        fhMCEtaSelectedPtRecoPtPrim     ->Fill(mom.Pt(),ptprim);
-        fhMCEtaSelectedSplitPtRecoPtPrim->Fill(ptSplit ,ptprim);
+        fhMCEtaSelectedPtRecoPtPrim                     ->Fill(mom.Pt(),ptprim);
+        fhMCEtaSelectedSplitPtRecoPtPrim                ->Fill(ptSplit ,ptprim);
+        fhMCEtaSelectedPtRecoPtPrimLocMax     [indexMax]->Fill(mom.Pt(),ptprim);
+        fhMCEtaSelectedSplitPtRecoPtPrimLocMax[indexMax]->Fill(ptSplit ,ptprim);
       }
       
       if(noverlaps==0)
index af029294bdf7f6f677ba92f692ef20f21d03d6ae..6be20925bae8c2d8acd01a77d8108f1832ed3a05 100755 (executable)
@@ -208,26 +208,36 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   TH2F         * fhSelectedMassPtNoOverlap  ;       //! pair mass vs pT, for selected pairs, no overlap
   TH2F         * fhSelectedMassSplitPtNoOverlap  ;  //! pair mass vs pT (split), for selected pairs, no overlap
 
-  TH2F         * fhMCPi0PtRecoPtPrim;      //! pt reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaPtRecoPtPrim;      //! pt reco vs pt prim for eta mother
-  TH2F         * fhMCPi0PtRecoPtPrimNoOverlap; //! pt reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaPtRecoPtPrimNoOverlap; //! pt reco vs pt prim for eta mother
-
-  TH2F         * fhMCPi0SplitPtRecoPtPrim;      //! pt split reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaSplitPtRecoPtPrim;      //! pt split reco vs pt prim for eta mother
-  TH2F         * fhMCPi0SplitPtRecoPtPrimNoOverlap; //! pt split reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaSplitPtRecoPtPrimNoOverlap; //! pt split reco vs pt prim for eta mother
-
-  TH2F         * fhMCPi0SelectedPtRecoPtPrim;      //! pt reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaSelectedPtRecoPtPrim;      //! pt reco vs pt prim for eta mother
+  TH2F         * fhMCPi0PtRecoPtPrim;                  //! pt reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaPtRecoPtPrim;                  //! pt reco vs pt prim for eta mother
+  TH2F         * fhMCPi0PtRecoPtPrimNoOverlap;         //! pt reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaPtRecoPtPrimNoOverlap;         //! pt reco vs pt prim for eta mother
+
+  TH2F         * fhMCPi0SplitPtRecoPtPrim;             //! pt split reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaSplitPtRecoPtPrim;             //! pt split reco vs pt prim for eta mother
+  TH2F         * fhMCPi0SplitPtRecoPtPrimNoOverlap;    //! pt split reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaSplitPtRecoPtPrimNoOverlap;    //! pt split reco vs pt prim for eta mother
+
+  TH2F         * fhMCPi0SelectedPtRecoPtPrim;          //! pt reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaSelectedPtRecoPtPrim;          //! pt reco vs pt prim for eta mother
   TH2F         * fhMCPi0SelectedPtRecoPtPrimNoOverlap; //! pt reco vs pt prim for pi0 mother
   TH2F         * fhMCEtaSelectedPtRecoPtPrimNoOverlap; //! pt reco vs pt prim for eta mother
   
-  TH2F         * fhMCPi0SelectedSplitPtRecoPtPrim;      //! pt split reco vs pt prim for pi0 mother
-  TH2F         * fhMCEtaSelectedSplitPtRecoPtPrim;      //! pt split reco vs pt prim for eta mother
+  TH2F         * fhMCPi0SelectedSplitPtRecoPtPrim;          //! pt split reco vs pt prim for pi0 mother
+  TH2F         * fhMCEtaSelectedSplitPtRecoPtPrim;          //! pt split reco vs pt prim for eta mother
   TH2F         * fhMCPi0SelectedSplitPtRecoPtPrimNoOverlap; //! pt split reco vs pt prim for pi0 mother
   TH2F         * fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap; //! pt split reco vs pt prim for eta mother
   
+  TH2F         * fhMCPi0PtRecoPtPrimLocMax[3];              //! pt reco vs pt prim for pi0 mother, vs NLM
+  TH2F         * fhMCEtaPtRecoPtPrimLocMax[3];              //! pt reco vs pt prim for eta mother, vs NLM
+  TH2F         * fhMCPi0SplitPtRecoPtPrimLocMax[3];         //! pt split reco vs pt prim for pi0 mother, vs NLM
+  TH2F         * fhMCEtaSplitPtRecoPtPrimLocMax[3];         //! pt split reco vs pt prim for eta mother, vs NLM
+  TH2F         * fhMCPi0SelectedPtRecoPtPrimLocMax[3];      //! pt reco vs pt prim for pi0 mother, vs NLM
+  TH2F         * fhMCEtaSelectedPtRecoPtPrimLocMax[3];      //! pt reco vs pt prim for eta mother, vs NLM
+  TH2F         * fhMCPi0SelectedSplitPtRecoPtPrimLocMax[3]; //! pt split reco vs pt prim for pi0 mother, vs NLM
+  TH2F         * fhMCEtaSelectedSplitPtRecoPtPrimLocMax[3]; //! pt split reco vs pt prim for eta mother, vs NLM
+
   TH2F         * fhAsymmetry ;             //! cluster pT vs asymmetry of 2 splitted clusters
   TH2F         * fhSelectedAsymmetry  ;    //! cluster pT vs asymmetry of 2 splitted clusters, for selected pairs
   TH1F         * fhSplitE  ;               //! split sub-cluster pair energy sum
@@ -394,7 +404,7 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   AliAnaPi0EbE(              const AliAnaPi0EbE & pi0ebe) ; // cpy ctor
   AliAnaPi0EbE & operator = (const AliAnaPi0EbE & pi0ebe) ; // cpy assignment
   
-  ClassDef(AliAnaPi0EbE,35)
+  ClassDef(AliAnaPi0EbE,36)
 } ;