]>
Commit | Line | Data |
---|---|---|
0dbb51a0 | 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 | ||
27de2dfb | 7 | /* $Id$ */ |
8 | ||
0dbb51a0 | 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; | |
d48d81b5 | 22 | class AliAODEvent; |
23 | class AliFlowEvent; | |
24 | class AliFlowTrackCuts; | |
0dbb51a0 | 25 | |
26 | class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE | |
27 | { | |
28 | ||
29 | public: | |
30 | ||
ca688a98 | 31 | enum DecChannel {kDplustoKpipi,kD0toKpi,kDstartoKpipi,kDstoKKpi,kD0toKpipipi,kLambdactopKpi,kLambdactoV0}; |
0dbb51a0 | 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 | |
a4ef4383 | 45 | void SetReadMC(Bool_t mcflag){fReadMC=mcflag;} |
19222b31 | 46 | void SetSimpleMode(Bool_t flag){fSimpleMode=flag;} |
5fc4893f | 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;} | |
818c1271 | 50 | void SetEvSelectionOn(Bool_t evselon=kTRUE){fOnOff[3]=evselon;} |
d48d81b5 | 51 | void SetFlowObsOn(Bool_t flowobson=kTRUE){fOnOff[4]=flowobson;} |
19f6b9ff | 52 | void SetUseSelectionBit(Bool_t selectionbiton=kTRUE){fUseSelectionBit=selectionbiton;} |
b81d2fd2 | 53 | void SetSecondCentralityEstimator(AliRDHFCuts::ECentrality est){fEstimator = est;} |
8e4c6c96 | 54 | void SetFillDistributionsForTrackEffChecks(Bool_t filldistrtrackeffcheckson=kFALSE){fFillDistrTrackEffChecks = filldistrtrackeffcheckson;} |
0dbb51a0 | 55 | |
56 | //getters | |
57 | AliRDHFCuts* GetCutObject() const {return fCuts;} | |
58 | DecChannel GetDecayChannel()const {return fDecayChannel;} | |
5fc4893f | 59 | Bool_t GetTrackStatus() const {return fOnOff[0];} |
60 | Bool_t GetPIDStatus() const {return fOnOff[1];} | |
61 | Bool_t GetCentralityStatus() const {return fOnOff[2];} | |
818c1271 | 62 | Bool_t GetEvSelStatus() const {return fOnOff[3];} |
d48d81b5 | 63 | Bool_t GetFlowObsStatus() const {return fOnOff[4];} |
19f6b9ff | 64 | Bool_t GetUseSelectionBit() const {return fUseSelectionBit;} |
b81d2fd2 | 65 | AliRDHFCuts::ECentrality GetSecondCentralityEstimator()const {return fEstimator;} |
8e4c6c96 | 66 | Bool_t GetFillDistributionsForTrackEffChecks()const {return fFillDistrTrackEffChecks;} |
0dbb51a0 | 67 | |
68 | private: | |
69 | AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source); | |
70 | AliAnalysisTaskSEHFQA operator=(const AliAnalysisTaskSEHFQA &source); | |
d48d81b5 | 71 | void FillFlowObs(AliAODEvent *aod); |
0dbb51a0 | 72 | |
c7a6dffc | 73 | TList* fOutputEntries; //! list sent on output slot 1 |
0dbb51a0 | 74 | TList* fOutputPID; //! list sent on output slot 2 |
75 | TList* fOutputTrack; //! list sent on output slot 3 | |
a4ef4383 | 76 | TList* fOutputCounters; //! list sent on output slot 5 |
77 | TList* fOutputCheckCentrality; //! list sent on output slot 6 | |
818c1271 | 78 | TList* fOutputEvSelection; //! list sent on output slot 7 |
d48d81b5 | 79 | TList* fOutputFlowObs; //! list sent on output slot 8 |
0dbb51a0 | 80 | DecChannel fDecayChannel; //identify the decay channel |
d48d81b5 | 81 | AliRDHFCuts* fCuts; // object containing cuts |
82 | AliFlowEvent *fFlowEvent; //! to handle the reusage of the flowEvent object | |
83 | AliFlowTrackCuts *fRFPcuts; //! reference flow particle cuts | |
a4ef4383 | 84 | AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality |
85 | Bool_t fReadMC; // flag to read MC | |
5fc4893f | 86 | Bool_t fSimpleMode; // if true, don't do candidates (much faster in PbPb) |
19f6b9ff | 87 | Bool_t fUseSelectionBit; // flag to use or not the selection bit |
d48d81b5 | 88 | Bool_t fOnOff[5]; // on-off the QA on tracks (0), PID (1), centrality (2), event selection -- default is {kTRUE,kTRUE,kTRUE,kTRUE} |
8e4c6c96 | 89 | Bool_t fFillDistrTrackEffChecks; |
19f6b9ff | 90 | |
c7a6dffc | 91 | ClassDef(AliAnalysisTaskSEHFQA,10); //AnalysisTaskSE for the quality assurance of HF in hadrons |
0dbb51a0 | 92 | |
93 | }; | |
94 | ||
95 | #endif | |
5fc4893f | 96 |