AliPhysics  master (3d17d9d)
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 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 = 5;
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 
91 
92 private:
93 
95 
98 
100 
103 
104 // TParticle * fParton2; //!<! Initial state Parton
105 // TParticle * fParton3; //!<! Initial state Parton
106 
107  TLorentzVector fParton6;
108  TLorentzVector fParton7;
109 
112 
113  TLorentzVector fJet6;
114  TLorentzVector fJet7;
115 
116  TLorentzVector fTrigger;
117  TLorentzVector fLVTmp;
118 
121 
122  // Histograms
123 
124  TH1F * fhPtHard;
125  TH1F * fhPtParton;
126  TH1F * fhPtJet;
127 
131 
136 
140 
143 
149 
154 
155  // Histograms arrays for 4 isolation options and 2 options on leading or not leading particle
156 
158 
159 
161 
163 
165 
167 
169 
171 
173 
175 
177 
179 
181 
183 
185 
187 
189 
191 
193 
196 
199 
201  ClassDef(AliAnaGeneratorKine,8) ;
203 
204 } ;
205 
206 
207 #endif //ALIANAGENERATORKINE_H
208 
209 
210 
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
void SetTriggerDetector(TString det)
Set the calorimeter for the analysis.
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
Bool_t fMakePartonAnalysis
Activate parton analysis.
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.
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)
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