]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnAnalysisEffSE.h
Major upgrade to the package, in order to speed-up the execution and remove some...
[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>
14
15#include "AliRsnVAnalysisTaskSE.h"
16#include "AliRsnEvent.h"
2dab9030 17#include "AliRsnMother.h"
4fbb2459 18#include "AliRsnPIDIndex.h"
19
20class AliPID;
21
22class AliCFContainer;
23
24class AliRsnPairDef;
25class AliRsnPIDIndex;
26class AliRsnPIDDefESD;
27class AliRsnCutSet;
2dab9030 28class AliRsnCutManager;
29class AliRsnValue;
4fbb2459 30
31class AliRsnAnalysisManager;
32class 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