]>
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 */ | |
5 | /* $Id: AliAnaInsideClusterInvariantMass.h 27413 2008-07-18 13:28:12Z gconesab $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | // | |
9 | // Split clusters with some criteria and calculate invariant mass | |
10 | // to identify them as pi0 or conversion | |
11 | // | |
12 | // | |
13 | //-- Author: Gustavo Conesa (LPSC-Grenoble) | |
14 | //_________________________________________________________________________ | |
15 | ||
16 | ||
17 | // --- ROOT system --- | |
18 | class TList ; | |
19 | class TObjString; | |
20 | class TLorentzVector; | |
21 | ||
22 | // --- ANALYSIS system --- | |
23 | #include "AliAnaPartCorrBaseClass.h" | |
24 | ||
25 | class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass { | |
26 | ||
27 | public: | |
28 | AliAnaInsideClusterInvariantMass() ; // default ctor | |
29 | virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor | |
992b14a7 | 30 | |
992b14a7 | 31 | Bool_t AreNeighbours(const Int_t absId1, const Int_t absId2) const ; |
32 | ||
33 | TObjString * GetAnalysisCuts(); | |
34 | ||
35 | TList * GetCreateOutputObjects(); | |
36 | ||
37 | TLorentzVector GetCellMomentum(const Int_t absId, AliVCaloCells* cells); | |
38 | ||
39 | Int_t GetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells, | |
40 | Int_t *absIdList, Float_t *maxEList) ; | |
41 | ||
42 | void Init(); | |
43 | ||
44 | void InitParameters(); | |
45 | ||
46 | void MakeAnalysisFillHistograms() ; | |
47 | ||
48 | void RecalibrateCellAmplitude(Float_t & amp, const Int_t absId); | |
49 | ||
50 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } | |
51 | ||
52 | void SetM02Cut(Float_t cut) { fM02Cut = cut ; } | |
53 | ||
54 | void SetMinNCells(Float_t cut) { fMinNCells = cut ; } | |
55 | ||
c5693f62 | 56 | void SplitEnergy(const Int_t absId1, const Int_t absId2, const AliVCaloCells* cells, |
992b14a7 | 57 | Float_t & e1, Float_t & e2 ); |
58 | ||
59 | void Print(const Option_t * opt) const; | |
60 | ||
61 | //For histograms | |
c5693f62 | 62 | enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3, |
63 | kmcEta = 4, kmcElectron = 5, kmcHadron = 6 }; | |
992b14a7 | 64 | |
65 | private: | |
66 | ||
67 | TString fCalorimeter ; // Calorimeter where the gamma is searched | |
68 | Float_t fM02Cut ; // Study clusters with l0 larger than cut | |
69 | Float_t fMinNCells ; // Study clusters with ncells larger than cut | |
70 | ||
71 | //Histograms | |
72 | ||
73 | TH2F * fhMassNLocMax1[7] ; //! Mass of 2 highest energy cells when 1 local max, 1-6 for different MC particle types | |
74 | TH2F * fhMassNLocMax2[7] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types | |
75 | TH2F * fhMassNLocMaxN[7] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types | |
76 | ||
77 | TH2F * fhNLocMax[7] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types | |
78 | TH2F * fhNLocMaxM02Cut[7]; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut | |
79 | ||
80 | TH2F * fhM02NLocMax1[7] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types | |
81 | TH2F * fhM02NLocMax2[7] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types | |
82 | TH2F * fhM02NLocMaxN[7] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types | |
83 | ||
84 | TH2F * fhNCellNLocMax1[7] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types | |
85 | TH2F * fhNCellNLocMax2[7] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types | |
86 | TH2F * fhNCellNLocMaxN[7] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types | |
87 | ||
88 | TH2F * fhM02Pi0[7] ; //! M02 for Mass around pi0 | |
89 | TH2F * fhM02Eta[7] ; //! M02 for Mass around eta | |
90 | TH2F * fhM02Con[7] ; //! M02 for Mass around close to 0 | |
91 | ||
92 | TH2F * fhInvMassAllCells[7] ; //! Inv mass of all cells | |
93 | ||
c5693f62 | 94 | AliAnaInsideClusterInvariantMass(const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor |
95 | AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ;//cpy assignment | |
992b14a7 | 96 | |
97 | ClassDef(AliAnaInsideClusterInvariantMass,1) | |
98 | ||
99 | } ; | |
100 | ||
101 | #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H | |
102 | ||
103 | ||
104 |