]>
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> | |
14 | ||
15 | #include "AliRsnVAnalysisTaskSE.h" | |
16 | #include "AliRsnEvent.h" | |
2dab9030 | 17 | #include "AliRsnMother.h" |
4fbb2459 | 18 | #include "AliRsnPIDIndex.h" |
19 | ||
20 | class AliPID; | |
21 | ||
22 | class AliCFContainer; | |
23 | ||
24 | class AliRsnPairDef; | |
25 | class AliRsnPIDIndex; | |
26 | class AliRsnPIDDefESD; | |
27 | class AliRsnCutSet; | |
2dab9030 | 28 | class AliRsnCutManager; |
29 | class AliRsnValue; | |
4fbb2459 | 30 | |
31 | class AliRsnAnalysisManager; | |
32 | class AliRsnAnalysisEffSE : public AliRsnVAnalysisTaskSE | |
33 | { | |
34 | ||
35 | public: | |
36 | AliRsnAnalysisEffSE(const char *name = "AliRsnAnalysisTaskEffSE"); | |
37 | AliRsnAnalysisEffSE(const AliRsnAnalysisEffSE& copy); | |
38 | virtual ~AliRsnAnalysisEffSE() {;}; | |
39 | ||
40 | // Implement this | |
41 | virtual void RsnUserCreateOutputObjects(); | |
42 | virtual void RsnUserExec(Option_t*); | |
43 | virtual void RsnTerminate(Option_t*); | |
44 | ||
45 | // settings | |
46 | void SetEventCuts(AliRsnCutSet *const cuts) {fEventCuts = cuts;} | |
47 | void AddPairDef(AliRsnPairDef *pairDef); | |
2dab9030 | 48 | void AddStepMC(AliRsnCutManager *mgr) {fStepListMC.AddLast(mgr);} |
49 | void AddStepESD(AliRsnCutManager *mgr) {fStepListESD.AddLast(mgr);} | |
50 | void AddAxis(AliRsnValue *axis) {fAxisList.AddLast(axis);} | |
4fbb2459 | 51 | |
52 | private: | |
53 | ||
54 | AliRsnAnalysisEffSE& operator=(const AliRsnAnalysisEffSE& /*copy*/) {return *this;} | |
55 | void ProcessEventMC(AliRsnPairDef *pairDef); | |
56 | void ProcessEventESD(AliRsnPairDef *pairDef); | |
57 | void FillContainer(AliCFContainer *cont, const TObjArray *stepList, AliRsnPairDef *pd, Int_t firstOutStep); | |
58 | ||
59 | AliRsnCutSet *fEventCuts; // event cuts | |
60 | TObjArray fStepListMC; // list of cut managers for all steps with MC | |
61 | TObjArray fStepListESD; // list of cut managers for all steps with ESD | |
62 | TObjArray fAxisList; // list of axes of efficiency plots | |
63 | TObjArray fPairDefList; // decay channels | |
64 | TList *fContainerList; // list of CF containers | |
65 | TArrayD fVar; // list of variables of the container | |
2dab9030 | 66 | AliRsnMother fPair; // interface to pair |
4fbb2459 | 67 | AliRsnDaughter fDaughter[2]; // interface to tracks |
68 | ||
69 | ClassDef(AliRsnAnalysisEffSE, 1) | |
70 | }; | |
71 | ||
72 | #endif |