]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/ConvCorrelations/AliAnalysisTaskGammaJet.h
Merging gsi train and aliroot trunk
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / ConvCorrelations / AliAnalysisTaskGammaJet.h
CommitLineData
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
16class TH1F;\r
17class AliESDEvent;\r
18class AliGammaConversionAODObject;\r
2eedd4ed 19class AliAODConversionPhoton;\r
fc7e3b59 20class AliAODPWG4ParticleCorrelation;\r
21class AliAODPWG4Particle;\r
22class TObjArray;\r
23class TString;\r
24class TClonesArray;\r
25\r
26\r
27#include "AliAnaConvIsolation.h"\r
28#include "AliAnalysisTaskSE.h"\r
29\r
30class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r
31\r
32public:\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