2 // Class AliRsnAnalysisTaskEff
4 // Base class for efficiency computation tasks
5 // which should be inherited by different efficiency computators
7 // author: Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
10 #ifndef ALIRSNANALYSISTASKEFF_H
11 #define ALIRSNANALYSISTASKEFF_H
15 #include <TObjArray.h>
16 #include <TClonesArray.h>
18 #include "AliCFContainer.h"
20 #include "AliRsnValue.h"
21 #include "AliRsnCutSet.h"
22 #include "AliRsnVAnalysisTask.h"
27 class AliRsnAnalysisTaskEff : public AliRsnVAnalysisTask {
31 AliRsnAnalysisTaskEff(const char *name = "AliRsnAnalysisTasEff");
32 AliRsnAnalysisTaskEff(const AliRsnAnalysisTaskEff& copy);
33 AliRsnAnalysisTaskEff& operator=(const AliRsnAnalysisTaskEff& copy);
34 virtual ~AliRsnAnalysisTaskEff() {;};
37 AliRsnCutSet* GetEventCuts() {return &fEventCuts;}
38 void AddDef(TObject *def);
39 void AddAxis(AliRsnValue *axis);
40 void AddStepMC(TObject *set);
41 void AddStepRec(TObject *set);
44 virtual void RsnUserCreateOutputObjects();
45 virtual void RsnUserExec(Option_t*);
46 virtual void RsnTerminate(Option_t*);
47 virtual Bool_t RsnEventProcess();
51 TArrayI FindTracks(Int_t label, AliVEvent *esd);
52 virtual void ProcessEventESD();
53 virtual void ProcessEventAOD();
54 virtual Int_t NGoodSteps();
55 virtual void FillContainer(Bool_t mcList, TObject *def);
57 TObjArray fDefs; // list of definitions
58 TObjArray fStepsMC; // list of cuts for all steps with MC tracks
59 TObjArray fStepsRec; // list of cuts for all steps with reconstructed tracks
60 TClonesArray fAxes; // list of axes of efficiency plots
62 TList *fOutList; // global output list
63 AliRsnCutSet fEventCuts; // event cuts
65 TArrayD fVar; //! list of variables of the container (temporary)
67 ClassDef(AliRsnAnalysisTaskEff, 1)