]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h
added runlist to be submitted with AddRunsPbPb.C
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaInsideClusterInvariantMass.h
CommitLineData
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 ---
17class TList ;
18class TObjString;
19class TLorentzVector;
20
21// --- ANALYSIS system ---
5c46c992 22class AliAODCaloCluster;
23
745913ae 24#include "AliAnaCaloTrackCorrBaseClass.h"
992b14a7 25
745913ae 26class 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