]>
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 | |
8e81c2cf | 53 | void SwitchOnFillExtraSSHistograms() { fFillSSExtraHisto = kTRUE ; } |
54 | void SwitchOffFillExtraSSHistograms() { fFillSSExtraHisto = kFALSE ; } | |
55 | ||
56 | void SwitchOnFillTMResidualHistograms() { fFillTMResidualHisto = kTRUE ; } | |
57 | void SwitchOffFillTMResidualHistograms() { fFillTMResidualHisto = kFALSE ; } | |
58 | ||
992b14a7 | 59 | //For histograms |
c5693f62 | 60 | enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3, |
61 | kmcEta = 4, kmcElectron = 5, kmcHadron = 6 }; | |
992b14a7 | 62 | |
63 | private: | |
64 | ||
5c46c992 | 65 | TString fCalorimeter ; // Calorimeter where the gamma is searched |
3c1d9afb | 66 | Float_t fM02MaxCut ; // Study clusters with l0 smaller than cut |
67 | Float_t fM02MinCut ; // Study clusters with l0 larger than cut | |
68 | Int_t fMinNCells ; // Study clusters with ncells larger than cut | |
69 | Float_t fMinBadDist ; // Minimal distance to bad channel to accept cluster | |
243c2909 | 70 | |
8e81c2cf | 71 | Bool_t fFillTMResidualHisto ; // Fill track matching histos, residuals |
72 | Bool_t fFillSSExtraHisto ; // Fill shower shape extra histos | |
73 | ||
992b14a7 | 74 | //Histograms |
75 | ||
0137016b | 76 | TH2F * fhMassNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max vs E, 1-6 for different MC particle types |
5c46c992 | 77 | TH2F * fhMassNLocMax2[7][2] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types |
78 | TH2F * fhMassNLocMaxN[7][2] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types | |
79 | ||
0137016b | 80 | 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 |
81 | TH2F * fhMassM02NLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
82 | TH2F * fhMassM02NLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
83 | ||
26680f06 | 84 | TH2F * fhMassM02NLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters |
85 | TH2F * fhMassM02NLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
86 | TH2F * fhMassM02NLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
7b686344 | 87 | |
d2655d46 | 88 | 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 |
89 | TH2F * fhMassDispEtaNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
90 | TH2F * fhMassDispEtaNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
91 | ||
92 | TH2F * fhMassDispEtaNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
93 | TH2F * fhMassDispEtaNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
94 | TH2F * fhMassDispEtaNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
95 | ||
96 | 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 | |
97 | TH2F * fhMassDispPhiNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
98 | TH2F * fhMassDispPhiNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
99 | ||
100 | TH2F * fhMassDispPhiNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
101 | TH2F * fhMassDispPhiNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
102 | TH2F * fhMassDispPhiNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
103 | ||
104 | 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 | |
105 | TH2F * fhMassDispAsyNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
106 | TH2F * fhMassDispAsyNLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
107 | ||
108 | TH2F * fhMassDispAsyNLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters | |
109 | TH2F * fhMassDispAsyNLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
110 | TH2F * fhMassDispAsyNLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters | |
111 | ||
5c46c992 | 112 | TH2F * fhNLocMax [7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types |
5c46c992 | 113 | TH2F * fhNLocMaxM02Cut[7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut |
114 | ||
115 | TH2F * fhM02NLocMax1 [7][2] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types | |
116 | TH2F * fhM02NLocMax2 [7][2] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types | |
117 | TH2F * fhM02NLocMaxN [7][2] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types | |
8e81c2cf | 118 | |
119 | TH2F * fhMCAsymM02NLocMax1MCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster = 1, for 4 energy bins | |
120 | TH2F * fhMCAsymM02NLocMax2MCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster = 2, for 4 energy bins | |
121 | TH2F * fhMCAsymM02NLocMaxNMCPi0Ebin[4] ; //! M02 vs decay asymmetry for N max in cluster > 2, for 4 energy bins | |
122 | ||
123 | 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 | |
124 | 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 | |
125 | 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 | |
126 | ||
127 | 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 | |
128 | 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 | |
129 | 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 | |
130 | ||
131 | 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 | |
132 | 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 | |
133 | 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 | |
134 | ||
5c46c992 | 135 | TH2F * fhNCellNLocMax1[7][2] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types |
136 | TH2F * fhNCellNLocMax2[7][2] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types | |
137 | TH2F * fhNCellNLocMaxN[7][2] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types | |
992b14a7 | 138 | |
5c46c992 | 139 | TH2F * fhM02Pi0LocMax1[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 1 |
140 | TH2F * fhM02EtaLocMax1[7][2] ; //! M02 for Mass around eta, N Local Maxima = 1 | |
141 | TH2F * fhM02ConLocMax1[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 1 | |
992b14a7 | 142 | |
5c46c992 | 143 | TH2F * fhM02Pi0LocMax2[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 2 |
144 | TH2F * fhM02EtaLocMax2[7][2] ; //! M02 for Mass around eta, N Local Maxima = 2 | |
145 | TH2F * fhM02ConLocMax2[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 2 | |
146 | ||
147 | TH2F * fhM02Pi0LocMaxN[7][2] ; //! M02 for Mass around pi0, N Local Maxima > 2 | |
148 | TH2F * fhM02EtaLocMaxN[7][2] ; //! M02 for Mass around eta, N Local Maxima > 2 | |
149 | TH2F * fhM02ConLocMaxN[7][2] ; //! M02 for Mass around close to 0, N Local Maxima > 2 | |
150 | ||
151 | TH2F * fhAnglePairLocMax1[2] ; //! pair opening angle vs E | |
152 | TH2F * fhAnglePairLocMax2[2] ; //! pair opening angle vs E | |
153 | TH2F * fhAnglePairLocMaxN[2] ; //! pair opening angle vs E | |
154 | ||
0137016b | 155 | TH2F * fhAnglePairMassLocMax1[2] ; //! pair opening angle vs Mass for E > 7 GeV |
156 | TH2F * fhAnglePairMassLocMax2[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
157 | TH2F * fhAnglePairMassLocMaxN[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
243c2909 | 158 | |
5c46c992 | 159 | TH2F * fhTrackMatchedDEtaLocMax1[7] ; //! Eta distance between track and cluster vs cluster E, 1 local maximum |
160 | TH2F * fhTrackMatchedDPhiLocMax1[7] ; //! Phi distance between track and cluster vs cluster E, 1 local maximum | |
161 | TH2F * fhTrackMatchedDEtaLocMax2[7] ; //! Eta distance between track and cluster vs cluster E, 2 local maximum | |
162 | TH2F * fhTrackMatchedDPhiLocMax2[7] ; //! Phi distance between track and cluster vs cluster E, 2 local maximum | |
163 | TH2F * fhTrackMatchedDEtaLocMaxN[7] ; //! Eta distance between track and cluster vs cluster E, more than 2 local maximum | |
164 | TH2F * fhTrackMatchedDPhiLocMaxN[7] ; //! Phi distance between track and cluster vs cluster E, more than 2 local maximum | |
243c2909 | 165 | |
166 | AliAnaInsideClusterInvariantMass( const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor | |
29ca9cad | 167 | AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ; // cpy assignment |
992b14a7 | 168 | |
8e81c2cf | 169 | ClassDef(AliAnaInsideClusterInvariantMass,13) |
992b14a7 | 170 | |
171 | } ; | |
172 | ||
173 | #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H | |
174 | ||
175 | ||
176 |