18 #include <TClonesArray.h> 26 #include <TLorentzVector.h> 29 #include "AliMCEvent.h" 30 #include "AliPythia.h" 33 #include "AliVTrack.h" 34 #include "AliVHeader.h" 40 #include "AliAODTrack.h" 41 #include "AliAODMCParticle.h" 42 #include "AliAODPid.h" 44 #include "AliVParticle.h" 65 fEventExtractionPercentage(0),
66 fEventExtractionMinJetPt(0),
67 fEventExtractionMaxJetPt(0),
68 fConstPtFilterBit(1024),
69 fNumberOfCentralityBins(10),
72 fJetParticleArrayName("JetsDPhiBasicParticles"),
73 fTrackParticleArrayName(""),
75 fJetEmbeddingArrayName(""),
76 fJetEmbeddingTrackArrayName(""),
77 fJetEmbeddingMaxDistance(0.3),
78 fJetEmbeddingNumMatchedJets(2),
79 fJetEmbeddingUsePerTrackMCPercentage(kTRUE),
80 fJetEmbeddingUseBgrdForMCPercentage(kFALSE),
81 fJetEmbeddingCreatePtPlotPerCut(kFALSE),
84 fJetVetoArrayName(""),
92 fTrackExtractionPercentagePower(0),
93 fNumRandomConesPerEvent(10),
94 fUseDataConstituents(kTRUE),
95 fUseMCConstituents(kTRUE),
99 fInitialPartonMatchedJet1(0),
100 fInitialPartonMatchedJet2(0),
105 SetMakeGeneralHistograms(kTRUE);
106 fRandom =
new TRandom3(0);
115 fEventExtractionPercentage(0),
116 fEventExtractionMinJetPt(0),
117 fEventExtractionMaxJetPt(0),
118 fConstPtFilterBit(1024),
119 fNumberOfCentralityBins(10),
122 fJetParticleArrayName(
"JetsDPhiBasicParticles"),
123 fTrackParticleArrayName(
""),
124 fJetEmbeddingArray(),
125 fJetEmbeddingArrayName(
""),
126 fJetEmbeddingTrackArrayName(
""),
127 fJetEmbeddingMaxDistance(0.3),
128 fJetEmbeddingNumMatchedJets(2),
129 fJetEmbeddingUsePerTrackMCPercentage(kTRUE),
130 fJetEmbeddingUseBgrdForMCPercentage(kFALSE),
131 fJetEmbeddingCreatePtPlotPerCut(kFALSE),
134 fJetVetoArrayName(
""),
142 fTrackExtractionPercentagePower(0),
143 fNumRandomConesPerEvent(10),
144 fUseDataConstituents(kTRUE),
145 fUseMCConstituents(kTRUE),
149 fInitialPartonMatchedJet1(0),
150 fInitialPartonMatchedJet2(0),
184 AddHistogram2D<TH2D>(
"hTrackPt",
"Tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
185 AddHistogram2D<TH2D>(
"hTrackPhi",
"Track angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
186 AddHistogram2D<TH2D>(
"hTrackEta",
"Track angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
187 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");
189 AddHistogram2D<TH2D>(
"hLeadingTrackPt",
"Leading tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
190 AddHistogram2D<TH2D>(
"hLeadingTrackPhi",
"Leading tracks angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
191 AddHistogram2D<TH2D>(
"hLeadingTrackEta",
"Leading tracks angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
192 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");
194 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})");
195 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})");
200 const char* appendix =
"";
204 appendix = Form(
"_%s", currentCut.
fCutName.Data());
207 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hJetPtRaw%s", appendix))) )
211 AddHistogram2D<TH2D>(Form(
"hJetPtRaw%s", appendix),
"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>(Form(
"hJetPt%s", appendix),
"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>(Form(
"hJetPhi%s", appendix),
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
214 AddHistogram2D<TH2D>(Form(
"hJetEta%s", appendix),
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
215 AddHistogram2D<TH2D>(Form(
"hJetPhiPt%s", appendix),
"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>(Form(
"hJetEtaPt%s", appendix),
"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>(Form(
"hJetPhiEta%s", appendix),
"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>(Form(
"hJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
219 AddHistogram2D<TH2D>(Form(
"hJetAreaPt%s", appendix),
"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>(Form(
"hJetPtLeadingHadron%s", appendix),
"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}");
223 AddHistogram2D<TH2D>(Form(
"hLeadingJetPtRaw%s", appendix),
"Jets p_{T} distribution (no bgrd. corr.)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
224 AddHistogram2D<TH2D>(Form(
"hLeadingJetPt%s", appendix),
"Jets p_{T} distribution (background subtracted)",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
225 AddHistogram2D<TH2D>(Form(
"hLeadingJetPhi%s", appendix),
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
226 AddHistogram2D<TH2D>(Form(
"hLeadingJetEta%s", appendix),
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
227 AddHistogram2D<TH2D>(Form(
"hLeadingJetPhiPt%s", appendix),
"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}");
228 AddHistogram2D<TH2D>(Form(
"hLeadingJetEtaPt%s", appendix),
"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}");
229 AddHistogram2D<TH2D>(Form(
"hLeadingJetPhiEta%s", appendix),
"Jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
230 AddHistogram2D<TH2D>(Form(
"hLeadingJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
231 AddHistogram2D<TH2D>(Form(
"hLeadingJetAreaPt%s", appendix),
"Jet area vs. p_{T}",
"LEGO2", 200, 0., 2., 400, -100., 300.,
"Jet A",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/dA dp_{T}");
232 AddHistogram2D<TH2D>(Form(
"hLeadingJetPtLeadingHadron%s", appendix),
"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}");
234 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPtRaw%s", appendix),
"Jets p_{T} distribution (no bgrd. corr.)",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
235 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPt%s", appendix),
"Jets p_{T} distribution (background subtracted)",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, jet} (GeV/c)",
"Centrality",
"dN^{Jets}/dp_{T}");
236 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPhi%s", appendix),
"Jet angular distribution #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Jets}/d#phi");
237 AddHistogram2D<TH2D>(Form(
"hSubleadingJetEta%s", appendix),
"Jet angular distribution #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Jets}/d#eta");
238 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPhiPt%s", appendix),
"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}");
239 AddHistogram2D<TH2D>(Form(
"hSubleadingJetEtaPt%s", appendix),
"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}");
240 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPhiEta%s", appendix),
"Jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
241 AddHistogram2D<TH2D>(Form(
"hSubleadingJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
242 AddHistogram2D<TH2D>(Form(
"hSubleadingJetAreaPt%s", appendix),
"Jet area vs. p_{T}",
"LEGO2", 200, 0., 2., 400, -100., 300.,
"Jet A",
"p_{T, jet} (GeV/c)",
"dN^{Jets}/dA dp_{T}");
243 AddHistogram2D<TH2D>(Form(
"hSubleadingJetPtLeadingHadron%s", appendix),
"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}");
245 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent0_100%s", appendix),
"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}");
246 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent0_10%s", appendix),
"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}");
247 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent10_30%s", appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 10-30 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
248 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent30_50%s", appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 30-50 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
249 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent50_90%s", appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 50-90 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
251 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent0_100_FilterBit%i%s",
fConstPtFilterBit, appendix),
"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}");
252 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent0_10_FilterBit%i%s",
fConstPtFilterBit, appendix),
"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}");
253 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent10_30_FilterBit%i%s",
fConstPtFilterBit, appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 10-30 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
254 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent30_50_FilterBit%i%s",
fConstPtFilterBit, appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 30-50 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
255 AddHistogram2D<TH2D>(Form(
"hJetConstituentPt_Cent50_90_FilterBit%i%s",
fConstPtFilterBit, appendix),
"Jet constituent p_{T} distribution vs. jet p_T (background subtracted), 50-90 centrality",
"", 400, -100., 300., 300, 0., 300.,
"p_{T, jet} (GeV/c)",
"p_{T, track} (GeV/c)",
"dN^{Tracks}/d^{2}p_{T}");
257 AddHistogram2D<TH2D>(Form(
"hJetConstituentCount_Cent0_100%s", appendix),
"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}");
258 AddHistogram2D<TH2D>(Form(
"hJetConstituentCount_Cent0_10%s", appendix),
"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}");
270 const char* appendix =
"";
274 appendix = Form(
"_%s", currentCut.
fCutName.Data());
277 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hEmbeddingDeltaR%s", appendix))) )
280 AddHistogram2D<TH2D>(Form(
"hEmbeddingDeltaR%s", appendix),
"Matched jet #Delta R distribution",
"", 200, -50., 150., 100, 0, 1.0,
"p_{T, jet} (GeV/c)",
"#Delta R",
"dN^{Matched}/dp_{T}dR");
281 AddHistogram2D<TH2D>(Form(
"hEmbeddingDeltaEta%s", appendix),
"Matched jet #Delta #eta distribution",
"", 200, -50., 150., 100, -1.0, 1.0,
"p_{T, jet} (GeV/c)",
"#Delta #eta",
"dN^{Matched}/dp_{T}d#eta");
282 AddHistogram2D<TH2D>(Form(
"hEmbeddingDeltaPhi%s", appendix),
"Matched jet #Delta #phi distribution",
"", 200, -50., 150., 100, -1.0, 1.0,
"p_{T, jet} (GeV/c)",
"#Delta #phi",
"dN^{Matched}/dp_{T}d#phi");
283 AddHistogram2D<TH2D>(Form(
"hEmbeddingDeltaPt%s", appendix),
"Matched jet #Delta p_{T} distribution",
"", 200, -50., 150., 300, -150.0, 150.0,
"p_{T, jet} (GeV/c)",
"#Delta p_{T}",
"dN^{Matched}/dp_{T}dp_{T}");
284 AddHistogram1D<TH1D>(Form(
"hEmbeddingJetPt%s", appendix),
"Embedded jets p_{T} distribution",
"", 200, -50., 150.,
"p_{T, jet} (GeV/c)",
"dN/dp_{T}");
285 AddHistogram2D<TH2D>(Form(
"hEmbeddingJetPhiEta%s", appendix),
"Embedded jet angular distribution #phi/#eta",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Jets}/d#phi d#eta");
289 AddHistogram3D<TH3D>(Form(
"hEmbeddingPtCorr010%s", appendix),
"Matched jet p_{T} distributions (0-10% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
290 AddHistogram3D<TH3D>(Form(
"hEmbeddingPtCorr1030%s", appendix),
"Matched jet p_{T} distributions (10-30% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
291 AddHistogram3D<TH3D>(Form(
"hEmbeddingPtCorr3050%s", appendix),
"Matched jet p_{T} distributions (30-50% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
292 AddHistogram3D<TH3D>(Form(
"hEmbeddingPtCorr5090%s", appendix),
"Matched jet p_{T} distributions (50-90% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
296 AddHistogram2D<TH2D>(Form(
"hEmbeddingPtCorr010_Above20%s", appendix),
"Matched jet p_{T} distributions, MC ratio > 20% (0-10% centrality)",
"", 150, 0., 150., 150, 0., 150.,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
297 AddHistogram2D<TH2D>(Form(
"hEmbeddingPtCorr1030_Above20%s", appendix),
"Matched jet p_{T} distributions, MC ratio > 20% (10-30% centrality)",
"", 150, 0., 150., 150, 0., 150.,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
298 AddHistogram2D<TH2D>(Form(
"hEmbeddingPtCorr3050_Above20%s", appendix),
"Matched jet p_{T} distributions, MC ratio > 20% (30-50% centrality)",
"", 150, 0., 150., 150, 0., 150.,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
299 AddHistogram2D<TH2D>(Form(
"hEmbeddingPtCorr5090_Above20%s", appendix),
"Matched jet p_{T} distributions, MC ratio > 20% (50-90% centrality)",
"", 150, 0., 150., 150, 0., 150.,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
305 AddHistogram3D<TH3D>(
"hEmbeddingPtCorr010",
"Matched jet p_{T} distributions (0-10% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
306 AddHistogram3D<TH3D>(
"hEmbeddingPtCorr1030",
"Matched jet p_{T} distributions (10-30% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
307 AddHistogram3D<TH3D>(
"hEmbeddingPtCorr3050",
"Matched jet p_{T} distributions (30-50% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
308 AddHistogram3D<TH3D>(
"hEmbeddingPtCorr5090",
"Matched jet p_{T} distributions (50-90% centrality)",
"", 150, 0., 150., 150, 0., 150., 100, 0., maxRatio,
"p_{T, MC jet} (GeV/c)",
"p_{T, emb} (GeV/c)",
"% MC");
313 AddHistogram2D<TH2D>(
"hRandomConePt",
"Random cone p_{T} distribution",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
314 AddHistogram2D<TH2D>(
"hRandomConePtCut3GeV",
"Random cone p_{T} distribution, cut p_{T} > 3 GeV/c",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
315 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}");
316 AddHistogram2D<TH2D>(
"hRandomConeRawPtCut3GeV",
"Random cone p_{T} distribution (no bgrd. correction), cut p_{T} > 3 GeV/c",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
318 AddHistogram2D<TH2D>(
"hTrackCount",
"Number of tracks in acceptance vs. centrality",
"LEGO2", 500, 0., 5000.,
fNumberOfCentralityBins, 0, 100,
"N tracks",
"Centrality",
"dN^{Events}/dN^{Tracks}");
319 AddHistogram2D<TH2D>(
"hJetCount",
"Number of jets in acceptance vs. centrality",
"LEGO2", 100, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"N Jets",
"Centrality",
"dN^{Events}/dN^{Jets}");
320 AddHistogram2D<TH2D>(
"hBackgroundPt",
"Background p_{T} distribution",
"", 150, 0., 150.,
fNumberOfCentralityBins, 0, 100,
"Background p_{T} (GeV/c)",
"Centrality",
"dN^{Events}/dp_{T}");
325 const char* appendix =
"";
329 appendix = Form(
"_%s", currentCut.
fCutName.Data());
332 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hBackgroundPtJetPt_Cent0_100%s", appendix))) )
335 AddHistogram2D<TH2D>(Form(
"hBackgroundPtJetPt_Cent0_100%s", appendix),
"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}");
336 AddHistogram2D<TH2D>(Form(
"hBackgroundPtJetPt_Cent0_10%s", appendix),
"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}");
337 AddHistogram2D<TH2D>(Form(
"hBackgroundPtConstCount_Cent0_100%s", appendix),
"Background p_{T} distribution vs. const. count",
"", 150, 0., 150., 200, 0., 200.,
"Background p_{T} (GeV/c)",
"Count",
"dN^{Events}/dp_{T}");
338 AddHistogram2D<TH2D>(Form(
"hBackgroundPtConstCount_Cent0_10%s", appendix),
"Background p_{T} distribution vs. const. count",
"", 150, 0., 150., 200, 0., 200.,
"Background p_{T} (GeV/c)",
"Count",
"dN^{Events}/dp_{T}");
355 fJetsOutput.push_back(
new TClonesArray(
"AliPicoTrack"));
360 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetParticleArrayName.Data())));
367 if (fInputEvent->FindListObject(Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())))
368 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())));
373 if (!fInputEvent->FindListObject(Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())))
375 fJetsOutput.push_back(
new TClonesArray(
"AliPicoTrack"));
416 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fTrackParticleArrayName.Data())));
424 AliFatal(Form(
"Importing jets for embedding failed! Array '%s' not found!",
fJetEmbeddingArrayName.Data()));
427 AliFatal(Form(
"fJetEmbeddingArrayName must be set in jet output mode 4 or 5."));
434 AliFatal(Form(
"Importing jets for veto failed! Array '%s' not found!",
fJetVetoArrayName.Data()));
475 appendix = Form(
"_%s", cutName);
524 Int_t nProcessedTracks = 0;
527 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
539 Bool_t filterConditionFulfilled = kFALSE;
540 AliAODTrack* aodTrack =
static_cast<AliAODTrack*
>(constituent);
547 if(filterConditionFulfilled)
552 if(filterConditionFulfilled)
558 if(filterConditionFulfilled)
564 if(filterConditionFulfilled)
570 if(filterConditionFulfilled)
589 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-refJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-refJet->
Phi()));
590 if(jet->
Phi() < refJet->
Phi())
591 deltaPhi = -deltaPhi;
593 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
598 FillHistogram(Form(
"hEmbeddingJetPt%s", appendix.Data()), refJet->
Pt());
599 FillHistogram(Form(
"hEmbeddingJetPhiEta%s", appendix.Data()), refJet->
Phi(), refJet->
Eta());
653 jetsAlreadyInArray++;
671 AliAODTrack* aodtrack =
dynamic_cast<AliAODTrack*
>(track);
676 if(track->Pt() < 20.)
686 TClonesArray* fTruthParticleArray =
dynamic_cast<TClonesArray*
>(InputEvent()->FindListObject(
"mcparticles"));
687 if(fTruthParticleArray)
689 for(
Int_t i=0; i<fTruthParticleArray->GetEntries();i++)
691 AliAODMCParticle* mcParticle =
dynamic_cast<AliAODMCParticle*
>(fTruthParticleArray->At(i));
692 if(!mcParticle)
continue;
694 if (mcParticle->GetLabel() == aodtrack->GetLabel())
696 truthPID = mcParticle->PdgCode();
704 AliBasicParticle basicParticle(aodtrack->Eta(), aodtrack->Phi(), aodtrack->Pt(), aodtrack->Charge());
721 static Int_t numSavedEvents = 0;
725 AddHistogram2D<TH2D>(Form(
"Event%i", numSavedEvents),
"Event display",
"COLZ", 180, 0., 2*TMath::Pi(), 100, -2.5, 2.5,
"#phi",
"#eta",
"dN^{Tracks}/d#phi d#eta");
728 FillHistogram(Form(
"Event%i", numSavedEvents), track->Phi(), track->Eta(), track->Pt());
784 Int_t trackcount = 0;
825 tmpRandConePt += track->Pt();
826 if (track->Pt() > 3.0)
827 tmpRandConePt3GeV += track->Pt();
848 FillHistogram(
"hLeadingTrackPhiEta", leadTrack->Phi(), leadTrack->Eta());
862 AliError(
"fPythiaInfo object not available. Is it activated with SetGeneratePythiaInfoObject()?");
876 Double_t deltaR1 = TMath::Sqrt(deltaEta1*deltaEta1 + deltaPhi1*deltaPhi1);
877 Double_t deltaR2 = TMath::Sqrt(deltaEta2*deltaEta2 + deltaPhi2*deltaPhi2);
879 if(deltaR1 < bestMatchDeltaR1)
881 bestMatchDeltaR1 = deltaR1;
884 if(deltaR2 < bestMatchDeltaR2)
886 bestMatchDeltaR2 = deltaR2;
891 if(bestMatchDeltaR1 > 0.3)
893 if(bestMatchDeltaR2 > 0.3)
917 probeJet = jetLeading;
919 probeJet = jetSubLeading;
927 if(probeJet->
Pt() < 0.001)
937 Double_t deltaEta = (embeddedJet->Eta()-probeJet->
Eta());
938 Double_t deltaPhi = TMath::Min(TMath::Abs(embeddedJet->Phi()-probeJet->
Phi()),TMath::TwoPi() - TMath::Abs(embeddedJet->Phi()-probeJet->
Phi()));
939 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
946 if(deltaR < bestMatchDeltaR)
948 bestMatchDeltaR = deltaR;
949 matchedJet = embeddedJet;
950 matchedJetReference = probeJet;
954 if(matchedJet && matchedJetReference)
966 Int_t tracksFromMC = 0;
967 Int_t tracksTotal = 0;
975 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(j,
fTracksCont->GetArray()));
980 Bool_t foundInMC = kFALSE;
983 AliVParticle* mcConstituent =
static_cast<AliVParticle*
>(mcJet->
TrackAt(k, mcArray));
986 if(mcConstituent->GetLabel() == constituent->GetLabel())
996 ptFromMC += constituent->Pt();
999 ptTotal += constituent->Pt();
1007 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(j,
fTracksCont->GetArray()));
1012 if(constituent->GetLabel() > 10000)
1015 ptFromMC += constituent->Pt();
1018 ptTotal += constituent->Pt();
1025 trackRatio = tracksFromMC/((
Double_t)tracksTotal);
1032 ptRatio = ptFromMC/ptTotal;
1055 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-vetoJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-vetoJet->
Phi()));
1056 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
1060 leadingVetoJetPt = vetoPt;
1061 leadingVetoJet = vetoJet;
1066 return leadingVetoJet;
1087 if (vetoPt > leadingVetoJetPt)
1089 leadingVetoJetPt = vetoPt;
1090 leadingVetoJet = vetoJet;
1094 return leadingVetoJet;
1102 if (track->Phi() > (TMath::TwoPi() - (radius-phi)))
1103 trackPhi = track->Phi() - TMath::TwoPi();
1104 else if (track->Phi() < (phi+radius - TMath::TwoPi()))
1105 trackPhi = track->Phi() + TMath::TwoPi();
1107 trackPhi = track->Phi();
1109 if ( TMath::Abs(trackPhi-phi)*TMath::Abs(trackPhi-phi) + TMath::Abs(track->Eta()-eta)*TMath::Abs(track->Eta()-eta) <= radius*radius)
1143 if (option.Contains(
"rho")) {
1147 jetSubLeading = jetLeading;
1149 tmpSubleadingPt = tmpLeadingPt;
1154 jetSubLeading = jet;
1161 if ( (jet->Pt()) > tmpLeadingPt )
1163 jetSubLeading = jetLeading;
1165 tmpSubleadingPt = tmpLeadingPt;
1166 tmpLeadingPt = jet->
Pt();
1168 else if ( (jet->Pt()) > tmpSubleadingPt )
1170 jetSubLeading = jet;
1171 tmpSubleadingPt = jet->
Pt();
1191 for(
Int_t i=0; i<arr->GetEntries(); i++)
1199 if (option.Contains(
"rho"))
1202 if ( jetPt > tmpLeadingPt )
1204 jetSubLeading = jetLeading;
1206 tmpSubleadingPt = tmpLeadingPt;
1207 tmpLeadingPt = jetPt;
1209 else if ( jetPt > tmpSubleadingPt )
1211 jetSubLeading = jet;
1212 tmpSubleadingPt = jetPt;
1223 TAxis *axis = h->GetAxis(axisNumber);
1224 int bins = axis->GetNbins();
1231 Double_t factor = pow(to/from, 1./bins);
1233 for (
int i = 1; i <= bins; i++) {
1234 newBins[i] = factor * newBins[i-1];
1236 axis->Set(bins, newBins);
1243 std::vector<AliEmcalJet*>::iterator matchedJetFindResult = std::find(
fMatchedJets.begin(),
fMatchedJets.end(), jet);
1246 AliError(
"Checked for a reference jet but it was not found. Check code.");
1261 AliError(Form(
"Cannot find histogram <%s> ",key)) ;
1274 AliError(Form(
"Cannot find histogram <%s> ",key));
1278 if (tmpHist->IsA()->GetBaseClass(
"TH1"))
1279 static_cast<TH1*>(tmpHist)->Fill(x,y);
1280 else if (tmpHist->IsA()->GetBaseClass(
"TH2"))
1281 static_cast<TH2*>(tmpHist)->Fill(x,y);
1290 AliError(Form(
"Cannot find histogram <%s> ",key));
1294 tmpHist->Fill(x,y,add);
1303 AliError(Form(
"Cannot find histogram <%s> ",key));
1308 tmpHist->Fill(x,y,z,add);
1310 tmpHist->Fill(x,y,z);
1317 T* tmpHist =
new T(name, title, xBins, xMin, xMax);
1319 tmpHist->GetXaxis()->SetTitle(xTitle);
1320 tmpHist->GetYaxis()->SetTitle(yTitle);
1321 tmpHist->SetOption(options);
1322 tmpHist->SetMarkerStyle(kFullCircle);
1331 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)
1333 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax);
1334 tmpHist->GetXaxis()->SetTitle(xTitle);
1335 tmpHist->GetYaxis()->SetTitle(yTitle);
1336 tmpHist->GetZaxis()->SetTitle(zTitle);
1337 tmpHist->SetOption(options);
1338 tmpHist->SetMarkerStyle(kFullCircle);
1347 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)
1349 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax, zBins, zMin, zMax);
1350 tmpHist->GetXaxis()->SetTitle(xTitle);
1351 tmpHist->GetYaxis()->SetTitle(yTitle);
1352 tmpHist->GetZaxis()->SetTitle(zTitle);
1353 tmpHist->SetOption(options);
1354 tmpHist->SetMarkerStyle(kFullCircle);
Int_t fArrayIndex
array index that holds the output array index
virtual ~AliAnalysisTaskChargedJetsHadronCF()
Double_t fEventExtractionMaxJetPt
maximum jet pt of recorded events
void ExecOnce()
Perform steps needed to initialize the analysis.
Double_t GetRhoVal() const
void AddTrackToOutputArray(AliVTrack *track)
TString fCutName
name of this cut
Bool_t fJetVetoJetByJet
If true, the jet veto will be applied on a jet-by-jet basis.
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)
Float_t GetPartonEta6() const
AliEmcalPythiaInfo * fPythiaInfo
!event parton info
AliJetContainer * GetJetContainer(Int_t i=0) const
Float_t GetPartonEta7() const
std::vector< AliChargedJetsHadronCFCuts > fJetEmbeddingCuts
Cuts used in jet embedding.
void UserCreateOutputObjects()
AliEmcalJet * GetVetoJet(AliEmcalJet *jet)
Container with name, TClonesArray and cuts for particles.
Support task for (charged) jet-hadron correlations.
AliBasicParticle * fTreeBufferTrack
! Tree of extracted jets (buffer)
Double_t GetJetEtaMax() const
Float_t GetPartonPhi7() const
virtual Bool_t AcceptJet(Int_t i, UInt_t &rejectionReason) 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...
Double_t fEventExtractionMinJetPt
minimum jet pt of recorded events
Bool_t fUseMCConstituents
If true, tracks with labels >= 10000 will be processed.
std::vector< AliEmcalJet * > fMatchedJetsReference
Jets matched in an event (reference)
Double_t fEventExtractionPercentage
percentage of events that is recorded
std::vector< TClonesArray * > fJetsOutput
! vector of arrays of basic correlation particles attached to the event (jets)
AliEmcalJet * fSubleadingJet
! subleading jet (calculated event-by-event)
void FillHistogram3D(const char *key, Double_t x, Double_t y, Double_t z, Double_t add=0)
Float_t GetPartonPhi6() const
Int_t TrackAt(Int_t idx) const
Container class of cuts for AliAnalysisTaskChargedJetsHadronCF.
UShort_t GetNumberOfTracks() const
UShort_t T(UShort_t m, UShort_t t)
void AddTrackToTree(AliVTrack *track)
void CalculateEventProperties()
void GetLeadingJetsInArray(TClonesArray *arr, const char *opt, AliEmcalJet *&jetLeading, AliEmcalJet *&jetSubLeading)
TClonesArray * fJetEmbeddingArray
! Array of generated jets imported into task (for embedding)
AliParticleContainer * GetParticleContainer(Int_t i=0) const
Get particle container attached to this task.
void GetTrackMCRatios(AliEmcalJet *jet, AliEmcalJet *mcJet, Double_t &trackRatio, Double_t &ptRatio)
AliParticleContainer * GetParticleContainer() const
void FillHistogram(const char *key, Double_t x)
AliAnalysisTaskChargedJetsHadronCF()
Double_t fTrackExtractionPercentagePower
Extraction percentage for tracks.
Bool_t fJetEmbeddingCreatePtPlotPerCut
create TH3 per cut or only once
AliAODPid * fTreeBufferPID
! Tree of extracted jets (buffer)
TString fJetParticleArrayName
Name of fJetsOutput array (if one uses only one)
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")
TString fJetEmbeddingArrayName
Name of array used to match jets.
Int_t fNumberOfCentralityBins
Number of centrality bins.
Int_t fTreeBufferPDG
! Tree of extracted jets (buffer)
virtual AliVParticle * GetLeadingParticle(const char *opt="")
std::vector< AliEmcalJet * > fMatchedJets
Jets matched in an event (embedded)
TString fJetEmbeddingTrackArrayName
Name of array used to match tracks of jets.
~AliChargedJetsHadronCFCuts()
Bool_t fUseDataConstituents
If true, tracks with labels < 10000 will be processed.
Double_t fCent
!event centrality
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)
AliEmcalJet * GetNextAcceptJet()
void AddJetToOutputArray(AliEmcalJet *jet, Int_t arrayIndex, Int_t &jetsAlreadyInArray)
Bool_t IsTrackInCone(AliVParticle *track, Double_t eta, Double_t phi, Double_t radius)
Bool_t fJetEmbeddingUsePerTrackMCPercentage
When cutting on MC percentage, calculate it per track and not for all MC tracks.
Int_t fAcceptedJets
temporary var that holds how many jets passed
TString fJetVetoArrayName
Name of array used for veto jets.
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.
Float_t GetJetRadius() const
AliEmcalList * fOutput
!output list
Int_t fJetEmbeddingNumMatchedJets
Number of matched leading jets that will be used.
AliEmcalJet * fInitialPartonMatchedJet1
! On PYTHIA data and fJetOutputMode=6, this holds the PDG code of the initial collisions that was mat...
AliEmcalJet * fInitialPartonMatchedJet2
! On PYTHIA data and fJetOutputMode=6, this holds the PDG code of the initial collisions that was mat...
AliEmcalJet * GetReferenceJet(AliEmcalJet *jet)
TRandom3 * fRandom
random number generator
TH1 * fHistEventRejection
!book keep reasons for rejecting event
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Bool_t IsCutFulfilled(Double_t pt, Double_t mcPt, Double_t cent, Double_t ptRatio, Double_t vetoPt)
Represent a jet reconstructed using the EMCal jet framework.
Bool_t fJetEmbeddingUseBgrdForMCPercentage
When cutting on MC percentage, use bgrd. corr to calculate MC percentage.
Declaration of class AliEmcalPythiaInfo.
AliTrackContainer * fTracksCont
! Tracks
void UserCreateOutputObjects()
Main initialization function on the worker.
virtual AliVParticle * GetNextAcceptParticle()
Double_t fJetEmbeddingMaxDistance
Max distance allowed to accept an embedded jet.
void FillHistogramsJets(AliEmcalJet *jet, const char *cutName)
void GetInitialCollisionJets()
void FillHistogramsTracks(AliVTrack *track)
AliEmcalJet * GetLeadingVetoJet()
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")
TTree * fTracksTree
! Tree of extracted jets
TClonesArray * fJetVetoArray
! Array of jets imported into task used for veto a matching/embedding
Bool_t IsJetSelected(AliEmcalJet *jet)
Int_t fAcceptedTracks
! number accepted tracks (calculated event-by-event)
Int_t fNumRandomConesPerEvent
Number of random cones thrown in one event.
Int_t fConstPtFilterBit
For const pt plot, filter bit.