changed Resolution, Material, and PhotonQA task to be able to run on the grid
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGCPartToPWG4Part.h
CommitLineData
92efd725 1#ifndef AliAnalysisTaskGCPartToPWG4Part_cxx\r
2#define AliAnalysisTaskGCPartToPWG4Part_cxx\r
3\r
4// example of an analysis task creating a p_t spectrum\r
5// Authors: Svein Lindal\r
6\r
7class TH1F;\r
8class AliESDEvent;\r
9class AliAODConversionPhoton;\r
10class AliAODPWG4ParticleCorrelation;\r
11class AliAODPWG4Particle;\r
12class TClonesArray;\r
13class TString;\r
14class AliMCAnalysisUtils;\r
15class AliAODMCHeader;\r
16\r
17#include "AliAnalysisTaskSE.h"\r
18\r
19class AliAnalysisTaskGCPartToPWG4Part : public AliAnalysisTaskSE {\r
20\r
21public:\r
22\r
23 AliAnalysisTaskGCPartToPWG4Part(); \r
24 AliAnalysisTaskGCPartToPWG4Part(const char *name);\r
25 virtual ~AliAnalysisTaskGCPartToPWG4Part();\r
26 \r
27 virtual void UserCreateOutputObjects();\r
28 virtual void UserExec(Option_t *option);\r
29 virtual void Terminate(Option_t *);\r
30\r
31 void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}\r
32 void SetGammaBranchName(TString string) { fAODBranchName = string; }\r
33 \r
34\r
35 void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel; }\r
36 Int_t GetDebugLevel() const { return fDebugLevel; }\r
37\r
38 void SetGammaCutId(TString cut) { fGammaCutString = Form("GammaConv_%s", cut.Data());}\r
39 void SetPionCutId(TString cut) { fPionCutString = Form("GammaConv_%s", cut.Data());}\r
40\r
41 \r
42 private:\r
43\r
44 //Clean up\r
45 void CleanUp();\r
46\r
47 //Get the AOD event from whereever it might be accessible\r
48 AliAODEvent * GetAODEvent();\r
49\r
50 Bool_t BothTracksPresent(const AliAODConversionPhoton * const photon, const TClonesArray * const tracks) const;\r
51 Bool_t BothGammaPresent(const AliAODConversionPhoton * const pion, const TClonesArray * const photons, const TClonesArray * const tracks) const;\r
52\r
53 //Get Conversion gammas branch\r
54 TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent) const;\r
55 TClonesArray * GetPions(const AliAODEvent * aodEvent) const;\r
56 TClonesArray * GetAODBranch(const AliAODEvent * aodEvent, TString branchName) const;\r
57\r
58 //Fill AOD tree with PWG4 particles\r
59 AliAODPWG4ParticleCorrelation * AddToAOD(AliAODConversionPhoton * aodO, TClonesArray * branch, TString detector);\r
60 AliAODPWG4ParticleCorrelation * AddPionToAOD(AliAODConversionPhoton * pion, TClonesArray * branch, TString detector); \r
61 //Process conv gamma\r
62 void ProcessConvGamma( const AliAODEvent * const aodEvent );\r
63\r
64 TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD\r
65 TString fGammaCutString; //! The cut string of the conversion analysis used to produce input AOD\r
66 TString fPionCutString; //! The cut string of the conversion analysis used to produce input AOD\r
67 TString fAODBranchName;\r
68 TClonesArray * fAODPWG4Photons;\r
69 TClonesArray * fAODPWG4Pi0;\r
70\r
71\r
72 Int_t fDebugLevel;\r
73\r
74\r
75 AliAnalysisTaskGCPartToPWG4Part(const AliAnalysisTaskGCPartToPWG4Part&); // not implemented\r
76 AliAnalysisTaskGCPartToPWG4Part& operator=(const AliAnalysisTaskGCPartToPWG4Part&); // not implemented\r
77\r
78 //Int_t CheckTag(AliAODPWG4ParticleCorrelation * particle, TClonesArray * tracks, TClonesArray * arrayMC, AliAODMCHeader * mcHeader);\r
79 \r
80 ClassDef(AliAnalysisTaskGCPartToPWG4Part, 1); // example of analysis\r
81};\r
82\r
83#endif\r