]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/AliAnalysisTaskConversionQA.h
- addtask changed for PbPb
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskConversionQA.h
1 #ifndef AliAnalysisConversionQA_cxx
2 #define AliAnalysisConversionQA_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 AliAnalysisTaskConversionQA : public AliAnalysisTaskSE{
22
23  public:
24    
25    AliAnalysisTaskConversionQA();
26    AliAnalysisTaskConversionQA(const char *name);
27    virtual ~AliAnalysisTaskConversionQA();
28
29    virtual void   UserCreateOutputObjects();
30    virtual Bool_t Notify();
31    virtual void   UserExec(Option_t *option);
32    virtual void   Terminate(Option_t *);
33
34    void SetV0Reader(AliV0ReaderV1 *v0Reader){fV0Reader=v0Reader;}
35    void SetConversionCuts(AliConversionCuts* conversionCuts,Bool_t IsHeavyIon ){
36       fConversionCuts=conversionCuts;
37       fIsHeavyIon = IsHeavyIon;
38    }
39    void FillType(Bool_t fillTree, Bool_t fillHistorams){
40       ffillTree = fillTree;
41       ffillHistograms = fillHistorams;
42    }
43    void SetIsMC(Bool_t isMC){fIsMC = isMC;}
44    
45  private:
46     
47    AliAnalysisTaskConversionQA(const AliAnalysisTaskConversionQA&); // Prevent copy-construction
48    AliAnalysisTaskConversionQA &operator=(const AliAnalysisTaskConversionQA&); // Prevent assignment
49
50    void ProcessQATree(AliAODConversionPhoton *gamma);
51    void ProcessQA(AliAODConversionPhoton *gamma);
52    void RelabelAODPhotonCandidates(Bool_t mode);
53    void ProcessTrueQAESD(AliAODConversionPhoton *TruePhotonCandidate, AliESDtrack *elec, AliESDtrack *posi);
54    void ProcessTrueQAAOD(AliAODConversionPhoton *TruePhotonCandidate, AliAODTrack *elec, AliAODTrack *posi);
55    UInt_t IsTruePhotonESD(AliAODConversionPhoton *TruePhotonCandidate);
56    UInt_t IsTruePhotonAOD(AliAODConversionPhoton *TruePhotonCandidate);
57    void CountTracks();
58    void SetLogBinningXTH2(TH2* histoRebin);
59         
60    AliV0ReaderV1 *fV0Reader;    
61    TClonesArray *fConversionGammas;
62    AliConversionCuts *fConversionCuts; // Cuts used by the V0Reader
63    AliVEvent *fInputEvent;
64    Int_t fNumberOfESDTracks;
65    AliMCEvent *fMCEvent;
66    AliStack *fMCStack;
67    TTree *fTreeQA;
68    Bool_t fIsHeavyIon;
69    Bool_t ffillTree;
70    Bool_t ffillHistograms;
71    TList *fOutputList;
72    TList *fTreeList;
73    TList *fESDList;
74    TH1F *hVertexZ;
75    TH1I *hNGoodESDTracks;
76    TH1I *hNV0Tracks;
77    TH1I *hNContributorsVertex;
78    TH2F *hITSClusterPhi;
79    TH1F *hGammaPt;
80    TH1F *hGammaPhi;
81    TH1F *hGammaEta;
82    TH1F *hGammaChi2perNDF;
83    TH1F *hGammaPsiPair;
84    TH2F *hGammaArmenteros;
85    TH1F *hGammaCosinePointingAngle;
86    TH1F *hGammaInvMass;
87    TH2F *hElecPt;
88    TH2F *hElecEta;
89    TH2F *hElecPhi;
90    TH1F *hElecNfindableClsTPC;
91    TH1F *hPosiNfindableClsTPC;
92    TH1F *hElecClsTPC;
93    TH1F *hPosiClsTPC;
94    TH2F* hElectrondEdxP;
95    TH2F* hElectronITSdEdxP;
96    TH2F* hElectronTOFP;
97    TH2F* hElectronNSigmadEdxP;
98    TH2F* hElectronNSigmadEdxEta;
99    TH2F* hElectronNSigmaPiondEdxP;
100    TH2F* hElectronNSigmaITSP;
101    TH2F* hElectronNSigmaTOFP;
102    TH2F* hPositrondEdxP;
103    TH2F* hPositronITSdEdxP;
104    TH2F* hPositronTOFP;
105    TH2F* hPositronNSigmadEdxP;
106    TH2F* hPositronNSigmadEdxEta;
107    TH2F* hPositronNSigmaPiondEdxP;
108    TH2F* hPositronNSigmaITSP;
109    TH2F* hPositronNSigmaTOFP;
110 //    TH2F *hElecAsymP;
111 //    TH2F *hGammaXY;
112 //    TH2F *hGammaZR;   
113 //    TList *fTrueList;
114 //    TH2F *hTrueResolutionR;
115 //    TH2F *hTrueResolutionZ;
116 //    TH2F *hTrueResolutionPhi;
117 //    TH1F *hTrueGammaPt;
118 //    TH1F *hTrueGammaPhi;
119 //    TH1F *hTrueGammaEta;
120 //    TH1F *hTrueGammaMass;
121 //    TH1F *hTrueGammaChi2perNDF;
122 //    TH1F *hTrueGammaPsiPair;
123 //    TH1F *hTrueGammaQt;
124 //    TH1F *hTrueGammaCosinePointingAngle;
125 //    TH2F *hTrueGammaXY;
126 //    TH2F *hTrueGammaZR;
127 //    TH2F *hTrueElecPt;
128 //    TH2F *hTrueElecEta;
129 //    TH2F *hTrueElecPhi;
130 //    TH1F *hTrueElecNfindableClsTPC;
131 //    TH1F *hTruePosiNfindableClsTPC;
132 //    TH2F *hTrueElecAsymP;
133    Float_t fGammaPt;
134    Float_t fGammaTheta;
135    Float_t fGammaChi2NDF;
136    TVectorF fGammaPhotonProp;
137    TVectorF fGammaConvCoord;
138    TVectorF fDaughterProp;
139    UInt_t fKind;
140    Bool_t fIsMC;
141    Int_t fnGammaCandidates;
142    Int_t *fMCStackPos;     //[fnGammaCandidates]
143    Int_t *fMCStackNeg;     //[fnGammaCandidates]
144    ClassDef(AliAnalysisTaskConversionQA, 4);
145 };
146
147 #endif
148