]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.h
correcting cone exess
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaPi0EbE.h
index 3cdbdc3f0972ef4950e4ce9ae31902742cdf9869..6f912dd422168cda27c0059eb86da92fd6db53a5 100755 (executable)
@@ -46,7 +46,9 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   
   // Main
   
-  void           FillPileUpHistograms(Float_t energy, Float_t time) ;
+  void           FillPileUpHistograms(const Float_t energy, const Float_t time) ;
+  
+  void           FillRejectedClusterHistograms(const TLorentzVector mom, const Int_t mctag);
   
   void           FillSelectedClusterHistograms(AliVCluster* cluster, 
                                                const Int_t nLocMax,
@@ -79,13 +81,21 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   void           SetCalorimeter(TString & det)               { fCalorimeter = det              ; }
   
   void           SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
-                  fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3                               ; }
+                  fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3                                ; }
+  
+  void           SetNLMCut(Int_t min, Int_t max)             { fNLMCutMin = min; 
+                                                               fNLMCutMax = max                ; }
+  Int_t          GetNLMCutMin()                        const { return fNLMCutMin               ; }
+  Int_t          GetNLMCutMax()                        const { return fNLMCutMax               ; }     
   
-  void           SetTimeCut(Double_t min, Double_t max)      { fTimeCutMin = min; 
+  void           SetNLMMinEnergy(Int_t i, Float_t min)       { if (i < 3 && i >=0 ) fNLMECutMin[i]  = min   ; }
+  Float_t        GetNLMMinEnergy(Int_t i) const              { if( i < 3 && i >=0 ) return fNLMECutMin[i]   ;  else return 0 ; }
+
+  void           SetTimeCut(Double_t min, Double_t max)      { fTimeCutMin = min;
                                                                fTimeCutMax = max               ; }
   Double_t       GetTimeCutMin()                       const { return fTimeCutMin              ; }
-  Double_t       GetTimeCutMax()                       const { return fTimeCutMax              ; }     
-  
+  Double_t       GetTimeCutMax()                       const { return fTimeCutMax              ; }
   void           SwitchOnFillPileUpHistograms()              { fFillPileUpHistograms  = kTRUE  ; }
   void           SwitchOffFillPileUpHistograms()             { fFillPileUpHistograms  = kFALSE ; }    
     
@@ -102,6 +112,7 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   void           SwitchOffOnlySimpleHistoFill()              { fFillOnlySimpleSSHisto = kFALSE ; }
 
   
+  
   //For histograms
   enum mcTypes   { kmcPhoton = 0, kmcConversion = 1, kmcPi0    = 2,  
                    kmcEta    = 3, kmcElectron   = 4, kmcHadron = 5 };
@@ -115,6 +126,10 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   Float_t        fMinDist ;                // Minimal distance to bad channel to accept cluster
   Float_t        fMinDist2;                // Cuts on Minimal distance to study acceptance evaluation
   Float_t        fMinDist3;                // One more cut on distance used for acceptance-efficiency study
+  Int_t          fNLMCutMin  ;             // Remove clusters/cells with number of local maxima smaller than this value
+  Int_t          fNLMCutMax  ;             // Remove clusters/cells with number of local maxima larger than this value
+  Float_t        fNLMECutMin[3] ;          // Minimum energy of the cluster, depending on nlm.
+
   Double_t       fTimeCutMin  ;            // Remove clusters/cells with time smaller than this value, in ns
   Double_t       fTimeCutMax  ;            // Remove clusters/cells with time larger than this value, in ns
   
@@ -124,6 +139,7 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   Bool_t         fFillSelectClHisto;       // Fill selected cluster histograms
   Bool_t         fFillOnlySimpleSSHisto;   // Fill selected cluster histograms, selected SS histograms
 
+  
   //Only for combination of calorimeter and conversion photons, kIMCaloTracks
   TString        fInputAODGammaConvName;   //  Name of AOD branch with conversion photons
   
@@ -135,6 +151,20 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   TH2F         * fhEPhi  ;                 //! E vs phi of identified  pi0/eta 
   TH2F         * fhEtaPhi  ;               //! eta vs phi of identified  pi0/eta 
 
+  TH2F         * fhPtCentrality ;          //! centrality  vs pi0/eta pT
+  TH2F         * fhPtEventPlane ;          //! event plane vs pi0/eta pT
+  
+  TH1F         * fhPtReject  ;             //! Number of rejected as  pi0/eta vs pT
+  TH1F         * fhEReject   ;             //! Number of rejected as  pi0/eta vs E
+  TH2F         * fhEEtaReject  ;           //! E vs eta of rejected as  pi0/eta 
+  TH2F         * fhEPhiReject  ;           //! E vs phi of rejected as  pi0/eta 
+  TH2F         * fhEtaPhiReject  ;         //! eta vs phi of rejected as  pi0/eta 
+  
+  TH2F         * fhMass  ;                 //! pair mass vs E, for all pairs
+  TH2F         * fhAsymmetry ;             //! cluster E vs asymmetry of 2 splitted clusters 
+  TH2F         * fhSelectedMass  ;         //! pair mass vs E, for selected pairs
+  TH2F         * fhSelectedAsymmetry  ;    //! cluster E vs asymmetry of 2 splitted clusters, for selected pairs
+
   TH1F         * fhPtDecay  ;              //! Number of identified  pi0/eta decay photons vs pT
   TH1F         * fhEDecay   ;              //! Number of identified  pi0/eta decay photons vs E
   
@@ -159,7 +189,6 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   TH2F         * fhDispEtaPhiDiffE ;       //! shower dispersion eta - phi
   TH2F         * fhSphericityE ;           //! shower sphericity in eta vs phi
   TH2F         * fhDispEtaDispPhi[7] ;     //! shower dispersion in eta direction vs phi direction for 5 E bins [0-2],[2-4],[4-6],[6-10],[> 10]
-  TH2F         * fhAsymmetryE ;            //! E asymmetry of 2 splitted clusters vs cluster E
   TH2F         * fhAsymmetryLambda0[7] ;   //! E asymmetry of 2 splitted clusters vs lam0 for 5 E bins
   TH2F         * fhAsymmetryDispEta[7] ;   //! E asymmetry of 2 splitted clusters vs lam0 for 5 E bins
   TH2F         * fhAsymmetryDispPhi[7] ;   //! E asymmetry of 2 splitted clusters vs lam0 for 5 E bins
@@ -186,10 +215,16 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   TH2F         * fhMCAsymmetryDispEta[7][6] ; //! E asymmetry of 2 splitted clusters vs lam0 for 5 E bins
   TH2F         * fhMCAsymmetryDispPhi[7][6] ; //! E asymmetry of 2 splitted clusters vs lam0 for 5 E bins
   
-  TH1F         * fhMCPt[6];                   //! Number of identified as pi0, coming from X
+  TH1F         * fhMCE[6];                    //! Number of identified as pi0 vs E coming from X
+  TH1F         * fhMCPt[6];                   //! Number of identified as pi0 vs Pt coming from X
   TH2F         * fhMCPhi[6];                  //! Phi of identified as pi0, coming from X
   TH2F         * fhMCEta[6];                  //! eta of identified as pi0, coming from X
+  TH1F         * fhMCEReject[6];              //! Number of rejected as pi0 vs E coming from X
+  TH1F         * fhMCPtReject[6];             //! Number of rejected as pi0 vs Pt coming from X
 
+  TH2F         * fhMCPtCentrality[6] ;        //! centrality  vs pi0/eta pT  coming from X
+
+  
   TH2F         * fhMCPi0PtGenRecoFraction;    //! SS id, clusters id as pi0 (eta), coming from 2 photon, pi0 primary, pt vs E prim pi0 / E reco
   TH2F         * fhMCEtaPtGenRecoFraction;    //! SS id, clusters id as pi0 (eta), coming from 2 photon, eta primary, pt vs E prim eta / E reco  
   TH1F         * fhMCPi0DecayPt;              //! SS id, clusters id as pi0 (eta), coming from 1 photon, pi0 decay primary, pt
@@ -236,7 +271,8 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   TH2F         * fhMassPairLocMax[8];      //! pair mass, origin is same pi0, combine clusters depending on number of maxima
 
   // Pile-up
-  TH2F         * fhTimeENoCut;                    //! time of cluster vs E, no cut 
+  TH1F         * fhPtPi0PileUp[7];                //! pT distribution of selected pi0/eta
+  TH2F         * fhTimeENoCut;                    //! time of cluster vs E, no cut
   TH2F         * fhTimeESPD;                      //! time of cluster vs E, IsSPDPileUp
   TH2F         * fhTimeESPDMulti;                 //! time of cluster vs E, IsSPDPileUpMulti
   TH2F         * fhTimeNPileUpVertSPD;            //! time of cluster vs n pile-up vertices from SPD
@@ -248,7 +284,7 @@ class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
   AliAnaPi0EbE(              const AliAnaPi0EbE & pi0ebe) ; // cpy ctor
   AliAnaPi0EbE & operator = (const AliAnaPi0EbE & pi0ebe) ; // cpy assignment
   
-  ClassDef(AliAnaPi0EbE,21)
+  ClassDef(AliAnaPi0EbE,24)
 } ;