]>
Commit | Line | Data |
---|---|---|
e824e25b | 1 | #ifndef ALIANALYSISTASKSEPHOSPPBPI0_H |
d96d58a7 | 2 | #define ALIANALYSISTASKSEPHOSPPBPI0_H |
e824e25b | 3 | |
4 | /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //************************************************************************* | |
8 | // Class AliAnalysisTaskSEPHOSpPbPi0 | |
9 | // AliAnalysisTaskSE for the gamma and pi0 from pPb collision analysis | |
10 | // Author: H-S. Zhu, hongsheng.zhu@cern.ch | |
11 | // hszhu@iopp.ccnu.edu.cn | |
12 | //************************************************************************* | |
13 | ||
14 | #include "AliAnalysisTaskSE.h" | |
7d9133a4 | 15 | #include "AliPHOSpPbPi0Header.h" |
e824e25b | 16 | |
17 | class TH2I; | |
18 | class TList; | |
19 | class TString; | |
20 | class TArray; | |
21 | class TClonesArray; | |
e824e25b | 22 | class AliPHOSGeoUtils; |
e824e25b | 23 | |
24 | class AliAnalysisTaskSEPHOSpPbPi0 : public AliAnalysisTaskSE { | |
25 | public: | |
26 | ||
27 | AliAnalysisTaskSEPHOSpPbPi0(); | |
28 | AliAnalysisTaskSEPHOSpPbPi0(const char *name); | |
29 | virtual ~AliAnalysisTaskSEPHOSpPbPi0(); | |
30 | ||
31 | virtual void UserCreateOutputObjects(); | |
32 | virtual void UserExec(Option_t *option); | |
33 | virtual void Terminate(Option_t *option); | |
34 | ||
e824e25b | 35 | void SetUseMC(Bool_t isMC=kFALSE) { fIsMC = isMC; } |
36 | void SetXBins(const TArrayF& tCent, const TArrayI& tBuffer) { fCentralityBin = tCent; fBufferSize = tBuffer; } | |
bf6afad1 | 37 | void SetEventCuts(Double_t cuts[3]) const { AliPHOSpPbPi0Header::SetSelectionCuts(cuts); } |
e824e25b | 38 | |
39 | static void SetRemovePileup(Bool_t rm=kFALSE) { fgRemovePileup = rm; } | |
40 | static void SetUseFiducialCut(Bool_t fc=kFALSE) { fgUseFiducialCut = fc; } | |
bf6afad1 | 41 | static void SetUseTOFCut(Bool_t tof=kFALSE) { fgUseTOFCut = tof; } |
e824e25b | 42 | static void SetCaloClCuts(Double_t cuts[5]) { for (Int_t i=5; i--; ) fgCuts[i] = cuts[i]; } |
43 | ||
44 | private: | |
45 | ||
46 | AliAnalysisTaskSEPHOSpPbPi0(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented | |
47 | AliAnalysisTaskSEPHOSpPbPi0& operator=(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented | |
48 | ||
d96d58a7 | 49 | void PHOSInitialize(); |
bf6afad1 | 50 | void FillCaloClusterInfo(/*AliAODEvent* const aod, AliESDEvent* const esd*/); |
e824e25b | 51 | |
52 | static Bool_t fgRemovePileup; // flag of remove pileup events | |
53 | static Bool_t fgUseFiducialCut; // flag of use fiducial cut | |
bf6afad1 | 54 | static Bool_t fgUseTOFCut; // flag of use cluster TOF cut |
e824e25b | 55 | static Double_t fgCuts[5]; // 0, min of cluster Energy |
56 | // 1, min of NCells | |
57 | // 2, min of M02 | |
58 | // 3, min of distance to bad channels | |
59 | // 4, max of the cluster TOF | |
60 | ||
61 | Bool_t fIsMC; // flag of whether the input is MC | |
62 | TArrayF fCentralityBin; // Centrality bin | |
63 | TArrayI fBufferSize; // Buffer size for event mixing | |
64 | ||
65 | Int_t fRunNumber; // Run Number | |
e824e25b | 66 | AliPHOSGeoUtils *fPHOSGeo; // PHOS geometry |
e824e25b | 67 | |
68 | TList *fEventList[10][10]; // Event list for mixing | |
bf6afad1 YK |
69 | TList *fOutputListQA; // output list of QA histograms |
70 | TList *fOutputListRD; // output list of RD histograms | |
71 | TList *fOutputListMC; // output list of MC histograms | |
e824e25b | 72 | AliPHOSpPbPi0Header *fHeader; // info at event level |
73 | TClonesArray *fCaloClArr; // Container of Calo clusters Info | |
74 | ||
bf6afad1 | 75 | ClassDef(AliAnalysisTaskSEPHOSpPbPi0, 2); |
e824e25b | 76 | }; |
77 | ||
78 | #endif |