]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaPi0EbE.h
Add histograms for cluster with origin a Eta, correct the way the histograms dependen...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaPi0EbE.h
1 #ifndef ALIANAPI0EBE_H
2 #define ALIANAPI0EBE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id: AliAnaPi0EbE.h 27413 2008-07-18 13:28:12Z gconesab $ */
6
7 //_________________________________________________________________________
8 //
9 // Class for the analysis of high pT pi0 event by event
10 // Pi0 identified by one of the following:
11 //  -Invariant mass of 2 cluster in calorimeter
12 //  -Shower shape analysis in calorimeter
13 //  -Invariant mass of one cluster in calorimeter and one photon reconstructed in TPC (in near future)
14 //
15 //-- Author: Gustavo Conesa (INFN-LNF)  &  Raphaelle Ichou (SUBATECH)
16 //_________________________________________________________________________
17
18
19 // --- ROOT system ---
20 class TH3F ; 
21 class TList ;
22 class TObjString;
23
24 // --- ANALYSIS system ---
25 #include "AliAnaPartCorrBaseClass.h"
26
27 class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
28
29  public: 
30   AliAnaPi0EbE() ; // default ctor
31   virtual ~AliAnaPi0EbE() ; //virtual dtor
32  private:
33   AliAnaPi0EbE(const AliAnaPi0EbE & g) ; // cpy ctor
34   AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ;//cpy assignment
35
36  public:  
37         
38   //General
39   
40   TObjString *   GetAnalysisCuts();
41   
42   TList      *   GetCreateOutputObjects();
43   
44   void           Init();
45   
46   void           InitParameters();
47
48   void           MakeAnalysisFillAOD()  ;
49    
50   void           MakeAnalysisFillHistograms() ; 
51   
52   void           Print(const Option_t * opt) const;
53   
54   // Main
55   
56   void           MakeInvMassInCalorimeter() ;
57   
58   void           MakeInvMassInCalorimeterAndCTS() ;
59   
60   void           MakeShowerShapeIdentification() ;
61   
62   //Setters Getters
63   
64   //Analysis types
65   enum anaTypes  {kIMCalo, kSSCalo, kIMCaloTracks};  
66   anaTypes       GetAnalysisType()                     const { return fAnaType               ; }
67   void           SetAnalysisType(anaTypes ana)               { fAnaType = ana                ; }
68   
69   TString        GetInputAODGammaConvName()            const { return fInputAODGammaConvName ; }
70   void           SetInputAODGammaConvName(TString name)      { fInputAODGammaConvName = name ; }        
71   
72   //Only for pi0 SS identification case
73   void           SetCalorimeter(TString & det)               { fCalorimeter = det            ; }
74   
75   void           SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
76                   fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3                              ; }
77
78   //For histograms
79   enum mcTypes   {mcPhoton = 0, mcConversion = 1, mcPi0 = 2,  mcEta = 3, mcElectron = 4, mcHadron = 5};
80
81  private:
82   
83   anaTypes       fAnaType; //Select analysis type
84   
85   //Only for pi0 SS identification case, kSSCalo
86   TString        fCalorimeter ;            // Calorimeter where the gamma is searched;
87   Float_t        fMinDist ;                // Minimal distance to bad channel to accept cluster
88   Float_t        fMinDist2;                // Cuts on Minimal distance to study acceptance evaluation
89   Float_t        fMinDist3;                // One more cut on distance used for acceptance-efficiency study
90   
91   //Only for combination of calorimeter and conversion photons, kIMCaloTracks
92   TClonesArray * fInputAODGammaConv;       //! AOD array with conversion photons reconstructed in CTS
93   TString        fInputAODGammaConvName;   //  Name of AOD branch with conversion photons
94   
95   //Histograms
96   
97   TH1F         * fhPtPi0  ;                //! Number of identified  pi0 vs pT
98   TH1F         * fhEPi0   ;                //! Number of identified  pi0 vs E
99   TH3F         * fhEEtaPhiPi0  ;           //! E vs eta phi of identified  pi0 
100   
101   TH2F         * fhEDispersion ;           //! E vs disp of pi0 pairs
102   TH2F         * fhELambda0 ;              //! E vs lambda0 of pi0 pairs 
103   TH2F         * fhELambda1 ;              //! E vs lambda1 of pi0 pairs 
104   
105   TH2F         * fhClusterPairDiffTimeE;   //! Pair of clusters time difference vs E
106   TH2F         * fhClusterPairDiffTimeAsy; //! Pair of clusters time difference vs Asymmetry
107   
108   //MC histograms
109   
110   TH2F         * fhEMCLambda0[6] ;         //! E vs lambda0 of pi0 pairs but really from MC particle
111   TH2F         * fhEMCLambda1[6] ;         //! E vs lambda1 of pi0 pairs but really from MC particle
112   TH2F         * fhEMCDispersion[6] ;      //! E vs dispersion of pi0 pairs but really from MC particle
113   
114   TH1F         * fhPtMCNoPi0;              //! Number of identified pi0, not coming from pi0
115   TH2F         * fhPhiMCNoPi0;             //! Phi of identified pi0, not coming from pi0
116   TH2F         * fhEtaMCNoPi0;             //! eta of identified  pi0, not coming from pi0
117   TH1F         * fhPtMCPi0;                //! Number of identified pi0, coming from pi0
118   TH2F         * fhPhiMCPi0;               //! Phi of identified pi0, coming from pi0
119   TH2F         * fhEtaMCPi0;               //! eta of identified pi0, coming from pi0
120   
121   ClassDef(AliAnaPi0EbE,7)
122 } ;
123
124
125 #endif //ALIANAPI0EBE_H
126
127
128