]>
Commit | Line | Data |
---|---|---|
fc7e3b59 | 1 | /* This file is property of and copyright *\r |
2 | * ALICE Experiment at CERN, All rights reserved. *\r | |
3 | * See cxx source for full Copyright notice */\r | |
4 | \r | |
5 | /// @file AliAnalysisTaskGammaJet.h\r | |
6 | /// @author Svein Lindal\r | |
7 | /// @brief Class used to run isolation studies of conversion gamma / pions\r | |
8 | \r | |
9 | \r | |
10 | \r | |
11 | #ifndef ALIANALYSISTASKGAMMAJET_H\r | |
12 | #define ALIANALYSISTASKGAMMAJET_H\r | |
13 | \r | |
14 | \r | |
15 | \r | |
16 | class TH1F;\r | |
17 | class AliESDEvent;\r | |
18 | class AliGammaConversionAODObject;\r | |
19 | class AliAODConversionParticle;\r | |
20 | class AliAODPWG4ParticleCorrelation;\r | |
21 | class AliAODPWG4Particle;\r | |
22 | class TObjArray;\r | |
23 | class TString;\r | |
24 | class TClonesArray;\r | |
25 | \r | |
26 | \r | |
27 | #include "AliAnaConvIsolation.h"\r | |
28 | #include "AliAnalysisTaskSE.h"\r | |
29 | \r | |
30 | class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r | |
31 | \r | |
32 | public:\r | |
33 | \r | |
34 | AliAnalysisTaskGammaJet(); \r | |
35 | AliAnalysisTaskGammaJet(const char *name);\r | |
36 | virtual ~AliAnalysisTaskGammaJet();\r | |
37 | \r | |
38 | virtual void UserCreateOutputObjects();\r | |
39 | virtual void UserExec(Option_t *option);\r | |
40 | virtual void Terminate(Option_t *);\r | |
41 | \r | |
42 | void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}\r | |
43 | \r | |
44 | AliAnaConvIsolation * GetIsolation() const {return fAnaIsolation;}\r | |
45 | void SetIsolation( AliAnaConvIsolation * isolation) { fAnaIsolation = isolation; }\r | |
46 | \r | |
47 | void SetConversionCutId(TString cut) { fConversionCutString = Form("GammaConv_%s", cut.Data());}\r | |
48 | \r | |
49 | void SetMinPt(Float_t minpt) { fMinPt = minpt;}\r | |
50 | void SetMinNTracks(Int_t nTracks) { fMinNTracks = nTracks; }\r | |
51 | \r | |
52 | void AddIsolationAna(TObject * isoAna) { fAnaIsolationArray->Add(isoAna);}\r | |
53 | void AddPhotonHadronAna(TObject * ana) { fAnaPhotonArray->Add(ana);}\r | |
54 | void AddPhotonJetAna(TObject * ana) { fAnaPhotonJetArray->Add(ana);}\r | |
55 | void AddPionHadronAna(TObject * ana) { fAnaPionArray->Add(ana);}\r | |
56 | \r | |
57 | void GetPionGrandChildren(const AliAODConversionParticle * const pion, const TClonesArray * photons, Int_t* trackLabels);\r | |
58 | \r | |
59 | private:\r | |
60 | \r | |
61 | void NotifyRun();\r | |
62 | Bool_t UserNotify();\r | |
63 | \r | |
64 | \r | |
65 | //Get the AOD event from whereever it might be accessible\r | |
66 | AliAODEvent * GetAODEvent();\r | |
67 | \r | |
68 | //Get Conversion gammas branch\r | |
69 | TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);\r | |
70 | TClonesArray * GetConversionPions(const AliAODEvent * aodEvent);\r | |
71 | \r | |
72 | //Process conv gamma\r | |
73 | void ProcessConvGamma( const TClonesArray * const convGamma, const TClonesArray * const pions, const TClonesArray * const tracks);\r | |
74 | void ProcessPions( const TClonesArray * const pions, const TClonesArray * const photons, const TClonesArray * const tracks);\r | |
75 | \r | |
76 | //Process calorimeters\r | |
77 | void ProcessCalorimeters( const AliAODEvent * const aodEvent );\r | |
78 | \r | |
79 | \r | |
80 | //Does any pions have given photon (iPhot) index listed as daughter\r | |
81 | Bool_t IsDecayPion(Int_t iPhot, const TClonesArray * const pions); //see above\r | |
82 | \r | |
83 | \r | |
84 | TList *fOutputList; //! Output list\r | |
85 | TString fDeltaAODFileName; //! File where Gamma Conv AOD is located, if not in default AOD\r | |
86 | TString fConversionCutString; //! The cut string of the conversion analysis used to produce input AOD\r | |
87 | \r | |
88 | \r | |
89 | AliAnaConvIsolation * fAnaIsolation;\r | |
90 | \r | |
91 | TObjArray * fAnaIsolationArray; //!Array of isolation analysis objects\r | |
92 | TObjArray * fAnaPionArray; //!Array of pion - hadron ana objects\r | |
93 | TObjArray * fAnaPhotonArray; //!Array of photon - hadron ana objects\r | |
94 | TObjArray * fAnaPhotonJetArray; //!Array of photon - jet ana objects\r | |
95 | \r | |
96 | Float_t fMinPt; //Minimum pt for leading particles\r | |
97 | Int_t fMinNTracks; //Minimum number of tracks in event\r | |
98 | \r | |
99 | AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r | |
100 | AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r | |
101 | \r | |
102 | ClassDef(AliAnalysisTaskGammaJet, 4); // example of analysis\r | |
103 | };\r | |
104 | \r | |
105 | #endif\r |