]>
Commit | Line | Data |
---|---|---|
b87234fd | 1 | #ifndef ALIANALYSISTASKEMCAL_H |
2 | #define ALIANALYSISTASKEMCAL_H | |
3 | ||
4 | // $Id: AliAnalysisTaskEmcal.h 56670 2012-05-24 13:24:04Z loizides $ | |
5 | ||
6 | class TClonesArray; | |
7 | class TString; | |
1cd2e610 | 8 | class TList; |
b87234fd | 9 | class AliVParticle; |
10 | class AliVCluster; | |
11 | class AliEmcalJet; | |
12 | ||
13 | #include "AliAnalysisTaskSE.h" | |
14 | ||
15 | class AliAnalysisTaskEmcal : public AliAnalysisTaskSE { | |
16 | public: | |
17 | ||
18 | enum EmcalAnaType { | |
19 | kTPC = 0, // TPC only analysis | |
20 | kEMCAL = 1, // EMCal + TPC analysis | |
21 | }; | |
22 | ||
23 | AliAnalysisTaskEmcal(); | |
24 | AliAnalysisTaskEmcal(const char *name); | |
25 | virtual ~AliAnalysisTaskEmcal(); | |
26 | ||
27 | virtual void UserCreateOutputObjects(); | |
28 | virtual void UserExec(Option_t *option); | |
29 | virtual void Terminate(Option_t *option); | |
30 | virtual void Init(); | |
31 | ||
32 | void SetTracksName(const char *n) { fTracksName = n ; } | |
33 | void SetClusName(const char *n) { fCaloName = n ; } | |
34 | void SetJetsName(const char *n) { fJetsName = n ; } | |
35 | void SetAnaType(EmcalAnaType type) { fAnaType = type ; } | |
36 | void SetJetRadius(Float_t r) { fJetRadius = r ; } | |
37 | void SetPtCut(Float_t cut) { fPtCut = cut ; } | |
38 | void SetPtBiasJetTrack(Float_t b) { fPtBiasJetTrack = b ; } | |
39 | void SetPtBiasJetClus(Float_t b) { fPtBiasJetClus = b ; } | |
40 | void SetHistoBins(Int_t nbins, Float_t min, Float_t max) { fNbins = nbins; fMinPt = min; fMaxPt = max; } | |
41 | void SetEtaLimits(Float_t min, Float_t max) { fMinEta = min, fMaxEta = max ; } | |
42 | void SetPhiLimits(Float_t min, Float_t max) { fMinPhi = min, fMaxPhi = max ; } | |
43 | void SetInitialized(Bool_t ini = kTRUE) { fInitialized = ini ; } | |
44 | void SetJetPtCut(Float_t cut) { fJetPtCut = cut ; } | |
45 | void SetJetAreaCut(Float_t cut) { fJetAreaCut = cut ; } | |
46 | ||
47 | protected: | |
48 | ||
49 | Bool_t AcceptTrack(AliVParticle* track, Bool_t acceptMC = kFALSE) const; | |
50 | Bool_t AcceptCluster(AliVCluster* clus, Bool_t acceptMC = kFALSE) const; | |
51 | Bool_t AcceptJet(AliEmcalJet* jet) const; | |
52 | Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE) const; | |
53 | Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE) const; | |
54 | ||
55 | virtual void RetrieveEventObjects() ; | |
1cd2e610 | 56 | virtual void FillHistograms() {;} |
b87234fd | 57 | |
42642780 | 58 | EmcalAnaType fAnaType; // analysis type |
59 | Bool_t fInitialized; // whether or not the task has been already initialized | |
60 | Float_t fMinEta; // minimum eta accepatance | |
61 | Float_t fMaxEta; // maximum eta accepatance | |
62 | Float_t fMinPhi; // minimum phi accepatance | |
63 | Float_t fMaxPhi; // maximum phi accepatance | |
64 | Float_t fJetRadius; // jet radius | |
65 | TString fTracksName; // name of track collection | |
66 | TString fCaloName; // name of calo cluster collection | |
67 | TString fJetsName; // name of jet collection | |
68 | Int_t fNbins; // no. of pt bins | |
69 | Float_t fMinPt; // min pt in histograms | |
70 | Float_t fMaxPt; // max pt in histograms | |
71 | Float_t fPtCut; // cut on particle pt | |
72 | Float_t fPtBiasJetTrack; // select jets with a minimum pt track | |
73 | Float_t fPtBiasJetClus; // select jets with a minimum pt cluster | |
74 | Float_t fJetPtCut; // cut on jet pt | |
75 | Float_t fJetAreaCut; // cut on jet area | |
1cd2e610 | 76 | |
42642780 | 77 | TClonesArray *fTracks; //!tracks |
78 | TClonesArray *fCaloClusters; //!clusters | |
79 | TClonesArray *fJets; //!jets | |
80 | Float_t fCent; //!event centrality | |
81 | Int_t fCentBin; //!event centrality bin | |
82 | Double_t fVertex[3]; //!event vertex | |
1cd2e610 | 83 | |
42642780 | 84 | TList *fOutput; //!output list |
b87234fd | 85 | |
86 | private: | |
87 | AliAnalysisTaskEmcal(const AliAnalysisTaskEmcal&); // not implemented | |
88 | AliAnalysisTaskEmcal &operator=(const AliAnalysisTaskEmcal&); // not implemented | |
89 | ||
42642780 | 90 | ClassDef(AliAnalysisTaskEmcal, 1) // EMCAL base analysis task |
b87234fd | 91 | }; |
92 | #endif |