]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/AliAnalysisTaskMaterial.h
- changes for Material Task and Resolution Task, to make them more uniform in the...
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskMaterial.h
1 #ifndef AliAnalysisTaskMaterial_cxx
2 #define AliAnalysisTaskMaterial_cxx
3
4 #include "AliAnalysisTaskSE.h"
5 #include "AliConversionPhotonBase.h"
6 #include "TH1.h"
7 #include "TH2.h"
8 #include "TTreeStream.h"
9 #include "AliLog.h"
10 #include <vector>
11 #include "AliV0ReaderV1.h"
12 #include "AliConversionCuts.h"
13 #include "TList.h"
14 #include "AliStack.h"
15 #include "TClonesArray.h"
16
17
18 using namespace std;
19
20
21 class AliAnalysisTaskMaterial : public AliAnalysisTaskSE{
22
23         public:
24
25                 AliAnalysisTaskMaterial();
26                 AliAnalysisTaskMaterial(const char *name);
27                 virtual ~AliAnalysisTaskMaterial();
28
29                 virtual void   UserCreateOutputObjects();
30                 virtual void   UserExec(Option_t *option);
31                 virtual void   Terminate(Option_t *);
32
33                 void SetIsMC(Bool_t isMC){fIsMC=isMC;}
34                 void SetV0Reader(AliV0ReaderV1 *v0Reader){fV0Reader=v0Reader;}
35                 void SetConversionCuts(AliConversionCuts* conversionCuts,Int_t IsHeavyIon ){
36                         fConversionCuts=conversionCuts;
37                         fIsHeavyIon = IsHeavyIon;
38                 }
39
40         private:
41
42                 void ProcessPhotons();
43                 void ProcessMCPhotons();
44                 void FillMCTree(Int_t stackPos);
45                 Int_t CountTracks0914();
46                 Int_t CountTracks09();
47
48                 AliV0ReaderV1 *fV0Reader;
49                 TClonesArray *fConversionGammas; //Reconstructed Photons;
50                 AliConversionCuts *fConversionCuts; // Cuts used by the V0Reader
51                 TList *fOutputList; 
52                 TList *fEventList;
53                 TList *fRecGammaList;
54                 TList *fAllMCGammaList;
55                 TList *fAllMCConvGammaList;
56                 TTree* fTreeEvent;
57                 TTree* fTreeMaterialRec;
58                 TTree* fTreeMaterialAllGamma;
59                 TTree* fTreeMaterialConvGamma;
60                 Float_t fPrimVtxZ;
61                 Int_t fNContrVtx;
62                 Int_t fNESDtracksEta09;
63                 Int_t fNESDtracksEta0914;
64                 Int_t fNESDtracksEta14;
65                 Float_t fGammaMCPt;
66                 Float_t fGammaMCTheta;
67                 Float_t fGammaMCConvPt;
68                 Float_t fGammaMCConvTheta;
69                 TVectorF fMCConvCords;
70                 TVectorF fMCConvDaughterProp;
71                 Float_t fGammaPt;
72                 Float_t fGammaTheta;
73                 Float_t fGammaChi2NDF;
74                 TVectorF fRecCords;
75                 TVectorF fDaughterProp;
76                 UChar_t fKind;
77                 
78                 
79                 Int_t fIsHeavyIon;
80                 Bool_t fIsMC;
81                 AliESDEvent *fESDEvent;
82                 AliMCEvent *fMCEvent;
83
84                 AliAnalysisTaskMaterial(const AliAnalysisTaskMaterial&); // not implemented
85                 AliAnalysisTaskMaterial& operator=(const AliAnalysisTaskMaterial&); // not implemented
86
87
88                 ClassDef(AliAnalysisTaskMaterial, 1);
89 };
90
91 #endif