1 #ifndef ALIANALYSISTASKSEPHOSPPBPI0_H
2 #define ALIANALYSISTASKSEPHOSPPBPI0_H
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
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 //*************************************************************************
14 #include "AliAnalysisTaskSE.h"
21 class AliPHOSGeoUtils;
22 class AliPHOSpPbPi0Header;
24 class AliAnalysisTaskSEPHOSpPbPi0 : public AliAnalysisTaskSE {
27 AliAnalysisTaskSEPHOSpPbPi0();
28 AliAnalysisTaskSEPHOSpPbPi0(const char *name);
29 virtual ~AliAnalysisTaskSEPHOSpPbPi0();
31 virtual void UserCreateOutputObjects();
32 virtual void UserExec(Option_t *option);
33 virtual void Terminate(Option_t *option);
35 void SetUseMC(Bool_t isMC=kFALSE) { fIsMC = isMC; }
36 void SetXBins(const TArrayF& tCent, const TArrayI& tBuffer) { fCentralityBin = tCent; fBufferSize = tBuffer; }
37 void SetEventCuts(Double_t cuts[3]) const { AliPHOSpPbPi0Header::SetSelectionCuts(cuts); }
39 static void SetRemovePileup(Bool_t rm=kFALSE) { fgRemovePileup = rm; }
40 static void SetUseFiducialCut(Bool_t fc=kFALSE) { fgUseFiducialCut = fc; }
41 static void SetUseTOFCut(Bool_t tof=kFALSE) { fgUseTOFCut = tof; }
42 static void SetCaloClCuts(Double_t cuts[5]) { for (Int_t i=5; i--; ) fgCuts[i] = cuts[i]; }
46 AliAnalysisTaskSEPHOSpPbPi0(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented
47 AliAnalysisTaskSEPHOSpPbPi0& operator=(const AliAnalysisTaskSEPHOSpPbPi0&); // not implemented
49 void PHOSInitialize();
50 void FillCaloClusterInfo(/*AliAODEvent* const aod, AliESDEvent* const esd*/);
52 static Bool_t fgRemovePileup; // flag of remove pileup events
53 static Bool_t fgUseFiducialCut; // flag of use fiducial cut
54 static Bool_t fgUseTOFCut; // flag of use cluster TOF cut
55 static Double_t fgCuts[5]; // 0, min of cluster Energy
58 // 3, min of distance to bad channels
59 // 4, max of the cluster TOF
61 Bool_t fIsMC; // flag of whether the input is MC
62 TArrayF fCentralityBin; // Centrality bin
63 TArrayI fBufferSize; // Buffer size for event mixing
65 Int_t fRunNumber; // Run Number
66 AliPHOSGeoUtils *fPHOSGeo; // PHOS geometry
68 TList *fEventList[10][10]; // Event list for mixing
69 TList *fOutputListQA; // output list of QA histograms
70 TList *fOutputListRD; // output list of RD histograms
71 TList *fOutputListMC; // output list of MC histograms
72 AliPHOSpPbPi0Header *fHeader; // info at event level
73 TClonesArray *fCaloClArr; // Container of Calo clusters Info
75 ClassDef(AliAnalysisTaskSEPHOSpPbPi0, 2);