Merge branch 'master', remote branch 'origin' into TPCdev
[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 class AliESDv0KineCuts;
27
28 class AliAnalysisTaskPIDqa : public AliAnalysisTaskSE {
29   
30   
31 public:
32   AliAnalysisTaskPIDqa();
33   AliAnalysisTaskPIDqa(const char *name);
34   virtual ~AliAnalysisTaskPIDqa();
35
36   virtual void UserCreateOutputObjects();
37   
38   virtual void UserExec(Option_t */*option*/);
39
40   
41 private: 
42   AliPIDResponse *fPIDResponse;             //! PID response Handler
43   AliESDv0KineCuts *fV0cuts;                //! ESD V0 cuts
44
45   TObjArray *fV0electrons;                  //! array with pointer to identified particles from V0 decays (electrons)
46   TObjArray *fV0pions;                      //! array with pointer to identified particles from V0 decays (pions)
47   TObjArray *fV0kaons;                      //! array with pointer to identified particles from V0 decays (kaons)
48   TObjArray *fV0protons;                    //! array with pointer to identified particles from V0 decays (ptotons)
49
50   TList                 *fListQA;           //! list with all QA histograms
51   TList                 *fListQAits;        //! List with ITS QA histograms
52   TList                 *fListQAitsSA;      //! List with ITS SA QA histograms
53   TList                 *fListQAitsPureSA;  //! List with ITS pure SA QA histograms
54   TList                 *fListQAtpc;        //! List with TPC QA histograms
55   TList                 *fListQAtrd;        //! List with TRD QA histograms
56   TList                 *fListQAtof;        //! List with TOF QA histograms
57   TList                 *fListQAt0;         //! List with T0 QA histograms
58   TList                 *fListQAemcal;      //! List with EMCAL QA histograms
59   TList                 *fListQAhmpid;      //! List with EMCAL QA histograms
60   TList                 *fListQAtofhmpid;   //! List with EMCAL QA histograms
61   TList                 *fListQAtpctof;     //! List with combined PID from TPC + TOF
62   TList                 *fListQAV0;         //! List with V0 kine cuts QA histograms
63   TList                 *fListQAinfo;       //! List with information about loaded splines etc.
64
65   
66   void ExecNewRun();
67
68   //qa object initialisation
69   void SetupITSqa();
70   void SetupTPCqa();
71   void SetupTRDqa();
72   void SetupTOFqa();
73   void SetupT0qa();
74   void SetupEMCALqa();
75   void SetupHMPIDqa();
76   void SetupTOFHMPIDqa();
77   void SetupTPCTOFqa();
78   void SetupV0qa();
79   void SetupQAinfo();
80
81   //
82   void FillV0PIDlist();
83   void ClearV0PIDlist();
84   //
85   void FillITSqa();
86   void FillTPCqa();
87   void FillTRDqa();
88   void FillTOFqa();
89   void FillT0qa();
90   void FillEMCALqa();
91   void FillHMPIDqa();
92   void FillTOFHMPIDqa();
93   void FillTPCTOFqa();
94   void FillQAinfo();
95   
96   //
97   void SetRecoInfo();
98   
99   //helper functions
100   TVectorD* MakeLogBinning(Int_t nbinsX, Double_t xmin, Double_t xmax);
101   TVectorD* MakeLinBinning(Int_t nbinsX, Double_t xmin, Double_t xmax);
102   TVectorD* MakeArbitraryBinning(const char* bins);
103   
104   
105   AliAnalysisTaskPIDqa(const AliAnalysisTaskPIDqa &other);
106   AliAnalysisTaskPIDqa& operator=(const AliAnalysisTaskPIDqa &other);
107   
108   ClassDef(AliAnalysisTaskPIDqa,2)  // Task to properly set the PID response functions of all detectors
109 };
110 #endif