1 #ifndef ALIANAGAMMAJETLEADCONE_H
2 #define ALIANAGAMMAJETLEADCONE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /* History of cvs commits:
10 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
11 * new analysis classes in the the new analysis framework
16 //_________________________________________________________________________
17 // Class that contains the algorithm for the reconstruction of jet, cone around leading particle
18 // Class created from old AliPHOSGammaJet
19 // (see AliRoot versions previous Release 4-09)
20 //-- Author: Gustavo Conesa (INFN-LNF)
22 #include "AliAnaGammaCorrelation.h"
24 class AliAnaGammaJetLeadCone : public AliAnaGammaCorrelation {
28 AliAnaGammaJetLeadCone() ; // default ctor
29 AliAnaGammaJetLeadCone(const AliAnaGammaJetLeadCone & g) ; // cpy ctor
30 AliAnaGammaJetLeadCone & operator = (const AliAnaGammaJetLeadCone & g) ;//cpy assignment
31 virtual ~AliAnaGammaJetLeadCone() ; //virtual dtor
33 TList * GetCreateOutputObjects();
35 void InitParameters();
37 void Print(const Option_t * opt) const;
39 Bool_t AreSeveralConeAndPtCuts() const {return fSeveralConeAndPtCuts ; }
40 void SetSeveralConeAndPtCuts(Bool_t several){fSeveralConeAndPtCuts = several ;}
42 Bool_t IsPbPb() const {return fPbPb ; }
43 void SetPbPb(Bool_t opt){fPbPb = opt; }
45 Double_t GetEtaEMCALCut() const {return fEtaEMCALCut;}
46 Double_t GetPhiEMCALCut(Int_t i) const {return fPhiEMCALCut[i];}
47 void SetEtaEMCALCut(Double_t etacut) {fEtaEMCALCut = etacut ; }
48 void SetPhiEMCALCut(Double_t phi, Int_t i){fPhiEMCALCut[i] = phi; }
50 Double_t GetPtJetSelectionCut() const {return fPtJetSelectionCut ; }
51 Double_t GetJetRatioMaxCut() const {return fJetRatioMaxCut ; }
52 Double_t GetJetRatioMinCut() const {return fJetRatioMinCut ; }
54 void SetPtJetSelectionCut(Double_t cut){fPtJetSelectionCut = cut; }
55 void SetJetSelection(UInt_t select){ fSelect= select ; }
57 Int_t GetJetNCones() const {return fJetNCone ; }
58 Int_t GetJetNPtThres() const {return fJetNPt ; }
59 Float_t GetJetCone() const {return fJetCone ; }
60 Float_t GetJetPtThreshold() const {return fJetPtThreshold ; }
61 Float_t GetJetPtThresPbPb() const {return fJetPtThresPbPb ; }
62 Float_t GetJetCones(Int_t i) const {return fJetCones[i] ; }
63 Float_t GetJetPtThreshold(Int_t i) const {return fJetPtThres[i] ; }
64 TString GetJetConeName(Int_t i) const {return fJetNameCones[i] ; }
65 TString GetJetPtThresName(Int_t i) const {return fJetNamePtThres[i] ; }
67 void SetJetNCones(Int_t n){fJetNCone = n ; }
68 void SetJetNPtThresholds(Int_t n){fJetNPt = n ; }
69 void SetJetCones(Int_t i, Float_t cone, TString sc)
70 {fJetCones[i] = cone ; fJetNameCones[i] = sc; };
71 void SetCone(Float_t cone)
73 void SetJetPtThreshold(Float_t pt){fJetPtThreshold = pt; };
74 void SetJetPtThresPbPb(Float_t pt){fJetPtThresPbPb = pt; };
75 void SetJetPtThresholds(Int_t i,Float_t pt, TString spt){fJetPtThres[i] = pt ;
76 fJetNamePtThres[i] = spt; };
78 void SetJetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
79 {fJetRatioMaxCut =ratiomax; fJetRatioMinCut = ratiomin ; }
80 void SetJetCTSRatioCutRange(Double_t ratiomin, Double_t ratiomax)
81 {fJetCTSRatioMaxCut =ratiomax; fJetCTSRatioMinCut = ratiomin ; }
83 void MakeGammaCorrelation(TParticle * pGamma, TClonesArray * plCTS, TClonesArray * plNe) ;
87 Double_t CalculateJetRatioLimit(const Double_t ptg, const Double_t *param,
89 void FillJetHistos(TClonesArray * pl, Double_t ptg, Double_t ptl,TString type, TString lastname);
91 Bool_t IsJetSelected(const Double_t ptg, const Double_t ptjet);
93 void MakeJet(TClonesArray * plCTS, TClonesArray * plNe,
94 TParticle * pGamma, TParticle* pLeading, TString lastname);
96 void GetLeadingCharge(TClonesArray * pl, TParticle *pGamma, TParticle * pLeading) const ;
97 void GetLeadingPi0 (TClonesArray * pl, TParticle *pGamma, TParticle * pLeading) ;
98 Bool_t GetLeadingParticle(TClonesArray * plCTS, TClonesArray * plNe,
99 TParticle *pGamma, TParticle * pLeading) ;
101 void SetJet(TParticle * part, Bool_t & b, Float_t cone, Double_t eta,
106 Bool_t fPbPb; // PbPb event
107 Bool_t fSeveralConeAndPtCuts; // To play with the jet cone size and pt th.
109 Double_t fEtaEMCALCut ; // Eta EMCAL acceptance
110 Double_t fPhiEMCALCut[2] ; // Phi cut maximum
112 //Jet selection parameters
114 Double_t fJetCTSRatioMaxCut ; // Leading particle/gamma Ratio cut maximum
115 Double_t fJetCTSRatioMinCut ; // Leading particle/gamma Ratio cut minimum
116 Double_t fJetRatioMaxCut ; // Jet/gamma Ratio cut maximum
117 Double_t fJetRatioMinCut ; // Jet/gamma Ratio cut minimum
119 //Cuts depending on jet pt
120 Double_t fJetE1[2]; //Rec. jet energy parameters
121 Double_t fJetE2[2]; //Rec. jet energy parameters
122 Double_t fJetSigma1[2];//Rec. sigma of jet energy parameters
123 Double_t fJetSigma2[2];//Rec. sigma of jet energy parameters
124 Double_t fBkgMean[6]; //Background mean energy
125 Double_t fBkgRMS[6]; //Background RMS
126 Double_t fJetXMin1[6]; //X Factor to set jet min limit for pp
127 Double_t fJetXMin2[6]; //X Factor to set jet min limit for PbPb
128 Double_t fJetXMax1[6]; //X Factor to set jet max limit for pp
129 Double_t fJetXMax2[6]; //X Factor to set jet max limit for PbPb
131 Int_t fJetNCone ; // Number of jet cones sizes
132 Int_t fJetNPt ; // Number of jet particle pT threshold
133 Double_t fJetCone ; // Jet cone sizes under study (!fSeveralConeAndPtCuts)
134 Double_t fJetCones[10]; // Jet cone sizes under study (fSeveralConeAndPtCuts)
135 TString fJetNameCones[10]; // String name of cone to append to histos
136 Double_t fJetPtThreshold; // Jet pT threshold under study(!fSeveralConeAndPtCuts)
137 Double_t fJetPtThresPbPb; // Jet pT threshold under study(!fSeveralConeAndPtCuts)
138 Double_t fJetPtThres[10]; // Jet pT threshold under study(fSeveralConeAndPtCuts)
139 TString fJetNamePtThres[10]; // String name of pt th to append to histos
140 Double_t fPtJetSelectionCut; // Jet pt to change to low pt jets analysis
141 UInt_t fSelect ; //kTRUE: Selects all jets, no limits.
145 TH2F * fhPhiCharged ;
146 TH2F * fhPhiNeutral ;
147 TH2F * fhEtaCharged ;
148 TH2F * fhEtaNeutral ;
149 TH2F * fhDeltaPhiGammaCharged ;
150 TH2F * fhDeltaPhiGammaNeutral ;
151 TH2F * fhDeltaEtaGammaCharged ;
152 TH2F * fhDeltaEtaGammaNeutral ;
154 TH2F * fhAnglePairLeading ;
155 TH2F * fhInvMassPairLeading ;
156 TH2F * fhChargedRatio ;
157 TH2F * fhNeutralRatio ;
165 TH2F * fhJetFragment ;
166 TH2F * fhBkgFragment ;
170 TH2F * fhJetRatios[5][5];
171 TH2F * fhJetPts[5][5];
172 TH2F * fhBkgRatios[5][5];
173 TH2F * fhBkgPts[5][5];
175 TH2F * fhNLeadings[5][5];
176 TH1F * fhNJets[5][5];
177 TH1F * fhNBkgs[5][5];
179 TH2F * fhJetFragments[5][5];
180 TH2F * fhBkgFragments[5][5];
181 TH2F * fhJetPtDists[5][5];
182 TH2F * fhBkgPtDists[5][5];
185 ClassDef(AliAnaGammaJetLeadCone,0)
189 #endif //ALIANAGAMMAJETLEADCONE_H