]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnAnalysisEffSE.h
Add new version of macros for RSN analysis
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisEffSE.h
CommitLineData
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
22class AliPID;
23
24class AliCFContainer;
25
26class AliRsnPairDef;
27class AliRsnPIDIndex;
28class AliRsnPIDDefESD;
29class AliRsnCutSet;
2dab9030 30class AliRsnCutManager;
31class AliRsnValue;
4fbb2459 32
33class AliRsnAnalysisManager;
2a1c7696 34class AliRsnAnalysisEffSE : public AliRsnVAnalysisTaskSE {
4fbb2459 35
2a1c7696 36public:
37 AliRsnAnalysisEffSE(const char *name = "AliRsnAnalysisTaskEffSE");
38 AliRsnAnalysisEffSE(const AliRsnAnalysisEffSE& copy);
39 virtual ~AliRsnAnalysisEffSE() {;};
4fbb2459 40
2a1c7696 41 // Implement this
42 virtual void RsnUserCreateOutputObjects();
43 virtual void RsnUserExec(Option_t*);
44 virtual void RsnTerminate(Option_t*);
45 virtual Bool_t EventProcess();
4fbb2459 46
2a1c7696 47 // settings
48 AliRsnCutSet* GetEventCuts() {return &fEventCuts;}
49 void AddPairDef(AliRsnPairDef *pairDef);
50 void AddStepMC(AliRsnCutManager *mgr);
51 void AddStepESD(AliRsnCutManager *mgr);
52 void AddAxis(AliRsnValue *axis);
4fbb2459 53
2a1c7696 54private:
4fbb2459 55
2a1c7696 56 AliRsnAnalysisEffSE& operator=(const AliRsnAnalysisEffSE& /*copy*/) {return *this;}
57 void ProcessEventESD(AliRsnPairDef *pairDef);
58 void ProcessEventAOD(AliRsnPairDef *pairDef);
59 void FillContainer(AliCFContainer *cont, const TObjArray *stepList, AliRsnPairDef *pd, Int_t firstOutStep);
60 Int_t FindESDtrack(Int_t label, AliESDEvent *esd, Bool_t rejectFakes);
61 TArrayI FindESDtracks(Int_t label, AliESDEvent *esd);
62 Int_t FindAODtrack(Int_t label, AliAODEvent *aod, Bool_t rejectFakes);
63 TArrayI FindAODtracks(Int_t label, AliAODEvent *aod);
4fbb2459 64
2a1c7696 65 Bool_t fUseITSSA; // switch to use ITS standalone tracks
66 Bool_t fUseGlobal; // switch to use global tracks
67 TObjArray fStepListMC; // list of cut managers for all steps with MC
68 TObjArray fStepListESD; // list of cut managers for all steps with ESD
69 TClonesArray fAxisList; // list of axes of efficiency plots
70 TObjArray fPairDefList; // decay channels
71 TList *fContainerList; // list of CF containers
72 TList *fOutList; // global output list
73 TArrayD fVar; // list of variables of the container
74 AliRsnMother fPair; // interface to pair
75 AliRsnDaughter fDaughter[2]; // interface to tracks
76 AliRsnCutSet fEventCuts; // event cuts
4fbb2459 77
2a1c7696 78 ClassDef(AliRsnAnalysisEffSE, 1)
4fbb2459 79};
80
81#endif