]>
Commit | Line | Data |
---|---|---|
e824e25b | 1 | #ifndef ALIANALYSISTASKSEPHOSPPBPI0_H |
2 | #define ALIANALYSISTAKSSEPHOSPPBPI0_H | |
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" | |
15 | ||
16 | class TH2I; | |
17 | class TList; | |
18 | class TString; | |
19 | class TArray; | |
20 | class TClonesArray; | |
21 | class AliAODEvent; | |
22 | class AliESDEvent; | |
23 | class AliPHOSGeoUtils; | |
24 | class AliPHOSCalibData; | |
25 | class AliPHOSpPbPi0Header; | |
26 | ||
27 | class AliAnalysisTaskSEPHOSpPbPi0 : public AliAnalysisTaskSE { | |
28 | public: | |
29 | ||
30 | AliAnalysisTaskSEPHOSpPbPi0(); | |
31 | AliAnalysisTaskSEPHOSpPbPi0(const char *name); | |
32 | virtual ~AliAnalysisTaskSEPHOSpPbPi0(); | |
33 | ||
34 | virtual void UserCreateOutputObjects(); | |
35 | virtual void UserExec(Option_t *option); | |
36 | virtual void Terminate(Option_t *option); | |
37 | ||
38 | void SetPHOSBadMap(Int_t mod,TH2I *hMap) | |
39 | { | |
40 | if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod]; | |
41 | fPHOSBadMap[mod]=new TH2I(*hMap); | |
42 | printf("Set %s \n",fPHOSBadMap[mod]->GetName()); | |
43 | } | |
44 | ||
45 | void SetUseMC(Bool_t isMC=kFALSE) { fIsMC = isMC; } | |
46 | void SetXBins(const TArrayF& tCent, const TArrayI& tBuffer) { fCentralityBin = tCent; fBufferSize = tBuffer; } | |
47 | void SetEventCuts(Double_t cuts[4]) const { AliPHOSpPbPi0Header::SetSelectionCuts(cuts); } | |
48 | ||
49 | static void SetRemovePileup(Bool_t rm=kFALSE) { fgRemovePileup = rm; } | |
50 | static void SetUseFiducialCut(Bool_t fc=kFALSE) { fgUseFiducialCut = fc; } | |
51 | static void SetDecaliWidth(Double_t width) { fgDecaliWidth = width; } | |
52 | static void SetCaloClCuts(Double_t cuts[5]) { for (Int_t i=5; i--; ) fgCuts[i] = cuts[i]; } | |
53 | ||
54 | private: | |
55 | ||
56 | AliAnalysisTaskSEPHOSpPbPi0(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented | |
57 | AliAnalysisTaskSEPHOSpPbPi0& operator=(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented | |
58 | ||
59 | void PHOSInitialize(AliESDEvent* const esd); | |
60 | void FillCaloClusterInfo(AliAODEvent* const aod, AliESDEvent* const esd); | |
61 | ||
62 | Bool_t IsGoodCaloCluster(Int_t iMod, Int_t cellX, Int_t cellZ); | |
63 | ||
a91370e6 | 64 | static const Float_t kLogWeight; |
e824e25b | 65 | |
66 | static Bool_t fgRemovePileup; // flag of remove pileup events | |
67 | static Bool_t fgUseFiducialCut; // flag of use fiducial cut | |
68 | static Double_t fgDecaliWidth; // decalibration width | |
69 | static Double_t fgCuts[5]; // 0, min of cluster Energy | |
70 | // 1, min of NCells | |
71 | // 2, min of M02 | |
72 | // 3, min of distance to bad channels | |
73 | // 4, max of the cluster TOF | |
74 | ||
75 | Bool_t fIsMC; // flag of whether the input is MC | |
76 | TArrayF fCentralityBin; // Centrality bin | |
77 | TArrayI fBufferSize; // Buffer size for event mixing | |
78 | ||
79 | Int_t fRunNumber; // Run Number | |
80 | TH2I *fPHOSBadMap[5]; // Container of PHOS bad channels map | |
81 | AliPHOSGeoUtils *fPHOSGeo; // PHOS geometry | |
82 | AliPHOSCalibData *fPHOSCalibData; // PHOS calibration | |
83 | ||
84 | TList *fEventList[10][10]; // Event list for mixing | |
85 | TList *fListQA; // output list of QA histograms | |
86 | TList *fListRD; // output list of Real Data histograms | |
87 | TList *fListMC; // output list of MC histograms | |
88 | AliPHOSpPbPi0Header *fHeader; // info at event level | |
89 | TClonesArray *fCaloClArr; // Container of Calo clusters Info | |
90 | ||
91 | ClassDef(AliAnalysisTaskSEPHOSpPbPi0, 1); | |
92 | }; | |
93 | ||
94 | #endif |