]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskHFEQA.h
Coverity + QA
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFEQA.h
1 /**************************************************************************\r
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
3 *                                                                        *\r
4 * Author: The ALICE Off-line Project.                                    *\r
5 * Contributors are mentioned in the code where appropriate.              *\r
6 *                                                                        *\r
7 * Permission to use, copy, modify and distribute this software and its   *\r
8 * documentation strictly for non-commercial purposes is hereby granted   *\r
9 * without fee, provided that the above copyright notice appears in all   *\r
10 * copies and that both the copyright notice and this permission notice   *\r
11 * appear in the supporting documentation. The authors make no claims     *\r
12 * about the suitability of this software for any purpose. It is          *\r
13 * provided "as is" without express or implied warranty.                  *\r
14 **************************************************************************/\r
15 //\r
16 // Flow task class for the ALICE HFE group\r
17 //\r
18 //\r
19 #ifndef ALIANALYSISTASKHFEQA_H\r
20 #define ALIANALYSISTASKHFEQA_H\r
21 \r
22 \r
23 #ifndef ALIANALYSISTASKSE_H\r
24 #include "AliAnalysisTaskSE.h"\r
25 #endif\r
26 \r
27 #ifndef ROOT_TString\r
28 #include <TString.h>\r
29 #endif\r
30 \r
31 #ifndef ROOT_TBits\r
32 #include <TBits.h>\r
33 #endif\r
34 \r
35 \r
36 class TList;\r
37 class AliHFEcuts;\r
38 class AliHFEpid;\r
39 class AliHFEpidQAmanager;\r
40 class AliAODMCHeader;\r
41 class TClonesArray;\r
42 class TH1F;\r
43 \r
44 \r
45 class AliAnalysisTaskHFEQA: public AliAnalysisTaskSE {\r
46 public:\r
47 \r
48   typedef enum{\r
49     kpp = 0,\r
50     kpPb = 1,\r
51     kPbPb = 2\r
52   } ESystem_t;\r
53   \r
54 \r
55   AliAnalysisTaskHFEQA();\r
56   AliAnalysisTaskHFEQA(const char *name);\r
57   AliAnalysisTaskHFEQA(const AliAnalysisTaskHFEQA &ref);\r
58   AliAnalysisTaskHFEQA& operator=(const AliAnalysisTaskHFEQA &ref);\r
59   virtual void Copy(TObject &o) const;\r
60   virtual ~AliAnalysisTaskHFEQA();\r
61   \r
62   virtual void  UserExec(Option_t */*option*/);\r
63   virtual void  UserCreateOutputObjects();\r
64 \r
65   void SetAODAnalysis(Bool_t aodAnalysis)   { fAODAnalysis = aodAnalysis; };\r
66   void SetCentralityEstimator(const char *estimator) { fCentralityEstimator = estimator; }\r
67   void SetppAnalysis(){\r
68     fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
69     fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
70     fCollisionSystem.SetBitNumber(kpp, kTRUE); \r
71   }\r
72   void SetpPbAnalysis() {\r
73     fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
74     fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
75     fCollisionSystem.SetBitNumber(kpPb, kTRUE); \r
76   }\r
77   void SetPbPbAnalysis() { \r
78     fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
79     fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
80     fCollisionSystem.SetBitNumber(kPbPb, kTRUE); \r
81   };\r
82   Bool_t Ispp() const { return fCollisionSystem.TestBitNumber(kpp); }\r
83   Bool_t IsPbPb() const { return fCollisionSystem.TestBitNumber(kPbPb); }\r
84   Bool_t IspPb() const { return fCollisionSystem.TestBitNumber(kpPb); }\r
85   \r
86   AliHFEpid *GetPIDTPConly() const { return fPIDTPConly; }\r
87   AliHFEpid *GetPIDTOFTPC() const { return fPIDTOFTPC; }\r
88   AliHFEpid *GetPIDTPCTRD() const { return fPIDTPCTRD; }\r
89   AliHFEpid *GetPIDTPCEMCal() const { return fPIDTPCEMCal; }\r
90   AliHFEpidQAmanager *GetPIDQAManagerTOFTPC() const { return fPIDqaTOFTPC; }\r
91   AliHFEpidQAmanager *GetPIDQAManagerTPCTRD() const { return fPIDqaTPCTRD; }\r
92   AliHFEpidQAmanager *GetPIDQAManagerTPCEMCal() const { return fPIDqaTPCEMCal; }\r
93  \r
94 \r
95   void SetHFECuts(AliHFEcuts * const cuts) { fHFECuts = cuts; };\r
96  \r
97  private:\r
98   TList     *fListHist;         //! TH list\r
99   Bool_t    fAODAnalysis;       // AOD analysis\r
100   AliAODMCHeader *fAODMCHeader;         // ! MC info AOD\r
101   TClonesArray *fAODArrayMCInfo;        // ! MC info particle AOD\r
102  \r
103   // Cuts for HFE\r
104   AliHFEcuts *fHFECuts;                   // HFE cuts\r
105   AliHFEpid  *fPIDTPConly;                // PID cuts \r
106   AliHFEpid  *fPIDTOFTPC;                 // PID cuts TOF-TPC only\r
107   AliHFEpid  *fPIDTPCTRD;                 // PID cuts TPC-TRD \r
108   AliHFEpid  *fPIDTPCEMCal;                 // PID cuts TPC-EMCal \r
109   AliHFEpidQAmanager *fPIDqaTOFTPC;       // QA Manager TOF TPC\r
110   AliHFEpidQAmanager *fPIDqaTPCTRD;       // QA Manager TPC TRD\r
111   AliHFEpidQAmanager *fPIDqaTPCEMCal;       // QA Manager TPC EMCal\r
112   TString fCentralityEstimator;         // Centrality Estimator\r
113   TBits fCollisionSystem;              // Collision System;\r
114 \r
115   // Histo yields\r
116   TH1F *fTPConly;                      // TPC only electron yield\r
117   TH1F *fTOFTPC;                      // TOF TPC  electron yield\r
118   TH1F *fTPCTRD;                      // TPC TRD  electron yield\r
119   TH1F *fTPCEMCal;                      // TPC EMCal electron yield\r
120  \r
121   \r
122   // Debuging Cuts step by step all centrality together: pt, step (6)\r
123   //THnSparseF *fTrackingCuts; //! Tracking Cuts\r
124 \r
125   \r
126   \r
127   ClassDef(AliAnalysisTaskHFEQA, 1); // analysisclass\r
128 };\r
129 \r
130 #endif\r