16 #include <TClonesArray.h>
24 #include <TLorentzVector.h>
26 #include "AliVTrack.h"
33 #include "AliVParticle.h"
67 fExtractionPercentage(0),
70 fNumberOfCentralityBins(10),
74 fJetParticleArrayName("JetsDPhiBasicParticles"),
75 fTrackParticleArrayName(""),
76 fJetMatchingArrayName(""),
79 fMinFakeFactorPercentage(0),
80 fMaxFakeFactorPercentage(0),
81 fEventCriteriumMode(0),
82 fEventCriteriumMinBackground(0),
83 fEventCriteriumMaxBackground(0),
84 fEventCriteriumMinLeadingJetPt(0),
85 fEventCriteriumMinSubleadingJetPt(0),
86 fEventCriteriumMinJetDeltaPhi(0),
93 SetMakeGeneralHistograms(kTRUE);
94 fRandom =
new TRandom3(0);
105 fExtractionPercentage(0),
108 fNumberOfCentralityBins(10),
112 fJetParticleArrayName(
"JetsDPhiBasicParticles"),
113 fTrackParticleArrayName(
""),
114 fJetMatchingArrayName(
""),
117 fMinFakeFactorPercentage(0),
118 fMaxFakeFactorPercentage(0),
119 fEventCriteriumMode(0),
120 fEventCriteriumMinBackground(0),
121 fEventCriteriumMaxBackground(0),
122 fEventCriteriumMinLeadingJetPt(0),
123 fEventCriteriumMinSubleadingJetPt(0),
124 fEventCriteriumMinJetDeltaPhi(0),
162 AddHistogram2D<TH2D>(
"hTrackPt",
"Tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
163 AddHistogram2D<TH2D>(
"hTrackPhi",
"Track angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
164 AddHistogram2D<TH2D>(
"hTrackEta",
"Track angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
165 AddHistogram2D<TH2D>(
"hTrackPhiEta",
"Track angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Tracks}/d#phi d#eta");
167 AddHistogram2D<TH2D>(
"hLeadingTrackPt",
"Leading tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
168 AddHistogram2D<TH2D>(
"hLeadingTrackPhi",
"Leading tracks angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
169 AddHistogram2D<TH2D>(
"hLeadingTrackEta",
"Leading tracks angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
170 AddHistogram2D<TH2D>(
"hLeadingTrackPhiEta",
"Track angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Tracks}/d#phi d#eta");
172 AddHistogram2D<TH2D>(
"hTrackEtaPt",
"Track angular distribution in #eta vs. p_{T}",
"LEGO2", 100, -2.5, 2.5, 300, 0., 300.,
"#eta",
"p_{T} (GeV/c)",
"dN^{Tracks}/(d#eta dp_{T})");
173 AddHistogram2D<TH2D>(
"hTrackPhiPt",
"Track angular distribution in #phi vs. p_{T}",
"LEGO2", 180, 0, 2*TMath::Pi(), 300, 0., 300.,
"#phi",
"p_{T} (GeV/c)",
"dN^{Tracks}/(d#phi dp_{T})");
177 AddHistogram2D<TH2D>(
"hJetPtRaw",
"Jets p_{T} distribution (no bgrd. corr.)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
178 AddHistogram2D<TH2D>(
"hJetPt",
"Jets p_{T} distribution (background subtracted)",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
179 AddHistogram2D<TH2D>(
"hJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
180 AddHistogram2D<TH2D>(
"hJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
181 AddHistogram2D<TH2D>(
"hJetPhiPt",
"Jet angular distribution #phi vs. p_{T}",
"LEGO2", 180, 0., 2*TMath::Pi(), 400, -100., 300.,
"#phi",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#phi dp_{T}");
182 AddHistogram2D<TH2D>(
"hJetEtaPt",
"Jet angular distribution #eta vs. p_{T}",
"LEGO2", 100, -2.5, 2.5, 400, -100., 300.,
"#eta",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#eta dp_{T}");
183 AddHistogram2D<TH2D>(
"hJetPhiEta",
"Jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
184 AddHistogram2D<TH2D>(
"hJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
185 AddHistogram2D<TH2D>(
"hJetAreaPt",
"Jet area vs. p_{T}",
"LEGO2", 200, 0., 2., 400, -100., 300.,
"Jet A",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/dA dp_{T}");
186 AddHistogram2D<TH2D>(
"hJetPtLeadingHadron",
"Jet leading hadron p_{T} distribution vs. jet p_{T}",
"", 300, 0., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T,lead had} (GeV/c)",
"dN^{Jets}/dp_{T}dp_{T,had}");
188 AddHistogram2D<TH2D>(
"hJetConstituentPt_Cent0_100",
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted)",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
189 AddHistogram2D<TH2D>(
"hJetConstituentPt_Cent0_10",
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 0-10 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
191 AddHistogram2D<TH2D>(
"hJetConstituentCount_Cent0_100",
"Jet constituent count vs. jet p_T (background subtracted)",
"", 400, -100., 300., 200, 0., 200.,
"p_{T, jet} (GeV/c)",
"Count",
"dN^{Jets}/dNdp_{T}");
192 AddHistogram2D<TH2D>(
"hJetConstituentCount_Cent0_10",
"Jet constituent count vs. jet p_T (background subtracted), 0-10 centrality",
"", 400, -100., 300., 200, 0., 200.,
"p_{T, jet} (GeV/c)",
"Count",
"dN^{Jets}/dNdp_{T}");
195 AddHistogram2D<TH2D>(
"hRandomConePt",
"Random cone p_{T} distribution",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
196 AddHistogram2D<TH2D>(
"hRandomConeRawPt",
"Random cone p_{T} distribution (no bgrd. correction)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
200 AddHistogram2D<TH2D>(
"hLeadingJetPtRaw",
"Jets p_{T} distribution (no bgrd. corr.)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
201 AddHistogram2D<TH2D>(
"hLeadingJetPt",
"Jets p_{T} distribution (background subtracted)",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
202 AddHistogram2D<TH2D>(
"hLeadingJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
203 AddHistogram2D<TH2D>(
"hLeadingJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
204 AddHistogram2D<TH2D>(
"hLeadingJetPhiPt",
"Jet angular distribution #phi vs. p_{T}",
"LEGO2", 180, 0., 2*TMath::Pi(), 400, -100., 300.,
"#phi",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#phi dp_{T}");
205 AddHistogram2D<TH2D>(
"hLeadingJetEtaPt",
"Jet angular distribution #eta vs. p_{T}",
"LEGO2", 100, -2.5, 2.5, 400, -100., 300.,
"#eta",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#eta dp_{T}");
206 AddHistogram2D<TH2D>(
"hLeadingJetPhiEta",
"Jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
207 AddHistogram2D<TH2D>(
"hLeadingJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
208 AddHistogram2D<TH2D>(
"hLeadingJetAreaPt",
"Jet area vs. p_{T}",
"LEGO2", 200, 0., 2., 400, -100., 300.,
"Jet A",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/dA dp_{T}");
209 AddHistogram2D<TH2D>(
"hLeadingJetPtLeadingHadron",
"Jet leading hadron p_{T} distribution vs. jet p_{T}",
"", 300, 0., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T,lead had} (GeV/c)",
"dN^{Jets}/dp_{T}dp_{T,had}");
211 AddHistogram2D<TH2D>(
"hSubleadingJetPtRaw",
"Jets p_{T} distribution (no bgrd. corr.)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
212 AddHistogram2D<TH2D>(
"hSubleadingJetPt",
"Jets p_{T} distribution (background subtracted)",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
213 AddHistogram2D<TH2D>(
"hSubleadingJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
214 AddHistogram2D<TH2D>(
"hSubleadingJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
215 AddHistogram2D<TH2D>(
"hSubleadingJetPhiPt",
"Jet angular distribution #phi vs. p_{T}",
"LEGO2", 180, 0., 2*TMath::Pi(), 400, -100., 300.,
"#phi",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#phi dp_{T}");
216 AddHistogram2D<TH2D>(
"hSubleadingJetEtaPt",
"Jet angular distribution #eta vs. p_{T}",
"LEGO2", 100, -2.5, 2.5, 400, -100., 300.,
"#eta",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/d#eta dp_{T}");
217 AddHistogram2D<TH2D>(
"hSubleadingJetPhiEta",
"Jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
218 AddHistogram2D<TH2D>(
"hSubleadingJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
219 AddHistogram2D<TH2D>(
"hSubleadingJetAreaPt",
"Jet area vs. p_{T}",
"LEGO2", 200, 0., 2., 400, -100., 300.,
"Jet A",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/dA dp_{T}");
220 AddHistogram2D<TH2D>(
"hSubleadingJetPtLeadingHadron",
"Jet leading hadron p_{T} distribution vs. jet p_{T}",
"", 300, 0., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T,lead had} (GeV/c)",
"dN^{Jets}/dp_{T}dp_{T,had}");
222 AddHistogram2D<TH2D>(
"hTrackCount",
"Number of tracks in acceptance vs. centrality",
"LEGO2", 500, 0., 5000.,
fNumberOfCentralityBins, 0, 100,
"N tracks",
"Centrality",
"dN^{Events}/dN^{Tracks}");
223 AddHistogram2D<TH2D>(
"hJetCount",
"Number of jets in acceptance vs. centrality",
"LEGO2", 100, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"N Jets",
"Centrality",
"dN^{Events}/dN^{Jets}");
224 AddHistogram2D<TH2D>(
"hFakeFactor",
"Fake factor distribution",
"LEGO2", 1000, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"Fake factor",
"Centrality",
"dN^{Jets}/df");
225 AddHistogram2D<TH2D>(
"hFakeFactorJetPt_Cent0_100",
"Fake factor distribution vs. jet p_{T}",
"LEGO2", 1000, 0., 100., 400, -100., 300.,
"Fake factor",
"Jet p_{T} (GeV/c)",
"dN^{Jets}/df");
226 AddHistogram2D<TH2D>(
"hFakeFactorJetPt_Cent0_10",
"Fake factor distribution vs. jet p_{T}",
"LEGO2", 1000, 0., 100., 400, -100., 300.,
"Fake factor",
"Jet p_{T} (GeV/c)",
"dN^{Jets}/df");
228 AddHistogram2D<TH2D>(
"hBackgroundPt",
"Background p_{T} distribution",
"", 150, 0., 150.,
fNumberOfCentralityBins, 0, 100,
"Background p_{T} (GeV/c)",
"Centrality",
"dN^{Events}/dp_{T}");
229 AddHistogram2D<TH2D>(
"hBackgroundPtJetPt_Cent0_100",
"Background p_{T} distribution vs. jet p_{T}",
"", 150, 0., 150., 400, -100., 300.,
"Background p_{T} (GeV/c)",
"Jet p_{T} (GeV/c)",
"dN^{Events}/dp_{T}");
230 AddHistogram2D<TH2D>(
"hBackgroundPtJetPt_Cent0_10",
"Background p_{T} distribution vs. jet p_{T}",
"", 150, 0., 150., 400, -100., 300.,
"Background p_{T} (GeV/c)",
"Jet p_{T} (GeV/c)",
"dN^{Events}/dp_{T}");
231 AddHistogram2D<TH2D>(
"hBackgroundPtConstCount_Cent0_100",
"Background p_{T} distribution vs. const. count",
"", 150, 0., 150., 200, 0., 200.,
"Background p_{T} (GeV/c)",
"Count",
"dN^{Events}/dp_{T}");
232 AddHistogram2D<TH2D>(
"hBackgroundPtConstCount_Cent0_10",
"Background p_{T} distribution vs. const. count",
"", 150, 0., 150., 200, 0., 200.,
"Background p_{T} (GeV/c)",
"Count",
"dN^{Events}/dp_{T}");
251 AliError(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetParticleArrayName.Data())));
263 AliError(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fTrackParticleArrayName.Data())));
271 AliFatal(Form(
"Importing jets for matching failed! Array '%s' not found!",
fJetMatchingArrayName.Data()));
277 fJetsTree =
new TTree(
"ExtractedJets",
"ExtractedJets");
363 Bool_t matchedFound = kFALSE;
367 Double_t bestMatchDeltaR = 999.;
368 for(Int_t i=0; i<
fJetsInput->GetEntries(); i++)
371 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-matchJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-matchJet->
Phi()));
372 Double_t deltaEta = TMath::Abs(jet->
Eta() - matchJet->
Eta());
373 Double_t deltaR = TMath::Sqrt((deltaPhi*deltaPhi) + (deltaEta*deltaEta));
375 if(deltaR < bestMatchDeltaR)
377 bestMatchDeltaR = deltaR;
382 matchedFound = kTRUE;
388 return !matchedFound;
468 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
516 Long64_t eventID = InputEvent()->GetHeader()->GetEventIdAsLong();
521 AliVParticle* particle =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
522 if(!particle)
continue;
523 basicJet.
AddJetConstituent(particle->Eta(), particle->Phi(), particle->Pt(), particle->Charge());
559 Double_t tmpRandConePhi =
fRandom->Rndm()*TMath::TwoPi();
560 Double_t tmpRandConePt = 0;
564 Int_t trackcount = 0;
571 tmpRandConePt += track->Pt();
592 FillHistogram(
"hLeadingTrackPhiEta", leadTrack->Phi(), leadTrack->Eta());
607 Double_t trackPhi = 0.0;
608 if (track->Phi() > (TMath::TwoPi() - (radius-phi)))
609 trackPhi = track->Phi() - TMath::TwoPi();
610 else if (track->Phi() < (phi+radius - TMath::TwoPi()))
611 trackPhi = track->Phi() + TMath::TwoPi();
613 trackPhi = track->Phi();
615 if ( TMath::Abs(trackPhi-phi)*TMath::Abs(trackPhi-phi) + TMath::Abs(track->Eta()-eta)*TMath::Abs(track->Eta()-eta) <= radius*radius)
632 Double_t fakeFactor = 0;
637 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
639 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-constituent->Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-constituent->Phi()));
640 Double_t deltaR = TMath::Sqrt( (jet->
Eta() - constituent->Eta())*(jet->
Eta() - constituent->Eta()) + deltaPhi*deltaPhi );
641 fakeFactor += constituent->Pt() * TMath::Sin(deltaR);
653 AliWarning(
"Set event criterium to 'default' -- no further selection criterium.");
655 AliWarning(
"Set event criterium to 'background' -- select events with certain backgrounds");
657 AliWarning(
"Set event criterium to 'simple jet trigger' -- select events with certain minimum leading jet pT (bgrd corr.)");
659 AliWarning(
"Set event criterium to 'simple dijet trigger' -- select events with certain minimum leading + subleading jet pT (bgrd corr.)");
662 AliFatal(
"Event criterium not valid.");
680 Double_t tmpLeadingPt = 0;
681 Double_t tmpSubleadingPt = 0;
683 if (option.Contains(
"rho")) {
687 jetSubLeading = jetLeading;
689 tmpSubleadingPt = tmpLeadingPt;
701 if ( (jet->Pt()) > tmpLeadingPt )
703 jetSubLeading = jetLeading;
705 tmpSubleadingPt = tmpLeadingPt;
706 tmpLeadingPt = jet->
Pt();
708 else if ( (jet->Pt()) > tmpSubleadingPt )
711 tmpSubleadingPt = jet->
Pt();
721 TAxis *axis = h->GetAxis(axisNumber);
722 int bins = axis->GetNbins();
724 Double_t from = axis->GetXmin();
725 Double_t to = axis->GetXmax();
726 Double_t *newBins =
new Double_t[bins + 1];
729 Double_t factor = pow(to/from, 1./bins);
731 for (
int i = 1; i <= bins; i++) {
732 newBins[i] = factor * newBins[i-1];
734 axis->Set(bins, newBins);
741 TH1* tmpHist =
static_cast<TH1*
>(
fOutput->FindObject(key));
744 AliError(Form(
"Cannot find histogram <%s> ",key)) ;
754 TH1* tmpHist =
static_cast<TH1*
>(
fOutput->FindObject(key));
757 AliError(Form(
"Cannot find histogram <%s> ",key));
761 if (tmpHist->IsA()->GetBaseClass(
"TH1"))
762 static_cast<TH1*>(tmpHist)->Fill(x,y);
763 else if (tmpHist->IsA()->GetBaseClass(
"TH2"))
764 static_cast<TH2*>(tmpHist)->Fill(x,y);
770 TH2* tmpHist =
static_cast<TH2*
>(
fOutput->FindObject(key));
773 AliError(Form(
"Cannot find histogram <%s> ",key));
777 tmpHist->Fill(x,y,add);
783 TH3* tmpHist =
static_cast<TH3*
>(
fOutput->FindObject(key));
786 AliError(Form(
"Cannot find histogram <%s> ",key));
791 tmpHist->Fill(x,y,z,add);
793 tmpHist->Fill(x,y,z);
800 T* tmpHist =
new T(name, title, xBins, xMin, xMax);
802 tmpHist->GetXaxis()->SetTitle(xTitle);
803 tmpHist->GetYaxis()->SetTitle(yTitle);
804 tmpHist->SetOption(options);
805 tmpHist->SetMarkerStyle(kFullCircle);
814 template <
class T> T*
AliAnalysisTaskChargedJetsHadronCF::AddHistogram2D(
const char* name,
const char*
title,
const char* options, Int_t xBins, Double_t xMin, Double_t xMax, Int_t yBins, Double_t yMin, Double_t yMax,
const char* xTitle,
const char* yTitle,
const char* zTitle)
816 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax);
817 tmpHist->GetXaxis()->SetTitle(xTitle);
818 tmpHist->GetYaxis()->SetTitle(yTitle);
819 tmpHist->GetZaxis()->SetTitle(zTitle);
820 tmpHist->SetOption(options);
821 tmpHist->SetMarkerStyle(kFullCircle);
830 template <
class T> T*
AliAnalysisTaskChargedJetsHadronCF::AddHistogram3D(
const char* name,
const char*
title,
const char* options, Int_t xBins, Double_t xMin, Double_t xMax, Int_t yBins, Double_t yMin, Double_t yMax, Int_t zBins, Double_t zMin, Double_t zMax,
const char* xTitle,
const char* yTitle,
const char* zTitle)
832 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax, zBins, zMin, zMax);
833 tmpHist->GetXaxis()->SetTitle(xTitle);
834 tmpHist->GetYaxis()->SetTitle(yTitle);
835 tmpHist->GetZaxis()->SetTitle(zTitle);
836 tmpHist->SetOption(options);
837 tmpHist->SetMarkerStyle(kFullCircle);
virtual ~AliAnalysisTaskChargedJetsHadronCF()
Double_t fEventCriteriumMinSubleadingJetPt
Min subleading jet.
Double_t fEventCriteriumMinBackground
Minimum background.
Double_t GetRhoVal() const
void AddJetToTree(AliEmcalJet *jet)
void AddTrackToOutputArray(AliVTrack *track)
Double_t GetJetEtaMin() const
T * AddHistogram1D(const char *name="CustomHistogram", const char *title="NO_TITLE", const char *options="", Int_t xBins=100, Double_t xMin=0.0, Double_t xMax=20.0, const char *xTitle="x axis", const char *yTitle="y axis")
void GetLeadingJets(const char *opt, AliEmcalJet *&jetLeading, AliEmcalJet *&jetSubLeading)
TString fJetMatchingArrayName
Name of array used to match jets.
AliJetContainer * GetJetContainer(Int_t i=0) const
void UserCreateOutputObjects()
void * fJetsTreeBuffer
! buffer for one jet (that will be saved to the tree)
Container with name, TClonesArray and cuts for particles.
Support task for (charged) jet-hadron correlations.
Double_t GetJetEtaMax() const
void BinLogAxis(const THn *h, Int_t axisNumber)
Int_t fJetOutputMode
mode which jets are written to array (0: all accepted, 1: leading, 2: subleading, 3: leading+subleadi...
Int_t fEventCriteriumMode
Mode of event selection.
Simple class containing basic information for a constituent.
AliEmcalJet * fSubleadingJet
! subleading jet (calculated event-by-event)
Simple class containing basic information for a jet.
void FillHistogram3D(const char *key, Double_t x, Double_t y, Double_t z, Double_t add=0)
Double_t GetJetRadius(Int_t i=0) const
UShort_t GetNumberOfTracks() const
Double_t fEventCriteriumMinJetDeltaPhi
Min jet delta phi in dijet criterium.
void SetEventCriteriumSelection(Int_t type)
void CalculateEventProperties()
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliParticleContainer * GetParticleContainer() const
Double_t CalculateFakeFactor(AliEmcalJet *jet)
void FillHistogram(const char *key, Double_t x)
Double_t fEventCriteriumMaxBackground
Maximum background.
AliAnalysisTaskChargedJetsHadronCF()
TString fJetParticleArrayName
Name of fJetsOutput array.
Bool_t IsEventCriteriumFulfilled()
Double_t GetLeadingHadronPt(const AliEmcalJet *jet) const
T * AddHistogram3D(const char *name="CustomHistogram", const char *title="NO_TITLE", const char *options="", Int_t xBins=100, Double_t xMin=0.0, Double_t xMax=20.0, Int_t yBins=100, Double_t yMin=0.0, Double_t yMax=20.0, Int_t zBins=100, Double_t zMin=0.0, Double_t zMax=20.0, const char *xTitle="x axis", const char *yTitle="y axis", const char *zTitle="z axis")
Int_t fNumberOfCentralityBins
Number of centrality bins.
virtual AliVParticle * GetLeadingParticle(const char *opt="")
Double_t fExtractionPercentage
percentage that is recorded
Double_t fCent
!event centrality
void AddJetToOutputArray(AliEmcalJet *jet)
TClonesArray * fJetsOutput
! Array of basic correlation particles attached to the event (jets)
TString fTrackParticleArrayName
Name of fTracksOutput array.
void Terminate(Option_t *option)
TClonesArray * fTracksOutput
! Array of basic correlation particles attached to the event (tracks)
AliEmcalJet * fLeadingJet
! leading jet (calculated event-by-event)
Double_t fExtractionMinPt
minimum pt of recorded jets
AliEmcalJet * GetNextAcceptJet()
TTree * fJetsTree
! Jets that will be saved to a tree (optionally)
Bool_t IsTrackInCone(AliVParticle *track, Double_t eta, Double_t phi, Double_t radius)
void AddJetConstituent(Float_t eta, Float_t phi, Float_t pt, Short_t charge)
void FillHistogramsJetConstituents(AliEmcalJet *jet)
Float_t GetJetRadius() const
AliEmcalList * fOutput
!output list
void FillHistogramsJets(AliEmcalJet *jet)
Short_t TrackAt(Int_t idx) const
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
TRandom3 * fRandom
random number generator
TClonesArray * fJetsInput
! Array of generated jets imported into task (toy model)
TH1 * fHistEventRejection
!book keep reasons for rejecting event
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Double_t fExtractionMaxPt
maximum pt of recorded jets
AliTrackContainer * fTracksCont
! Tracks
void UserCreateOutputObjects()
virtual AliVParticle * GetNextAcceptParticle()
void FillHistogramsTracks(AliVTrack *track)
Double_t fEventCriteriumMinLeadingJetPt
Min leading jet.
Int_t fAcceptedJets
! number accepted jets (calculated event-by-event)
AliJetContainer * fJetsCont
! Jets
T * AddHistogram2D(const char *name="CustomHistogram", const char *title="NO_TITLE", const char *options="", Int_t xBins=100, Double_t xMin=0.0, Double_t xMax=20.0, Int_t yBins=100, Double_t yMin=0.0, Double_t yMax=20.0, const char *xTitle="x axis", const char *yTitle="y axis", const char *zTitle="z axis")
Bool_t IsJetSelected(AliEmcalJet *jet)
Int_t fAcceptedTracks
! number accepted tracks (calculated event-by-event)