]>
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: | |
29 | AliAnaInsideClusterInvariantMass() ; // default ctor | |
30 | virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor | |
992b14a7 | 31 | |
992b14a7 | 32 | |
33 | TObjString * GetAnalysisCuts(); | |
34 | ||
35 | TList * GetCreateOutputObjects(); | |
36 | ||
243c2909 | 37 | TLorentzVector GetCellMomentum(const Int_t absId, Float_t energy, AliVCaloCells* cells) ; |
992b14a7 | 38 | |
992b14a7 | 39 | void Init(); |
40 | ||
41 | void InitParameters(); | |
42 | ||
43 | void MakeAnalysisFillHistograms() ; | |
992b14a7 | 44 | |
71e3889f | 45 | void Print(const Option_t * opt) const; |
992b14a7 | 46 | |
71e3889f | 47 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } |
48 | ||
49 | void SetM02Cut(Float_t min=0, Float_t max=10) { fM02MinCut = min ; fM02MaxCut = max ; } | |
992b14a7 | 50 | |
71e3889f | 51 | void SetMinNCells(Int_t cut) { fMinNCells = cut ; } |
52 | ||
53 | void SetPi0MassRange(Float_t min, Float_t max) { fMassPi0Min = min ; fMassPi0Max = max ; } | |
54 | void SetEtaMassRange(Float_t min, Float_t max) { fMassEtaMin = min ; fMassEtaMax = max ; } | |
55 | void SetConMassRange(Float_t min, Float_t max) { fMassConMin = min ; fMassConMax = max ; } | |
243c2909 | 56 | |
57 | void SplitEnergy(const Int_t absId1, const Int_t absId2, | |
58 | AliVCluster *cluster, | |
59 | AliVCaloCells* cells, | |
5c46c992 | 60 | //Float_t & e1, Float_t & e2, |
61 | AliAODCaloCluster *cluster1, | |
62 | AliAODCaloCluster *cluster2, | |
29ca9cad | 63 | const Int_t nMax//, Int_t *absIdList, Float_t *maxEList, |
71e3889f | 64 | ); |
992b14a7 | 65 | |
71e3889f | 66 | void SwitchOnClusterPlot() { fPlotCluster = kTRUE ; } |
67 | void SwitchOffClusterPlot() { fPlotCluster = kFALSE ; } | |
992b14a7 | 68 | |
71e3889f | 69 | |
992b14a7 | 70 | //For histograms |
c5693f62 | 71 | enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3, |
72 | kmcEta = 4, kmcElectron = 5, kmcHadron = 6 }; | |
992b14a7 | 73 | |
74 | private: | |
75 | ||
5c46c992 | 76 | TString fCalorimeter ; // Calorimeter where the gamma is searched |
71e3889f | 77 | Float_t fM02MaxCut ; // Study clusters with l0 smaller than cut |
78 | Float_t fM02MinCut ; // Study clusters with l0 larger than cut | |
5c46c992 | 79 | Int_t fMinNCells ; // Study clusters with ncells larger than cut |
80 | Float_t fMassEtaMin; // Min Eta mass | |
81 | Float_t fMassEtaMax; // Max Eta mass | |
82 | Float_t fMassPi0Min; // Min Pi0 mass | |
83 | Float_t fMassPi0Max; // Min Pi0 mass | |
84 | Float_t fMassConMin; // Min Conversions mass | |
85 | Float_t fMassConMax; // Min Conversions mass | |
71e3889f | 86 | Bool_t fPlotCluster; // Plot cluster |
243c2909 | 87 | |
992b14a7 | 88 | //Histograms |
89 | ||
0137016b | 90 | TH2F * fhMassNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max vs E, 1-6 for different MC particle types |
5c46c992 | 91 | TH2F * fhMassNLocMax2[7][2] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types |
92 | TH2F * fhMassNLocMaxN[7][2] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types | |
93 | ||
0137016b | 94 | 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 |
95 | TH2F * fhMassM02NLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
96 | TH2F * fhMassM02NLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types | |
97 | ||
5c46c992 | 98 | TH2F * fhNLocMax [7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types |
71e3889f | 99 | TH2F * fhNLocMaxNLabel[7][2] ; //! Number of maxima in cluster vs nLabels, E > 5, 1-6 for different MC particle types |
5c46c992 | 100 | TH2F * fhNLocMaxEMax [7][2] ; //! Number of maxima in cluster vs E of each maxima, 1-6 for different MC particle types |
101 | TH2F * fhNLocMaxEFrac [7][2] ; //! Number of maxima in cluster vs fraction of cluster E of each maxima, 1-6 for different MC particle types | |
102 | TH2F * fhNLocMaxM02Cut[7][2] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut | |
103 | ||
104 | TH2F * fhM02NLocMax1 [7][2] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types | |
105 | TH2F * fhM02NLocMax2 [7][2] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types | |
106 | TH2F * fhM02NLocMaxN [7][2] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types | |
107 | ||
108 | TH2F * fhNCellNLocMax1[7][2] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types | |
109 | TH2F * fhNCellNLocMax2[7][2] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types | |
110 | TH2F * fhNCellNLocMaxN[7][2] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types | |
992b14a7 | 111 | |
5c46c992 | 112 | TH2F * fhM02Pi0LocMax1[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 1 |
113 | TH2F * fhM02EtaLocMax1[7][2] ; //! M02 for Mass around eta, N Local Maxima = 1 | |
114 | TH2F * fhM02ConLocMax1[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 1 | |
992b14a7 | 115 | |
5c46c992 | 116 | TH2F * fhM02Pi0LocMax2[7][2] ; //! M02 for Mass around pi0, N Local Maxima = 2 |
117 | TH2F * fhM02EtaLocMax2[7][2] ; //! M02 for Mass around eta, N Local Maxima = 2 | |
118 | TH2F * fhM02ConLocMax2[7][2] ; //! M02 for Mass around close to 0, N Local Maxima = 2 | |
119 | ||
120 | TH2F * fhM02Pi0LocMaxN[7][2] ; //! M02 for Mass around pi0, N Local Maxima > 2 | |
121 | TH2F * fhM02EtaLocMaxN[7][2] ; //! M02 for Mass around eta, N Local Maxima > 2 | |
122 | TH2F * fhM02ConLocMaxN[7][2] ; //! M02 for Mass around close to 0, N Local Maxima > 2 | |
123 | ||
124 | TH2F * fhAnglePairLocMax1[2] ; //! pair opening angle vs E | |
125 | TH2F * fhAnglePairLocMax2[2] ; //! pair opening angle vs E | |
126 | TH2F * fhAnglePairLocMaxN[2] ; //! pair opening angle vs E | |
127 | ||
0137016b | 128 | TH2F * fhAnglePairMassLocMax1[2] ; //! pair opening angle vs Mass for E > 7 GeV |
129 | TH2F * fhAnglePairMassLocMax2[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
130 | TH2F * fhAnglePairMassLocMaxN[2] ; //! pair opening angle vs Mass for E > 7 GeV | |
243c2909 | 131 | |
5c46c992 | 132 | TH2F * fhTrackMatchedDEtaLocMax1[7] ; //! Eta distance between track and cluster vs cluster E, 1 local maximum |
133 | TH2F * fhTrackMatchedDPhiLocMax1[7] ; //! Phi distance between track and cluster vs cluster E, 1 local maximum | |
134 | TH2F * fhTrackMatchedDEtaLocMax2[7] ; //! Eta distance between track and cluster vs cluster E, 2 local maximum | |
135 | TH2F * fhTrackMatchedDPhiLocMax2[7] ; //! Phi distance between track and cluster vs cluster E, 2 local maximum | |
136 | TH2F * fhTrackMatchedDEtaLocMaxN[7] ; //! Eta distance between track and cluster vs cluster E, more than 2 local maximum | |
137 | TH2F * fhTrackMatchedDPhiLocMaxN[7] ; //! Phi distance between track and cluster vs cluster E, more than 2 local maximum | |
243c2909 | 138 | |
139 | AliAnaInsideClusterInvariantMass( const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor | |
29ca9cad | 140 | AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ; // cpy assignment |
992b14a7 | 141 | |
0137016b | 142 | ClassDef(AliAnaInsideClusterInvariantMass,9) |
992b14a7 | 143 | |
144 | } ; | |
145 | ||
146 | #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H | |
147 | ||
148 | ||
149 |