]>
Commit | Line | Data |
---|---|---|
477d6cee | 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 --- | |
57b97dc6 | 20 | class TH3F ; |
477d6cee | 21 | class TList ; |
0c1383b5 | 22 | class TObjString; |
477d6cee | 23 | |
24 | // --- ANALYSIS system --- | |
25 | #include "AliAnaPartCorrBaseClass.h" | |
477d6cee | 26 | |
27 | class AliAnaPi0EbE : public AliAnaPartCorrBaseClass { | |
28 | ||
29 | public: | |
477d6cee | 30 | AliAnaPi0EbE() ; // default ctor |
78219bac | 31 | virtual ~AliAnaPi0EbE() ; //virtual dtor |
32 | private: | |
477d6cee | 33 | AliAnaPi0EbE(const AliAnaPi0EbE & g) ; // cpy ctor |
34 | AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ;//cpy assignment | |
78219bac | 35 | |
36 | public: | |
0c1383b5 | 37 | |
c4a7d28a | 38 | //General |
0c1383b5 | 39 | TObjString * GetAnalysisCuts(); |
40 | TList * GetCreateOutputObjects(); | |
477d6cee | 41 | |
c4a7d28a | 42 | void Init(); |
43 | void InitParameters(); | |
44 | void Print(const Option_t * opt) const; | |
45 | ||
46 | void MakeAnalysisFillAOD() ; | |
47 | void MakeAnalysisFillHistograms() ; | |
477d6cee | 48 | |
c4a7d28a | 49 | // Main |
50 | void MakeInvMassInCalorimeter() ; | |
51 | void MakeInvMassInCalorimeterAndCTS() ; | |
52 | void MakeShowerShapeIdentification() ; | |
477d6cee | 53 | |
c4a7d28a | 54 | //Setters Getters |
55 | enum anaTypes {kIMCalo, kSSCalo, kIMCaloTracks}; | |
56 | anaTypes GetAnalysisType() const { return fAnaType ; } | |
57 | void SetAnalysisType(anaTypes ana) { fAnaType = ana ; } | |
477d6cee | 58 | |
c4a7d28a | 59 | TString GetInputAODGammaConvName() const { return fInputAODGammaConvName ; } |
60 | void SetInputAODGammaConvName(TString name) { fInputAODGammaConvName = name ; } | |
477d6cee | 61 | |
62 | //Only for pi0 SS identification case | |
c4a7d28a | 63 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } |
477d6cee | 64 | |
c4a7d28a | 65 | void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) { |
66 | fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3 ; } | |
477d6cee | 67 | |
57b97dc6 | 68 | //Histograms range |
69 | ||
c4a7d28a | 70 | void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n) { |
71 | fHistoSSBins = n ; fHistoSSMax = max ; fHistoSSMin = min ; } | |
57b97dc6 | 72 | |
c4a7d28a | 73 | Int_t GetHistoShowerShapeBins() const { return fHistoSSBins ; } |
74 | Float_t GetHistoShowerShapeMin() const { return fHistoSSMin ; } | |
75 | Float_t GetHistoShowerShapeMax() const { return fHistoSSMax ; } | |
57b97dc6 | 76 | |
77 | ||
ddc0a8a5 | 78 | void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n) { |
79 | fHistoDiffTimeBins = n ; fHistoDiffTimeMax = max ; fHistoDiffTimeMin = min ; } | |
80 | ||
81 | Int_t GetHistoDiffTimeBins() const { return fHistoDiffTimeBins ; } | |
82 | Float_t GetHistoDiffTimeMin() const { return fHistoDiffTimeMin ; } | |
83 | Float_t GetHistoDiffTimeMax() const { return fHistoDiffTimeMax ; } | |
84 | ||
85 | ||
477d6cee | 86 | private: |
87 | ||
88 | anaTypes fAnaType; //Select analysis type | |
89 | ||
90 | //Only for pi0 SS identification case, kSSCalo | |
c4a7d28a | 91 | TString fCalorimeter ; // Calorimeter where the gamma is searched; |
92 | Float_t fMinDist ; // Minimal distance to bad channel to accept cluster | |
93 | Float_t fMinDist2; // Cuts on Minimal distance to study acceptance evaluation | |
94 | Float_t fMinDist3; // One more cut on distance used for acceptance-efficiency study | |
477d6cee | 95 | |
96 | //Only for combination of calorimeter and conversion photons, kIMCaloTracks | |
c4a7d28a | 97 | TClonesArray * fInputAODGammaConv; //! AOD array with conversion photons reconstructed in CTS |
98 | TString fInputAODGammaConvName; // Name of AOD branch with conversion photons | |
477d6cee | 99 | |
100 | //Histograms | |
c4a7d28a | 101 | Int_t fHistoSSBins; // Shower Shape parameter histogram number of bins |
102 | Float_t fHistoSSMax; // Shower Shape parameter position maximum value | |
103 | Float_t fHistoSSMin; // Shower Shape parameter position minimum value | |
57b97dc6 | 104 | |
ddc0a8a5 | 105 | Int_t fHistoDiffTimeBins; // Difference cluster pair time parameter histogram number of bins |
106 | Float_t fHistoDiffTimeMax; // Difference cluster pair time parameter position maximum value | |
107 | Float_t fHistoDiffTimeMin; // Difference cluster pair time parameter position minimum value | |
108 | ||
c4a7d28a | 109 | TH1F * fhPtPi0 ; //! Number of identified pi0 vs pT |
110 | TH1F * fhEPi0 ; //! Number of identified pi0 vs E | |
111 | TH3F * fhEEtaPhiPi0 ; //! E vs eta phi of identified pi0 | |
112 | TH2F * fhEDispPi0 ; //! E vs disp of pi0 pairs | |
113 | TH2F * fhEDispBkg ; //! E vs disp of discarded pairs | |
114 | TH2F * fhELambda0Pi0 ; //! E vs lambda0 of pi0 pairs | |
115 | TH2F * fhELambda0Bkg ; //! E vs lambda0 of discarded pairs | |
116 | TH2F * fhELambda1Pi0 ; //! E vs lambda1 of pi0 pairs | |
117 | TH2F * fhELambda1Bkg ; //! E vs lambda1 of discarded pairs | |
118 | ||
119 | TH2F * fhELambdaPi0EtaCen ; //! E vs lambda0 of pi0 pairs, |eta| < 0.2 | |
120 | TH2F * fhELambdaPi0EtaMid ; //! E vs lambda0 of pi0 pairs, 0.2 < |eta| < 0.5 | |
121 | TH2F * fhELambdaPi0EtaBor ; //! E vs lambda0 of pi0 pairs |eta| > 0.5 | |
57b97dc6 | 122 | |
c4a7d28a | 123 | TH2F * fhClusterPairDiffTimeE; //! Pair of clusters time difference vs E |
124 | TH2F * fhClusterPairDiffTimeAsy; //! Pair of clusters time difference vs Asymmetry | |
125 | ||
126 | //MC histograms | |
127 | ||
128 | TH2F * fhELambdaPhNoConv ; //! E vs lambda0 of pi0 pairs(Really photons not conversion) | |
129 | TH2F * fhELambdaConvPhotons ; //! E vs lambda0 of pi0 pairs (converted photons) | |
130 | TH2F * fhELambdaElectrons ; //! E vs lambda0 of pi0 pairs (Electrons) | |
131 | TH2F * fhELambdaPi0NoPh ; //! E vs lambda0 of pi0 pairs(Son pi0s) | |
132 | TH2F * fhELambdaOtherParts ; //! E vs lambda0 vs pi0 pairs (other particles) | |
133 | ||
134 | TH1F * fhPtMCNoPi0; //! Number of identified pi0, not coming from pi0 | |
135 | TH2F * fhPhiMCNoPi0; //! Phi of identified pi0, not coming from pi0 | |
136 | TH2F * fhEtaMCNoPi0; //! eta of identified pi0, not coming from pi0 | |
137 | TH1F * fhPtMCPi0; //! Number of identified pi0, coming from pi0 | |
138 | TH2F * fhPhiMCPi0; //! Phi of identified pi0, coming from pi0 | |
139 | TH2F * fhEtaMCPi0; //! eta of identified pi0, coming from pi0 | |
140 | ||
141 | ||
ddc0a8a5 | 142 | ClassDef(AliAnaPi0EbE,5) |
c4a7d28a | 143 | } ; |
477d6cee | 144 | |
145 | ||
146 | #endif //ALIANAPI0EBE_H | |
147 | ||
148 | ||
149 |