6 #include <TClonesArray.h>
10 #include <THnSparse.h>
12 #include <TLorentzVector.h>
20 #include "AliVCluster.h"
21 #include "AliVTrack.h"
26 #include "AliMCEvent.h"
27 #include "AliGenPythiaEventHeader.h"
28 #include "AliAODMCHeader.h"
29 #include "AliMCEvent.h"
30 #include "AliAnalysisManager.h"
49 fConeMaxPhi(TMath::Pi()*2),
54 fh2PtVsMassRCExLJDPhi(0),
55 fh2PtVsMassPerpConeLJ(0),
56 fh2PtVsMassPerpConeTJ(0),
58 fh2PtVsERCExLJDPhi(0),
59 fh2PtVsEPerpConeLJ(0),
60 fh2PtVsEPerpConeTJ(0),
63 fpPtVsMassPerpConeLJ(0),
64 fpPtVsMassPerpConeTJ(0),
66 fh2EtaVsMassRCExLJ(0),
67 fh2EtaVsMassPerpConeLJ(0),
68 fh2EtaVsMassPerpConeTJ(0),
70 fh2CentVsMassRCExLJ(0),
71 fh2CentVsMassPerpConeLJ(0),
72 fh2CentVsMassPerpConeTJ(0),
74 fh2MultVsMassRCExLJ(0),
75 fh2MultVsMassPerpConeLJ(0),
76 fh2MultVsMassPerpConeTJ(0),
77 fh2CentVsMedianMassRC(0),
78 fh2CentVsMedianMassRCExLJ(0),
79 fh2MultVsMedianMassRC(0),
80 fh2MultVsMedianMassRCExLJ(0),
81 fh2CentVsMeanMassRC(0),
82 fh2CentVsMeanMassRCExLJ(0),
83 fh2MultVsMeanMassRC(0),
84 fh2MultVsMeanMassRCExLJ(0),
85 fh2CentVsMedianMassPerAreaRC(0),
86 fh2CentVsMedianMassPerAreaRCExLJ(0),
87 fh2MultVsMedianMassPerAreaRC(0),
88 fh2MultVsMedianMassPerAreaRCExLJ(0)
92 fh2PtVsMassRC =
new TH2F*[fNcentBins];
93 fh2PtVsMassRCExLJDPhi =
new TH3F*[fNcentBins];
94 fh2PtVsMassPerpConeLJ =
new TH2F*[fNcentBins];
95 fh2PtVsMassPerpConeTJ =
new TH2F*[fNcentBins];
97 fh2PtVsERC =
new TH2F*[fNcentBins];
98 fh2PtVsERCExLJDPhi =
new TH3F*[fNcentBins];
99 fh2PtVsEPerpConeLJ =
new TH2F*[fNcentBins];
100 fh2PtVsEPerpConeTJ =
new TH2F*[fNcentBins];
102 fpPtVsMassRC =
new TProfile*[fNcentBins];
103 fpPtVsMassRCExLJ =
new TProfile*[fNcentBins];
104 fpPtVsMassPerpConeLJ =
new TProfile*[fNcentBins];
105 fpPtVsMassPerpConeTJ =
new TProfile*[fNcentBins];
107 fh2EtaVsMassRC =
new TH2F*[fNcentBins];
108 fh2EtaVsMassRCExLJ =
new TH2F*[fNcentBins];
109 fh2EtaVsMassPerpConeLJ =
new TH2F*[fNcentBins];
110 fh2EtaVsMassPerpConeTJ =
new TH2F*[fNcentBins];
112 for (
Int_t i = 0; i < fNcentBins; i++) {
113 fh2PtVsMassRC[i] = 0;
114 fh2PtVsMassRCExLJDPhi[i] = 0;
115 fh2PtVsMassPerpConeLJ[i] = 0;
116 fh2PtVsMassPerpConeTJ[i] = 0;
119 fh2PtVsERCExLJDPhi[i] = 0;
120 fh2PtVsEPerpConeLJ[i] = 0;
121 fh2PtVsEPerpConeTJ[i] = 0;
124 fpPtVsMassRCExLJ[i] = 0;
125 fpPtVsMassPerpConeLJ[i] = 0;
126 fpPtVsMassPerpConeTJ[i] = 0;
128 fh2EtaVsMassRC[i] = 0;
129 fh2EtaVsMassRCExLJ[i] = 0;
130 fh2EtaVsMassPerpConeLJ[i] = 0;
131 fh2EtaVsMassPerpConeTJ[i] = 0;
134 SetMakeGeneralHistograms(kTRUE);
148 fConeMaxPhi(TMath::Pi()*2),
151 fCaloClustersCont(0),
153 fh2PtVsMassRCExLJDPhi(0),
154 fh2PtVsMassPerpConeLJ(0),
155 fh2PtVsMassPerpConeTJ(0),
157 fh2PtVsERCExLJDPhi(0),
158 fh2PtVsEPerpConeLJ(0),
159 fh2PtVsEPerpConeTJ(0),
162 fpPtVsMassPerpConeLJ(0),
163 fpPtVsMassPerpConeTJ(0),
165 fh2EtaVsMassRCExLJ(0),
166 fh2EtaVsMassPerpConeLJ(0),
167 fh2EtaVsMassPerpConeTJ(0),
169 fh2CentVsMassRCExLJ(0),
170 fh2CentVsMassPerpConeLJ(0),
171 fh2CentVsMassPerpConeTJ(0),
173 fh2MultVsMassRCExLJ(0),
174 fh2MultVsMassPerpConeLJ(0),
175 fh2MultVsMassPerpConeTJ(0),
176 fh2CentVsMedianMassRC(0),
177 fh2CentVsMedianMassRCExLJ(0),
178 fh2MultVsMedianMassRC(0),
179 fh2MultVsMedianMassRCExLJ(0),
180 fh2CentVsMeanMassRC(0),
181 fh2CentVsMeanMassRCExLJ(0),
182 fh2MultVsMeanMassRC(0),
183 fh2MultVsMeanMassRCExLJ(0),
184 fh2CentVsMedianMassPerAreaRC(0),
185 fh2CentVsMedianMassPerAreaRCExLJ(0),
186 fh2MultVsMedianMassPerAreaRC(0),
187 fh2MultVsMedianMassPerAreaRCExLJ(0)
253 Bool_t oldStatus = TH1::AddDirectoryStatus();
254 TH1::AddDirectory(kFALSE);
256 const Int_t nBinsPt = 250;
260 const Int_t nBinsE = 250;
264 const Int_t nBinsM = 150;
268 const Int_t nBinsEta = 100;
272 const Int_t nBinsCent = 100;
276 const Int_t nBinsMult = 400;
280 fh2CentVsMassRC =
new TH2F(
"fh2CentVsMassRC",
"fh2CentVsMassRC;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
283 fh2CentVsMassRCExLJ =
new TH2F(
"fh2CentVsMassRCExLJ",
"fh2CentVsMassRCExLJ;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
286 fh2CentVsMassPerpConeLJ =
new TH2F(
"fh2CentVsMassPerpConeLJ",
"fh2CentVsMassPerpConeLJ;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
289 fh2CentVsMassPerpConeTJ =
new TH2F(
"fh2CentVsMassPerpConeTJ",
"fh2CentVsMassPerpConeTJ;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
292 fh2MultVsMassRC =
new TH2F(
"fh2MultVsMassRC",
"fh2MultVsMassRC;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
295 fh2MultVsMassRCExLJ =
new TH2F(
"fh2MultVsMassRCExLJ",
"fh2MultVsMassRCExLJ;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
298 fh2MultVsMassPerpConeLJ =
new TH2F(
"fh2MultVsMassPerpConeLJ",
"fh2MultVsMassPerpConeLJ;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
301 fh2MultVsMassPerpConeTJ =
new TH2F(
"fh2MultVsMassPerpConeTJ",
"fh2MultVsMassPerpConeTJ;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
304 fh2CentVsMedianMassRC =
new TH2F(
"fh2CentVsMedianMassRC",
"fh2CentVsMedianMassRC;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
307 fh2CentVsMedianMassRCExLJ =
new TH2F(
"fh2CentVsMedianMassRCExLJ",
"fh2CentVsMedianMassRCExLJ;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
310 fh2MultVsMedianMassRC =
new TH2F(
"fh2MultVsMedianMassRC",
"fh2MultVsMedianMassRC;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
313 fh2MultVsMedianMassRCExLJ =
new TH2F(
"fh2MultVsMedianMassRCExLJ",
"fh2MultVsMedianMassRCExLJ;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
316 fh2CentVsMeanMassRC =
new TH2F(
"fh2CentVsMeanMassRC",
"fh2CentVsMeanMassRC;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
319 fh2CentVsMeanMassRCExLJ =
new TH2F(
"fh2CentVsMeanMassRCExLJ",
"fh2CentVsMeanMassRCExLJ;cent;#it{M}_{RC}",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
322 fh2MultVsMeanMassRC =
new TH2F(
"fh2MultVsMeanMassRC",
"fh2MultVsMeanMassRC;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
325 fh2MultVsMeanMassRCExLJ =
new TH2F(
"fh2MultVsMeanMassRCExLJ",
"fh2MultVsMeanMassRCExLJ;#it{N}_{track};#it{M}_{RC}",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
328 fh2CentVsMedianMassPerAreaRC =
new TH2F(
"fh2CentVsMedianMassPerAreaRC",
"fh2CentVsMedianMassPerAreaRC;cent;#it{M}_{RC}/A",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
331 fh2CentVsMedianMassPerAreaRCExLJ =
new TH2F(
"fh2CentVsMedianMassPerAreaRCExLJ",
"fh2CentVsMedianMassPerAreaRCExLJ;cent;#it{M}_{RC}/A",nBinsCent,minCent,maxCent,nBinsM,minM,maxM);
334 fh2MultVsMedianMassPerAreaRC =
new TH2F(
"fh2MultVsMedianMassPerAreaRC",
"fh2MultVsMedianMassPerAreaRC;#it{N}_{track};#it{M}_{RC}/A",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
337 fh2MultVsMedianMassPerAreaRCExLJ =
new TH2F(
"fh2MultVsMedianMassPerAreaRCExLJ",
"fh2MultVsMedianMassPerAreaRCExLJ;#it{N}_{track};#it{M}_{RC}/A",nBinsMult,minMult,maxMult,nBinsM,minM,maxM);
343 histName = TString::Format(
"fh2PtVsMassRC_%d",i);
344 histTitle = TString::Format(
"%s;#it{p}_{T,RC};#it{M}_{RC}",histName.Data());
345 fh2PtVsMassRC[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
346 fOutput->Add(fh2PtVsMassRC[i]);
348 histName = TString::Format(
"fh2PtVsMassRCExLJDPhi_%d",i);
349 histTitle = TString::Format(
"%s;#it{p}_{T,RC};#it{M}_{RC}",histName.Data());
350 fh2PtVsMassRCExLJDPhi[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,72,-0.5*TMath::Pi(),1.5*TMath::Pi());
351 fOutput->Add(fh2PtVsMassRCExLJDPhi[i]);
353 histName = TString::Format(
"fh2PtVsMassPerpConeLJ_%d",i);
354 histTitle = TString::Format(
"%s;#it{p}_{T,PerpConeLJ};#it{M}_{PerpConeLJ}",histName.Data());
356 fOutput->Add(fh2PtVsMassPerpConeLJ[i]);
358 histName = TString::Format(
"fh2PtVsMassPerpConeTJ_%d",i);
359 histTitle = TString::Format(
"%s;#it{p}_{T,PerpConeTJ};#it{M}_{PerpConeTJ}",histName.Data());
361 fOutput->Add(fh2PtVsMassPerpConeTJ[i]);
363 histName = TString::Format(
"fh2PtVsERC_%d",i);
364 histTitle = TString::Format(
"%s;#it{p}_{T,RC};#it{M}_{RC}",histName.Data());
365 fh2PtVsERC[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsE,minE,maxE);
368 histName = TString::Format(
"fh2PtVsERCExLJDPhi_%d",i);
369 histTitle = TString::Format(
"%s;#it{p}_{T,RC};#it{M}_{RC}",histName.Data());
370 fh2PtVsERCExLJDPhi[i] =
new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt,72,-0.5*TMath::Pi(),1.5*TMath::Pi());
371 fOutput->Add(fh2PtVsERCExLJDPhi[i]);
373 histName = TString::Format(
"fh2PtVsEPerpConeLJ_%d",i);
374 histTitle = TString::Format(
"%s;#it{p}_{T,PerpConeLJ};#it{M}_{PerpConeLJ}",histName.Data());
376 fOutput->Add(fh2PtVsEPerpConeLJ[i]);
378 histName = TString::Format(
"fh2PtVsEPerpConeTJ_%d",i);
379 histTitle = TString::Format(
"%s;#it{p}_{T,PerpConeTJ};#it{M}_{PerpConeTJ}",histName.Data());
381 fOutput->Add(fh2PtVsEPerpConeTJ[i]);
383 histName = TString::Format(
"fh2EtaVsMassRC_%d",i);
384 histTitle = TString::Format(
"%s;#eta_{RC};#it{M}_{RC}",histName.Data());
385 fh2EtaVsMassRC[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsEta,minEta,maxEta,nBinsM,minM,maxM);
386 fOutput->Add(fh2EtaVsMassRC[i]);
388 histName = TString::Format(
"fh2EtaVsMassRCExLJ_%d",i);
389 histTitle = TString::Format(
"%s;#eta_{RC};#it{M}_{RC}",histName.Data());
390 fh2EtaVsMassRCExLJ[i] =
new TH2F(histName.Data(),histTitle.Data(),nBinsEta,minEta,maxEta,nBinsM,minM,maxM);
391 fOutput->Add(fh2EtaVsMassRCExLJ[i]);
393 histName = TString::Format(
"fh2EtaVsMassPerpConeLJ_%d",i);
394 histTitle = TString::Format(
"%s;#eta_{PerpConeLJ};#it{M}_{PerpConeLJ}",histName.Data());
396 fOutput->Add(fh2EtaVsMassPerpConeLJ[i]);
398 histName = TString::Format(
"fh2EtaVsMassPerpConeTJ_%d",i);
399 histTitle = TString::Format(
"%s;#eta_{PerpConeTJ};#it{M}_{PerpConeTJ}",histName.Data());
401 fOutput->Add(fh2EtaVsMassPerpConeTJ[i]);
403 histName = TString::Format(
"fpPtVsMassRC_%d",i);
404 histTitle = TString::Format(
"%s;#it{p}_{T,RC};Avg #it{M}_{RC}",histName.Data());
405 fpPtVsMassRC[i] =
new TProfile(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
408 histName = TString::Format(
"fpPtVsMassRCExLJ_%d",i);
409 histTitle = TString::Format(
"%s;#it{p}_{T,RC};Avg #it{M}_{RC}",histName.Data());
410 fpPtVsMassRCExLJ[i] =
new TProfile(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
411 fOutput->Add(fpPtVsMassRCExLJ[i]);
413 histName = TString::Format(
"fpPtVsMassPerpConeLJ_%d",i);
414 histTitle = TString::Format(
"%s;#it{p}_{T,RC};Avg #it{M}_{RC}",histName.Data());
416 fOutput->Add(fpPtVsMassPerpConeLJ[i]);
418 histName = TString::Format(
"fpPtVsMassPerpConeTJ_%d",i);
419 histTitle = TString::Format(
"%s;#it{p}_{T,RC};Avg #it{M}_{RC}",histName.Data());
421 fOutput->Add(fpPtVsMassPerpConeTJ[i]);
431 THnSparse *hn =
dynamic_cast<THnSparse*
>(
fOutput->At(i));
435 TH1::AddDirectory(oldStatus);
464 TLorentzVector lvRC(0.,0.,0.,0.);
465 TLorentzVector lvRCS(0.,0.,0.,0.);
471 static Double_t massPerAreavecRC[999];
474 static Double_t massPerAreavecRCExLJ[999];
477 Int_t nRCExLJAcc = 0;
481 lvRC.SetPxPyPzE(0.,0.,0.,0.);
495 massvecRC[nRCAcc] = lvRCS.M();
496 massPerAreavecRC[nRCAcc] = massvecRC[nRCAcc]/rcArea;
502 lvRC.SetPxPyPzE(0.,0.,0.,0.);
507 if (RCpt > 0 && jet) {
510 if (dphi > 1.5*TMath::Pi()) dphi -= TMath::Pi() * 2;
511 if (dphi < -0.5*TMath::Pi()) dphi += TMath::Pi() * 2;
519 massvecRCExLJ[nRCExLJAcc] = lvRCS.M();
520 massPerAreavecRCExLJ[nRCExLJAcc] = lvRCS.M()/rcArea;
526 Double_t medianRC, medianRCExLJ = 0.;
527 medianRC = TMath::Median(nRCAcc,massvecRC);
528 medianRCExLJ = TMath::Median(nRCExLJAcc,massvecRCExLJ);
537 if(nRCAcc>0) meanRC = TMath::Mean(nRCAcc,massvecRC);
538 if(nRCExLJAcc) meanRCExLJ = TMath::Mean(nRCExLJAcc,massvecRCExLJ);
546 Double_t medianPerAreaRC, medianPerAreaRCExLJ = 0.;
547 medianPerAreaRC = TMath::Median(nRCAcc,massPerAreavecRC);
548 medianPerAreaRCExLJ = TMath::Median(nRCExLJAcc,massPerAreavecRCExLJ);
559 TLorentzVector lvPC(0.,0.,0.,0.);
560 TLorentzVector lvPCS(0.,0.,0.,0.);
584 lvPC.SetPxPyPzE(0.,0.,0.,0.);
611 lvRC.SetPxPyPzE(0.,0.,0.,0.);
617 if (!tracks && !clusters)
633 if (maxPhi > TMath::Pi() * 2) maxPhi = TMath::Pi() * 2;
634 if (minPhi < 0) minPhi = 0;
640 eta =
gRandom->Rndm() * (maxEta - minEta) + minEta;
641 phi =
gRandom->Rndm() * (maxPhi - minPhi) + minPhi;
642 dLJ = TMath::Sqrt((LJeta - eta) * (LJeta - eta) + (LJphi - phi) * (LJphi - phi));
645 }
while (dLJ <
fMinRC2LJ && repeats < 999 && reject);
647 if (repeats == 999) {
648 AliWarning(Form(
"%s: Could not get random cone!", GetName()));
652 GetCone(lvRC,pt,eta,phi,tracks,clusters);
662 lvRC.SetPxPyPzE(0.,0.,0.,0.);
665 clusters->ResetCurrentID();
668 TLorentzVector nPart;
669 cluster->GetMomentum(nPart, const_cast<Double_t*>(
fVertex));
674 if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi + 2 * TMath::Pi()))
675 clusphi += 2 * TMath::Pi();
676 if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi - 2 * TMath::Pi()))
677 clusphi -= 2 * TMath::Pi();
679 Float_t d = TMath::Sqrt((cluseta - eta) * (cluseta - eta) + (clusphi - phi) * (clusphi - phi));
682 TLorentzVector lvcl(nPart.Px(),nPart.Py(),nPart.Pz(),nPart.E());
691 tracks->ResetCurrentID();
694 Float_t tracketa = track->Eta();
695 Float_t trackphi = track->Phi();
697 if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi + 2 * TMath::Pi()))
698 trackphi += 2 * TMath::Pi();
699 if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi - 2 * TMath::Pi()))
700 trackphi -= 2 * TMath::Pi();
702 Float_t d = TMath::Sqrt((tracketa - eta) * (tracketa - eta) + (trackphi - phi) * (trackphi - phi));
705 TLorentzVector lvtr(track->Px(),track->Py(),track->Pz(),track->E());
719 lvRC.SetPxPyPzE(0.,0.,0.,0.);
725 if (!tracks && !clusters)
735 phi = LJphi + 0.5*TMath::Pi();
736 if(phi>TMath::TwoPi()) phi-=TMath::TwoPi();
738 GetCone(lvRC,pt,eta,phi,tracks,clusters);
770 fRCperEvent = TMath::FloorNint(area / rcArea - 0.5);
780 AliWarning(Form(
"The parameter fMinRC2LJ = %f is too large for the considered acceptance. "
781 "Will use fMinRC2LJ = %f",
fMinRC2LJ, maxDist));
793 TLorentzVector vpB(0.,0.,0.,0.);
795 vpB.SetPxPyPzE(rho*TMath::Cos(phi)*aRC,rho*TMath::Sin(phi)*aRC,(rho+rhom)*TMath::SinH(eta)*aRC,(rho+rhom)*TMath::CosH(eta)*aRC);
805 vpS.SetPxPyPzE(pt*TMath::Cos(phi)-vpBkg.Px(),pt*TMath::Sin(phi)-vpBkg.Py(),pt*TMath::SinH(eta)-vpBkg.Pz(),e-vpBkg.E());
TH2F ** fh2PtVsMassPerpConeLJ
pT vs mass of RC excluding area around leading jet
TH2F * fh2MultVsMassRCExLJ
track multiplicity vs mass of RC
TH2F * fh2CentVsMedianMassPerAreaRCExLJ
cent vs median mass of all RC in event
TH2F * fh2CentVsMassRC
eta vs mass of cone perpendicular to all tagged jets
virtual AliVParticle * GetNextAcceptParticle()
Double_t GetRhoVal() const
TH2F * fh2CentVsMassPerpConeLJ
cent vs mass of RC excluding area around leading jet
AliJetContainer * GetJetContainer(Int_t i=0) const
Int_t GetTagStatus() const
TLorentzVector GetSubtractedVector(Double_t pt, Double_t eta, Double_t phi, Double_t e)
void ExecOnce()
Perform steps needed to initialize the analysis.
AliClusterContainer * fCaloClustersCont
Tracks.
void Terminate(Option_t *option)
AliJetContainer * fJetsCont
TProfile ** fpPtVsMassRC
E vs mass of cone perpendicular to all tagged jets.
void GetRandomCone(TLorentzVector &lvRC, Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer *tracks, AliClusterContainer *clusters, AliEmcalJet *jet=0) const
TH2F * fh2CentVsMedianMassRCExLJ
cent vs median mass of all RC in event
TH2F ** fh2EtaVsMassRC
pT vs Avg mass of cone perpendicular to all tagged jets
TProfile ** fpPtVsMassPerpConeTJ
pT vs Avg mass of cone perpendicular to leading jet
TH2F ** fh2PtVsEPerpConeLJ
E vs mass of RC excluding area around leading jet.
AliClusterContainer * GetClusterContainer() const
TH2F * fh2MultVsMassPerpConeTJ
track multiplicity vs mass of RC perpendicular to leading jet
void SetConePhiLimits(Float_t min, Float_t max)
TH2F * fh2MultVsMassPerpConeLJ
track multiplicity vs mass of RC excluding area around leading jet
Int_t fCentBin
!event centrality bin
void SetConeEtaLimits(Float_t min, Float_t max)
AliAnalysisTaskEmcalJetMassBkg()
Bool_t RetrieveEventObjects()
TH2F * fh2MultVsMedianMassPerAreaRCExLJ
cent vs median mass of all RC in event
TH2F * fh2MultVsMedianMassPerAreaRC
cent vs meidan mass mass of all RC in event excluding area around leading jet
void GetPerpCone(TLorentzVector &lvRC, Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer *tracks, AliClusterContainer *clusters, AliEmcalJet *jet=0) const
Container for particles within the EMCAL framework.
TH2F * fh2CentVsMedianMassPerAreaRC
cent vs meidan mass mass of all RC in event excluding area around leading jet
TH2F ** fh2PtVsERC
pT vs mass of cone perpendicular to all tagged jets
AliParticleContainer * GetParticleContainer() const
AliEmcalJet * GetLeadingJet(const char *opt="")
TH2F ** fh2PtVsMassPerpConeTJ
pT vs mass of cone perpendicular to leading jet
TH2F ** fh2PtVsMassRC
Clusters.
Int_t fNcentBins
how many centrality bins
TH2F * fh2CentVsMedianMassRC
track multiplicity vs mass of RC perpendicular to tagged jets
void SetConeEtaPhiEMCAL()
Double_t fCent
!event centrality
TLorentzVector GetBkgVector(Double_t eta, Double_t phi, AliJetContainer *cont)
Double_t GetRhoMassVal() const
TH2F ** fh2EtaVsMassPerpConeTJ
eta vs mass of cone perpendicular to leading jet
TH2F * fh2CentVsMeanMassRC
cent vs meidan mass mass of all RC in event excluding area around leading jet
TH2F * fh2MultVsMedianMassRCExLJ
cent vs median mass of all RC in event
TH2F * fh2MultVsMeanMassRC
cent vs meidan mass mass of all RC in event excluding area around leading jet
void GetCone(TLorentzVector &lvRC, Float_t &pt, Float_t eta, Float_t phi, AliParticleContainer *tracks, AliClusterContainer *clusters) const
TH2F * fh2CentVsMeanMassRCExLJ
cent vs median mass of all RC in event
Double_t GetRhoVal(Int_t i=0) const
TH3F ** fh2PtVsERCExLJDPhi
E vs mass of RC.
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
AliEmcalList * fOutput
!output list
TH3F ** fh2PtVsMassRCExLJDPhi
pT vs mass of RC
TH2F * fh2CentVsMassPerpConeTJ
cent vs mass of RC perpendicular to leading jet
TH2F * fh2MultVsMassRC
cent vs mass of RC perpendicular to tagged jets
Double_t fVertex[3]
!event vertex
TH2F * fh2MultVsMedianMassRC
cent vs meidan mass mass of all RC in event excluding area around leading jet
void SetMakeGeneralHistograms(Bool_t g)
AliEmcalJet * GetAcceptJet(Int_t i) const
TProfile ** fpPtVsMassPerpConeLJ
pT vs Avg mass of RC excluding area around leading jet
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
TH2F * fh2CentVsMassRCExLJ
cent vs mass of RC
void UserCreateOutputObjects()
Main initialization function on the worker.
virtual ~AliAnalysisTaskEmcalJetMassBkg()
TH2F ** fh2EtaVsMassPerpConeLJ
eta vs mass of RC excluding area around leading jet
TH2F * fh2MultVsMeanMassRCExLJ
cent vs median mass of all RC in event
Int_t GetNAcceptedParticles() const
TH2F ** fh2EtaVsMassRCExLJ
eta vs mass of RC
Container structure for EMCAL clusters.
void UserCreateOutputObjects()
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
AliVCluster * GetNextAcceptCluster()
TProfile ** fpPtVsMassRCExLJ
pT vs Avg mass of RC
AliParticleContainer * fTracksCont
Jets.
Bool_t FillHistograms()
Function filling histograms.
Container for jet within the EMCAL jet framework.
TH2F ** fh2PtVsEPerpConeTJ
E vs mass of cone perpendicular to leading jet.