1 // $Id: AliAnalysisTaskEmcalJet.cxx 56756 2012-05-30 05:03:02Z loizides $
3 // Emcal jet analysis base task.
7 #include "AliAnalysisTaskEmcalJet.h"
11 #include <TClonesArray.h>
14 #include "AliESDEvent.h"
15 #include "AliAnalysisManager.h"
16 #include "AliCentrality.h"
17 #include "AliVCluster.h"
18 #include "AliVParticle.h"
19 #include "AliEmcalJet.h"
20 #include "AliVEventHandler.h"
22 #include "AliEMCALGeometry.h"
24 ClassImp(AliAnalysisTaskEmcalJet)
26 //________________________________________________________________________
27 AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet() :
28 AliAnalysisTaskEmcal("AliAnalysisTaskEmcalJet"),
37 // Default constructor.
40 //________________________________________________________________________
41 AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet(const char *name) :
42 AliAnalysisTaskEmcal(name),
51 // Standard constructor.
54 //________________________________________________________________________
55 AliAnalysisTaskEmcalJet::AliAnalysisTaskEmcalJet(const char *name, Bool_t histo) :
56 AliAnalysisTaskEmcal(name, histo),
65 // Standard constructor.
68 //________________________________________________________________________
69 AliAnalysisTaskEmcalJet::~AliAnalysisTaskEmcalJet()
74 //________________________________________________________________________
75 Bool_t AliAnalysisTaskEmcalJet::RetrieveEventObjects()
77 // Retrieve objects from event.
79 if (!AliAnalysisTaskEmcal::RetrieveEventObjects())
82 if (!fJetsName.IsNull()) {
83 fJets = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fJetsName));
85 AliWarning(Form("Could not retrieve jets %s!", fJetsName.Data()));
92 //________________________________________________________________________
93 Bool_t AliAnalysisTaskEmcalJet::IsJetTrack(AliEmcalJet* jet, Int_t itrack, Bool_t sorted) const
95 // Return true if track is in jet.
97 for (Int_t i = 0; i < jet->GetNumberOfTracks(); i++) {
98 Int_t ijettrack = jet->TrackAt(i);
99 if (sorted && ijettrack > itrack)
101 if (ijettrack == itrack)
107 //________________________________________________________________________
108 Bool_t AliAnalysisTaskEmcalJet::IsJetCluster(AliEmcalJet* jet, Int_t iclus, Bool_t sorted) const
110 // Return true if cluster is in jet.
112 for (Int_t i = 0; i < jet->GetNumberOfClusters(); i++) {
113 Int_t ijetclus = jet->ClusterAt(i);
114 if (sorted && ijetclus > iclus)
116 if (ijetclus == iclus)
122 //________________________________________________________________________
123 Bool_t AliAnalysisTaskEmcalJet::AcceptJet(AliEmcalJet *jet, Bool_t bias) const
125 // Return true if jet is accepted.
127 if (jet->Pt() <= fJetPtCut)
129 if (jet->Area() <= fJetAreaCut)
131 if (bias && jet->MaxTrackPt() < fPtBiasJetTrack && (fAnaType == kTPC || jet->MaxClusterPt() < fPtBiasJetClus))
134 return (Bool_t)(jet->Eta() > fMinEta + fJetRadius && jet->Eta() < fMaxEta - fJetRadius && jet->Phi() > fMinPhi + fJetRadius && jet->Phi() < fMaxPhi - fJetRadius);