AliPhysics  ec7afe5 (ec7afe5)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnaGeneratorKine.h
Go to the documentation of this file.
1 #ifndef ALIANAGENERATORKINE_H
2 #define ALIANAGENERATORKINE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //___________________________________________________________________________
20 //_________________________________________________________________________
21 
22 // --- ROOT ---
23 class TH2F ;
24 class TParticle ;
25 class AliStack ;
26 class TLorentzVector ;
27 
28 // --- ANALYSIS ---
30 
32 
33 public:
34 
36 
38  virtual ~AliAnaGeneratorKine() { delete fFidCutTrigger ; }
39 
42  kmcPrimPi0 = 4, kmcPrimEta = 5 } ;
43 
45  static const Int_t fgkNmcPrimTypes = 6;
46 
48  static const Int_t fgkNLead = 2;
49 
51  static const Int_t fgkNIso = 4;
52 
54  Int_t pdgTrig,
55  Bool_t leading [fgkNIso],
56  Bool_t isolated[fgkNIso],
57  Int_t & iparton) ;
58 
60 
61  void GetPartonsAndJets() ;
62 
63  void GetXE(Int_t indexTrig,
64  Int_t pdgTrig,
65  Bool_t leading [fgkNIso],
66  Bool_t isolated[fgkNIso],
67  Int_t iparton) ;
68 
69  void InitParameters() ;
70 
71  void IsLeadingAndIsolated(Int_t indexTrig,
72  Int_t pdgTrig,
73  Bool_t leading [fgkNIso],
74  Bool_t isolated[fgkNIso]) ;
75 
77 
78  void SetTriggerDetector( TString & det ) ;
79  void SetTriggerDetector( Int_t det ) ;
80 
81  void SetMinChargedPt ( Float_t pt ) { fMinChargedPt = pt ; }
82  void SetMinNeutralPt ( Float_t pt ) { fMinNeutralPt = pt ; }
83 
84  // Detector for trigger particles acceptance
87  virtual void SetFiducialCut(AliFiducialCut * fc)
88  { delete fFidCutTrigger; fFidCutTrigger = fc ; }
89 
90 private:
91 
94 
96 
99 
100  AliStack * fStack;
101  TClonesArray * fAODMCparticles ;
102 
103 // TParticle * fParton2; //!<! Initial state Parton
104 // TParticle * fParton3; //!<! Initial state Parton
105 
106  TLorentzVector fParton6;
107  TLorentzVector fParton7;
108 
111 
112  TLorentzVector fJet6;
113  TLorentzVector fJet7;
114 
115  TLorentzVector fTrigger;
116  TLorentzVector fLVTmp;
117 
120 
121  // Histograms
122 
123  TH1F * fhPtHard;
124  TH1F * fhPtParton;
125  TH1F * fhPtJet;
126 
130 
135 
139 
142 
148 
153 
154  // Histograms arrays for 4 isolation options and 2 options on leading or not leading particle
155 
157 
158 
160 
162 
164 
166 
168 
170 
172 
174 
176 
178 
180 
182 
184 
186 
188 
190 
192 
195 
198 
200  ClassDef(AliAnaGeneratorKine,7) ;
202 
203 } ;
204 
205 
206 #endif //ALIANAGENERATORKINE_H
207 
208 
209 
virtual ~AliAnaGeneratorKine()
Virtual destructor.
TH1F * fhPtHard
! pt of parton
TH2F * fhPtEtaDecayStatus
! Input eta decay meson status
mcPrimTypes
Indeces for MC histograms array, for different generated particle type.
TLorentzVector fParton6
! Final state Parton
AliAnaGeneratorKine & operator=(const AliAnaGeneratorKine &gk)
Assignment operator not implemented.
TH1F * fhPtJet
! pt of jet
Definition: External.C:236
TH2F * fhXEIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! xE away side
TH2F * fhPtPi0DecayStatus
! Input pi0 decay meson status
Float_t fPtHard
! Generated pT hard
TH2F * fhPtPi0Status
! Input pi0 status
void SetMinChargedPt(Float_t pt)
TH2F * fhPtOriginNotFinal[fgkNmcPrimTypes]
! Input particle pt vs particle type originating it (if meson decay, its mother) if trigger is not fi...
TH2F * fhEtaPhi[fgkNmcPrimTypes]
! Input particle eta vs phi
TH2F * fhPtPartonPtHard
! pt of parton divided to pt hard, trigger is photon
TH2F * fhZJet[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! zHard
TH1F * fhPhi[fgkNmcPrimTypes]
! Input particle phi
TH1F * fhPtPi0Not2Gamma
! Input pi0 not 2 gamma decay
TH1F * fhPtGammaFromPi0Not2Gamma
! Input gamma from pi0 not 2 gamma decay
Get trigger particles/partons/jets and correlations at generator level.
Int_t fParton7PDG
! Final state Parton PDG
TH2F * fhZPartonIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! isolated, zHard
TH2F * fhZHardIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! isolated, zHard
TH2F * fhPtPartonTypeAway[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! pt versus away side parton type
TH1F * fhPt[fgkNmcPrimTypes]
! Input particle pt
static const Int_t fgkNmcPrimTypes
Number of MC indeces for histograms arrays.
virtual void SetFiducialCut(AliFiducialCut *fc)
TLorentzVector fJet7
! Pythia jet close to parton in position 7
TLorentzVector fParton7
! Final state Parton
TLorentzVector fJet6
! Pythia jet close to parton in position 6
Base class for CaloTrackCorr analysis algorithms.
TString fTriggerDetectorString
Detector : EMCAL, PHOS, CTS.
AliFiducialCut * fFidCutTrigger
! Fiducial cut for the trigger detector
int Int_t
Definition: External.C:63
TH2F * fhPtPartonTypeNearIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! pt versus originating parton type
float Float_t
Definition: External.C:68
Float_t fMinChargedPt
! Minimum energy for charged particles in correlation
void GetPartonsAndJets()
Fill data members with partons,jets and generated pt hard.
TH2F * fhXEUEIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! xE away side
TH2F * fhXE[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! xE away side
TList * GetCreateOutputObjects()
Create histograms to be saved in output file.
AliStack * fStack
! access ESD stack
TH1F * fhPtLeadingIsolated[fgkNmcPrimTypes][fgkNIso]
! isolated
TH2F * fhZHard[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! zHard
void SetMinNeutralPt(Float_t pt)
TH2F * fhPtLeadingSumPt[fgkNmcPrimTypes][fgkNIso]
! pT vs sum in cone
TH2F * fhPhiStatus[fgkNmcPrimTypes]
! Input particle phi vs status
static const Int_t fgkNIso
Number of isolation cases.
AliAnaGeneratorKine()
Default Constructor. Initialize parameters with default values.
Int_t fTriggerDetector
Detector : EMCAL, PHOS, CTS.
AliFiducialCut * GetFiducialCutForTrigger()
TH2F * fhZParton[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! zHard
Int_t fNPrimaries
! N primaries
TH2F * fhXEUE[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! xE away side
void MakeAnalysisFillHistograms()
Particle-Parton/Jet/Hadron Correlation Analysis, main method.
TH2F * fhEtaStatus[fgkNmcPrimTypes]
! Input particle eta vs status
TLorentzVector fTrigger
! Trigger momentum, avoid generating TLorentzVectors per event
TH2F * fhPtOrigin[fgkNmcPrimTypes]
! Input particle pt vs particle type originating it (if meson decay, its mother)
TH1F * fhPtEtaNot2Gamma
! Input eta not 2 gamma decay
TH2F * fhPtJetPtHard
! pt of jet divided to pt hard, trigger is photon
TH2F * fhPtPartonTypeAwayIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! isolated, particle pt versus away side parton type
TH2F * fhPtAcceptedGammaJet[fgkNLead][fgkNIso]
! gamma-jet pair in acceptance (jet in good eta window)
TClonesArray * fAODMCparticles
! access AOD stack
void SetTriggerDetector(TString &det)
Set the calorimeter for the analysis.
TH2F * fhPtJetPtParton
! pt of parton divided to pt parton, trigger is photon
Int_t fParton6PDG
! Final state Parton PDG
Bool_t CorrelateWithPartonOrJet(Int_t indexTrig, Int_t pdgTrig, Bool_t leading[fgkNIso], Bool_t isolated[fgkNIso], Int_t &iparton)
Correlate trigger with partons or jets, get z.
bool Bool_t
Definition: External.C:53
TH1F * fhPtParton
! pt of parton
TH1F * fhEta[fgkNmcPrimTypes]
! Input particle eta
TH2F * fhPtOtherDecayMesonId
! Decay photons, not originating from pi0 or eta, ID of the particle
void IsLeadingAndIsolated(Int_t indexTrig, Int_t pdgTrig, Bool_t leading[fgkNIso], Bool_t isolated[fgkNIso])
TH1F * fhPtGammaFromEtaNot2Gamma
! Input gamma from eta not 2 gamma decay
void InitParameters()
Initialize the parameters of the analysis.
Store the acceptance cuts for clusters and tracks or particle objects.
void GetXE(Int_t indexTrig, Int_t pdgTrig, Bool_t leading[fgkNIso], Bool_t isolated[fgkNIso], Int_t iparton)
Calculate the real XE and the UE XE.
TH1F * fhPtLeading[fgkNmcPrimTypes][fgkNIso]
! pT
static const Int_t fgkNLead
Number of leadingness cases.
TH2F * fhPtPartonTypeNear[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! particle pt versus originating parton type
Float_t fMinNeutralPt
! Minimum energy for neutral particles in correlation
TH2F * fhPtEtaStatus
! Input eta status
TLorentzVector fLVTmp
! Momentum, avoid generating TLorentzVectors per event
TH2F * fhPtOtherDecayStatus
! Input other decay particle status
TH2F * fhZJetIsolated[fgkNmcPrimTypes][fgkNLead][fgkNIso]
! isolated, zHard