]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/AliAnalysisTaskGCPartToPWG4Part.h
edges for AOD tracks binning
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGCPartToPWG4Part.h
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
7 class TH1F;\r
8 class AliESDEvent;\r
9 class AliAODConversionPhoton;\r
10 class AliAODPWG4ParticleCorrelation;\r
11 class AliAODPWG4Particle;\r
12 class TClonesArray;\r
13 class TString;\r
14 class AliMCAnalysisUtils;\r
15 class AliAODMCHeader;\r
16 \r
17 #include "AliAnalysisTaskSE.h"\r
18 \r
19 class AliAnalysisTaskGCPartToPWG4Part : public AliAnalysisTaskSE {\r
20 \r
21 public:\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