]>
Commit | Line | Data |
---|---|---|
4fbb2459 | 1 | // |
2 | // Class AliRsnAnalysisEffSE | |
3 | // | |
4 | // Virtual Class derivated from AliRsnVAnalysisTaskSE which will be base class | |
5 | // for all RSN SE tasks | |
6 | // | |
7 | // authors: Martin Vala (martin.vala@cern.ch) | |
8 | // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it) | |
9 | // | |
10 | #ifndef ALIRSNANALYSISEFFSE_H | |
11 | #define ALIRSNANALYSISEFFSE_H | |
12 | ||
13 | #include <TArrayD.h> | |
c18b1218 | 14 | #include <TArrayI.h> |
15 | #include <TClonesArray.h> | |
4fbb2459 | 16 | |
17 | #include "AliRsnVAnalysisTaskSE.h" | |
18 | #include "AliRsnEvent.h" | |
2dab9030 | 19 | #include "AliRsnMother.h" |
a378358c | 20 | #include "AliRsnDaughter.h" |
4fbb2459 | 21 | |
22 | class AliPID; | |
23 | ||
24 | class AliCFContainer; | |
25 | ||
26 | class AliRsnPairDef; | |
27 | class AliRsnPIDIndex; | |
28 | class AliRsnPIDDefESD; | |
29 | class AliRsnCutSet; | |
2dab9030 | 30 | class AliRsnCutManager; |
31 | class AliRsnValue; | |
4fbb2459 | 32 | |
33 | class AliRsnAnalysisManager; | |
34 | class AliRsnAnalysisEffSE : public AliRsnVAnalysisTaskSE | |
35 | { | |
36 | ||
37 | public: | |
38 | AliRsnAnalysisEffSE(const char *name = "AliRsnAnalysisTaskEffSE"); | |
39 | AliRsnAnalysisEffSE(const AliRsnAnalysisEffSE& copy); | |
40 | virtual ~AliRsnAnalysisEffSE() {;}; | |
41 | ||
42 | // Implement this | |
43 | virtual void RsnUserCreateOutputObjects(); | |
44 | virtual void RsnUserExec(Option_t*); | |
45 | virtual void RsnTerminate(Option_t*); | |
5faf5a07 | 46 | virtual Bool_t EventProcess(); |
4fbb2459 | 47 | |
48 | // settings | |
c18b1218 | 49 | AliRsnCutSet* GetEventCuts() {return &fEventCuts;} |
4fbb2459 | 50 | void AddPairDef(AliRsnPairDef *pairDef); |
c18b1218 | 51 | void AddStepMC(AliRsnCutManager *mgr); |
52 | void AddStepESD(AliRsnCutManager *mgr); | |
53 | void AddAxis(AliRsnValue *axis); | |
4fbb2459 | 54 | |
55 | private: | |
56 | ||
57 | AliRsnAnalysisEffSE& operator=(const AliRsnAnalysisEffSE& /*copy*/) {return *this;} | |
4fbb2459 | 58 | void ProcessEventESD(AliRsnPairDef *pairDef); |
a378358c | 59 | void ProcessEventAOD(AliRsnPairDef *pairDef); |
4fbb2459 | 60 | void FillContainer(AliCFContainer *cont, const TObjArray *stepList, AliRsnPairDef *pd, Int_t firstOutStep); |
a378358c | 61 | Int_t FindESDtrack (Int_t label, AliESDEvent *esd, Bool_t rejectFakes); |
c18b1218 | 62 | TArrayI FindESDtracks(Int_t label, AliESDEvent *esd); |
a378358c | 63 | Int_t FindAODtrack (Int_t label, AliAODEvent *aod, Bool_t rejectFakes); |
64 | TArrayI FindAODtracks(Int_t label, AliAODEvent *aod); | |
4fbb2459 | 65 | |
fecaa02e | 66 | Bool_t fUseITSSA; // switch to use ITS standalone tracks |
67 | Bool_t fUseGlobal; // switch to use global tracks | |
4fbb2459 | 68 | TObjArray fStepListMC; // list of cut managers for all steps with MC |
69 | TObjArray fStepListESD; // list of cut managers for all steps with ESD | |
c18b1218 | 70 | TClonesArray fAxisList; // list of axes of efficiency plots |
4fbb2459 | 71 | TObjArray fPairDefList; // decay channels |
72 | TList *fContainerList; // list of CF containers | |
fecaa02e | 73 | TList *fOutList; // global output list |
4fbb2459 | 74 | TArrayD fVar; // list of variables of the container |
2dab9030 | 75 | AliRsnMother fPair; // interface to pair |
4fbb2459 | 76 | AliRsnDaughter fDaughter[2]; // interface to tracks |
c18b1218 | 77 | AliRsnCutSet fEventCuts; // event cuts |
4fbb2459 | 78 | |
79 | ClassDef(AliRsnAnalysisEffSE, 1) | |
80 | }; | |
81 | ||
82 | #endif |