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