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 */
6 //_________________________________________________________________________
8 // Split clusters with some criteria and calculate invariant mass
9 // to identify them as pi0 or conversion
12 //-- Author: Gustavo Conesa (LPSC-Grenoble)
13 //_________________________________________________________________________
16 // --- ROOT system ---
21 // --- ANALYSIS system ---
22 class AliAODCaloCluster;
24 #include "AliAnaCaloTrackCorrBaseClass.h"
26 class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass {
30 AliAnaInsideClusterInvariantMass() ; // default ctor
31 virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor
33 TObjString * GetAnalysisCuts();
35 TList * GetCreateOutputObjects();
39 void InitParameters();
41 void MakeAnalysisFillHistograms() ;
43 void Print(const Option_t * opt) const;
45 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
47 void SetM02Cut(Float_t min=0, Float_t max=10) { fM02MinCut = min ; fM02MaxCut = max ; }
49 void SetMinNCells(Int_t cut) { fMinNCells = cut ; }
51 void SetMinBadChannelDistance(Float_t cut) { fMinBadDist = cut ; }
53 void SwitchOnFillAngleHistograms() { fFillAngleHisto = kTRUE ; }
54 void SwitchOffFillAngleHistograms() { fFillAngleHisto = kFALSE ; }
56 void SwitchOnFillExtraSSHistograms() { fFillSSExtraHisto = kTRUE ; }
57 void SwitchOffFillExtraSSHistograms() { fFillSSExtraHisto = kFALSE ; }
59 void SwitchOnFillTMResidualHistograms() { fFillTMResidualHisto = kTRUE ; }
60 void SwitchOffFillTMResidualHistograms() { fFillTMResidualHisto = kFALSE ; }
63 enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3,
64 kmcEta = 4, kmcElectron = 5, kmcHadron = 6 };
68 TString fCalorimeter ; // Calorimeter where the gamma is searched
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
74 Bool_t fFillAngleHisto; // Fill splitted clusters angle histograms
75 Bool_t fFillTMResidualHisto ; // Fill track matching histos, residuals
76 Bool_t fFillSSExtraHisto ; // Fill shower shape extra histos
80 TH2F * fhMassNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max vs E, 1-6 for different MC particle types
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
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
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
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
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
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
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
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
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
116 TH2F * fhNLocMax [7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types
117 TH2F * fhNLocMaxM02Cut[7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut
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
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
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
131 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
132 TH2F * fhMCGenFracNLocMaxEbinMatched[7][4] ; //! NLM vs E generated particle / E reconstructed vs E reconstructed 1-6 for different MC particle types, matched to track
134 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
135 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
136 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
138 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
139 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
140 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
142 TH2F * fhNCellNLocMax1[7][2] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types
143 TH2F * fhNCellNLocMax2[7][2] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types
144 TH2F * fhNCellNLocMaxN[7][2] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types
146 TH2F * fhM02Pi0LocMax1[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 1
147 TH2F * fhM02EtaLocMax1[7][2] ; //! M02 for Mass around eta, N Local Maxima = 1
148 TH2F * fhM02ConLocMax1[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 1
150 TH2F * fhM02Pi0LocMax2[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 2
151 TH2F * fhM02EtaLocMax2[7][2] ; //! M02 for Mass around eta, N Local Maxima = 2
152 TH2F * fhM02ConLocMax2[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 2
154 TH2F * fhM02Pi0LocMaxN[7][2] ; //! M02 for Mass around pi0, N Local Maxima > 2
155 TH2F * fhM02EtaLocMaxN[7][2] ; //! M02 for Mass around eta, N Local Maxima > 2
156 TH2F * fhM02ConLocMaxN[7][2] ; //! M02 for Mass around close to 0, N Local Maxima > 2
158 TH2F * fhSplitEFractionNLocMax1[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima = 1
159 TH2F * fhSplitEFractionNLocMax2[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima = 2
160 TH2F * fhSplitEFractionNLocMaxN[7][2] ; //! sum of splitted cluster energy / cluster energy for N Local Maxima > 2
162 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
163 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
164 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
166 TH2F * fhAnglePairLocMax1[2] ; //! pair opening angle vs E
167 TH2F * fhAnglePairLocMax2[2] ; //! pair opening angle vs E
168 TH2F * fhAnglePairLocMaxN[2] ; //! pair opening angle vs E
170 TH2F * fhAnglePairMassLocMax1[2] ; //! pair opening angle vs Mass for E > 7 GeV
171 TH2F * fhAnglePairMassLocMax2[2] ; //! pair opening angle vs Mass for E > 7 GeV
172 TH2F * fhAnglePairMassLocMaxN[2] ; //! pair opening angle vs Mass for E > 7 GeV
174 TH2F * fhTrackMatchedDEtaLocMax1[7] ; //! Eta distance between track and cluster vs cluster E, 1 local maximum
175 TH2F * fhTrackMatchedDPhiLocMax1[7] ; //! Phi distance between track and cluster vs cluster E, 1 local maximum
176 TH2F * fhTrackMatchedDEtaLocMax2[7] ; //! Eta distance between track and cluster vs cluster E, 2 local maximum
177 TH2F * fhTrackMatchedDPhiLocMax2[7] ; //! Phi distance between track and cluster vs cluster E, 2 local maximum
178 TH2F * fhTrackMatchedDEtaLocMaxN[7] ; //! Eta distance between track and cluster vs cluster E, more than 2 local maximum
179 TH2F * fhTrackMatchedDPhiLocMaxN[7] ; //! Phi distance between track and cluster vs cluster E, more than 2 local maximum
181 AliAnaInsideClusterInvariantMass( const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor
182 AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ; // cpy assignment
184 ClassDef(AliAnaInsideClusterInvariantMass,14)
188 #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H