AliPhysics  32b88a8 (32b88a8)
 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 //___________________________________________________________________________
19 //_________________________________________________________________________
20 
21 // --- ROOT ---
22 class TH2F ;
23 class TParticle ;
24 class AliStack ;
25 class TLorentzVector ;
26 
27 // --- ANALYSIS ---
29 
31 
32 public:
33 
35 
37  virtual ~AliAnaGeneratorKine() { delete fFidCutTrigger ; }
38 
41  kmcPrimPi0 = 4, kmcPrimEta = 5 } ;
42 
44  static const Int_t fgkNmcPrimTypes = 6;
45 
47  static const Int_t fgkNLead = 2;
48 
50  static const Int_t fgkNIso = 4;
51 
53  Int_t pdgTrig,
54  Bool_t leading [fgkNIso],
55  Bool_t isolated[fgkNIso],
56  Int_t & iparton) ;
57 
59 
60  void GetPartonsAndJets() ;
61 
62  void GetXE(Int_t indexTrig,
63  Int_t pdgTrig,
64  Bool_t leading [fgkNIso],
65  Bool_t isolated[fgkNIso],
66  Int_t iparton) ;
67 
68  void InitParameters() ;
69 
70  void IsLeadingAndIsolated(Int_t indexTrig,
71  Int_t pdgTrig,
72  Bool_t leading [fgkNIso],
73  Bool_t isolated[fgkNIso]) ;
74 
76 
77  void SetTriggerDetector( TString & det ) ;
78  void SetTriggerDetector( Int_t det ) ;
79 
80  void SetMinChargedPt ( Float_t pt ) { fMinChargedPt = pt ; }
81  void SetMinNeutralPt ( Float_t pt ) { fMinNeutralPt = pt ; }
82 
83  // Detector for trigger particles acceptance
86  virtual void SetFiducialCut(AliFiducialCut * fc)
87  { delete fFidCutTrigger; fFidCutTrigger = fc ; }
88 
89 private:
90 
93 
95 
98 
99  AliStack * fStack;
100  TClonesArray * fAODMCparticles ;
101 
102 // TParticle * fParton2; //!<! Initial state Parton
103 // TParticle * fParton3; //!<! Initial state Parton
104 
105  TLorentzVector fParton6;
106  TLorentzVector fParton7;
107 
110 
111  TLorentzVector fJet6;
112  TLorentzVector fJet7;
113 
114  TLorentzVector fTrigger;
115  TLorentzVector fLVTmp;
116 
119 
120  // Histograms
121 
122  TH1F * fhPtHard;
123  TH1F * fhPtParton;
124  TH1F * fhPtJet;
125 
129 
134 
138 
141 
147 
152 
153  // Histograms arrays for 4 isolation options and 2 options on leading or not leading particle
154 
156 
157 
159 
161 
163 
165 
167 
169 
171 
173 
175 
177 
179 
181 
183 
185 
187 
189 
191 
194 
197 
199  ClassDef(AliAnaGeneratorKine,7) ;
201 
202 } ;
203 
204 
205 #endif //ALIANAGENERATORKINE_H
206 
207 
208 
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