]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALJetTasks/AliAnalysisTaskEmcal.h
fix from Salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskEmcal.h
CommitLineData
b87234fd 1#ifndef ALIANALYSISTASKEMCAL_H
2#define ALIANALYSISTASKEMCAL_H
3
4// $Id: AliAnalysisTaskEmcal.h 56670 2012-05-24 13:24:04Z loizides $
5
6class TClonesArray;
7class TString;
1cd2e610 8class TList;
b87234fd 9class AliVParticle;
10class AliVCluster;
11class AliEmcalJet;
12
13#include "AliAnalysisTaskSE.h"
14
15class 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