o updates from Pietro and Giacomo
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPIDqa.h
1 #ifndef ALIANALYSISTASKPIDQA_H
2 #define ALIANALYSISTASKPIDQA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliAnalysisTaskPIDqa.h 43642 2010-09-17 15:50:04Z wiechula $ */
8 // Author: Jens Wiechula, 24/02/2011
9
10 //==============================================================================
11 //
12 //
13 //
14 //
15 //==============================================================================
16
17 #include <TVectorDfwd.h>
18
19 #ifndef ALIANALYSISTASKSE_H
20 #include "AliAnalysisTaskSE.h"
21 #endif
22
23 class AliPIDResponse;
24 class TList;
25 class AliVEvent;
26
27 class AliAnalysisTaskPIDqa : public AliAnalysisTaskSE {
28   
29   
30 public:
31   AliAnalysisTaskPIDqa();
32   AliAnalysisTaskPIDqa(const char *name);
33   virtual ~AliAnalysisTaskPIDqa();
34
35   virtual void UserCreateOutputObjects();
36   
37   virtual void UserExec(Option_t */*option*/);
38
39   
40 private: 
41   AliPIDResponse *fPIDResponse;             //! PID response Handler
42   TList                 *fListQA;           //! list with all QA histograms
43   TList                 *fListQAits;        //! List with ITS QA histograms
44   TList                 *fListQAitsSA;      //! List with ITS SA QA histograms
45   TList                 *fListQAitsPureSA;  //! List with ITS pure SA QA histograms
46   TList                 *fListQAtpc;        //! List with TPC QA histograms
47   TList                 *fListQAtrd;        //! List with TRD QA histograms
48   TList                 *fListQAtof;        //! List with TOF QA histograms
49   TList                 *fListQAemcal;      //! List with EMCAL QA histograms
50   TList                 *fListQAhmpid;      //! List with EMCAL QA histograms
51   TList                 *fListQAtofhmpid;   //! List with EMCAL QA histograms
52   TList                 *fListQAtpctof;     //! List with combined PID from TPC + TOF
53
54   
55   void ExecNewRun();
56
57   //qa object initialisation
58   void SetupITSqa();
59   void SetupTPCqa();
60   void SetupTRDqa();
61   void SetupTOFqa();
62   void SetupEMCALqa();
63   void SetupHMPIDqa();
64   void SetupTOFHMPIDqa();
65   void SetupTPCTOFqa();
66
67   //
68   void FillITSqa();
69   void FillTPCqa();
70   void FillTRDqa();
71   void FillTOFqa();
72   void FillEMCALqa();
73   void FillHMPIDqa();
74   void FillTOFHMPIDqa();
75   void FillTPCTOFqa();
76   
77   //
78   void SetRecoInfo();
79   
80   //helper functions
81   TVectorD* MakeLogBinning(Int_t nbinsX, Double_t xmin, Double_t xmax);
82   TVectorD* MakeLinBinning(Int_t nbinsX, Double_t xmin, Double_t xmax);
83   TVectorD* MakeArbitraryBinning(const char* bins);
84   
85   
86   AliAnalysisTaskPIDqa(const AliAnalysisTaskPIDqa &other);
87   AliAnalysisTaskPIDqa& operator=(const AliAnalysisTaskPIDqa &other);
88   
89   ClassDef(AliAnalysisTaskPIDqa,1)  // Task to properly set the PID response functions of all detectors
90 };
91 #endif