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