]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/PartCorrDep/AliAnaPi0EbE.h
correct binning of hNCellsMod histogram, set remaining TH3 histogram to be filled...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaPi0EbE.h
index 6da8094e98950e2c96e4d2e38b6049025eda7a58..ecac2fba274ae17edca8d1c87a8f448d9ee0ea38 100755 (executable)
@@ -17,7 +17,7 @@
 
 
 // --- ROOT system ---
-class TH2F ; 
+class TH3F ; 
 class TList ;
 class TObjString;
 
@@ -34,68 +34,100 @@ class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
   AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ;//cpy assignment
 
  public:  
-
-  enum anaTypes {kIMCalo, kSSCalo, kIMCaloTracks};
        
-  TObjString * GetAnalysisCuts();
-  TList      * GetCreateOutputObjects();
+  //General
   
-  void Init();
-  void InitParameters();
+  TObjString *   GetAnalysisCuts();
   
-  void MakeAnalysisFillAOD()  ;
-  void MakeAnalysisFillHistograms() ; 
+  TList      *   GetCreateOutputObjects();
   
-  void MakeInvMassInCalorimeter() ;
-  void MakeInvMassInCalorimeterAndCTS() ;
-  void MakeShowerShapeIdentification() ;
+  void           Init();
   
-  void Print(const Option_t * opt)const;
+  void           InitParameters();
+
+  void           MakeAnalysisFillAOD()  ;
+   
+  void           MakeAnalysisFillHistograms() ; 
   
-  anaTypes GetAnalysisType()   const {return fAnaType ; }
-  void SetAnalysisType(anaTypes ana)    {fAnaType = ana ; }
+  void           Print(const Option_t * opt) const;
   
-  TString GetInputAODGammaConvName()   const {return fInputAODGammaConvName ; }
-  void SetInputAODGammaConvName(TString name)    {fInputAODGammaConvName = name ; }    
+  // Main
   
-  //Only for pi0 SS identification case
-  void SetCalorimeter(TString det)    {fCalorimeter = det ; }
+  void           MakeInvMassInCalorimeter() ;
+  
+  void           MakeInvMassInCalorimeterAndCTS() ;
+  
+  void           MakeShowerShapeIdentification() ;
   
-  void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
-    fMinDist = m1;
-    fMinDist2 = m2;
-    fMinDist3 = m3;
-  }
+  //Setters Getters
+  
+  //Analysis types
+  enum anaTypes  {kIMCalo, kSSCalo, kIMCaloTracks};  
+  anaTypes       GetAnalysisType()                     const { return fAnaType               ; }
+  void           SetAnalysisType(anaTypes ana)               { fAnaType = ana                ; }
+  
+  TString        GetInputAODGammaConvName()            const { return fInputAODGammaConvName ; }
+  void           SetInputAODGammaConvName(TString name)      { fInputAODGammaConvName = name ; }       
+  
+  //Only for pi0 SS identification case
+  void           SetCalorimeter(TString & det)               { fCalorimeter = det            ; }
   
+  void           SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
+                  fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3                              ; }
+
+  //For histograms
+  enum mcTypes   { mcPhoton = 0, mcConversion = 1, mcPi0    = 2,  
+                   mcEta    = 3, mcElectron   = 4, mcHadron = 5 };
+
  private:
   
-  anaTypes fAnaType; //Select analysis type
+  anaTypes       fAnaType; //Select analysis type
   
   //Only for pi0 SS identification case, kSSCalo
-  TString fCalorimeter ; // Calorimeter where the gamma is searched;
-  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
+  TString        fCalorimeter ;            // Calorimeter where the gamma is searched;
+  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
   
   //Only for combination of calorimeter and conversion photons, kIMCaloTracks
-  TClonesArray * fInputAODGammaConv; //AOD array with conversion photons reconstructed in CTS
-  TString fInputAODGammaConvName;    //Name of AOD branch with conversion photons
+  TClonesArray * fInputAODGammaConv;       //! AOD array with conversion photons reconstructed in CTS
+  TString        fInputAODGammaConvName;   //  Name of AOD branch with conversion photons
   
   //Histograms
-  TH1F * fhPtPi0   ;         //! Number of identified  pi0
-  TH2F * fhPhiPi0  ;         //! Phi of identified  pi0
-  TH2F * fhEtaPi0  ;         //! eta of identified  pi0  
-  
-  //MC
-  TH1F * fhPtMCNoPi0;   //! Number of identified pi0, not coming from pi0
-  TH2F * fhPhiMCNoPi0;  //! Phi of identified pi0, not coming from pi0
-  TH2F * fhEtaMCNoPi0;  //! eta of identified  pi0, not coming from pi0
-  TH1F * fhPtMCPi0;     //! Number of identified pi0, coming from pi0
-  TH2F * fhPhiMCPi0;    //! Phi of identified pi0, coming from pi0
-  TH2F * fhEtaMCPi0;    //! eta of identified pi0, coming from pi0
-  
-  ClassDef(AliAnaPi0EbE,1)
-    } ;
+  
+  TH1F         * fhPtPi0  ;                //! Number of identified  pi0 vs pT
+  TH1F         * fhEPi0   ;                //! Number of identified  pi0 vs E
+  TH3F         * fhEEtaPhiPi0  ;           //! E vs eta phi of identified  pi0 
+  
+  TH2F         * fhEDispersion ;           //! E vs disp of pi0 pairs
+  TH2F         * fhELambda0 ;              //! E vs lambda0 of pi0 pairs 
+  TH2F         * fhELambda1 ;              //! E vs lambda1 of pi0 pairs 
+  TH2F         * fhELambda0NoTRD ;         //! E vs lambda0 of pi0 pairs, not behind TRD 
+  TH2F         * fhELambda0FracMaxCellCut ;//! E vs lambda0 of pi0 pairs, fraction of cluster energy in max cell cut 
+  TH2F         * fhEFracMaxCell ;          //! E vs frac max cell of cluster  
+  TH2F         * fhEFracMaxCellNoTRD ;     //! E vs frac max cell of cluster, not behind TRD  
+
+  TH2F         * fhClusterPairDiffTimeE;   //! Pair of clusters time difference vs E
+  TH2F         * fhClusterPairDiffTimeAsy; //! Pair of clusters time difference vs Asymmetry
+  
+  //MC histograms
+  
+  TH2F         * fhEMCLambda0[6] ;         //! E vs lambda0 of pi0 pairs but really from MC particle
+  TH2F         * fhEMCLambda1[6] ;         //! E vs lambda1 of pi0 pairs but really from MC particle
+  TH2F         * fhEMCDispersion[6] ;      //! E vs dispersion of pi0 pairs but really from MC particle
+  TH2F         * fhEMCLambda0NoTRD[6] ;         //! E vs lambda0 of pi0 pairs but really from MC particle, not behind TRD
+  TH2F         * fhEMCLambda0FracMaxCellCut[6] ;//! E vs lambda0 of pi0 pairs but really from MC particle, fraction of cluster energy in max cell cut
+  TH2F         * fhEMCFracMaxCell[6] ;     //! E vs fraction of max cell 
+  
+  TH1F         * fhPtMCNoPi0;              //! Number of identified pi0, not coming from pi0
+  TH2F         * fhPhiMCNoPi0;             //! Phi of identified pi0, not coming from pi0
+  TH2F         * fhEtaMCNoPi0;             //! eta of identified  pi0, not coming from pi0
+  TH1F         * fhPtMCPi0;                //! Number of identified pi0, coming from pi0
+  TH2F         * fhPhiMCPi0;               //! Phi of identified pi0, coming from pi0
+  TH2F         * fhEtaMCPi0;               //! eta of identified pi0, coming from pi0
+  
+  ClassDef(AliAnaPi0EbE,7)
+} ;
 
 
 #endif //ALIANAPI0EBE_H