]>
Commit | Line | Data |
---|---|---|
cb68eb1d | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | #ifndef ALIANALYSISTASKNETPARTICLE_H | |
4 | #define ALIANALYSISTASKNETPARTICLE_H | |
5 | ||
6 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
7 | * See cxx source for full Copyright notice */ | |
8 | ||
4918c45f | 9 | /** |
a2ddc3d0 | 10 | * Class for NetParticle Distributions |
4918c45f | 11 | * -- AnalysisTask |
12 | * Authors: Jochen Thaeder <jochen@thaeder.de> | |
13 | * Michael Weber <m.weber@cern.ch> | |
14 | */ | |
cb68eb1d | 15 | |
16 | #include "AliAnalysisTaskSE.h" | |
17 | #include "TList.h" | |
18 | #include "THnSparse.h" | |
19 | ||
20 | #include "AliAnalysisNetParticleHelper.h" | |
21 | #include "AliAnalysisNetParticleEffCont.h" | |
22 | #include "AliAnalysisNetParticleDCA.h" | |
23 | #include "AliAnalysisNetParticleDistribution.h" | |
5de3d4d1 | 24 | #include "AliAnalysisNetParticleQA.h" |
cb68eb1d | 25 | |
26 | class AliESDEvent; | |
27 | class AliESDInputHandler; | |
9be43c8e | 28 | class AliAODEvent; |
29 | class AliAODInputHandler; | |
cb68eb1d | 30 | class AliMCEvent; |
31 | class AliStack; | |
32 | class AliPIDResponse; | |
33 | class AliESDResponse; | |
34 | ||
35 | class AliAnalysisTaskNetParticle : public AliAnalysisTaskSE { | |
36 | ||
37 | public: | |
38 | ||
cb68eb1d | 39 | AliAnalysisTaskNetParticle(const char *name = "AliAnalysisTaskNetParticle"); |
40 | virtual ~AliAnalysisTaskNetParticle(); | |
41 | ||
42 | /* | |
43 | * --------------------------------------------------------------------------------- | |
44 | * Task Methods | |
45 | * --------------------------------------------------------------------------------- | |
46 | */ | |
47 | ||
48 | virtual void UserCreateOutputObjects(); | |
49 | virtual void UserExec(Option_t *option); | |
50 | virtual void Terminate(Option_t *); | |
51 | ||
52 | /* | |
53 | * --------------------------------------------------------------------------------- | |
54 | * Public Methods | |
55 | * --------------------------------------------------------------------------------- | |
56 | */ | |
57 | ||
58 | /** Initialize Task */ | |
59 | Int_t Initialize(); | |
60 | ||
61 | /* | |
62 | * --------------------------------------------------------------------------------- | |
63 | * Setter | |
64 | * --------------------------------------------------------------------------------- | |
65 | */ | |
66 | ||
478c95cf | 67 | void SetIsMC() {fIsMC = kTRUE;} |
68 | void SetIsAOD(Bool_t b) {fIsAOD = b;} | |
cb68eb1d | 69 | |
478c95cf | 70 | void SetESDTrackCutMode(Int_t i) {fESDTrackCutMode = i;} |
71 | void SetModeEffCreation(Int_t i) {fModeEffCreation = i;} | |
72 | void SetModeDCACreation(Int_t i) {fModeDCACreation = i;} | |
73 | void SetModeDistCreation(Int_t i) {fModeDistCreation = i;} | |
74 | void SetModeQACreation(Int_t i) {fModeQACreation = i;} | |
cb68eb1d | 75 | |
478c95cf | 76 | void SetEtaMax(Float_t f) {fEtaMax = f;} |
8c6128b7 | 77 | void SetEtaMaxEff(Float_t f) {fEtaMaxEff = f;} |
478c95cf | 78 | void SetPtRange(Float_t f1, Float_t f2) {fPtRange[0] = f1; fPtRange[1] = f2;} |
79 | void SetPtRangeEff(Float_t f1, Float_t f2) {fPtRangeEff[0] = f1; fPtRangeEff[1] = f2;} | |
cb68eb1d | 80 | |
478c95cf | 81 | void SetTrackFilterBit(Int_t i) {fAODtrackCutBit = i;} |
82 | ||
83 | void SetNetParticleHelper(AliAnalysisNetParticleHelper *helper) { | |
84 | if (fHelper) | |
85 | delete fHelper; | |
86 | fHelper = helper; | |
cb68eb1d | 87 | } |
88 | ||
cb68eb1d | 89 | /////////////////////////////////////////////////////////////////////////////////// |
90 | ||
91 | private: | |
92 | ||
93 | AliAnalysisTaskNetParticle(const AliAnalysisTaskNetParticle&); // not implemented | |
94 | AliAnalysisTaskNetParticle& operator=(const AliAnalysisTaskNetParticle&); // not implemented | |
95 | ||
96 | /* | |
97 | * --------------------------------------------------------------------------------- | |
98 | * Setup/Reset Methods - private | |
99 | * --------------------------------------------------------------------------------- | |
100 | */ | |
101 | ||
102 | /** Setup Event */ | |
103 | Int_t SetupEvent(); | |
104 | ||
105 | /** Setup ESD Event */ | |
106 | Int_t SetupESDEvent(); | |
107 | ||
9be43c8e | 108 | /** Setup AOD Event */ |
109 | Int_t SetupAODEvent(); | |
110 | ||
cb68eb1d | 111 | /** Setup MC Event */ |
112 | Int_t SetupMCEvent(); | |
113 | ||
114 | /** Reset Event */ | |
115 | void ResetEvent(); | |
478c95cf | 116 | |
cb68eb1d | 117 | /* |
118 | * --------------------------------------------------------------------------------- | |
119 | * Members - private | |
120 | * --------------------------------------------------------------------------------- | |
121 | */ | |
122 | ||
8c6128b7 | 123 | AliAnalysisNetParticleHelper *fHelper; // Helper class |
cb68eb1d | 124 | AliAnalysisNetParticleEffCont *fEffCont; //! Efficiency and Contamination class |
125 | AliAnalysisNetParticleDCA *fDCA; //! DCA class | |
126 | AliAnalysisNetParticleDistribution *fDist; //! Distributions class | |
a2ddc3d0 | 127 | AliAnalysisNetParticleQA *fQA; //! QA class |
cb68eb1d | 128 | |
129 | // --- OutLists ---------------------------------------------------------- | |
cb68eb1d | 130 | TList *fOutList; //! Ptr to output data container |
131 | TList *fOutListEff; //! Ptr to output data container - efficiency | |
132 | TList *fOutListCont; //! Ptr to output data container - contamination | |
133 | TList *fOutListDCA; //! Ptr to output data container - DCA | |
a2ddc3d0 | 134 | TList *fOutListQA; //! Ptr to output data container - QA |
cb68eb1d | 135 | |
136 | // --- ESD only ---------------------------------------------------------- | |
cb68eb1d | 137 | AliESDEvent *fESD; //! Ptr to ESD event |
138 | AliESDInputHandler *fESDHandler; //! Ptr to ESD Handler | |
a2ddc3d0 | 139 | // ----------------------------------------------------------------------- |
cb68eb1d | 140 | AliESDtrackCuts *fESDTrackCutsBase; //! ESD cuts - base settings |
141 | AliESDtrackCuts *fESDTrackCuts; //! ESD cuts | |
142 | AliESDtrackCuts *fESDTrackCutsBkg; //! ESD cuts for Bkg | |
143 | AliESDtrackCuts *fESDTrackCutsEff; //! ESD cuts for efficiency determination -> larger pt Range | |
9be43c8e | 144 | |
145 | // --- AOD only ---------------------------------------------------------- | |
9be43c8e | 146 | AliAODEvent *fAOD; //! Ptr to AOD event |
147 | AliAODInputHandler *fAODHandler; //! Ptr to AOD Handler | |
cb68eb1d | 148 | |
149 | // --- Flags ------------------------------------------------------------- | |
4918c45f | 150 | Bool_t fIsMC; // Is MC event |
151 | Bool_t fIsAOD; // analysis mode : 0 = ESDs | 1 = AODs | |
152 | Int_t fESDTrackCutMode; // ESD track cut mode : 0 = clean | 1 = dirty | |
153 | Int_t fModeEffCreation ; // Correction creation mode : 1 = on | 0 = off | |
154 | Int_t fModeDCACreation; // DCA creation mode : 1 = on | 0 = off | |
155 | Int_t fModeDistCreation; // Dist creation mode : 1 = on | 0 = off | |
156 | Int_t fModeQACreation; // QA creation mode : 1 = on | 0 = off | |
cb68eb1d | 157 | |
158 | // --- MC only ----------------------------------------------------------- | |
4918c45f | 159 | AliMCEvent *fMCEvent; //! Ptr to MC event |
160 | AliStack *fMCStack; //! Ptr to MC stack | |
cb68eb1d | 161 | // ----------------------------------------------------------------------- |
4918c45f | 162 | Float_t fEtaMax; // Max, absolut eta |
163 | Float_t fEtaMaxEff; // Max, absolut eta for efficiency | |
164 | Float_t fPtRange[2]; // Array of pt [min,max] | |
165 | Float_t fPtRangeEff[2]; // Array of pt [min,max] for efficiency | |
a2ddc3d0 | 166 | // ----------------------------------------------------------------------- |
4918c45f | 167 | Int_t fAODtrackCutBit; // Track filter bit for AOD tracks |
a2ddc3d0 | 168 | // ======================================================================= |
9be43c8e | 169 | |
cb68eb1d | 170 | |
171 | ClassDef(AliAnalysisTaskNetParticle, 1); | |
172 | }; | |
173 | ||
174 | #endif |