1 #include <TClonesArray.h>
6 #include <TLorentzVector.h>
8 #include "AliVCluster.h"
9 #include "AliAODCaloCluster.h"
10 #include "AliESDCaloCluster.h"
11 #include "AliVTrack.h"
33 fHistJetsPtLeadHad(0),
34 fHistJetsCorrPtArea(0),
35 fHistPtDEtaDPhiTrackClus(0),
36 fHistPtDEtaDPhiClusTrack(0),
48 fHistTracksPt =
new TH1*[fNcentBins];
49 fHistNTracks =
new TH1*[fNcentBins];
50 fHistClustersPt =
new TH1*[fNcentBins];
51 fHistLeadingJetPt =
new TH1*[fNcentBins];
52 fHistJetsPhiEta =
new TH2*[fNcentBins];
53 fHistJetsPtArea =
new TH2*[fNcentBins];
54 fHistJetsPtLeadHad =
new TH2*[fNcentBins];
55 fHistJetsCorrPtArea =
new TH2*[fNcentBins];
57 for (
Int_t i = 0; i < fNcentBins; i++) {
60 fHistClustersPt[i] = 0;
61 fHistLeadingJetPt[i] = 0;
62 fHistJetsPhiEta[i] = 0;
63 fHistJetsPtArea[i] = 0;
64 fHistJetsPtLeadHad[i] = 0;
65 fHistJetsCorrPtArea[i] = 0;
68 SetMakeGeneralHistograms(kTRUE);
80 fHistJetsPtLeadHad(0),
81 fHistJetsCorrPtArea(0),
82 fHistPtDEtaDPhiTrackClus(0),
83 fHistPtDEtaDPhiClusTrack(0),
145 histname =
"fHistTracksPt_";
148 fHistTracksPt[i]->GetXaxis()->SetTitle(
"p_{T,track} (GeV/c)");
152 histname =
"fHistNTracks_";
154 fHistNTracks[i] =
new TH1F(histname.Data(), histname.Data(), 200, 0., 199.);
159 histname =
"fHistClustersPt_";
168 histname =
"fHistLeadingJetPt_";
175 histname =
"fHistJetsPhiEta_";
177 fHistJetsPhiEta[i] =
new TH2F(histname.Data(), histname.Data(), 50, -1, 1, 101, 0, TMath::Pi()*2 + TMath::Pi()/200);
182 histname =
"fHistJetsPtArea_";
189 histname =
"fHistJetsPtLeadHad_";
198 histname =
"fHistJetsCorrPtArea_";
208 histname =
"fHistPtDEtaDPhiTrackClus";
209 fHistPtDEtaDPhiTrackClus =
new TH3F(histname.Data(),Form(
"%s;#it{p}_{T}^{track};#Delta#eta;#Delta#varphi",histname.Data()),100,0.,100.,100,-0.1,0.1,100,-0.1,0.1);
212 histname =
"fHistPtDEtaDPhiClusTrack";
213 fHistPtDEtaDPhiClusTrack =
new TH3F(histname.Data(),Form(
"%s;#it{p}_{T}^{clus};#Delta#eta;#Delta#varphi",histname.Data()),100,0.,100.,100,-0.1,0.1,100,-0.1,0.1);
216 fHistClustDx =
new TH1F(
"fHistClustDx",
"fHistClustDx;Dx",1000,0.,1.);
219 fHistClustDz =
new TH1F(
"fHistClustDz",
"fHistClustDz;Dz",1000,0.,1.);
222 fNAccJets =
new TH1F(
"fNAccJets",
"fNAccJets;N/ev",11,-0.5, 9.5);
225 fhZg =
new TH1F(
"fhZg",
"#it{Z}_{g}; #it{Z}_{g}; Entries", 200, 0., 0.5);
228 fhCorrPtZg =
new TH2F(
"fhCorrPtZg",
"#it{Z}_{g}; p_{T}^{corr} [GeV/c]; #it{Z}_{g}", 16, 0, 160, 20, 0., 0.5);
231 fhCorrPtRg =
new TH2F(
"fhCorrPtRg",
"R_{g}; p_{T}^{corr} [GeV/c]; R_{g}", 16, 0, 160, 40, 0., 0.5);
234 fhCorrPtPtfrac =
new TH2F(
"fhCorrPtPtfrac",
"#deltap_{T}; p_{T}^{corr} [GeV/c]; #deltap_{T}", 16, 0, 160, 80, 0., 1.0);
237 fhCorrPtDropCount =
new TH2F(
"fhCorrPtDropCount",
"fhCorrPtDropCount; p_{T}^{corr} [GeV/c]; Counts", 16, 0, 160, 50, 0., 50);
262 TLorentzVector nPart;
263 cluster->GetMomentum(nPart,
fVertex);
265 Double_t dx = cluster->GetTrackDx();
266 Double_t dz = cluster->GetTrackDz();
288 Double_t jetpt_ungrmd = jet->Pt() / ( jet->GetShapeProperties()->GetSoftDropPtfrac() );
290 fhZg->Fill(jet->GetShapeProperties()->GetSoftDropZg());
320 Int_t emc1 = track->GetEMCALcluster();
334 TLorentzVector nPart;
335 cluster->GetMomentum(nPart,
fVertex);
339 AliVTrack *mt = NULL;
340 AliAODCaloCluster *acl =
dynamic_cast<AliAODCaloCluster*
>(cluster);
342 if(acl->GetNTracksMatched()>1)
343 mt = static_cast<AliVTrack*>(acl->GetTrackMatched(0));
346 AliESDCaloCluster *ecl =
dynamic_cast<AliESDCaloCluster*
>(cluster);
347 Int_t im = ecl->GetTrackMatchedIndex();
TObjArray fClusterCollArray
cluster collection array
AliClusterContainer * fCaloClustersCont
Tracks.
virtual AliVParticle * GetNextAcceptParticle()
void UserCreateOutputObjects()
Double_t GetRhoVal() const
AliJetContainer * GetJetContainer(Int_t i=0) const
void CheckClusTrackMatching()
const TString & GetRhoName(Int_t c=0) const
TH3 * fHistPtDEtaDPhiClusTrack
track pt, delta eta, delta phi to matched cluster
Double_t fMinBinPt
min pt in histograms
AliClusterContainer * GetClusterContainer() const
Int_t fCentBin
!event centrality bin
TH1 ** fHistLeadingJetPt
Cluster pt spectrum.
TH1 ** fHistNTracks
cluster pt, delta eta, delta phi to matched track
AliJetContainer * fJetsCont
TObjArray fParticleCollArray
particle/track collection array
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliParticleContainer * GetParticleContainer() const
TH2 ** fHistJetsPtArea
Phi-Eta distribution of jets.
AliEmcalJet * GetLeadingJet(const char *opt="")
TH2 * fhCorrPtRg
! distribution of groomed jet radius, jet pt-diff
Double_t GetLeadingHadronPt(const AliEmcalJet *jet) const
void Terminate(Option_t *option)
ClassImp(AliAnalysisTaskSoftDrop) AliAnalysisTaskSoftDrop
virtual AliVParticle * GetParticle(Int_t i=-1) const
TH2 * fhCorrPtDropCount
! distribution of dropped branches number, jet pt-diff
Int_t fNcentBins
how many centrality bins
TH2 * fhCorrPtZg
! distribution of zg, jet pt-diff
AliClusterContainer * GetClusterContainer(Int_t i=0) const
TH2 ** fHistJetsCorrPtArea
Jet pt vs. leading hadron.
TH1 * fhZg
number of jets per event
virtual ~AliAnalysisTaskSoftDrop()
AliParticleContainer * fTracksCont
Jets.
AliVCluster * GetCluster(Int_t i) const
TObjArray fJetCollArray
jet collection array
AliAnalysisTaskSoftDrop()
AliEmcalList * fOutput
!output list
Double_t fMaxBinPt
max pt in histograms
TH1 * fHistClustDx
number of tracks per event
TH2 ** fHistJetsPhiEta
Leading jet pt spectrum.
Double_t fVertex[3]
!event vertex
TH2 * fhCorrPtPtfrac
! distribution of ptfrac, jet pt-diff
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
TH1 ** fHistClustersPt
Track pt spectrum.
void UserCreateOutputObjects()
static void GetEtaPhiDiff(const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
const AliJetIterableContainer accepted() const
TH3 * fHistPtDEtaDPhiTrackClus
Jet pt - bkg vs. area.
Int_t GetNAcceptedParticles() const
AliVCluster * GetNextAcceptCluster()
TH2 ** fHistJetsPtLeadHad
Jet pt vs. area.
Int_t fNbins
no. of pt bins