]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliAnalysisTaskHFEQA.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFEQA.h
CommitLineData
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
36class TList;
37class AliHFEcuts;
38class AliHFEpid;
39class AliHFEpidQAmanager;
40class AliAODMCHeader;
41class TClonesArray;
42class TH1F;
43
44
45class AliAnalysisTaskHFEQA: public AliAnalysisTaskSE {
46public:
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