]>
Commit | Line | Data |
---|---|---|
00514d01 | 1 | #ifndef ALIANALYSISTASKSAJF_H |
2 | #define ALIANALYSISTASKSAJF_H | |
25283b37 | 3 | |
00514d01 | 4 | // $Id$ |
25283b37 | 5 | |
6 | class TClonesArray; | |
7 | class TString; | |
25283b37 | 8 | class AliVTrack; |
9 | class AliVCluster; | |
55264f20 | 10 | class AliEmcalJet; |
25283b37 | 11 | class TList; |
12 | class TH1F; | |
13 | class TH2F; | |
25283b37 | 14 | |
15 | #include "AliAnalysisTaskSE.h" | |
16 | ||
00514d01 | 17 | class AliAnalysisTaskSAJF : public AliAnalysisTaskSE { |
25283b37 | 18 | public: |
91f4b7c5 | 19 | |
20 | enum SAJFAnaType { | |
b5ee47fb | 21 | kTPC = 0, // TPC only analysis |
22 | kEMCAL = 1, // EMCal + TPC analysis | |
91f4b7c5 | 23 | }; |
24 | ||
00514d01 | 25 | AliAnalysisTaskSAJF(); |
26 | AliAnalysisTaskSAJF(const char *name); | |
27 | virtual ~AliAnalysisTaskSAJF(); | |
25283b37 | 28 | |
29 | void UserCreateOutputObjects(); | |
30 | void UserExec(Option_t *option); | |
31 | void Terminate(Option_t *option); | |
a55e4f1d | 32 | void Init(); |
25283b37 | 33 | |
11d4d636 | 34 | void SetTracksName(const char *n) { fTracksName = n ; } |
35 | void SetClusName(const char *n) { fCaloName = n ; } | |
36 | void SetJetsName(const char *n) { fJetsName = n ; } | |
37 | void SetEmbJetsName(const char *n) { fEmbJetsName = n ; } | |
38 | void SetRhoName(const char *n) { fRhoName = n ; } | |
39 | void SetAnaType(SAJFAnaType type) { fAnaType = type ; } | |
40 | void SetJetRadius(Float_t r) { fJetRadius = r ; } | |
41 | void SetPtCut(Float_t cut) { fPtCut = cut ; } | |
42 | void SetPtCutJetPart(Float_t cut) { fPtCutJetPart = cut ; } | |
55264f20 | 43 | void SetHistoBins(Int_t nbins, Float_t min, Float_t max) { fNbins = nbins; fMinPt = min; fMaxPt = max; } |
25283b37 | 44 | |
45 | protected: | |
46 | ||
2bee31e9 | 47 | AliVTrack *GetTrack(const Int_t i) const; |
48 | Int_t GetNumberOfTracks() const; | |
49 | AliVCluster *GetCaloCluster(const Int_t i) const; | |
50 | Int_t GetNumberOfCaloClusters() const; | |
51 | AliEmcalJet *GetJet(const Int_t i) const; | |
52 | Int_t GetNumberOfJets() const; | |
2bee31e9 | 53 | AliEmcalJet *GetEmbJet(const Int_t i) const; |
54 | Int_t GetNumberOfEmbJets() const; | |
2bee31e9 | 55 | Bool_t AcceptTrack(AliVTrack* track, Bool_t acceptMC = kFALSE) const; |
226f511d | 56 | Bool_t AcceptCluster(AliVCluster* clus, Bool_t acceptMC = kFALSE) ; |
11d4d636 | 57 | Bool_t AcceptJet(AliEmcalJet* jet, Bool_t checkPt = kFALSE) const; |
2bee31e9 | 58 | Bool_t AcceptJet(Float_t eta, Float_t phi) const; |
c554a987 | 59 | Bool_t IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted = kTRUE) const; |
60 | Bool_t IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted = kTRUE) const; | |
2bee31e9 | 61 | Float_t GetArea() const; |
32bf39af | 62 | |
63 | void RetrieveEventObjects() ; | |
64 | void FillHistograms() ; | |
65 | void DoJetLoop(Int_t &maxJetIndex, Int_t &max2JetIndex) ; | |
b5ee47fb | 66 | Bool_t DoEmbJetLoop(AliEmcalJet* &maxJet, TObject* &maxPart) ; |
32bf39af | 67 | void DoTrackLoop(Float_t &rhoTracksLJex, Float_t &rhoTracks, Int_t maxJetIndex, Int_t max2JetIndex) ; |
68 | void DoClusterLoop(Float_t &rhoClusLJex, Float_t &rhoClus,Int_t maxJetIndex, Int_t max2JetIndex) ; | |
b5ee47fb | 69 | Bool_t GetRigidConePt(Float_t &pt, Float_t &eta, Float_t &phi, AliEmcalJet *jet = 0, Float_t minD = 1.0) ; |
c554a987 | 70 | |
2bee31e9 | 71 | SAJFAnaType fAnaType; // Analysis type |
72 | Float_t fMinEta; // Minimum eta accepatance | |
73 | Float_t fMaxEta; // Maximum eta accepatance | |
74 | Float_t fMinPhi; // Minimum phi accepatance | |
75 | Float_t fMaxPhi; // Maximum phi accepatance | |
226f511d | 76 | Float_t fJetRadius; // Jet radius |
2bee31e9 | 77 | TString fTracksName; // Name of track collection |
78 | TString fCaloName; // Name of calo cluster collection | |
79 | TString fJetsName; // Name of jet collection | |
2bee31e9 | 80 | TString fEmbJetsName; // Name of embedded jets collection |
226f511d | 81 | TString fRhoName; // Name of rho object |
82 | Int_t fNbins; // No. of pt bins | |
83 | Float_t fMinPt; // Min pt in histograms | |
84 | Float_t fMaxPt; // Max pt in histograms | |
85 | Float_t fPtCut; // Cut on particle pt | |
86 | Float_t fPtCutJetPart; // Select jets with a particle with minimum pt | |
55264f20 | 87 | TClonesArray *fTracks; //!Tracks |
88 | TClonesArray *fCaloClusters; //!Clusters | |
89 | TClonesArray *fJets; //!Jets | |
2bee31e9 | 90 | TClonesArray *fEmbJets; //!Embedded Jets |
11d4d636 | 91 | Float_t fCent; //!Event centrality |
226f511d | 92 | Int_t fCentBin; //!Event centrality bin |
93 | Float_t fRho; //!Event rho | |
94 | TList *fOutput; //!Output list | |
95 | TH1F *fHistCentrality; //!Event centrality distribution | |
96 | TH2F *fHistJetPhiEta; //!Phi-Eta distribution of jets | |
97 | TH2F *fHistEmbJetPhiEta; //!Phi-Eta distribution of embedded jets | |
98 | TH2F *fHistEmbPartPhiEta; //!Phi-Eta distribution of embedded particles | |
99 | TH2F *fHistRhoPartVSleadJetPt; //!Background et density of particles (clusters+tracks) vs. leading jet pt | |
100 | TH2F *fHistMedKtVSRhoPart; //!Median of the pt density of kt jets vs. bkg pt density of particles, excluding the 2 most energetic jets | |
101 | TH2F *fHistRCPtVSRhoPart; //!Random cone Pt vs. background pt density of particles | |
102 | TH2F *fHistMedKtVSEmbBkg; //!Area(embjet) * rhoKt vs. Pt(embjet) - Pt(embtrack) | |
103 | TH2F *fHistMedKtVSRCPt; //!Area(RC) * rhoKt vs. Pt(RC) | |
104 | TH2F *fHistRCPtExLJVSDPhiLJ; //!Random cone pt, imposing min distance from leading jet, vs deltaPhi leading jet | |
105 | TH2F *fHistRCPhiEta; //!Phi-Eta distribution of embedded jets | |
106 | TH1F *fHistJetsPt[4]; //!Inclusive jet pt spectrum | |
107 | TH1F *fHistCorrJetsPt[4]; //!Corrected inclusive jet pt spectrum | |
11d4d636 | 108 | TH1F *fHistUnfoldedJetsPt[4]; //!Unfolded inclusive jet pt spectrum |
109 | TH1F *fHistJetsPtNonBias[4]; //!Inclusive jet pt spectrum selecting jet with a particle minimum fPtCutJetPart | |
110 | TH1F *fHistCorrJetsPtNonBias[4]; //!Corrected inclusive jet pt spectrum selecting jet with a particle minimum fPtCutJetPart | |
111 | TH2F *fHistJetsNEFvsPt[4]; //!Jet neutral energy fraction | |
112 | TH2F *fHistJetsZvsPt[4]; //!Constituent Pt over Jet Pt ratio | |
226f511d | 113 | TH1F *fHistLeadingJetPt[4]; //!Leading jet pt spectrum |
114 | TH1F *fHistCorrLeadingJetPt[4]; //!Leading jet pt spectrum | |
115 | TH1F *fHist2LeadingJetPt[4]; //!Second leading jet pt spectrum | |
116 | TH1F *fHistTracksPtLJ[4]; //!Pt spectrum of tracks | |
117 | TH1F *fHistClusEtLJ[4]; //!Et spectrum of clusters | |
118 | TH1F *fHistTracksPtBkg[4]; //!Pt spectrum of tracks | |
119 | TH1F *fHistClusEtBkg[4]; //!Et spectrum of clusters | |
120 | TH1F *fHistBkgClusMeanRho[4]; //!Background clusters mean et density | |
121 | TH1F *fHistBkgTracksMeanRho[4]; //!Background tracks mean pt density | |
122 | TH1F *fHistMedianPtKtJet[4]; //!Median of the pt density of kt jets, excluded the 2 most energetic | |
123 | TH1F *fHistDeltaPtRC[4]; //!deltaPt = Pt(RC) - A * rhoKt | |
124 | TH1F *fHistDeltaPtRCExLJ[4]; //!deltaPt = Pt(RC) - A * rhoKt, imposing min distance from leading jet | |
125 | TH1F *fHistRCPt[4]; //!Random cone pt | |
126 | TH1F *fHistRCPtExLJ[4]; //!Random cone pt, imposing min distance from leading jet | |
127 | TH1F *fHistEmbJets[4]; //!Pt distribution of embedded jets | |
128 | TH1F *fHistEmbPart[4]; //!Pt distribution of embedded particle | |
129 | TH1F *fHistDeltaPtMedKtEmb[4]; //!deltaPt = Pt(embjet) - Area(embjet) * rhoKt - Pt(embtrack) | |
25283b37 | 130 | |
131 | private: | |
00514d01 | 132 | AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented |
133 | AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented | |
25283b37 | 134 | |
b5ee47fb | 135 | ClassDef(AliAnalysisTaskSAJF, 3) // jet finder task |
25283b37 | 136 | }; |
137 | #endif |