Speed up
[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   void SetSimpleMode(Bool_t flag){fSimpleMode=flag;}
42
43   //getters
44   AliRDHFCuts* GetCutObject() const {return fCuts;}
45   DecChannel GetDecayChannel()const {return fDecayChannel;}
46
47  private:
48   AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source);
49   AliAnalysisTaskSEHFQA operator=(const AliAnalysisTaskSEHFQA &source);
50
51  TH1F*  fNEntries;         //! histogram with number of events on output slot 1
52  TList* fOutputPID;        //! list sent on output slot 2
53  TList* fOutputTrack;      //! list sent on output slot 3
54  TList* fOutputCounters;   //! list sent on output slot 5
55  TList* fOutputCheckCentrality;   //! list sent on output slot 6
56  DecChannel fDecayChannel; //identify the decay channel
57  AliRDHFCuts* fCuts;       // object containing cuts
58  AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality
59  Bool_t fReadMC;           // flag to read MC
60  Bool_t fSimpleMode;       // if true, don't do candidates (much faster in PbPb) 
61  ClassDef(AliAnalysisTaskSEHFQA,4); //AnalysisTaskSE for the quality assurance of HF in hadrons
62
63 };
64
65 #endif