6 #include <TClonesArray.h>
10 #include <THnSparse.h>
13 #include <TLorentzVector.h>
21 #include "AliVCluster.h"
22 #include "AliVTrack.h"
27 #include "AliMCEvent.h"
28 #include "AliGenPythiaEventHeader.h"
29 #include "AliAODMCHeader.h"
30 #include "AliMCEvent.h"
31 #include "AliAnalysisManager.h"
35 #include "AliAODEvent.h"
45 fMinFractionShared(0),
47 fSingleTrackEmb(kFALSE),
48 fSubtractMassless(kFALSE),
50 fh2PtJet1DeltaMNoSub(0),
51 fh2PtJet2DeltaMNoSub(0),
52 fh3PtJet1DeltaPtDeltaMCheat(0),
53 fh3PtJet2DeltaPtDeltaMCheat(0),
54 fh3PtJet1DeltaPtDeltaM(0),
55 fh3PtJet2DeltaPtDeltaM(0),
61 fh3PtJet1MJet1MJet2(0),
62 fh3PtJet2MJet1MJet2(0),
63 fh3PtJet1DeltaPtDeltaMRho(0),
64 fh2PtJet1DeltaERho(0),
65 fh3PtJet2DeltaPtDeltaMRho(0),
66 fh2PtJet2DeltaPxRho(0),
67 fh2PtJet2DeltaPyRho(0),
68 fh2PtJet2DeltaPzRho(0),
69 fh2PtJet2DeltaERho(0),
70 fh2PtJet2DeltaMRho(0),
71 fh2PtJet2DeltaPtRho(0),
72 fh3PtJet2DeltaEDeltaMRho(0),
73 fh3PtJet2DeltaPDeltaMRho(0),
74 fh2PtJet1DeltaPtVecSub(0),
76 fJet1Vec(new TLorentzVector()),
77 fJet2Vec(new TLorentzVector()),
78 fBkgVec(new TLorentzVector()),
89 fh2PtJet1DeltaMNoSub =
new TH2F*[fNcentBins];
90 fh2PtJet2DeltaMNoSub =
new TH2F*[fNcentBins];
91 fh3PtJet1DeltaPtDeltaMCheat =
new TH3F*[fNcentBins];
92 fh3PtJet2DeltaPtDeltaMCheat =
new TH3F*[fNcentBins];
93 fh3PtJet1DeltaPtDeltaM =
new TH3F*[fNcentBins];
94 fh3PtJet2DeltaPtDeltaM =
new TH3F*[fNcentBins];
95 fh2PtJet1DeltaE =
new TH2F*[fNcentBins];
96 fh2PtJet2DeltaE =
new TH2F*[fNcentBins];
97 fh2PtJet1DeltaP =
new TH2F*[fNcentBins];
98 fh2PtJet2DeltaP =
new TH2F*[fNcentBins];
99 fh2PtJet2DeltaM =
new TH2F*[fNcentBins];
100 fh3PtJet1MJet1MJet2 =
new TH3F*[fNcentBins];
101 fh3PtJet2MJet1MJet2 =
new TH3F*[fNcentBins];
102 fh3PtJet1DeltaPtDeltaMRho =
new TH3F*[fNcentBins];
103 fh2PtJet1DeltaERho =
new TH2F*[fNcentBins];
104 fh3PtJet2DeltaPtDeltaMRho =
new TH3F*[fNcentBins];
105 fh2PtJet2DeltaPxRho =
new TH2F*[fNcentBins];
106 fh2PtJet2DeltaPyRho =
new TH2F*[fNcentBins];
107 fh2PtJet2DeltaPzRho =
new TH2F*[fNcentBins];
108 fh2PtJet2DeltaERho =
new TH2F*[fNcentBins];
109 fh2PtJet2DeltaMRho =
new TH2F*[fNcentBins];
110 fh2PtJet2DeltaPtRho =
new TH2F*[fNcentBins];
111 fh3PtJet2DeltaEDeltaMRho =
new TH3F*[fNcentBins];
112 fh3PtJet2DeltaPDeltaMRho =
new TH3F*[fNcentBins];
113 fh2PtJet1DeltaPtVecSub =
new TH2F*[fNcentBins];
115 for (
Int_t i = 0; i < fNcentBins; i++) {
116 fh2PtJet1DeltaMNoSub[i] = 0;
117 fh2PtJet2DeltaMNoSub[i] = 0;
118 fh3PtJet1DeltaPtDeltaMCheat[i] = 0;
119 fh3PtJet2DeltaPtDeltaMCheat[i] = 0;
120 fh3PtJet1DeltaPtDeltaM[i] = 0;
121 fh3PtJet2DeltaPtDeltaM[i] = 0;
122 fh2PtJet1DeltaE[i] = 0;
123 fh2PtJet2DeltaE[i] = 0;
124 fh2PtJet1DeltaP[i] = 0;
125 fh2PtJet2DeltaP[i] = 0;
126 fh2PtJet2DeltaM[i] = 0;
127 fh3PtJet1MJet1MJet2[i] = 0;
128 fh3PtJet2MJet1MJet2[i] = 0;
129 fh3PtJet1DeltaPtDeltaMRho[i] = 0;
130 fh2PtJet1DeltaERho[i] = 0;
131 fh3PtJet2DeltaPtDeltaMRho[i] = 0;
132 fh2PtJet2DeltaPxRho[i] = 0;
133 fh2PtJet2DeltaPyRho[i] = 0;
134 fh2PtJet2DeltaPzRho[i] = 0;
135 fh2PtJet2DeltaERho[i] = 0;
136 fh2PtJet2DeltaMRho[i] = 0;
137 fh2PtJet2DeltaPtRho[i] = 0;
138 fh3PtJet2DeltaEDeltaMRho[i] = 0;
139 fh3PtJet2DeltaPDeltaMRho[i] = 0;
140 fh2PtJet1DeltaPtVecSub[i] = 0;
142 SetMakeGeneralHistograms(kTRUE);
143 DefineOutput(2, TTree::Class());
150 fMinFractionShared(0),
152 fSingleTrackEmb(kFALSE),
153 fSubtractMassless(kFALSE),
155 fh2PtJet1DeltaMNoSub(0),
156 fh2PtJet2DeltaMNoSub(0),
157 fh3PtJet1DeltaPtDeltaMCheat(0),
158 fh3PtJet2DeltaPtDeltaMCheat(0),
159 fh3PtJet1DeltaPtDeltaM(0),
160 fh3PtJet2DeltaPtDeltaM(0),
166 fh3PtJet1MJet1MJet2(0),
167 fh3PtJet2MJet1MJet2(0),
168 fh3PtJet1DeltaPtDeltaMRho(0),
169 fh2PtJet1DeltaERho(0),
170 fh3PtJet2DeltaPtDeltaMRho(0),
171 fh2PtJet2DeltaPxRho(0),
172 fh2PtJet2DeltaPyRho(0),
173 fh2PtJet2DeltaPzRho(0),
174 fh2PtJet2DeltaERho(0),
175 fh2PtJet2DeltaMRho(0),
176 fh2PtJet2DeltaPtRho(0),
177 fh3PtJet2DeltaEDeltaMRho(0),
178 fh3PtJet2DeltaPDeltaMRho(0),
179 fh2PtJet1DeltaPtVecSub(0),
181 fJet1Vec(new TLorentzVector()),
182 fJet2Vec(new TLorentzVector()),
183 fBkgVec(new TLorentzVector()),
249 DefineOutput(2, TTree::Class());
265 Bool_t oldStatus = TH1::AddDirectoryStatus();
266 TH1::AddDirectory(kFALSE);
268 const Int_t nBinsPt = 200;
272 const Int_t nBinsM = 150;
279 histName = TString::Format(
"fh2PtJet1DeltaMNoSub_%d",i);
280 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{M}_{jet}",histName.Data());
282 fOutput->Add(fh2PtJet1DeltaMNoSub[i]);
284 histName = TString::Format(
"fh2PtJet2DeltaMNoSub_%d",i);
285 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{M}_{jet}",histName.Data());
287 fOutput->Add(fh2PtJet2DeltaMNoSub[i]);
289 histName = TString::Format(
"fh3PtJet1DeltaPtDeltaMCheat_%d",i);
290 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
291 fh3PtJet1DeltaPtDeltaMCheat[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
292 fOutput->Add(fh3PtJet1DeltaPtDeltaMCheat[i]);
294 histName = TString::Format(
"fh3PtJet2DeltaPtDeltaMCheat_%d",i);
295 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
296 fh3PtJet2DeltaPtDeltaMCheat[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
297 fOutput->Add(fh3PtJet2DeltaPtDeltaMCheat[i]);
299 histName = TString::Format(
"fh3PtJet1DeltaPtDeltaM_%d",i);
300 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
301 fh3PtJet1DeltaPtDeltaM[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
302 fOutput->Add(fh3PtJet1DeltaPtDeltaM[i]);
304 histName = TString::Format(
"fh3PtJet2DeltaPtDeltaM_%d",i);
305 histTitle = TString::Format(
"%s;#it{p}_{T,jet2};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
306 fh3PtJet2DeltaPtDeltaM[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
307 fOutput->Add(fh3PtJet2DeltaPtDeltaM[i]);
309 histName = TString::Format(
"fh2PtJet1DeltaE_%d",i);
310 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
311 fh2PtJet1DeltaE[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
312 fOutput->Add(fh2PtJet1DeltaE[i]);
314 histName = TString::Format(
"fh2PtJet2DeltaE_%d",i);
315 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
316 fh2PtJet2DeltaE[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
317 fOutput->Add(fh2PtJet2DeltaE[i]);
319 histName = TString::Format(
"fh2PtJet1DeltaP_%d",i);
320 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}",histName.Data());
321 fh2PtJet1DeltaP[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
322 fOutput->Add(fh2PtJet1DeltaP[i]);
324 histName = TString::Format(
"fh2PtJet2DeltaP_%d",i);
325 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}",histName.Data());
326 fh2PtJet2DeltaP[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
327 fOutput->Add(fh2PtJet2DeltaP[i]);
329 histName = TString::Format(
"fh2PtJet2DeltaM_%d",i);
330 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{M}",histName.Data());
331 fh2PtJet2DeltaM[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
332 fOutput->Add(fh2PtJet2DeltaM[i]);
334 histName = TString::Format(
"fh3PtJet1MJet1MJet2_%d",i);
335 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
336 fh3PtJet1MJet1MJet2[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
337 fOutput->Add(fh3PtJet1MJet1MJet2[i]);
339 histName = TString::Format(
"fh3PtJet2MJet1MJet2_%d",i);
340 histTitle = TString::Format(
"%s;#it{p}_{T,jet2};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
341 fh3PtJet2MJet1MJet2[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
342 fOutput->Add(fh3PtJet2MJet1MJet2[i]);
344 histName = TString::Format(
"fh3PtJet1DeltaPtDeltaMRho_%d",i);
345 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
346 fh3PtJet1DeltaPtDeltaMRho[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
347 fOutput->Add(fh3PtJet1DeltaPtDeltaMRho[i]);
349 histName = TString::Format(
"fh2PtJet1DeltaERho_%d",i);
350 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
351 fh2PtJet1DeltaERho[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
352 fOutput->Add(fh2PtJet1DeltaERho[i]);
354 histName = TString::Format(
"fh3PtJet2DeltaPtDeltaMRho_%d",i);
355 histTitle = TString::Format(
"%s;#it{p}_{T,jet2};#delta#it{p}_{T};#delta#it{M}_{jet}",histName.Data());
356 fh3PtJet2DeltaPtDeltaMRho[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
357 fOutput->Add(fh3PtJet2DeltaPtDeltaMRho[i]);
359 histName = TString::Format(
"fh2PtJet2DeltaPxRho_%d",i);
360 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{x}",histName.Data());
362 fOutput->Add(fh2PtJet2DeltaPxRho[i]);
364 histName = TString::Format(
"fh2PtJet2DeltaPyRho_%d",i);
365 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{y}",histName.Data());
367 fOutput->Add(fh2PtJet2DeltaPyRho[i]);
369 histName = TString::Format(
"fh2PtJet2DeltaPzRho_%d",i);
370 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{z}",histName.Data());
372 fOutput->Add(fh2PtJet2DeltaPzRho[i]);
374 histName = TString::Format(
"fh2PtJet2DeltaERho_%d",i);
375 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{E}",histName.Data());
376 fh2PtJet2DeltaERho[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
377 fOutput->Add(fh2PtJet2DeltaERho[i]);
379 histName = TString::Format(
"fh2PtJet2DeltaMRho_%d",i);
380 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{M}",histName.Data());
381 fh2PtJet2DeltaMRho[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
382 fOutput->Add(fh2PtJet2DeltaMRho[i]);
384 histName = TString::Format(
"fh2PtJet2DeltaPtRho_%d",i);
385 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T}",histName.Data());
387 fOutput->Add(fh2PtJet2DeltaPtRho[i]);
389 histName = TString::Format(
"fh3PtJet2DeltaEDeltaMRho_%d",i);
390 histTitle = TString::Format(
"%s;#it{p}_{T,jet2};#delta#it{E};#delta#it{M}_{jet}",histName.Data());
391 fh3PtJet2DeltaEDeltaMRho[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
392 fOutput->Add(fh3PtJet2DeltaEDeltaMRho[i]);
394 histName = TString::Format(
"fh3PtJet2DeltaPDeltaMRho_%d",i);
395 histTitle = TString::Format(
"%s;#it{p}_{T,jet2};#delta#it{p};#delta#it{M}_{jet}",histName.Data());
396 fh3PtJet2DeltaPDeltaMRho[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
397 fOutput->Add(fh3PtJet2DeltaPDeltaMRho[i]);
399 histName = TString::Format(
"fh2PtJet1DeltaPtVecSub_%d",i);
400 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#delta#it{p}_{T}",histName.Data());
402 fOutput->Add(fh2PtJet1DeltaPtVecSub[i]);
412 THnSparse *hn =
dynamic_cast<THnSparse*
>(
fOutput->At(i));
416 TH1::AddDirectory(oldStatus);
453 jetCont->ResetCurrentID();
458 fJet2Vec->SetPxPyPzE(vp->Px(),vp->Py(),vp->Pz(),vp->E());
505 Double_t p2 = px*px + py*py + pz*pz;
507 if((E*E)>p2) msub = TMath::Sqrt(E*E - p2);
530 fBkgVec->SetPxPyPzE(vpBkg.Px(),vpBkg.Py(),vpBkg.Pz(),vpBkg.E());
556 vpB.SetPxPyPzE(rho*TMath::Cos(aphi)*jet->
Area(),rho*TMath::Sin(aphi)*jet->
Area(),(rho+rhom)*TMath::SinH(aeta)*jet->
Area(),(rho+rhom)*TMath::CosH(aeta)*jet->
Area());
574 vpS.SetPxPyPzE(jet->
Px()-vpBkg.Px(),jet->
Py()-vpBkg.Py(),jet->
Pz()-vpBkg.Pz(),jet->
E()-vpBkg.E());
588 TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiM(jet->
Pt(),0.,0.,jet->
M());
589 TLorentzVector vpPPboost; vpPPboost.SetPtEtaPhiM(
fJet2Vec->Pt(),0.,0.,
fJet2Vec->M());
590 Double_t dpt = vpAAboost.Perp()-vpPPboost.Perp();
591 Double_t dE = vpAAboost.E()-vpPPboost.E();
592 vpB.SetPtEtaPhiE(dpt,0.,0.,dE);
602 TLorentzVector vpAAboost; vpAAboost.SetPtEtaPhiM(jet->
Pt(),0.,0.,jet->
M());
603 TLorentzVector vpSboost = vpAAboost - vpB;
604 vpS.SetPtEtaPhiM(vpSboost.Perp(),jet->
Eta(),jet->
Phi(),vpSboost.M());
628 AliVParticle *vp = 0x0;
638 Double_t m2 = E*E - px*px - py*py - pz*pz;
640 return TMath::Sqrt(E*E - px*px - py*py - pz*pz);
649 AliVParticle *vp = 0x0;
650 AliVParticle *vpe = 0x0;
654 if (vp->TestBits(TObject::kBitMask) != (
Int_t)(TObject::kBitMask) )
continue;
656 else if(vp->Pt()>vpe->Pt()) vpe = vp;
659 AliDebug(11,Form(
"Found %d embedded particles",nc));
TH3F ** fh3PtJet1DeltaPtDeltaMRho
pt jet2 vs jet mass jet1 vs jet mass jet2
Double_t GetRhoVal() const
void UserCreateOutputObjects()
TH2F ** fh2PtJet1DeltaE
pt jet2 vs delta-pt vs delta-M
TH2F ** fh2PtJet1DeltaPtVecSub
pt jet2 vs delta-P vs delta-M
TH3F ** fh3PtJet1DeltaPtDeltaMCheat
pt jet2 vs delta-pt vs delta-M
TH2F ** fh2PtJet1DeltaERho
pt jet1 vs delta-pt vs delta-M
AliEmcalJet * ClosestJet() const
AliJetContainer * GetJetContainer(Int_t i=0) const
virtual ~AliAnalysisTaskEmcalJetMassResponse()
void Terminate(Option_t *option)
TH2F ** fh2PtJet2DeltaM
pt jet2 vs delta-P
TH3F ** fh3PtJet2DeltaPtDeltaMRho
pt jet1 vs delta-E
TH2F ** fh2PtJet2DeltaPtRho
pt jet2 vs delta-M
Double_t fMinFractionShared
TTree * fTreeJetBkg
pt jet1 (AA) vs delta pT while using vector subtraction
TH3F ** fh3PtJet2DeltaEDeltaMRho
pt jet2 vs delta-pT
Int_t fCentBin
!event centrality bin
AliAnalysisTaskEmcalJetMassResponse()
Bool_t RetrieveEventObjects()
TH3F ** fh3PtJet1DeltaPtDeltaM
pt jet2 vs delta-pt vs delta-M
void LoadRhoMass(const AliVEvent *event)
TH2F ** fh2PtJet2DeltaPxRho
pt jet2 vs delta-pt vs delta-M
TLorentzVector GetSubtractedVectorCheat(AliEmcalJet *jet)
Int_t TrackAt(Int_t idx) const
UShort_t GetNumberOfTracks() const
TLorentzVector * fJet2Vec
TH2F ** fh2PtJet2DeltaPzRho
pt jet2 vs delta-py
TH2F ** fh2PtJet2DeltaMRho
pt jet2 vs delta-E
AliParticleContainer * GetParticleContainer() const
TH3F ** fh3PtJet2DeltaPtDeltaM
pt jet1 vs delta-pt vs delta-M
TH3F ** fh3PtJet2DeltaPDeltaMRho
pt jet2 vs delta-E vs delta-M
Int_t fNcentBins
how many centrality bins
TH2F ** fh2PtJet2DeltaERho
pt jet2 vs delta-pz
AliVParticle * GetEmbeddedConstituent(AliEmcalJet *jet)
Double_t GetRhoMassVal() const
TLorentzVector GetBkgVectorCheat(AliEmcalJet *jet)
TH3F ** fh3PtJet2DeltaPtDeltaMCheat
pt jet1 vs delta-pt vs delta-M
Double_t GetJetMassMasslessConstituents(AliEmcalJet *jet)
TH2F ** fh2PtJet2DeltaPyRho
pt jet2 vs delta-px
AliEmcalJet * GetNextAcceptJet()
TH3F ** fh3PtJet2MJet1MJet2
pt jet1 vs jet mass jet1 vs jet mass jet2
TH3F ** fh3PtJet1MJet1MJet2
pt jet2 vs delta-M
TH2F ** fh2PtJet1DeltaMNoSub
Double_t GetRhoVal(Int_t i=0) const
TH2F ** fh2PtJet2DeltaE
pt jet1 vs delta-E
AliEmcalList * fOutput
!output list
TH2F ** fh2PtJet2DeltaMNoSub
pt jet1 vs delta-pt vs delta-M
ClassImp(AliAnalysisTaskEmcalJetMassResponse) AliAnalysisTaskEmcalJetMassResponse
TLorentzVector GetSubtractedVector(AliEmcalJet *jet)
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
TLorentzVector GetBkgVector(AliEmcalJet *jet, AliJetContainer *cont)
Double_t GetFractionSharedPt(const AliEmcalJet *jet, AliParticleContainer *cont2=0x0) const
void UserCreateOutputObjects()
TH2F ** fh2PtJet2DeltaP
pt jet1 vs delta-P
TLorentzVector * fJet1Vec
tree with jet and bkg variables
Bool_t RetrieveEventObjects()
Double_t GetJetMass(AliEmcalJet *jet)
Container for jet within the EMCAL jet framework.
TH2F ** fh2PtJet1DeltaP
pt jet2 vs delta-E