]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaGeneratorKine.h
it is not possible to have the label of more than 2 daughters, coverity fix 24498
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaGeneratorKine.h
CommitLineData
7b2086c3 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//___________________________________________________________________________
7// Do photon/pi0 analysis for isolation and correlation
8// at the generator level. Only for kine stack (ESDs)
9//
10//
11//-- Author: Gustavo Conesa (LPSC-CNRS-Grenoble)
12
13// --- ROOT ---
14class TH2F ;
15class TParticle ;
16class AliStack ;
17class TLorentzVector ;
18
19// --- ANALYSIS ---
20#include "AliAnaCaloTrackCorrBaseClass.h"
21
22class AliAnaGeneratorKine : public AliAnaCaloTrackCorrBaseClass {
23
24public:
25
26 AliAnaGeneratorKine() ; // default ctor
2b341b44 27 virtual ~AliAnaGeneratorKine() { delete fFidCutTrigger ; } //virtual dtor
7b2086c3 28
b94e038e 29 Bool_t CorrelateWithPartonOrJet(TLorentzVector trigger,
30 Int_t indexTrig,
31 Int_t pdgTrig,
32 Bool_t leading[4],
33 Bool_t isolated[4],
2292cf03 34 Int_t & iparton) ;
7b2086c3 35
764ab1f4 36 TList * GetCreateOutputObjects() ;
7b2086c3 37
38 void GetPartonsAndJets() ;
39
b94e038e 40 void GetXE(TLorentzVector trigger,
41 Int_t indexTrig,
42 Int_t pdgTrig,
43 Bool_t leading[4],
44 Bool_t isolated[4],
45 Int_t iparton) ;
7b2086c3 46
47 void InitParameters() ;
48
b94e038e 49 void IsLeadingAndIsolated(TLorentzVector trigger,
50 Int_t indexTrig,
51 Int_t pdgTrig,
7b2086c3 52 Bool_t leading[4],
53 Bool_t isolated[4]) ;
229bed7a 54
55 void MakeAnalysisFillHistograms() ;
56
57 void SetTriggerDetector( TString name ) { fTriggerDetector = name ; }
58 void SetCalorimeter ( TString name ) { fCalorimeter = name ; }
7b2086c3 59
783b974c 60 void SetMinChargedPt ( Float_t pt ) { fMinChargedPt = pt ; }
61 void SetMinNeutralPt ( Float_t pt ) { fMinNeutralPt = pt ; }
7b2086c3 62
2b341b44 63 // Detector for trigger particles acceptance
64 AliFiducialCut * GetFiducialCutForTrigger()
65 { if(!fFidCutTrigger) fFidCutTrigger = new AliFiducialCut(); return fFidCutTrigger ; }
66 virtual void SetFiducialCut(AliFiducialCut * fc)
67 { delete fFidCutTrigger; fFidCutTrigger = fc ; }
68
69
7b2086c3 70private:
71
229bed7a 72 TString fTriggerDetector; //! trigger detector, for fiducial region
73 TString fCalorimeter; //! detector neutral particles, for fiducial region
74
2b341b44 75 AliFiducialCut* fFidCutTrigger; //! fiducial cut for the trigger detector
76
783b974c 77 Float_t fMinChargedPt; //! Minimum energy for charged particles in correlation
78 Float_t fMinNeutralPt; //! Minimum energy for neutral particles in correlation
79
7b2086c3 80 AliStack * fStack; //! access stack
81
82 TParticle * fParton2; //! Initial state Parton
83 TParticle * fParton3; //! Initial state Parton
84
85 TParticle * fParton6; //! Final state Parton
86 TParticle * fParton7; //! Final state Parton
87
88 TLorentzVector fJet6; //! Pythia jet close to parton in position 6
89 TLorentzVector fJet7; //! Pythia jet close to parton in position 7
90
91 Float_t fPtHard; //! Generated pT hard
92
93 TH1F * fhPtHard; //! pt of parton
94 TH1F * fhPtParton; //! pt of parton
95 TH1F * fhPtJet; //! pt of jet
96
97 TH2F * fhPtPartonPtHard; //! pt of parton divided to pt hard, trigger is photon
98 TH2F * fhPtJetPtHard; //! pt of jet divided to pt hard, trigger is photon
99 TH2F * fhPtJetPtParton; //! pt of parton divided to pt parton, trigger is photon
100
101 TH1F * fhPtPhoton; //! Input photon
102 TH1F * fhPtPi0; //! Input pi0
103
dbb79a05 104 // Histograms arrays for 4 isolation options and 2 options on leading or not leading particle
105
c76fb00a 106 TH1F * fhPtPhotonLeading[4]; //! Leading photon pT
107 TH1F * fhPtPi0Leading[4]; //! Leading pi0 pT
108
109 TH2F * fhPtPhotonLeadingSumPt[4]; //! Leading photon pT vs sum in cone
110 TH2F * fhPtPi0LeadingSumPt[4]; //! Leading pi0 pT vs sum in cone
7b2086c3 111
112 TH1F * fhPtPhotonLeadingIsolated[4]; //! Leading photon, isolated
113 TH1F * fhPtPi0LeadingIsolated[4]; //! Leading pi0, isolated
114
dbb79a05 115 TH2F * fhPtPartonTypeNearPhoton[2][4]; //! Leading photon, particle pt versus originating parton type
116 TH2F * fhPtPartonTypeNearPi0[2][4]; //! Leading pi0, particle pt versus originating parton type
117 TH2F * fhPtPartonTypeNearPhotonIsolated[2][4]; //! Leading photon, particle pt versus originating parton type
118 TH2F * fhPtPartonTypeNearPi0Isolated[2][4]; //! Leading pi0, particle pt versus originating parton type
119
120 TH2F * fhPtPartonTypeAwayPhoton[2][4]; //! Leading photon, particle pt versus away side parton type
121 TH2F * fhPtPartonTypeAwayPi0[2][4]; //! Leading pi0, particle pt versus away side parton type
122 TH2F * fhPtPartonTypeAwayPhotonIsolated[2][4]; //! Leading photon, isolated, particle pt versus away side parton type
123 TH2F * fhPtPartonTypeAwayPi0Isolated[2][4]; //! Leading pi0, isolated, particle pt versus away side parton type
124
125 TH2F * fhZHardPhoton[2][4]; //! Leading photon, zHard
126 TH2F * fhZHardPi0[2][4]; //! Leading pi0, zHard
127 TH2F * fhZHardPhotonIsolated[2][4]; //! Leading photon, isolated, zHard
128 TH2F * fhZHardPi0Isolated[2][4]; //! Leading pi0, isolated, zHard
129
130 TH2F * fhZPartonPhoton[2][4]; //! Leading photon, zHard
131 TH2F * fhZPartonPi0[2][4]; //! Leading pi0, zHard
132 TH2F * fhZPartonPhotonIsolated[2][4]; //! Leading photon, isolated, zHard
133 TH2F * fhZPartonPi0Isolated[2][4]; //! Leading pi0, isolated, zHard
7b2086c3 134
dbb79a05 135 TH2F * fhZJetPhoton[2][4]; //! Leading photon, zHard
136 TH2F * fhZJetPi0[2][4]; //! Leading pi0, zHard
137 TH2F * fhZJetPhotonIsolated[2][4]; //! Leading photon, isolated, zHard
138 TH2F * fhZJetPi0Isolated[2][4]; //! Leading pi0, isolated, zHard
7b2086c3 139
dbb79a05 140 TH2F * fhXEPhoton[2][4]; //! Leading photon, xE away side
141 TH2F * fhXEPi0[2][4]; //! Leading pi0, xE away side
142 TH2F * fhXEPhotonIsolated[2][4]; //! Leading photon, xE away side
143 TH2F * fhXEPi0Isolated[2][4]; //! Leading pi0, isolated, xE away side
7b2086c3 144
dbb79a05 145 TH2F * fhXEUEPhoton[2][4]; //! Leading photon, xE away side
146 TH2F * fhXEUEPi0[2][4]; //! Leading pi0, xE away side
147 TH2F * fhXEUEPhotonIsolated[2][4]; //! Leading photon, xE away side
148 TH2F * fhXEUEPi0Isolated[2][4]; //! Leading pi0, isolated, xE away side
7b2086c3 149
150 AliAnaGeneratorKine (const AliAnaGeneratorKine & gk) ; // cpy ctor
151 AliAnaGeneratorKine & operator = (const AliAnaGeneratorKine & gk) ; // cpy assignment
152
229bed7a 153 ClassDef(AliAnaGeneratorKine,3)
7b2086c3 154
155} ;
156
157
158#endif //ALIANAGENERATORKINE_H
159
160
161