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