1 #ifndef ALIANALYSISTASKEMCAL_H
2 #define ALIANALYSISTASKEMCAL_H
4 // $Id: AliAnalysisTaskEmcal.h 56756 2012-05-30 05:03:02Z loizides $
9 class AliEmcalParticle;
14 #include "AliAnalysisTaskSE.h"
16 class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
20 kTPC = 0, // TPC only analysis
21 kEMCAL = 1, // EMCal + TPC analysis
31 AliAnalysisTaskEmcal();
32 AliAnalysisTaskEmcal(const char *name, Bool_t histo=kFALSE);
33 virtual ~AliAnalysisTaskEmcal();
35 void UserExec(Option_t *option);
37 void SetAnaType(EmcalAnaType type) { fAnaType = type ; }
38 void SetClusName(const char *n) { fCaloName = n ; }
39 void SetHistoBins(Int_t nbins, Float_t min, Float_t max) { fNbins = nbins; fMinBinPt = min; fMaxBinPt = max; }
40 void SetPtCut(Float_t cut) { fPtCut = cut ; }
41 void SetTracksName(const char *n) { fTracksName = n ; }
44 Bool_t AcceptCluster(AliVCluster *clus, Bool_t acceptMC = kFALSE) const;
45 Bool_t AcceptEmcalPart(AliEmcalParticle *part, Bool_t acceptMC = kFALSE) const;
46 Bool_t AcceptTrack(AliVTrack *track, Bool_t acceptMC = kFALSE) const;
47 BeamType GetBeamType() ;
49 virtual Bool_t FillHistograms() { return fCreateHisto; }
50 void SetInitialized(Bool_t ini = kTRUE) { fInitialized = ini ; }
51 virtual Bool_t RetrieveEventObjects();
52 virtual Bool_t Run() { return kTRUE ; }
54 EmcalAnaType fAnaType; // analysis type
55 Bool_t fInitialized; // whether or not the task has been already initialized
56 Bool_t fCreateHisto; // whether or not create histograms
57 TString fTracksName; // name of track collection
58 TString fCaloName; // name of calo cluster collection
59 Int_t fNbins; // no. of pt bins
60 Float_t fMinBinPt; // min pt in histograms
61 Float_t fMaxBinPt; // max pt in histograms
62 Float_t fPtCut; // cut on particle pt
63 TClonesArray *fTracks; //!tracks
64 TClonesArray *fCaloClusters; //!clusters
65 Float_t fCent; //!event centrality
66 Int_t fCentBin; //!event centrality bin
67 Double_t fVertex[3]; //!event vertex
68 BeamType fBeamType; //!event beam type
69 TList *fOutput; //!output list
72 AliAnalysisTaskEmcal(const AliAnalysisTaskEmcal&); // not implemented
73 AliAnalysisTaskEmcal &operator=(const AliAnalysisTaskEmcal&); // not implemented
75 ClassDef(AliAnalysisTaskEmcal, 3) // EMCAL base analysis task