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
5 /// @file AliAnalysisTaskGammaJet.h
\r
6 /// @author Svein Lindal
\r
7 /// @brief Class used to run isolation studies of conversion gamma / pions
\r
11 #ifndef ALIANALYSISTASKGAMMAJET_H
\r
12 #define ALIANALYSISTASKGAMMAJET_H
\r
18 class AliGammaConversionAODObject;
\r
19 class AliAODConversionParticle;
\r
20 class AliAODPWG4ParticleCorrelation;
\r
21 class AliAODPWG4Particle;
\r
27 #include "AliAnaConvIsolation.h"
\r
28 #include "AliAnalysisTaskSE.h"
\r
30 class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {
\r
34 AliAnalysisTaskGammaJet();
\r
35 AliAnalysisTaskGammaJet(const char *name);
\r
36 virtual ~AliAnalysisTaskGammaJet();
\r
38 virtual void UserCreateOutputObjects();
\r
39 virtual void UserExec(Option_t *option);
\r
40 virtual void Terminate(Option_t *);
\r
42 void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}
\r
44 AliAnaConvIsolation * GetIsolation() const {return fAnaIsolation;}
\r
45 void SetIsolation( AliAnaConvIsolation * isolation) { fAnaIsolation = isolation; }
\r
47 void SetConversionCutId(TString cut) { fConversionCutString = Form("GammaConv_%s", cut.Data());}
\r
49 void SetMinPt(Float_t minpt) { fMinPt = minpt;}
\r
50 void SetMinNTracks(Int_t nTracks) { fMinNTracks = nTracks; }
\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
57 void GetPionGrandChildren(const AliAODConversionParticle * const pion, const TClonesArray * photons, Int_t* trackLabels);
\r
62 Bool_t UserNotify();
\r
65 //Get the AOD event from whereever it might be accessible
\r
66 AliAODEvent * GetAODEvent();
\r
68 //Get Conversion gammas branch
\r
69 TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);
\r
70 TClonesArray * GetConversionPions(const AliAODEvent * aodEvent);
\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
76 //Process calorimeters
\r
77 void ProcessCalorimeters( const AliAODEvent * const aodEvent );
\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
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
89 AliAnaConvIsolation * fAnaIsolation;
\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
96 Float_t fMinPt; //Minimum pt for leading particles
\r
97 Int_t fMinNTracks; //Minimum number of tracks in event
\r
99 AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented
\r
100 AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented
\r
102 ClassDef(AliAnalysisTaskGammaJet, 4); // example of analysis
\r