]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/UserTasks/AliAnalysisTaskSEPHOSpPbPi0.h
Code fixes, important for c++98, necessary for c++11:
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / UserTasks / AliAnalysisTaskSEPHOSpPbPi0.h
CommitLineData
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
16class TH2I;
17class TList;
18class TString;
19class TArray;
20class TClonesArray;
21class AliAODEvent;
22class AliESDEvent;
23class AliPHOSGeoUtils;
24class AliPHOSCalibData;
25class AliPHOSpPbPi0Header;
26
27class 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