]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIANALYSISTASKSEHFQUALITYASSURANCE_H | |
2 | #define ALIANALYSISTASKSEHFQUALITYASSURANCE_H | |
3 | ||
4 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //************************************************************************* | |
10 | // Class AliAnalysisTaskSEHFQA | |
11 | // AliAnalysisTaskSE for HF quality assurance | |
12 | // Authors: C.Bianchin, chiara.bianchin@pd.infn.it | |
13 | //************************************************************************* | |
14 | ||
15 | #include <TROOT.h> | |
16 | #include <TSystem.h> | |
17 | ||
18 | #include "AliAnalysisTaskSE.h" | |
19 | ||
20 | class AliRDHFCuts; | |
21 | class TH1F; | |
22 | class AliAODEvent; | |
23 | class AliFlowEvent; | |
24 | class AliFlowTrackCuts; | |
25 | ||
26 | class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE | |
27 | { | |
28 | ||
29 | public: | |
30 | ||
31 | enum DecChannel {kDplustoKpipi,kD0toKpi,kDstartoKpipi,kDstoKKpi,kD0toKpipipi,kLambdactopKpi,kLambdactoV0}; | |
32 | ||
33 | AliAnalysisTaskSEHFQA(); | |
34 | AliAnalysisTaskSEHFQA(const char *name, DecChannel ch, AliRDHFCuts* cuts); | |
35 | virtual ~AliAnalysisTaskSEHFQA(); | |
36 | ||
37 | // Implementation of interface methods | |
38 | virtual void UserCreateOutputObjects(); | |
39 | virtual void Init(); | |
40 | virtual void LocalInit() {Init();} | |
41 | virtual void UserExec(Option_t *option); | |
42 | virtual void Terminate(Option_t *option); | |
43 | ||
44 | //setters | |
45 | void SetReadMC(Bool_t mcflag){fReadMC=mcflag;} | |
46 | void SetSimpleMode(Bool_t flag){fSimpleMode=flag;} | |
47 | void SetTrackOn(Bool_t trackon=kTRUE){fOnOff[0]=trackon;} | |
48 | void SetPIDOn(Bool_t pidon=kTRUE){fOnOff[1]=pidon;} | |
49 | void SetCentralityOn(Bool_t centron=kTRUE){fOnOff[2]=centron;} | |
50 | void SetEvSelectionOn(Bool_t evselon=kTRUE){fOnOff[3]=evselon;} | |
51 | void SetFlowObsOn(Bool_t flowobson=kTRUE){fOnOff[4]=flowobson;} | |
52 | void SetUseSelectionBit(Bool_t selectionbiton=kTRUE){fUseSelectionBit=selectionbiton;} | |
53 | void SetSecondCentralityEstimator(AliRDHFCuts::ECentrality est){fEstimator = est;} | |
54 | void SetFillDistributionsForTrackEffChecks(Bool_t filldistrtrackeffcheckson=kFALSE){fFillDistrTrackEffChecks = filldistrtrackeffcheckson;} | |
55 | ||
56 | //getters | |
57 | AliRDHFCuts* GetCutObject() const {return fCuts;} | |
58 | DecChannel GetDecayChannel()const {return fDecayChannel;} | |
59 | Bool_t GetTrackStatus() const {return fOnOff[0];} | |
60 | Bool_t GetPIDStatus() const {return fOnOff[1];} | |
61 | Bool_t GetCentralityStatus() const {return fOnOff[2];} | |
62 | Bool_t GetEvSelStatus() const {return fOnOff[3];} | |
63 | Bool_t GetFlowObsStatus() const {return fOnOff[4];} | |
64 | Bool_t GetUseSelectionBit() const {return fUseSelectionBit;} | |
65 | AliRDHFCuts::ECentrality GetSecondCentralityEstimator()const {return fEstimator;} | |
66 | Bool_t GetFillDistributionsForTrackEffChecks()const {return fFillDistrTrackEffChecks;} | |
67 | ||
68 | private: | |
69 | AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source); | |
70 | AliAnalysisTaskSEHFQA operator=(const AliAnalysisTaskSEHFQA &source); | |
71 | void FillFlowObs(AliAODEvent *aod); | |
72 | ||
73 | TList* fOutputEntries; //! list sent on output slot 1 | |
74 | TList* fOutputPID; //! list sent on output slot 2 | |
75 | TList* fOutputTrack; //! list sent on output slot 3 | |
76 | TList* fOutputCounters; //! list sent on output slot 5 | |
77 | TList* fOutputCheckCentrality; //! list sent on output slot 6 | |
78 | TList* fOutputEvSelection; //! list sent on output slot 7 | |
79 | TList* fOutputFlowObs; //! list sent on output slot 8 | |
80 | DecChannel fDecayChannel; //identify the decay channel | |
81 | AliRDHFCuts* fCuts; // object containing cuts | |
82 | AliFlowEvent *fFlowEvent; //! to handle the reusage of the flowEvent object | |
83 | AliFlowTrackCuts *fRFPcuts; //! reference flow particle cuts | |
84 | AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality | |
85 | Bool_t fReadMC; // flag to read MC | |
86 | Bool_t fSimpleMode; // if true, don't do candidates (much faster in PbPb) | |
87 | Bool_t fUseSelectionBit; // flag to use or not the selection bit | |
88 | Bool_t fOnOff[5]; // on-off the QA on tracks (0), PID (1), centrality (2), event selection -- default is {kTRUE,kTRUE,kTRUE,kTRUE} | |
89 | Bool_t fFillDistrTrackEffChecks; | |
90 | ||
91 | ClassDef(AliAnalysisTaskSEHFQA,10); //AnalysisTaskSE for the quality assurance of HF in hadrons | |
92 | ||
93 | }; | |
94 | ||
95 | #endif | |
96 |