]>
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 | |
2eedd4ed | 19 | class AliAODConversionPhoton;\r |
fc7e3b59 | 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 | |
811b0806 | 47 | void SetGammaCutId(TString cut) { fGammaCutString = Form("GammaConv_%s", cut.Data());}\r |
48 | void SetPionCutId(TString cut) { fPionCutString = Form("GammaConv_%s", cut.Data());}\r | |
fc7e3b59 | 49 | \r |
50 | void SetMinPt(Float_t minpt) { fMinPt = minpt;}\r | |
51 | void SetMinNTracks(Int_t nTracks) { fMinNTracks = nTracks; }\r | |
52 | \r | |
53 | void AddIsolationAna(TObject * isoAna) { fAnaIsolationArray->Add(isoAna);}\r | |
54 | void AddPhotonHadronAna(TObject * ana) { fAnaPhotonArray->Add(ana);}\r | |
55 | void AddPhotonJetAna(TObject * ana) { fAnaPhotonJetArray->Add(ana);}\r | |
811b0806 | 56 | void AddPionJetAna(TObject * ana) { fAnaPionJetArray->Add(ana);}\r |
fc7e3b59 | 57 | void AddPionHadronAna(TObject * ana) { fAnaPionArray->Add(ana);}\r |
58 | \r | |
2eedd4ed | 59 | void GetPionGrandChildren(const AliAODConversionPhoton * const pion, const TClonesArray * photons, Int_t* trackLabels);\r |
811b0806 | 60 | void SetEtaLimits(Float_t eta) { fEtaLimit = eta; }\r |
61 | \r | |
fc7e3b59 | 62 | \r |
63 | private:\r | |
64 | \r | |
65 | void NotifyRun();\r | |
66 | Bool_t UserNotify();\r | |
811b0806 | 67 | Bool_t EventIsSynced(const TClonesArray * const tracks, const TClonesArray * const convGamma, const TClonesArray * const pions);\r |
2eedd4ed | 68 | Bool_t BothTracksPresent(const AliAODConversionPhoton * const photon, const TClonesArray * const tracks) const;\r |
69 | Bool_t BothGammaPresent(const AliAODConversionPhoton * const pion, const TClonesArray * const photons, const TClonesArray * const tracks) const;\r | |
fc7e3b59 | 70 | AliAODEvent * GetAODEvent();\r |
71 | \r | |
72 | //Get Conversion gammas branch\r | |
73 | TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);\r | |
74 | TClonesArray * GetConversionPions(const AliAODEvent * aodEvent);\r | |
75 | \r | |
76 | //Process conv gamma\r | |
77 | void ProcessConvGamma( const TClonesArray * const convGamma, const TClonesArray * const pions, const TClonesArray * const tracks);\r | |
78 | void ProcessPions( const TClonesArray * const pions, const TClonesArray * const photons, const TClonesArray * const tracks);\r | |
79 | \r | |
80 | //Process calorimeters\r | |
81 | void ProcessCalorimeters( const AliAODEvent * const aodEvent );\r | |
82 | \r | |
83 | \r | |
84 | //Does any pions have given photon (iPhot) index listed as daughter\r | |
85 | Bool_t IsDecayPion(Int_t iPhot, const TClonesArray * const pions); //see above\r | |
86 | \r | |
87 | \r | |
88 | TList *fOutputList; //! Output list\r | |
811b0806 | 89 | Float_t fEtaLimit;\r |
fc7e3b59 | 90 | TString fDeltaAODFileName; //! File where Gamma Conv AOD is located, if not in default AOD\r |
811b0806 | 91 | TString fGammaCutString; //! The cut string of the conversion analysis used to produce input AOD\r |
92 | TString fPionCutString; //! The cut string of the conversion analysis used to produce input AOD\r | |
fc7e3b59 | 93 | \r |
94 | \r | |
95 | AliAnaConvIsolation * fAnaIsolation;\r | |
96 | \r | |
97 | TObjArray * fAnaIsolationArray; //!Array of isolation analysis objects\r | |
98 | TObjArray * fAnaPionArray; //!Array of pion - hadron ana objects\r | |
99 | TObjArray * fAnaPhotonArray; //!Array of photon - hadron ana objects\r | |
100 | TObjArray * fAnaPhotonJetArray; //!Array of photon - jet ana objects\r | |
811b0806 | 101 | TObjArray * fAnaPionJetArray; //!Array of photon - jet ana objects\r |
fc7e3b59 | 102 | \r |
103 | Float_t fMinPt; //Minimum pt for leading particles\r | |
104 | Int_t fMinNTracks; //Minimum number of tracks in event\r | |
105 | \r | |
811b0806 | 106 | TH2F * fhTracksMissingPt[2];\r |
107 | \r | |
108 | \r | |
109 | \r | |
110 | \r | |
fc7e3b59 | 111 | AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r |
112 | AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r | |
113 | \r | |
114 | ClassDef(AliAnalysisTaskGammaJet, 4); // example of analysis\r | |
115 | };\r | |
116 | \r | |
117 | #endif\r |