]>
Commit | Line | Data |
---|---|---|
992b14a7 | 1 | #ifndef ALIANAINSIDECLUSTERINVARIANTMASS_H |
2 | #define ALIANAINSIDECLUSTERINVARIANTMASS_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
992b14a7 | 5 | |
6 | //_________________________________________________________________________ | |
7 | // | |
8 | // Split clusters with some criteria and calculate invariant mass | |
9 | // to identify them as pi0 or conversion | |
10 | // | |
11 | // | |
12 | //-- Author: Gustavo Conesa (LPSC-Grenoble) | |
13 | //_________________________________________________________________________ | |
14 | ||
15 | ||
16 | // --- ROOT system --- | |
17 | class TList ; | |
18 | class TObjString; | |
19 | class TLorentzVector; | |
20 | ||
21 | // --- ANALYSIS system --- | |
5c46c992 | 22 | class AliAODCaloCluster; |
23 | ||
745913ae | 24 | #include "AliAnaCaloTrackCorrBaseClass.h" |
992b14a7 | 25 | |
745913ae | 26 | class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass { |
992b14a7 | 27 | |
28 | public: | |
3c1d9afb | 29 | |
992b14a7 | 30 | AliAnaInsideClusterInvariantMass() ; // default ctor |
31 | virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor | |
992b14a7 | 32 | |
33 | TObjString * GetAnalysisCuts(); | |
34 | ||
35 | TList * GetCreateOutputObjects(); | |
3c1d9afb | 36 | |
992b14a7 | 37 | void Init(); |
38 | ||
39 | void InitParameters(); | |
40 | ||
41 | void MakeAnalysisFillHistograms() ; | |
992b14a7 | 42 | |
71e3889f | 43 | void Print(const Option_t * opt) const; |
992b14a7 | 44 | |
71e3889f | 45 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } |
46 | ||
47 | void SetM02Cut(Float_t min=0, Float_t max=10) { fM02MinCut = min ; fM02MaxCut = max ; } | |
992b14a7 | 48 | |
71e3889f | 49 | void SetMinNCells(Int_t cut) { fMinNCells = cut ; } |
2cb134fb | 50 | |
51 | void SetMinBadChannelDistance(Float_t cut) { fMinBadDist = cut ; } | |
992b14a7 | 52 | |
883411b2 | 53 | void SwitchOnFillAngleHistograms() { fFillAngleHisto = kTRUE ; } |
54 | void SwitchOffFillAngleHistograms() { fFillAngleHisto = kFALSE ; } | |
55 | ||
56 | void SwitchOnFillExtraSSHistograms() { fFillSSExtraHisto = kTRUE ; } | |
57 | void SwitchOffFillExtraSSHistograms() { fFillSSExtraHisto = kFALSE ; } | |
8e81c2cf | 58 | |
59 | void SwitchOnFillTMResidualHistograms() { fFillTMResidualHisto = kTRUE ; } | |
60 | void SwitchOffFillTMResidualHistograms() { fFillTMResidualHisto = kFALSE ; } | |
61 | ||
992b14a7 | 62 | //For histograms |
c5693f62 | 63 | enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3, |
64 | kmcEta = 4, kmcElectron = 5, kmcHadron = 6 }; | |
992b14a7 | 65 | |
66 | private: | |
67 | ||
5c46c992 | 68 | TString fCalorimeter ; // Calorimeter where the gamma is searched |
3c1d9afb | 69 | Float_t fM02MaxCut ; // Study clusters with l0 smaller than cut |
70 | Float_t fM02MinCut ; // Study clusters with l0 larger than cut | |
71 | Int_t fMinNCells ; // Study clusters with ncells larger than cut | |
72 | Float_t fMinBadDist ; // Minimal distance to bad channel to accept cluster | |
243c2909 | 73 | |
883411b2 | 74 | Bool_t fFillAngleHisto; // Fill splitted clusters angle histograms |
8e81c2cf | 75 | Bool_t fFillTMResidualHisto ; // Fill track matching histos, residuals |
76 | Bool_t fFillSSExtraHisto ; // Fill shower shape extra histos | |
77 | ||
992b14a7 | 78 | //Histograms |
79 | ||
0137016b | 80 | TH2F * fhMassNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max vs E, 1-6 for different MC particle types |
5c46c992 | 81 | TH2F * fhMassNLocMax2[7][2] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types |
82 | TH2F * fhMassNLocMaxN[7][2] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types | |
83 | ||
0137016b | 84 | TH2F * fhMassM02NLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types |
85 | TH2F * fhMassM02NLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
86 | TH2F * fhMassM02NLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
87 | ||
26680f06 | 88 | TH2F * fhMassM02NLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters |
89 | TH2F * fhMassM02NLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
90 | TH2F * fhMassM02NLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
7b686344 | 91 | |
d2655d46 | 92 | TH2F * fhMassDispEtaNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types |
93 | TH2F * fhMassDispEtaNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
94 | TH2F * fhMassDispEtaNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
95 | ||
96 | TH2F * fhMassDispEtaNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
97 | TH2F * fhMassDispEtaNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
98 | TH2F * fhMassDispEtaNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
99 | ||
100 | TH2F * fhMassDispPhiNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
101 | TH2F * fhMassDispPhiNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
102 | TH2F * fhMassDispPhiNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
103 | ||
104 | TH2F * fhMassDispPhiNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
105 | TH2F * fhMassDispPhiNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
106 | TH2F * fhMassDispPhiNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
107 | ||
108 | TH2F * fhMassDispAsyNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
109 | TH2F * fhMassDispAsyNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
110 | TH2F * fhMassDispAsyNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
111 | ||
112 | TH2F * fhMassDispAsyNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
113 | TH2F * fhMassDispAsyNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
114 | TH2F * fhMassDispAsyNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
115 | ||
5c46c992 | 116 | TH2F * fhNLocMax [7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types |
5c46c992 | 117 | TH2F * fhNLocMaxM02Cut[7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut |
118 | ||
119 | TH2F * fhM02NLocMax1 [7][2] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types | |
120 | TH2F * fhM02NLocMax2 [7][2] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types | |
121 | TH2F * fhM02NLocMaxN [7][2] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types | |
8e81c2cf | 122 | |
123 | TH2F * fhMCAsymM02NLocMax1MCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster = 1, for 4 energy bins | |
124 | TH2F * fhMCAsymM02NLocMax2MCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster = 2, for 4 energy bins | |
125 | TH2F * fhMCAsymM02NLocMaxNMCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster > 2, for 4 energy bins | |
126 | ||
127 | TH2F * fhMCGenFracNLocMax1[7][2] ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 1, 1-6 for different MC particle types | |
128 | TH2F * fhMCGenFracNLocMax2[7][2] ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types | |
129 | TH2F * fhMCGenFracNLocMaxN[7][2] ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, 1-6 for different MC particle types | |
130 | ||
5094c724 | 131 | TH2F * fhMCGenSplitEFracNLocMax1[7][2] ; //! E generated particle / E1+E2 reconstructed vs E reconstructed for N max in cluster = 1, 1-6 for different MC particle types |
132 | TH2F * fhMCGenSplitEFracNLocMax2[7][2] ; //! E generated particle / E1+E2 reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types | |
133 | TH2F * fhMCGenSplitEFracNLocMaxN[7][2] ; //! E generated particle / E1+E2 reconstructed vs E reconstructed for N max in cluster > 2, 1-6 for different MC particle types | |
bb2d339b | 134 | |
135 | TH2F * fhMCGenEFracvsSplitEFracNLocMax1[7][2] ; //! E generated particle / E reconstructed vs E1+E2 reconstructed / E reconstructed for N max in cluster = 1, 1-6 for different MC particle types | |
136 | TH2F * fhMCGenEFracvsSplitEFracNLocMax2[7][2] ; //! E generated particle / E reconstructed vs E1+E2 reconstructed / E reconstructed for N max in cluster = 2, 1-6 for different MC particle types | |
137 | TH2F * fhMCGenEFracvsSplitEFracNLocMaxN[7][2] ; //! E generated particle / E reconstructed vs E1+E2 reconstructed / E reconstructed for N max in cluster > 2, 1-6 for different MC particle types | |
138 | ||
139 | TH2F * fhMCGenEvsSplitENLocMax1[7][2] ; //! E generated particle vs E1+E2 for N max in cluster = 1, 1-6 for different MC particle types | |
140 | TH2F * fhMCGenEvsSplitENLocMax2[7][2] ; //! E generated particle vs E1+E2 for N max in cluster = 2, 1-6 for different MC particle types | |
141 | TH2F * fhMCGenEvsSplitENLocMaxN[7][2] ; //! E generated particle vs E1+E2 for N max in cluster > 2, 1-6 for different MC particle types | |
142 | ||
53f2c382 | 143 | TH2F * fhMCGenFracNLocMaxEbin[7][4] ; //! NLM vs E generated particle / E reconstructed vs E reconstructed 1-6 for different MC particle types, not matched to track |
144 | TH2F * fhMCGenFracNLocMaxEbinMatched[7][4] ; //! NLM vs E generated particle / E reconstructed vs E reconstructed 1-6 for different MC particle types, matched to track | |
145 | ||
8e81c2cf | 146 | TH2F * fhM02MCGenFracNLocMax1Ebin[7][4] ; //! M02 vs E generated particle / E reconstructed vs E reconstructed for N max in cluster = 1, 1-6 for different MC particle types, not track matched |
147 | TH2F * fhM02MCGenFracNLocMax2Ebin[7][4] ; //! M02 vs E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types, not track matched | |
148 | TH2F * fhM02MCGenFracNLocMaxNEbin[7][4] ; //! M02 vs E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, 1-6 for different MC particle types, not track matched | |
149 | ||
150 | TH2F * fhMassMCGenFracNLocMax1Ebin[7][4] ; //! Mass vs E generated particle / E reconstructed vs E reconstructed for N max in cluster = 1, 1-6 for different MC particle types, not track matched | |
151 | TH2F * fhMassMCGenFracNLocMax2Ebin[7][4] ; //! Mass vs E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types, not track matched | |
152 | TH2F * fhMassMCGenFracNLocMaxNEbin[7][4] ; //! Mass vs E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, 1-6 for different MC particle types, not track matched | |
153 | ||
5c46c992 | 154 | TH2F * fhNCellNLocMax1[7][2] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types |
155 | TH2F * fhNCellNLocMax2[7][2] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types | |
156 | TH2F * fhNCellNLocMaxN[7][2] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types | |
992b14a7 | 157 | |
5c46c992 | 158 | TH2F * fhM02Pi0LocMax1[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 1 |
159 | TH2F * fhM02EtaLocMax1[7][2] ; //! M02 for Mass around eta, N Local Maxima = 1 | |
160 | TH2F * fhM02ConLocMax1[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 1 | |
992b14a7 | 161 | |
5c46c992 | 162 | TH2F * fhM02Pi0LocMax2[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 2 |
163 | TH2F * fhM02EtaLocMax2[7][2] ; //! M02 for Mass around eta, N Local Maxima = 2 | |
164 | TH2F * fhM02ConLocMax2[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 2 | |
165 | ||
166 | TH2F * fhM02Pi0LocMaxN[7][2] ; //! M02 for Mass around pi0, N Local Maxima > 2 | |
167 | TH2F * fhM02EtaLocMaxN[7][2] ; //! M02 for Mass around eta, N Local Maxima > 2 | |
168 | TH2F * fhM02ConLocMaxN[7][2] ; //! M02 for Mass around close to 0, N Local Maxima > 2 | |
fc01318e | 169 | |
bb2d339b | 170 | TH2F * fhMassPi0LocMax1[7][2] ; //! Mass for selected pi0, N Local Maxima = 1 |
171 | TH2F * fhMassEtaLocMax1[7][2] ; //! Mass for selected around eta, N Local Maxima = 1 | |
172 | TH2F * fhMassConLocMax1[7][2] ; //! Mass for selected around close to 0, N Local Maxima = 1 | |
173 | ||
174 | TH2F * fhMassPi0LocMax2[7][2] ; //! Mass for selected around pi0, N Local Maxima = 2 | |
175 | TH2F * fhMassEtaLocMax2[7][2] ; //! Mass for selected around eta, N Local Maxima = 2 | |
176 | TH2F * fhMassConLocMax2[7][2] ; //! Mass for selected around close to 0, N Local Maxima = 2 | |
177 | ||
178 | TH2F * fhMassPi0LocMaxN[7][2] ; //! Mass for selected around pi0, N Local Maxima > 2 | |
179 | TH2F * fhMassEtaLocMaxN[7][2] ; //! Mass for selected around eta, N Local Maxima > 2 | |
180 | TH2F * fhMassConLocMaxN[7][2] ; //! Mass for selected around close to 0, N Local Maxima > 2 | |
181 | ||
fc01318e | 182 | TH2F * fhSplitEFractionNLocMax1[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima = 1 |
183 | TH2F * fhSplitEFractionNLocMax2[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima = 2 | |
184 | TH2F * fhSplitEFractionNLocMaxN[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima > 2 | |
185 | ||
186 | TH2F * fhMassSplitEFractionNLocMax1Ebin[7][4] ; //! Mass vs sum of splitted cluster energy / cluster energy for N max in cluster = 1, 1-6 for different MC particle types, not track matched | |
187 | TH2F * fhMassSplitEFractionNLocMax2Ebin[7][4] ; //! Mass vs sum of splitted cluster energy / cluster energy for N max in cluster = 2, 1-6 for different MC particle types, not track matched | |
188 | TH2F * fhMassSplitEFractionNLocMaxNEbin[7][4] ; //! Mass vs sum of splitted cluster energy / cluster energy for N max in cluster > 2, 1-6 for different MC particle types, not track matched | |
5094c724 | 189 | |
5c46c992 | 190 | TH2F * fhAnglePairLocMax1[2] ; //! pair opening angle vs E |
191 | TH2F * fhAnglePairLocMax2[2] ; //! pair opening angle vs E | |
192 | TH2F * fhAnglePairLocMaxN[2] ; //! pair opening angle vs E | |
193 | ||
0137016b | 194 | TH2F * fhAnglePairMassLocMax1[2] ; //! pair opening angle vs Mass for E > 7 GeV |
195 | TH2F * fhAnglePairMassLocMax2[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
196 | TH2F * fhAnglePairMassLocMaxN[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
243c2909 | 197 | |
5c46c992 | 198 | TH2F * fhTrackMatchedDEtaLocMax1[7] ; //! Eta distance between track and cluster vs cluster E, 1 local maximum |
199 | TH2F * fhTrackMatchedDPhiLocMax1[7] ; //! Phi distance between track and cluster vs cluster E, 1 local maximum | |
200 | TH2F * fhTrackMatchedDEtaLocMax2[7] ; //! Eta distance between track and cluster vs cluster E, 2 local maximum | |
201 | TH2F * fhTrackMatchedDPhiLocMax2[7] ; //! Phi distance between track and cluster vs cluster E, 2 local maximum | |
202 | TH2F * fhTrackMatchedDEtaLocMaxN[7] ; //! Eta distance between track and cluster vs cluster E, more than 2 local maximum | |
203 | TH2F * fhTrackMatchedDPhiLocMaxN[7] ; //! Phi distance between track and cluster vs cluster E, more than 2 local maximum | |
243c2909 | 204 | |
205 | AliAnaInsideClusterInvariantMass( const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor | |
29ca9cad | 206 | AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ; // cpy assignment |
992b14a7 | 207 | |
883411b2 | 208 | ClassDef(AliAnaInsideClusterInvariantMass,14) |
992b14a7 | 209 | |
210 | } ; | |
211 | ||
212 | #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H | |
213 | ||
214 | ||
215 |