]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliAnalysisTaskSEHFQA.h
adapt for ITS upgrade
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSEHFQA.h
CommitLineData
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
20class AliRDHFCuts;
21class TH1F;
d48d81b5 22class AliAODEvent;
23class AliFlowEvent;
24class AliFlowTrackCuts;
0dbb51a0 25
26class 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;}
0dbb51a0 54
55 //getters
56 AliRDHFCuts* GetCutObject() const {return fCuts;}
57 DecChannel GetDecayChannel()const {return fDecayChannel;}
5fc4893f 58 Bool_t GetTrackStatus() const {return fOnOff[0];}
59 Bool_t GetPIDStatus() const {return fOnOff[1];}
60 Bool_t GetCentralityStatus() const {return fOnOff[2];}
818c1271 61 Bool_t GetEvSelStatus() const {return fOnOff[3];}
d48d81b5 62 Bool_t GetFlowObsStatus() const {return fOnOff[4];}
19f6b9ff 63 Bool_t GetUseSelectionBit() const {return fUseSelectionBit;}
b81d2fd2 64 AliRDHFCuts::ECentrality GetSecondCentralityEstimator()const {return fEstimator;}
0dbb51a0 65
66 private:
67 AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source);
68 AliAnalysisTaskSEHFQA operator=(const AliAnalysisTaskSEHFQA &source);
d48d81b5 69 void FillFlowObs(AliAODEvent *aod);
0dbb51a0 70
71 TH1F* fNEntries; //! histogram with number of events on output slot 1
72 TList* fOutputPID; //! list sent on output slot 2
73 TList* fOutputTrack; //! list sent on output slot 3
a4ef4383 74 TList* fOutputCounters; //! list sent on output slot 5
75 TList* fOutputCheckCentrality; //! list sent on output slot 6
818c1271 76 TList* fOutputEvSelection; //! list sent on output slot 7
d48d81b5 77 TList* fOutputFlowObs; //! list sent on output slot 8
0dbb51a0 78 DecChannel fDecayChannel; //identify the decay channel
d48d81b5 79 AliRDHFCuts* fCuts; // object containing cuts
80 AliFlowEvent *fFlowEvent; //! to handle the reusage of the flowEvent object
81 AliFlowTrackCuts *fRFPcuts; //! reference flow particle cuts
a4ef4383 82 AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality
83 Bool_t fReadMC; // flag to read MC
5fc4893f 84 Bool_t fSimpleMode; // if true, don't do candidates (much faster in PbPb)
19f6b9ff 85 Bool_t fUseSelectionBit; // flag to use or not the selection bit
d48d81b5 86 Bool_t fOnOff[5]; // on-off the QA on tracks (0), PID (1), centrality (2), event selection -- default is {kTRUE,kTRUE,kTRUE,kTRUE}
19f6b9ff 87
88 ClassDef(AliAnalysisTaskSEHFQA,8); //AnalysisTaskSE for the quality assurance of HF in hadrons
0dbb51a0 89
90};
91
92#endif
5fc4893f 93