]>
Commit | Line | Data |
---|---|---|
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 --- | |
14 | class TH2F ; | |
15 | class TParticle ; | |
16 | class AliStack ; | |
17 | class TLorentzVector ; | |
18 | ||
19 | // --- ANALYSIS --- | |
20 | #include "AliAnaCaloTrackCorrBaseClass.h" | |
21 | ||
22 | class AliAnaGeneratorKine : public AliAnaCaloTrackCorrBaseClass { | |
23 | ||
24 | public: | |
25 | ||
26 | AliAnaGeneratorKine() ; // default ctor | |
27 | virtual ~AliAnaGeneratorKine() { ; } //virtual dtor | |
28 | ||
29 | void CorrelateWithPartonOrJet(const TLorentzVector trigger, | |
30 | const Int_t indexTrig, | |
31 | const Int_t pdgTrig, | |
32 | const Bool_t leading[4], | |
33 | const Bool_t isolated[4], | |
34 | Int_t & iparton) ; | |
35 | ||
764ab1f4 | 36 | TList * GetCreateOutputObjects() ; |
7b2086c3 | 37 | |
38 | void GetPartonsAndJets() ; | |
39 | ||
23fa04c5 | 40 | void GetXE(const TLorentzVector trigger, |
41 | const Int_t indexTrig, | |
42 | const Int_t pdgTrig, | |
43 | const Bool_t leading[4], | |
44 | const Bool_t isolated[4], | |
45 | const Int_t iparton) ; | |
7b2086c3 | 46 | |
47 | void InitParameters() ; | |
48 | ||
49 | void IsLeadingAndIsolated(const TLorentzVector trigger, | |
50 | const Int_t indexTrig, | |
51 | const Int_t pdgTrig, | |
52 | Bool_t leading[4], | |
53 | Bool_t isolated[4]) ; | |
54 | ||
55 | void MakeAnalysisFillAOD() { ; } | |
56 | ||
57 | void MakeAnalysisFillHistograms() ; | |
58 | ||
59 | private: | |
60 | ||
61 | AliStack * fStack; //! access stack | |
62 | ||
63 | TParticle * fParton2; //! Initial state Parton | |
64 | TParticle * fParton3; //! Initial state Parton | |
65 | ||
66 | TParticle * fParton6; //! Final state Parton | |
67 | TParticle * fParton7; //! Final state Parton | |
68 | ||
69 | TLorentzVector fJet6; //! Pythia jet close to parton in position 6 | |
70 | TLorentzVector fJet7; //! Pythia jet close to parton in position 7 | |
71 | ||
72 | Float_t fPtHard; //! Generated pT hard | |
73 | ||
74 | TH1F * fhPtHard; //! pt of parton | |
75 | TH1F * fhPtParton; //! pt of parton | |
76 | TH1F * fhPtJet; //! pt of jet | |
77 | ||
78 | TH2F * fhPtPartonPtHard; //! pt of parton divided to pt hard, trigger is photon | |
79 | TH2F * fhPtJetPtHard; //! pt of jet divided to pt hard, trigger is photon | |
80 | TH2F * fhPtJetPtParton; //! pt of parton divided to pt parton, trigger is photon | |
81 | ||
82 | TH1F * fhPtPhoton; //! Input photon | |
83 | TH1F * fhPtPi0; //! Input pi0 | |
84 | ||
85 | TH1F * fhPtPhotonLeading[4]; //! Leading photon | |
86 | TH1F * fhPtPi0Leading[4]; //! Leading pi0 | |
87 | ||
88 | TH1F * fhPtPhotonLeadingIsolated[4]; //! Leading photon, isolated | |
89 | TH1F * fhPtPi0LeadingIsolated[4]; //! Leading pi0, isolated | |
90 | ||
23fa04c5 | 91 | TH2F * fhPtPartonTypeNearPhotonLeading[4]; //! Leading photon, particle pt versus originating parton type |
92 | TH2F * fhPtPartonTypeNearPi0Leading[4]; //! Leading pi0, particle pt versus originating parton type | |
93 | TH2F * fhPtPartonTypeNearPhotonLeadingIsolated[4]; //! Leading photon, particle pt versus originating parton type | |
94 | TH2F * fhPtPartonTypeNearPi0LeadingIsolated[4]; //! Leading pi0, particle pt versus originating parton type | |
95 | ||
96 | TH2F * fhPtPartonTypeAwayPhotonLeading[4]; //! Leading photon, particle pt versus away side parton type | |
97 | TH2F * fhPtPartonTypeAwayPi0Leading[4]; //! Leading pi0, particle pt versus away side parton type | |
98 | TH2F * fhPtPartonTypeAwayPhotonLeadingIsolated[4]; //! Leading photon, isolated, particle pt versus away side parton type | |
99 | TH2F * fhPtPartonTypeAwayPi0LeadingIsolated[4]; //! Leading pi0, isolated, particle pt versus away side parton type | |
100 | ||
7b2086c3 | 101 | TH2F * fhZHardPhotonLeading[4]; //! Leading photon, zHard |
102 | TH2F * fhZHardPi0Leading[4]; //! Leading pi0, zHard | |
103 | TH2F * fhZHardPhotonLeadingIsolated[4]; //! Leading photon, isolated, zHard | |
104 | TH2F * fhZHardPi0LeadingIsolated[4]; //! Leading pi0, isolated, zHard | |
105 | ||
106 | TH2F * fhZPartonPhotonLeading[4]; //! Leading photon, zHard | |
107 | TH2F * fhZPartonPi0Leading[4]; //! Leading pi0, zHard | |
108 | TH2F * fhZPartonPhotonLeadingIsolated[4]; //! Leading photon, isolated, zHard | |
109 | TH2F * fhZPartonPi0LeadingIsolated[4]; //! Leading pi0, isolated, zHard | |
110 | ||
111 | TH2F * fhZJetPhotonLeading[4]; //! Leading photon, zHard | |
112 | TH2F * fhZJetPi0Leading[4]; //! Leading pi0, zHard | |
113 | TH2F * fhZJetPhotonLeadingIsolated[4]; //! Leading photon, isolated, zHard | |
114 | TH2F * fhZJetPi0LeadingIsolated[4]; //! Leading pi0, isolated, zHard | |
115 | ||
116 | TH2F * fhXEPhotonLeading[4]; //! Leading photon, xE away side | |
117 | TH2F * fhXEPi0Leading[4]; //! Leading pi0, xE away side | |
118 | TH2F * fhXEPhotonLeadingIsolated[4]; //! Leading photon, xE away side | |
119 | TH2F * fhXEPi0LeadingIsolated[4]; //! Leading pi0, isolated, xE away side | |
120 | ||
121 | TH2F * fhXEUEPhotonLeading[4]; //! Leading photon, xE away side | |
122 | TH2F * fhXEUEPi0Leading[4]; //! Leading pi0, xE away side | |
123 | TH2F * fhXEUEPhotonLeadingIsolated[4]; //! Leading photon, xE away side | |
124 | TH2F * fhXEUEPi0LeadingIsolated[4]; //! Leading pi0, isolated, xE away side | |
125 | ||
126 | AliAnaGeneratorKine (const AliAnaGeneratorKine & gk) ; // cpy ctor | |
127 | AliAnaGeneratorKine & operator = (const AliAnaGeneratorKine & gk) ; // cpy assignment | |
128 | ||
129 | ClassDef(AliAnaGeneratorKine,1) | |
130 | ||
131 | } ; | |
132 | ||
133 | ||
134 | #endif //ALIANAGENERATORKINE_H | |
135 | ||
136 | ||
137 |