]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaPi0EbE.h
pass the TString with & to avoid crashes
[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   enum anaTypes {kIMCalo, kSSCalo, kIMCaloTracks};
39         
40   TObjString * GetAnalysisCuts();
41   TList      * GetCreateOutputObjects();
42   
43   void Init();
44   void InitParameters();
45   
46   void MakeAnalysisFillAOD()  ;
47   void MakeAnalysisFillHistograms() ; 
48   
49   void MakeInvMassInCalorimeter() ;
50   void MakeInvMassInCalorimeterAndCTS() ;
51   void MakeShowerShapeIdentification() ;
52   
53   void Print(const Option_t * opt)const;
54   
55   anaTypes GetAnalysisType()   const {return fAnaType ; }
56   void SetAnalysisType(anaTypes ana)    {fAnaType = ana ; }
57   
58   TString GetInputAODGammaConvName()   const {return fInputAODGammaConvName ; }
59   void SetInputAODGammaConvName(TString name)    {fInputAODGammaConvName = name ; }     
60   
61   //Only for pi0 SS identification case
62   void SetCalorimeter(TString & det)    {fCalorimeter = det ; }
63   
64   void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
65     fMinDist = m1;
66     fMinDist2 = m2;
67     fMinDist3 = m3;
68   }
69   
70   //Histograms range
71   
72   virtual void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
73                 fHistoSSBins  = n ;
74                 fHistoSSMax   = max ;
75                 fHistoSSMin   = min ;
76         }
77         
78         Int_t   GetHistoShowerShapeBins()  const { return fHistoSSBins ; }
79         Float_t GetHistoShowerShapeMin()   const { return fHistoSSMin ; }
80         Float_t GetHistoShowerShapeMax()   const { return fHistoSSMax ; }       
81   
82   
83  private:
84   
85   anaTypes fAnaType; //Select analysis type
86   
87   //Only for pi0 SS identification case, kSSCalo
88   TString fCalorimeter ; // Calorimeter where the gamma is searched;
89   Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster
90   Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation
91   Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study
92   
93   //Only for combination of calorimeter and conversion photons, kIMCaloTracks
94   TClonesArray * fInputAODGammaConv; //AOD array with conversion photons reconstructed in CTS
95   TString fInputAODGammaConvName;    //Name of AOD branch with conversion photons
96   
97   //Histograms
98   Int_t   fHistoSSBins;            // Shower Shape parameter histogram number of bins
99   Float_t fHistoSSMax;             // Shower Shape parameter position maximum value
100   Float_t fHistoSSMin;             // Shower Shape parameter position minimum value
101           
102   TH1F * fhPtPi0   ;         //! Number of identified  pi0
103   TH3F * fhPtEtaPhiPi0  ;    //! pt vs eta phi of identified  pi0
104   TH3F * fhPtEtaPhiBkg  ;    //! pt vs eta phi of discarded pairs  
105   TH2F * fhPtDispPi0 ;       //! pt vs disp of pi0 pairs
106   TH2F * fhPtDispBkg ;       //! pt vs disp of discarded pairs
107   TH3F * fhPtLambdaPi0 ;     //! pt vs lambda0 vs lambda1 of pi0 pairs
108   TH3F * fhPtLambdaBkg ;     //! pt vs lambda0 vs lambda1 of discarded pairs
109
110   //MC
111   TH1F * fhPtMCNoPi0;   //! Number of identified pi0, not coming from pi0
112   TH2F * fhPhiMCNoPi0;  //! Phi of identified pi0, not coming from pi0
113   TH2F * fhEtaMCNoPi0;  //! eta of identified  pi0, not coming from pi0
114   TH1F * fhPtMCPi0;     //! Number of identified pi0, coming from pi0
115   TH2F * fhPhiMCPi0;    //! Phi of identified pi0, coming from pi0
116   TH2F * fhEtaMCPi0;    //! eta of identified pi0, coming from pi0
117   
118   ClassDef(AliAnaPi0EbE,2)
119     } ;
120
121
122 #endif //ALIANAPI0EBE_H
123
124
125