]>
Commit | Line | Data |
---|---|---|
eca224a3 | 1 | // |
2 | // Class AliRsnAnalysisTrackEffSE | |
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 ALIRSNANALYSISTRACKEFFSE_H | |
11 | #define ALIRSNANALYSISTRACKEFFSE_H | |
12 | ||
13 | #include <TArrayD.h> | |
14 | ||
15 | #include "AliRsnVAnalysisTaskSE.h" | |
16 | ||
17 | class AliPID; | |
18 | ||
19 | class AliCFContainer; | |
20 | ||
21 | class AliRsnPairDef; | |
22 | class AliRsnPIDIndex; | |
23 | class AliRsnPIDDefESD; | |
24 | class AliRsnCutSet; | |
25 | class AliRsnFunctionAxis; | |
26 | ||
27 | class AliRsnAnalysisManager; | |
28 | class AliRsnAnalysisTrackEffSE : public AliRsnVAnalysisTaskSE | |
29 | { | |
30 | ||
31 | public: | |
32 | AliRsnAnalysisTrackEffSE(const char *name = "AliRsnAnalysisTaskEffSE"); | |
33 | AliRsnAnalysisTrackEffSE(const AliRsnAnalysisTrackEffSE& copy); | |
34 | virtual ~AliRsnAnalysisTrackEffSE() {;}; | |
35 | ||
36 | // Implement this | |
37 | virtual void RsnUserCreateOutputObjects(); | |
38 | virtual void RsnUserExec(Option_t*); | |
39 | virtual void RsnTerminate(Option_t*); | |
40 | ||
41 | // settings | |
42 | void SetEventCuts(AliRsnCutSet *const cuts) {fEventCuts = cuts;} | |
43 | void AddStepMC(AliRsnCutSet *cuts) {fStepListMC.AddLast(cuts);} | |
44 | void AddStepESD(AliRsnCutSet *cuts) {fStepListESD.AddLast(cuts);} | |
45 | void AddAxis(AliRsnFunctionAxis *axis) {fAxisList.AddLast(axis);} | |
46 | ||
47 | private: | |
48 | ||
49 | AliRsnAnalysisTrackEffSE& operator=(const AliRsnAnalysisTrackEffSE& /*copy*/) {return *this;} | |
50 | void ProcessEventMC(); | |
51 | void ProcessEventESD(); | |
52 | Bool_t PassedAllCutsMC(); | |
53 | void FillContainer(const TObjArray *stepList, Int_t firstOutStep); | |
54 | ||
55 | AliRsnCutSet *fEventCuts; // event cuts | |
56 | TObjArray fStepListMC; // list of cut steps with MC | |
57 | TObjArray fStepListESD; // list of cut steps with ESD | |
58 | TObjArray fAxisList; // list of axes of efficiency plots | |
59 | AliCFContainer *fContainer[AliPID::kSPECIES+1]; // one container per particle type + 1 global | |
60 | TArrayD fVar; // list of variables of the container | |
61 | AliRsnDaughter fDaughter; // interface to track | |
62 | ||
63 | ClassDef(AliRsnAnalysisTrackEffSE, 1) | |
64 | }; | |
65 | ||
66 | #endif |