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