]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemtoUser/AliAnalysisTaskParticleEfficiency.h
Merge remote-tracking branch 'origin/flatdev' into mergeFlat2Master
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemtoUser / AliAnalysisTaskParticleEfficiency.h
1 #ifndef ALIANALYSISTASKPARTICLEEFFICIENCY
2 #define ALIANALYSISTASKPARTICLEEFFICIENCY
3
4 #define MULTBINS 1
5 #define PARTTYPES 4
6
7 #include "AliAnalysisTaskSE.h"
8
9 class AliESDtrackCuts;
10 class TList;
11 class TH2F;
12 class TH1F;
13 class AliESDEvent;
14 class AliMCEvent;
15 class AliStack;
16 class TParticle;
17 class AliESDtrackCuts;
18 class AliCentrality;
19 class TObjArray;
20 class AliEventPoolManager;
21 class AliInputEventHandler;
22 class AliESDtrack;
23 class AliESDVertex;
24 class AliAODEvent;
25 class AliAODTrack;
26 class AliAODMCParticle;
27 class AliAODHandler;
28 class AliAODInputHandler;
29 class AliPIDResponse;
30
31 class AliAnalysisTaskParticleEfficiency :public AliAnalysisTaskSE{
32  public:
33  AliAnalysisTaskParticleEfficiency() : AliAnalysisTaskSE(),centrality(0), fHistoList(0),  fHistEv(0), fpidResponse(0)
34     {
35
36       for(Int_t i = 0; i < MULTBINS*PARTTYPES; i++)  {
37     
38         fGeneratedMCPrimaries[i] = NULL;
39         fMCPrimariesThatAreReconstructed[i] = NULL;
40         fReconstructedAfterCuts[i] = NULL;
41         fReconstructedNotPrimaries[i] = NULL;
42         fReconstructedPrimaries[i] = NULL;
43         fContamination[i] = NULL;
44       }
45   
46       for ( Int_t i = 0; i < 11; i++) { 
47         fHistQA[i] = NULL;
48         if(i<3) fHistQA2D[i] = NULL;
49       }
50     }
51
52   AliAnalysisTaskParticleEfficiency(const Char_t *partName); // default constructor
53   virtual ~AliAnalysisTaskParticleEfficiency(); // default destructor
54   virtual void UserCreateOutputObjects(); // user create output objects
55   virtual void UserExec(Option_t *option); // user exec
56   //void Terminate(Option_t *option);
57   
58  private:
59   AliAnalysisTaskParticleEfficiency(const AliAnalysisTaskParticleEfficiency &); // copy constructor
60   AliAnalysisTaskParticleEfficiency &operator=(const AliAnalysisTaskParticleEfficiency &); // operator=
61   //AliAODEvent *aodEvent;
62   AliCentrality *centrality;
63   //AliAODTrack *fTpcTracks;
64   //AliAODVertex    *vertex;
65   //AliAODVertex    *vtxSPD;
66   //AliAODMCParticle *MCtrk;
67   //AliESDtrackCuts *fTrackCuts; // ESD track cuts
68   TList *fHistoList; // histo list
69   //TClonesArray *arrayMC;
70   TH1F *fHistEv;
71   AliPIDResponse *fpidResponse;
72
73   TH1F *fHistQA[11];
74   TH2F *fHistQA2D[3];
75   TH2F *fHistQAPID[5][PARTTYPES];
76   TH1F* fHistEvCuts[MULTBINS];
77   //TObjArray *recoParticleArray;
78   TH2F *fGeneratedMCPrimaries[MULTBINS*PARTTYPES];
79   TH2F *fMCPrimariesThatAreReconstructed[MULTBINS*PARTTYPES];
80   TH2F *fReconstructedAfterCuts[MULTBINS*PARTTYPES];
81   TH2F *fReconstructedNotPrimaries[MULTBINS*PARTTYPES];
82   TH2F *fReconstructedPrimaries[MULTBINS*PARTTYPES];
83   TH2F *fContamination[MULTBINS*PARTTYPES];
84   TH2F *fMisidentification[MULTBINS*PARTTYPES];
85
86   ClassDef(AliAnalysisTaskParticleEfficiency, 1);
87
88 };
89
90 #endif /* ALIANALYSISTASKPARTICLEEFFICIENCY */