16 #include <TClonesArray.h>
24 #include <TLorentzVector.h>
26 #include "AliVTrack.h"
33 #include "AliVParticle.h"
67 fExtractionPercentage(0),
69 fNumberOfCentralityBins(10),
73 fJetParticleArrayName("JetsDPhiBasicParticles"),
74 fTrackParticleArrayName(""),
75 fJetMatchingArrayName(""),
77 fRejectionFunction(0),
79 fMinFakeFactorPercentage(0),
80 fMaxFakeFactorPercentage(0),
81 fEventCriteriumMode(0),
82 fEventCriteriumMinBackground(0),
83 fEventCriteriumMaxBackground(0),
84 fEventCriteriumMinLeadingJetPt(0),
85 fEventCriteriumMinSubleadingJetPt(0),
92 SetMakeGeneralHistograms(kTRUE);
93 fRandom =
new TRandom3(0);
104 fExtractionPercentage(0),
106 fNumberOfCentralityBins(10),
110 fJetParticleArrayName(
"JetsDPhiBasicParticles"),
111 fTrackParticleArrayName(
""),
112 fJetMatchingArrayName(
""),
114 fRejectionFunction(0),
116 fMinFakeFactorPercentage(0),
117 fMaxFakeFactorPercentage(0),
118 fEventCriteriumMode(0),
119 fEventCriteriumMinBackground(0),
120 fEventCriteriumMaxBackground(0),
121 fEventCriteriumMinLeadingJetPt(0),
122 fEventCriteriumMinSubleadingJetPt(0),
160 AddHistogram2D<TH2D>(
"hTrackPt",
"Tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
161 AddHistogram2D<TH2D>(
"hTrackPhi",
"Track angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
162 AddHistogram2D<TH2D>(
"hTrackEta",
"Track angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
163 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");
165 AddHistogram2D<TH2D>(
"hLeadingTrackPt",
"Leading tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
166 AddHistogram2D<TH2D>(
"hLeadingTrackPhi",
"Leading tracks angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
167 AddHistogram2D<TH2D>(
"hLeadingTrackEta",
"Leading tracks angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
168 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");
170 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})");
171 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})");
175 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}");
176 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}");
177 AddHistogram2D<TH2D>(
"hJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
178 AddHistogram2D<TH2D>(
"hJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
179 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}");
180 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}");
181 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");
182 AddHistogram2D<TH2D>(
"hJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
183 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}");
184 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}");
186 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}");
187 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}");
189 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}");
190 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}");
193 AddHistogram2D<TH2D>(
"hRandomConePt",
"Random cone p_{T} distribution",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
194 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}");
198 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}");
199 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}");
200 AddHistogram2D<TH2D>(
"hLeadingJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
201 AddHistogram2D<TH2D>(
"hLeadingJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
202 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}");
203 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}");
204 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");
205 AddHistogram2D<TH2D>(
"hLeadingJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
206 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}");
207 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}");
209 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}");
210 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}");
211 AddHistogram2D<TH2D>(
"hSubleadingJetPhi",
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
212 AddHistogram2D<TH2D>(
"hSubleadingJetEta",
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
213 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}");
214 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}");
215 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");
216 AddHistogram2D<TH2D>(
"hSubleadingJetArea",
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
217 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}");
218 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}");
220 AddHistogram2D<TH2D>(
"hTrackCount",
"Number of tracks in acceptance vs. centrality",
"LEGO2", 500, 0., 5000.,
fNumberOfCentralityBins, 0, 100,
"N tracks",
"Centrality",
"dN^{Events}/dN^{Tracks}");
221 AddHistogram2D<TH2D>(
"hJetCount",
"Number of jets in acceptance vs. centrality",
"LEGO2", 100, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"N Jets",
"Centrality",
"dN^{Events}/dN^{Jets}");
222 AddHistogram2D<TH2D>(
"hFakeFactor",
"Fake factor distribution",
"LEGO2", 1000, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"Fake factor",
"Centrality",
"dN^{Jets}/df");
223 AddHistogram2D<TH2D>(
"hBackgroundPt",
"Background p_{T} distribution",
"", 150, 0., 150.,
fNumberOfCentralityBins, 0, 100,
"Background p_{T} (GeV/c)",
"Centrality",
"dN^{Events}/dp_{T}");
224 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}");
225 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}");
226 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}");
227 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}");
246 AliError(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetParticleArrayName.Data())));
258 AliError(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fTrackParticleArrayName.Data())));
266 AliFatal(Form(
"Importing jets for matching failed! Array '%s' not found!",
fJetMatchingArrayName.Data()));
272 fJetsTree =
new TTree(
"ExtractedJets",
"ExtractedJets");
351 Bool_t matchedFound = kFALSE;
355 Double_t bestMatchDeltaR = 999.;
356 for(Int_t i=0; i<
fJetsInput->GetEntries(); i++)
359 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-matchJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-matchJet->
Phi()));
360 Double_t deltaEta = TMath::Abs(jet->
Eta() - matchJet->
Eta());
361 Double_t deltaR = TMath::Sqrt((deltaPhi*deltaPhi) + (deltaEta*deltaEta));
363 if(deltaR < bestMatchDeltaR)
365 bestMatchDeltaR = deltaR;
370 matchedFound = kTRUE;
376 return !matchedFound;
448 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
496 Long64_t eventID = InputEvent()->GetHeader()->GetEventIdAsLong();
501 AliVParticle* particle =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
502 if(!particle)
continue;
503 basicJet.
AddJetConstituent(particle->Eta(), particle->Phi(), particle->Pt(), particle->Charge());
539 Double_t tmpRandConePhi =
fRandom->Rndm()*TMath::TwoPi();
540 Double_t tmpRandConePt = 0;
544 Int_t trackcount = 0;
551 tmpRandConePt += track->Pt();
572 FillHistogram(
"hLeadingTrackPhiEta", leadTrack->Phi(), leadTrack->Eta());
587 Double_t trackPhi = 0.0;
588 if (track->Phi() > (TMath::TwoPi() - (radius-phi)))
589 trackPhi = track->Phi() - TMath::TwoPi();
590 else if (track->Phi() < (phi+radius - TMath::TwoPi()))
591 trackPhi = track->Phi() + TMath::TwoPi();
593 trackPhi = track->Phi();
595 if ( TMath::Abs(trackPhi-phi)*TMath::Abs(trackPhi-phi) + TMath::Abs(track->Eta()-eta)*TMath::Abs(track->Eta()-eta) <= radius*radius)
613 Double_t fakeFactor = 0;
618 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
620 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-constituent->Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-constituent->Phi()));
621 Double_t deltaR = TMath::Sqrt( (jet->
Eta() - constituent->Eta())*(jet->
Eta() - constituent->Eta()) + deltaPhi*deltaPhi );
622 fakeFactor += constituent->Pt() * TMath::Sin(deltaR);
634 AliWarning(
"Set event criterium to 'default' -- no further selection criterium.");
636 AliWarning(
"Set event criterium to 'background' -- select events with certain backgrounds");
638 AliWarning(
"Set event criterium to 'simple jet trigger' -- select events with certain minimum leading jet pT (bgrd corr.)");
640 AliWarning(
"Set event criterium to 'simple dijet trigger' -- select events with certain minimum leading + subleading jet pT (bgrd corr.)");
643 AliFatal(
"Event criterium not valid.");
664 if (option.Contains(
"rho")) {
666 if(jet == jetLeading)
678 if(jet == jetLeading)
680 else if ( jet->
Pt() > tmpPt )
688 return jetSubLeading;
695 TAxis *axis = h->GetAxis(axisNumber);
696 int bins = axis->GetNbins();
698 Double_t from = axis->GetXmin();
699 Double_t to = axis->GetXmax();
700 Double_t *newBins =
new Double_t[bins + 1];
703 Double_t factor = pow(to/from, 1./bins);
705 for (
int i = 1; i <= bins; i++) {
706 newBins[i] = factor * newBins[i-1];
708 axis->Set(bins, newBins);
715 TH1* tmpHist =
static_cast<TH1*
>(
fOutput->FindObject(key));
718 AliError(Form(
"Cannot find histogram <%s> ",key)) ;
728 TH1* tmpHist =
static_cast<TH1*
>(
fOutput->FindObject(key));
731 AliError(Form(
"Cannot find histogram <%s> ",key));
735 if (tmpHist->IsA()->GetBaseClass(
"TH1"))
736 static_cast<TH1*>(tmpHist)->Fill(x,y);
737 else if (tmpHist->IsA()->GetBaseClass(
"TH2"))
738 static_cast<TH2*>(tmpHist)->Fill(x,y);
744 TH2* tmpHist =
static_cast<TH2*
>(
fOutput->FindObject(key));
747 AliError(Form(
"Cannot find histogram <%s> ",key));
751 tmpHist->Fill(x,y,add);
757 TH3* tmpHist =
static_cast<TH3*
>(
fOutput->FindObject(key));
760 AliError(Form(
"Cannot find histogram <%s> ",key));
765 tmpHist->Fill(x,y,z,add);
767 tmpHist->Fill(x,y,z);
774 T* tmpHist =
new T(name, title, xBins, xMin, xMax);
776 tmpHist->GetXaxis()->SetTitle(xTitle);
777 tmpHist->GetYaxis()->SetTitle(yTitle);
778 tmpHist->SetOption(options);
779 tmpHist->SetMarkerStyle(kFullCircle);
788 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)
790 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax);
791 tmpHist->GetXaxis()->SetTitle(xTitle);
792 tmpHist->GetYaxis()->SetTitle(yTitle);
793 tmpHist->GetZaxis()->SetTitle(zTitle);
794 tmpHist->SetOption(options);
795 tmpHist->SetMarkerStyle(kFullCircle);
804 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)
806 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax, zBins, zMin, zMax);
807 tmpHist->GetXaxis()->SetTitle(xTitle);
808 tmpHist->GetYaxis()->SetTitle(yTitle);
809 tmpHist->GetZaxis()->SetTitle(zTitle);
810 tmpHist->SetOption(options);
811 tmpHist->SetMarkerStyle(kFullCircle);
virtual ~AliAnalysisTaskChargedJetsHadronCF()
Double_t fEventCriteriumMinSubleadingJetPt
Min subleading jet.
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
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")
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 * GetSubleadingJet(const char *opt)
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
void SetEventCriteriumSelection(Int_t type)
void CalculateEventProperties()
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliParticleContainer * GetParticleContainer() const
AliEmcalJet * GetLeadingJet(const char *opt="")
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
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.
AliTrackContainer * fTracksCont
! Tracks
void UserCreateOutputObjects()
virtual AliVParticle * GetNextAcceptParticle()
void FillHistogramsTracks(AliVTrack *track)
TF1 * fRejectionFunction
Function describing the cut applied to jet const.
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)