]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnAnalysisTrackEffSE.h
fix for bug #70582 (change from L. Molnar)
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisTrackEffSE.h
CommitLineData
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
17class AliPID;
18
19class AliCFContainer;
20
21class AliRsnPairDef;
22class AliRsnPIDIndex;
23class AliRsnPIDDefESD;
24class AliRsnCutSet;
25class AliRsnFunctionAxis;
26
27class AliRsnAnalysisManager;
28class 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