Update
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEHFQA.h
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 //*************************************************************************
8 // Class AliAnalysisTaskSEHFQA
9 // AliAnalysisTaskSE for HF quality assurance
10 // Authors: C.Bianchin, chiara.bianchin@pd.infn.it
11 //*************************************************************************
12
13 #include <TROOT.h>
14 #include <TSystem.h>
15
16 #include "AliAnalysisTaskSE.h"
17
18 class AliRDHFCuts;
19 class TH1F;
20
21 class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE
22 {
23
24  public:
25
26   enum DecChannel {kDplustoKpipi,kD0toKpi,kDstartoKpipi,kDstoKKpi,kD0toKpipipi,kLambdactopKpi};
27
28   AliAnalysisTaskSEHFQA();
29   AliAnalysisTaskSEHFQA(const char *name, DecChannel ch, AliRDHFCuts* cuts);
30   virtual ~AliAnalysisTaskSEHFQA();
31
32   // Implementation of interface methods
33   virtual void UserCreateOutputObjects();
34   virtual void Init();
35   virtual void LocalInit() {Init();}
36   virtual void UserExec(Option_t *option);
37   virtual void Terminate(Option_t *option);
38
39   //setters
40   void SetReadMC(Bool_t mcflag){fReadMC=mcflag;}
41
42   //getters
43   AliRDHFCuts* GetCutObject() const {return fCuts;}
44   DecChannel GetDecayChannel()const {return fDecayChannel;}
45
46  private:
47   AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source);
48   AliAnalysisTaskSEHFQA operator=(const AliAnalysisTaskSEHFQA &source);
49
50  TH1F*  fNEntries;         //! histogram with number of events on output slot 1
51  TList* fOutputPID;        //! list sent on output slot 2
52  TList* fOutputTrack;      //! list sent on output slot 3
53  TList* fOutputCounters;   //! list sent on output slot 5
54  TList* fOutputCheckCentrality;   //! list sent on output slot 6
55  DecChannel fDecayChannel; //identify the decay channel
56  AliRDHFCuts* fCuts;       // object containing cuts
57  AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality
58  Bool_t fReadMC;           // flag to read MC
59
60  ClassDef(AliAnalysisTaskSEHFQA,3); //AnalysisTaskSE for the quality assurance of HF in hadrons
61
62 };
63
64 #endif