]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskHFEQA.h
Try to understannd
[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 SetDoTPConly(Bool_t tpconlydo)   { fTPConlydo = tpconlydo; };\r
66   void SetDoTOFTPC(Bool_t toftpcdo)   { fTOFTPCdo = toftpcdo; };\r
67   void SetDoTPCTRD(Bool_t tpctrddo)   { fTPCTRDdo = tpctrddo; };\r
68   void SetDoTPCEMCal(Bool_t tpcemcaldo)   { fTPCEMCaldo = tpcemcaldo; };\r
69   void SetAODAnalysis(Bool_t aodAnalysis)   { fAODAnalysis = aodAnalysis; };\r
70   void SetCentralityEstimator(const char *estimator) { fCentralityEstimator = estimator; }\r
71   void SetppAnalysis(){\r
72     fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
73     fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
74     fCollisionSystem.SetBitNumber(kpp, kTRUE); \r
75   }\r
76   void SetpPbAnalysis() {\r
77     fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
78     fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
79     fCollisionSystem.SetBitNumber(kpPb, kTRUE); \r
80   }\r
81   void SetPbPbAnalysis() { \r
82     fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
83     fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
84     fCollisionSystem.SetBitNumber(kPbPb, kTRUE); \r
85   };\r
86   Bool_t Ispp() const { return fCollisionSystem.TestBitNumber(kpp); }\r
87   Bool_t IsPbPb() const { return fCollisionSystem.TestBitNumber(kPbPb); }\r
88   Bool_t IspPb() const { return fCollisionSystem.TestBitNumber(kpPb); }\r
89   \r
90   AliHFEpid *GetPIDTPConly() const { return fPIDTPConly; }\r
91   AliHFEpid *GetPIDTOFTPC() const { return fPIDTOFTPC; }\r
92   AliHFEpid *GetPIDTPCTRD() const { return fPIDTPCTRD; }\r
93   AliHFEpid *GetPIDTPCEMCal() const { return fPIDTPCEMCal; }\r
94   AliHFEpidQAmanager *GetPIDQAManagerTOFTPC() const { return fPIDqaTOFTPC; }\r
95   AliHFEpidQAmanager *GetPIDQAManagerTPCTRD() const { return fPIDqaTPCTRD; }\r
96   AliHFEpidQAmanager *GetPIDQAManagerTPCEMCal() const { return fPIDqaTPCEMCal; }\r
97  \r
98 \r
99   void SetHFECuts(AliHFEcuts * const cuts) { fHFECuts = cuts; };\r
100  \r
101  private:\r
102   TList     *fListHist;         //! TH list\r
103   Bool_t    fAODAnalysis;       // AOD analysis\r
104   AliAODMCHeader *fAODMCHeader;         // ! MC info AOD\r
105   TClonesArray *fAODArrayMCInfo;        // ! MC info particle AOD\r
106  \r
107   // Cuts for HFE\r
108   AliHFEcuts *fHFECuts;                   // HFE cuts\r
109   AliHFEpid  *fPIDTPConly;                // PID cuts \r
110   AliHFEpid  *fPIDTOFTPC;                 // PID cuts TOF-TPC only\r
111   AliHFEpid  *fPIDTPCTRD;                 // PID cuts TPC-TRD \r
112   AliHFEpid  *fPIDTPCEMCal;                 // PID cuts TPC-EMCal \r
113   AliHFEpidQAmanager *fPIDqaTOFTPC;       // QA Manager TOF TPC\r
114   AliHFEpidQAmanager *fPIDqaTPCTRD;       // QA Manager TPC TRD\r
115   AliHFEpidQAmanager *fPIDqaTPCEMCal;       // QA Manager TPC EMCal\r
116   TString fCentralityEstimator;         // Centrality Estimator\r
117   TBits fCollisionSystem;              // Collision System;\r
118 \r
119   // Histo yields\r
120   TH1F *fTPConly;                      // TPC only electron yield\r
121   TH1F *fTOFTPC;                      // TOF TPC  electron yield\r
122   TH1F *fTPCTRD;                      // TPC TRD  electron yield\r
123   TH1F *fTPCEMCal;                      // TPC EMCal electron yield\r
124 \r
125   // Do PID or not\r
126   Bool_t fTPConlydo;                   // Do TPC only PID\r
127   Bool_t fTOFTPCdo;                    // Do TOF TPC \r
128   Bool_t fTPCTRDdo;                    // Do TPC TRD \r
129   Bool_t fTPCEMCaldo;                    // Do TPC EMCal \r
130 \r
131   \r
132   // Debuging Cuts step by step all centrality together: pt, step (6)\r
133   //THnSparseF *fTrackingCuts; //! Tracking Cuts\r
134 \r
135   \r
136   \r
137   ClassDef(AliAnalysisTaskHFEQA, 2); // analysisclass\r
138 };\r
139 \r
140 #endif\r