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 #include "AliAnaCaloTrackCorrBaseClass.h"
24 class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass {
27 AliAnaInsideClusterInvariantMass() ; // default ctor
28 virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor
31 TObjString * GetAnalysisCuts();
33 TList * GetCreateOutputObjects();
35 TLorentzVector GetCellMomentum(const Int_t absId, Float_t energy, AliVCaloCells* cells) ;
39 void InitParameters();
41 void MakeAnalysisFillHistograms() ;
43 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
45 void SetM02Cut(Float_t cut) { fM02Cut = cut ; }
47 void SetMinNCells(Int_t cut) { fMinNCells = cut ; }
49 void SetPi0MassRange(Float_t min, Float_t max) { fMassPi0Min = min ; fMassPi0Max = max ; }
50 void SetEtaMassRange(Float_t min, Float_t max) { fMassEtaMin = min ; fMassEtaMax = max ; }
51 void SetConMassRange(Float_t min, Float_t max) { fMassConMin = min ; fMassConMax = max ; }
53 void SplitEnergy(const Int_t absId1, const Int_t absId2,
56 Float_t & e1, Float_t & e2,
57 const Int_t nMax//, Int_t *absIdList, Float_t *maxEList,
60 void Print(const Option_t * opt) const;
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 fM02Cut ; // Study clusters with l0 larger than cut
70 Int_t fMinNCells ; // Study clusters with ncells larger than cut
71 Float_t fMassEtaMin; // Min Eta mass
72 Float_t fMassEtaMax; // Max Eta mass
73 Float_t fMassPi0Min; // Min Pi0 mass
74 Float_t fMassPi0Max; // Min Pi0 mass
75 Float_t fMassConMin; // Min Conversions mass
76 Float_t fMassConMax; // Min Conversions mass
80 TH2F * fhMassNLocMax1[7] ; //! Mass of 2 highest energy cells when 1 local max, 1-6 for different MC particle types
81 TH2F * fhMassNLocMax2[7] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types
82 TH2F * fhMassNLocMaxN[7] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types
84 TH2F * fhNLocMax[7] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types
85 TH2F * fhNLocMaxEMax[7] ; //! Number of maxima in cluster vs E of each maxima, 1-6 for different MC particle types
86 TH2F * fhNLocMaxEFrac[7] ; //! Number of maxima in cluster vs fraction of cluster E of each maxima, 1-6 for different MC particle types
87 TH2F * fhNLocMaxM02Cut[7]; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut
89 TH2F * fhM02NLocMax1[7] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types
90 TH2F * fhM02NLocMax2[7] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types
91 TH2F * fhM02NLocMaxN[7] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types
93 TH2F * fhNCellNLocMax1[7] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types
94 TH2F * fhNCellNLocMax2[7] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types
95 TH2F * fhNCellNLocMaxN[7] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types
97 TH2F * fhM02Pi0LocMax1[7] ; //! M02 for Mass around pi0, N Local Maxima = 1
98 TH2F * fhM02EtaLocMax1[7] ; //! M02 for Mass around eta, N Local Maxima = 1
99 TH2F * fhM02ConLocMax1[7] ; //! M02 for Mass around close to 0, N Local Maxima = 1
101 TH2F * fhM02Pi0LocMax2[7] ; //! M02 for Mass around pi0, N Local Maxima = 2
102 TH2F * fhM02EtaLocMax2[7] ; //! M02 for Mass around eta, N Local Maxima = 2
103 TH2F * fhM02ConLocMax2[7] ; //! M02 for Mass around close to 0, N Local Maxima = 2
105 TH2F * fhM02Pi0LocMaxN[7] ; //! M02 for Mass around pi0, N Local Maxima > 2
106 TH2F * fhM02EtaLocMaxN[7] ; //! M02 for Mass around eta, N Local Maxima > 2
107 TH2F * fhM02ConLocMaxN[7] ; //! M02 for Mass around close to 0, N Local Maxima > 2
109 AliAnaInsideClusterInvariantMass( const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor
110 AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ; // cpy assignment
112 ClassDef(AliAnaInsideClusterInvariantMass,5)
116 #endif //ALIANAINSIDECLUSTERINVARIANTMASS_H