]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/UserTasks/AliAnalysisTaskSEPHOSpPbPi0.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / UserTasks / AliAnalysisTaskSEPHOSpPbPi0.h
CommitLineData
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
17class TH2I;
18class TList;
19class TString;
20class TArray;
21class TClonesArray;
e824e25b 22class AliPHOSGeoUtils;
e824e25b 23
24class 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