]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/ConvCorrelations/AliAnalysisTaskGammaJet.h
Moving gamma jet ana to separate folder. Addding several ana processors.
[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
19class AliAODConversionParticle;\r
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
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