5a34a946efcf4ee7c7bd04a9e9864967f0408164
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaPi0EbE.h
1 #ifndef ALIANAPI0EBE_H\r
2 #define ALIANAPI0EBE_H\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
4  * See cxx source for full Copyright notice     */\r
5 /* $Id: AliAnaPi0EbE.h 27413 2008-07-18 13:28:12Z gconesab $ */\r
6 \r
7 //_________________________________________________________________________\r
8 //\r
9 // Class for the analysis of high pT pi0 event by event\r
10 // Pi0 identified by one of the following:\r
11 //  -Invariant mass of 2 cluster in calorimeter\r
12 //  -Shower shape analysis in calorimeter\r
13 //  -Invariant mass of one cluster in calorimeter and one photon reconstructed in TPC (in near future)\r
14 //\r
15 //-- Author: Gustavo Conesa (INFN-LNF)  &  Raphaelle Ichou (SUBATECH)\r
16 //_________________________________________________________________________\r
17 \r
18 \r
19 // --- ROOT system ---\r
20 #include <TH2F.h>\r
21 #include <TString.h>\r
22 \r
23 // --- ANALYSIS system ---\r
24 #include "AliAnaPartCorrBaseClass.h"\r
25 class AliAODPWG4ParticleCorrelation ;\r
26 \r
27 class TList ;\r
28 \r
29 class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {\r
30 \r
31 public: \r
32 \r
33         AliAnaPi0EbE() ; // default ctor\r
34         AliAnaPi0EbE(const AliAnaPi0EbE & g) ; // cpy ctor\r
35         AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ;//cpy assignment\r
36         virtual ~AliAnaPi0EbE() ; //virtual dtor\r
37         \r
38         enum anaTypes {kIMCalo, kSSCalo, kIMCaloTracks};\r
39         \r
40         TList *  GetCreateOutputObjects();\r
41         \r
42         void Init();
43         void InitParameters();\r
44         \r
45         void MakeAnalysisFillAOD()  ;\r
46         void MakeAnalysisFillHistograms() ; \r
47         \r
48         void MakeInvMassInCalorimeter() ;\r
49         void MakeInvMassInCalorimeterAndCTS() ;\r
50         void MakeShowerShapeIdentification() ;\r
51         \r
52         void Print(const Option_t * opt)const;\r
53         \r
54         anaTypes GetAnalysisType()   const {return fAnaType ; }\r
55         void SetAnalysisType(anaTypes ana)    {fAnaType = ana ; }\r
56         \r
57         TString GetInputAODGammaConvName()   const {return fInputAODGammaConvName ; }\r
58         void SetInputAODGammaConvName(TString name)    {fInputAODGammaConvName = name ; }       \r
59         \r
60         //Only for pi0 SS identification case\r
61         void SetCalorimeter(TString det)    {fCalorimeter = det ; }\r
62 \r
63         void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {\r
64                 fMinDist = m1;\r
65                 fMinDist2 = m2;\r
66                 fMinDist3 = m3;\r
67         }\r
68         \r
69 private:\r
70  \r
71         anaTypes fAnaType; //Select analysis type\r
72         \r
73         //Only for pi0 SS identification case, kSSCalo\r
74         TString fCalorimeter ; // Calorimeter where the gamma is searched;\r
75         Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster\r
76         Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation\r
77         Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study\r
78         \r
79         //Only for combination of calorimeter and conversion photons, kIMCaloTracks\r
80         TClonesArray * fInputAODGammaConv; //AOD array with conversion photons reconstructed in CTS\r
81         TString fInputAODGammaConvName;    //Name of AOD branch with conversion photons\r
82         \r
83         //Histograms\r
84         TH1F * fhPtPi0   ;         //! Number of identified  pi0\r
85         TH2F * fhPhiPi0  ;         //! Phi of identified  pi0\r
86         TH2F * fhEtaPi0  ;         //! eta of identified  pi0  \r
87         \r
88         //MC\r
89         TH1F * fhPtMCNoPi0;   //! Number of identified pi0, not coming from pi0\r
90         TH2F * fhPhiMCNoPi0;  //! Phi of identified pi0, not coming from pi0\r
91         TH2F * fhEtaMCNoPi0;  //! eta of identified  pi0, not coming from pi0\r
92         TH1F * fhPtMCPi0;     //! Number of identified pi0, coming from pi0\r
93         TH2F * fhPhiMCPi0;    //! Phi of identified pi0, coming from pi0\r
94         TH2F * fhEtaMCPi0;    //! eta of identified pi0, coming from pi0\r
95         \r
96         ClassDef(AliAnaPi0EbE,1)\r
97 } ;\r
98  \r
99 \r
100 #endif //ALIANAPI0EBE_H\r
101 \r
102 \r
103 \r