18 #include <TClonesArray.h> 26 #include <TLorentzVector.h> 29 #include "AliMCEvent.h" 30 #include "AliPythia.h" 33 #include "AliCentrality.h" 34 #include "AliVTrack.h" 35 #include "AliVHeader.h" 41 #include "AliAODTrack.h" 42 #include "AliAODMCParticle.h" 43 #include "AliAODPid.h" 45 #include "AliVParticle.h" 66 fEventExtractionPercentage(0),
67 fEventExtractionMinJetPt(0),
68 fEventExtractionMaxJetPt(0),
69 fConstPtFilterBit(1024),
70 fNumberOfCentralityBins(10),
73 fJetParticleArrayName("JetsDPhiBasicParticles"),
74 fTrackParticleArrayName(""),
76 fJetEmbeddingArrayName(""),
77 fJetEmbeddingTrackArrayName(""),
78 fJetEmbeddingMaxDistance(0.3),
79 fJetEmbeddingNumMatchedJets(2),
80 fJetEmbeddingUsePerTrackMCPercentage(kTRUE),
81 fJetEmbeddingUseBgrdForMCPercentage(kFALSE),
82 fJetEmbeddingCreatePtPlotPerCut(kFALSE),
85 fJetVetoArrayName(""),
93 fTrackExtractionPercentagePower(0),
94 fNumRandomConesPerEvent(10),
95 fUseDataConstituents(kTRUE),
96 fUseMCConstituents(kTRUE),
97 fRemoveEventOutliers(kFALSE),
101 fInitialPartonMatchedJet1(0),
102 fInitialPartonMatchedJet2(0),
107 SetMakeGeneralHistograms(kTRUE);
108 fRandom =
new TRandom3(0);
117 fEventExtractionPercentage(0),
118 fEventExtractionMinJetPt(0),
119 fEventExtractionMaxJetPt(0),
120 fConstPtFilterBit(1024),
121 fNumberOfCentralityBins(10),
124 fJetParticleArrayName(
"JetsDPhiBasicParticles"),
125 fTrackParticleArrayName(
""),
126 fJetEmbeddingArray(),
127 fJetEmbeddingArrayName(
""),
128 fJetEmbeddingTrackArrayName(
""),
129 fJetEmbeddingMaxDistance(0.3),
130 fJetEmbeddingNumMatchedJets(2),
131 fJetEmbeddingUsePerTrackMCPercentage(kTRUE),
132 fJetEmbeddingUseBgrdForMCPercentage(kFALSE),
133 fJetEmbeddingCreatePtPlotPerCut(kFALSE),
136 fJetVetoArrayName(
""),
144 fTrackExtractionPercentagePower(0),
145 fNumRandomConesPerEvent(10),
146 fUseDataConstituents(kTRUE),
147 fUseMCConstituents(kTRUE),
148 fRemoveEventOutliers(kFALSE),
152 fInitialPartonMatchedJet1(0),
153 fInitialPartonMatchedJet2(0),
187 AddHistogram2D<TH2D>(
"hTrackPt",
"Tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
188 AddHistogram2D<TH2D>(
"hTrackPhi",
"Track angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
189 AddHistogram2D<TH2D>(
"hTrackEta",
"Track angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
190 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");
192 AddHistogram2D<TH2D>(
"hLeadingTrackPt",
"Leading tracks p_{T} distribution",
"", 300, 0., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
193 AddHistogram2D<TH2D>(
"hLeadingTrackPhi",
"Leading tracks angular distribution in #phi",
"LEGO2", 180, 0., 2*TMath::Pi(),
fNumberOfCentralityBins, 0, 100,
"#phi",
"Centrality",
"dN^{Tracks}/(d#phi)");
194 AddHistogram2D<TH2D>(
"hLeadingTrackEta",
"Leading tracks angular distribution in #eta",
"LEGO2", 100, -2.5, 2.5,
fNumberOfCentralityBins, 0, 100,
"#eta",
"Centrality",
"dN^{Tracks}/(d#eta)");
195 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");
197 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})");
198 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})");
203 const char* appendix =
"";
207 appendix = Form(
"_%s", currentCut.
fCutName.Data());
210 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hJetPtRaw%s", appendix))) )
214 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}");
215 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}");
216 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");
217 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");
218 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}");
219 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}");
220 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");
221 AddHistogram2D<TH2D>(Form(
"hJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
222 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}");
223 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}");
226 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}");
227 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}");
228 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");
229 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");
230 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}");
231 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}");
232 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");
233 AddHistogram2D<TH2D>(Form(
"hLeadingJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
234 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}");
235 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}");
237 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}");
238 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}");
239 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");
240 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");
241 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}");
242 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}");
243 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");
244 AddHistogram2D<TH2D>(Form(
"hSubleadingJetArea%s", appendix),
"Jet area",
"LEGO2", 200, 0., 2.,
fNumberOfCentralityBins, 0, 100,
"Jet A",
"Centrality",
"dN^{Jets}/dA");
245 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}");
246 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}");
248 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}");
249 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}");
250 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}");
251 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}");
252 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}");
254 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}");
255 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}");
256 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}");
257 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}");
258 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}");
260 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}");
261 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}");
273 const char* appendix =
"";
277 appendix = Form(
"_%s", currentCut.
fCutName.Data());
280 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hEmbeddingDeltaR%s", appendix))) )
283 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");
284 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");
285 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");
286 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}");
287 AddHistogram1D<TH1D>(Form(
"hEmbeddingJetPt%s", appendix),
"Embedded jets p_{T} distribution",
"", 200, -50., 150.,
"p_{T, jet} (GeV/c)",
"dN/dp_{T}");
288 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");
292 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");
293 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");
294 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");
295 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");
299 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");
300 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");
301 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");
302 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");
308 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");
309 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");
310 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");
311 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");
316 AddHistogram2D<TH2D>(
"hRandomConePt",
"Random cone p_{T} distribution",
"", 400, -100., 300.,
fNumberOfCentralityBins, 0, 100,
"p_{T, cone} (GeV/c)",
"Centrality",
"dN^{Tracks}/dp_{T}");
317 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}");
318 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}");
319 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}");
321 AddHistogram2D<TH2D>(
"hTrackCount",
"Number of tracks in acceptance vs. centrality",
"LEGO2", 500, 0., 5000.,
fNumberOfCentralityBins, 0, 100,
"N tracks",
"Centrality",
"dN^{Events}/dN^{Tracks}");
322 AddHistogram2D<TH2D>(
"hJetCount",
"Number of jets in acceptance vs. centrality",
"LEGO2", 100, 0., 100.,
fNumberOfCentralityBins, 0, 100,
"N Jets",
"Centrality",
"dN^{Events}/dN^{Jets}");
323 AddHistogram2D<TH2D>(
"hBackgroundPt",
"Background p_{T} distribution",
"", 150, 0., 150.,
fNumberOfCentralityBins, 0, 100,
"Background p_{T} (GeV/c)",
"Centrality",
"dN^{Events}/dp_{T}");
328 const char* appendix =
"";
332 appendix = Form(
"_%s", currentCut.
fCutName.Data());
335 if( static_cast<TH1*>(
fOutput->FindObject(Form(
"hBackgroundPtJetPt_Cent0_100%s", appendix))) )
338 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}");
339 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}");
340 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}");
341 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}");
358 fJetsOutput.push_back(
new TClonesArray(
"AliPicoTrack"));
363 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetParticleArrayName.Data())));
370 if (fInputEvent->FindListObject(Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())))
371 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())));
376 if (!fInputEvent->FindListObject(Form(
"%s",
fJetEmbeddingCuts.at(i).fOutputName.Data())))
378 fJetsOutput.push_back(
new TClonesArray(
"AliPicoTrack"));
419 AliFatal(Form(
"%s: Object with name %s already in event!", GetName(), Form(
"%s",
fTrackParticleArrayName.Data())));
427 AliFatal(Form(
"Importing jets for embedding failed! Array '%s' not found!",
fJetEmbeddingArrayName.Data()));
430 AliFatal(Form(
"fJetEmbeddingArrayName must be set in jet output mode 4 or 5."));
437 AliFatal(Form(
"Importing jets for veto failed! Array '%s' not found!",
fJetVetoArrayName.Data()));
478 appendix = Form(
"_%s", cutName);
527 Int_t nProcessedTracks = 0;
530 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(i,
fTracksCont->GetArray()));
542 Bool_t filterConditionFulfilled = kFALSE;
543 AliAODTrack* aodTrack =
static_cast<AliAODTrack*
>(constituent);
550 if(filterConditionFulfilled)
555 if(filterConditionFulfilled)
561 if(filterConditionFulfilled)
567 if(filterConditionFulfilled)
573 if(filterConditionFulfilled)
592 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-refJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-refJet->
Phi()));
593 if(jet->
Phi() < refJet->
Phi())
594 deltaPhi = -deltaPhi;
596 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
601 FillHistogram(Form(
"hEmbeddingJetPt%s", appendix.Data()), refJet->
Pt());
602 FillHistogram(Form(
"hEmbeddingJetPhiEta%s", appendix.Data()), refJet->
Phi(), refJet->
Eta());
656 jetsAlreadyInArray++;
674 AliAODTrack* aodtrack =
dynamic_cast<AliAODTrack*
>(track);
679 if(track->Pt() < 20.)
689 TClonesArray* fTruthParticleArray =
dynamic_cast<TClonesArray*
>(InputEvent()->FindListObject(
"mcparticles"));
690 if(fTruthParticleArray)
692 for(
Int_t i=0; i<fTruthParticleArray->GetEntries();i++)
694 AliAODMCParticle* mcParticle =
dynamic_cast<AliAODMCParticle*
>(fTruthParticleArray->At(i));
695 if(!mcParticle)
continue;
697 if (mcParticle->GetLabel() == aodtrack->GetLabel())
699 truthPID = mcParticle->PdgCode();
707 AliBasicParticle basicParticle(aodtrack->Eta(), aodtrack->Phi(), aodtrack->Pt(), aodtrack->Charge());
724 static Int_t numSavedEvents = 0;
728 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");
731 FillHistogram(Form(
"Event%i", numSavedEvents), track->Phi(), track->Eta(), track->Pt());
750 if(TMath::Abs(fInputEvent->GetPrimaryVertexSPD()->GetZ() - fInputEvent->GetPrimaryVertex()->GetZ()) > .5)
752 else if (TMath::Abs(
fCent-fInputEvent->GetCentrality()->GetCentralityPercentile(
"TRK")) > 5.)
796 Int_t trackcount = 0;
837 tmpRandConePt += track->Pt();
838 if (track->Pt() > 3.0)
839 tmpRandConePt3GeV += track->Pt();
860 FillHistogram(
"hLeadingTrackPhiEta", leadTrack->Phi(), leadTrack->Eta());
874 AliError(
"fPythiaInfo object not available. Is it activated with SetGeneratePythiaInfoObject()?");
888 Double_t deltaR1 = TMath::Sqrt(deltaEta1*deltaEta1 + deltaPhi1*deltaPhi1);
889 Double_t deltaR2 = TMath::Sqrt(deltaEta2*deltaEta2 + deltaPhi2*deltaPhi2);
891 if(deltaR1 < bestMatchDeltaR1)
893 bestMatchDeltaR1 = deltaR1;
896 if(deltaR2 < bestMatchDeltaR2)
898 bestMatchDeltaR2 = deltaR2;
903 if(bestMatchDeltaR1 > 0.3)
905 if(bestMatchDeltaR2 > 0.3)
929 probeJet = jetLeading;
931 probeJet = jetSubLeading;
939 if(probeJet->
Pt() < 0.001)
949 Double_t deltaEta = (embeddedJet->Eta()-probeJet->
Eta());
950 Double_t deltaPhi = TMath::Min(TMath::Abs(embeddedJet->Phi()-probeJet->
Phi()),TMath::TwoPi() - TMath::Abs(embeddedJet->Phi()-probeJet->
Phi()));
951 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
958 if(deltaR < bestMatchDeltaR)
960 bestMatchDeltaR = deltaR;
961 matchedJet = embeddedJet;
962 matchedJetReference = probeJet;
966 if(matchedJet && matchedJetReference)
978 Int_t tracksFromMC = 0;
979 Int_t tracksTotal = 0;
987 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(j,
fTracksCont->GetArray()));
992 Bool_t foundInMC = kFALSE;
995 AliVParticle* mcConstituent =
static_cast<AliVParticle*
>(mcJet->
TrackAt(k, mcArray));
998 if(mcConstituent->GetLabel() == constituent->GetLabel())
1008 ptFromMC += constituent->Pt();
1011 ptTotal += constituent->Pt();
1019 AliVParticle* constituent =
static_cast<AliVParticle*
>(jet->
TrackAt(j,
fTracksCont->GetArray()));
1024 if(constituent->GetLabel() > 10000)
1027 ptFromMC += constituent->Pt();
1030 ptTotal += constituent->Pt();
1037 trackRatio = tracksFromMC/((
Double_t)tracksTotal);
1044 ptRatio = ptFromMC/ptTotal;
1067 Double_t deltaPhi = TMath::Min(TMath::Abs(jet->
Phi()-vetoJet->
Phi()),TMath::TwoPi() - TMath::Abs(jet->
Phi()-vetoJet->
Phi()));
1068 Double_t deltaR = TMath::Sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
1072 leadingVetoJetPt = vetoPt;
1073 leadingVetoJet = vetoJet;
1078 return leadingVetoJet;
1099 if (vetoPt > leadingVetoJetPt)
1101 leadingVetoJetPt = vetoPt;
1102 leadingVetoJet = vetoJet;
1106 return leadingVetoJet;
1114 if (track->Phi() > (TMath::TwoPi() - (radius-phi)))
1115 trackPhi = track->Phi() - TMath::TwoPi();
1116 else if (track->Phi() < (phi+radius - TMath::TwoPi()))
1117 trackPhi = track->Phi() + TMath::TwoPi();
1119 trackPhi = track->Phi();
1121 if ( TMath::Abs(trackPhi-phi)*TMath::Abs(trackPhi-phi) + TMath::Abs(track->Eta()-eta)*TMath::Abs(track->Eta()-eta) <= radius*radius)
1155 if (option.Contains(
"rho")) {
1159 jetSubLeading = jetLeading;
1161 tmpSubleadingPt = tmpLeadingPt;
1166 jetSubLeading = jet;
1173 if ( (jet->Pt()) > tmpLeadingPt )
1175 jetSubLeading = jetLeading;
1177 tmpSubleadingPt = tmpLeadingPt;
1178 tmpLeadingPt = jet->
Pt();
1180 else if ( (jet->Pt()) > tmpSubleadingPt )
1182 jetSubLeading = jet;
1183 tmpSubleadingPt = jet->
Pt();
1203 for(
Int_t i=0; i<arr->GetEntries(); i++)
1211 if (option.Contains(
"rho"))
1214 if ( jetPt > tmpLeadingPt )
1216 jetSubLeading = jetLeading;
1218 tmpSubleadingPt = tmpLeadingPt;
1219 tmpLeadingPt = jetPt;
1221 else if ( jetPt > tmpSubleadingPt )
1223 jetSubLeading = jet;
1224 tmpSubleadingPt = jetPt;
1235 TAxis *axis = h->GetAxis(axisNumber);
1236 int bins = axis->GetNbins();
1243 Double_t factor = pow(to/from, 1./bins);
1245 for (
int i = 1; i <= bins; i++) {
1246 newBins[i] = factor * newBins[i-1];
1248 axis->Set(bins, newBins);
1255 std::vector<AliEmcalJet*>::iterator matchedJetFindResult = std::find(
fMatchedJets.begin(),
fMatchedJets.end(), jet);
1258 AliError(
"Checked for a reference jet but it was not found. Check code.");
1273 AliError(Form(
"Cannot find histogram <%s> ",key)) ;
1286 AliError(Form(
"Cannot find histogram <%s> ",key));
1290 if (tmpHist->IsA()->GetBaseClass(
"TH1"))
1291 static_cast<TH1*>(tmpHist)->Fill(x,y);
1292 else if (tmpHist->IsA()->GetBaseClass(
"TH2"))
1293 static_cast<TH2*>(tmpHist)->Fill(x,y);
1302 AliError(Form(
"Cannot find histogram <%s> ",key));
1306 tmpHist->Fill(x,y,add);
1315 AliError(Form(
"Cannot find histogram <%s> ",key));
1320 tmpHist->Fill(x,y,z,add);
1322 tmpHist->Fill(x,y,z);
1329 T* tmpHist =
new T(name, title, xBins, xMin, xMax);
1331 tmpHist->GetXaxis()->SetTitle(xTitle);
1332 tmpHist->GetYaxis()->SetTitle(yTitle);
1333 tmpHist->SetOption(options);
1334 tmpHist->SetMarkerStyle(kFullCircle);
1343 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)
1345 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax);
1346 tmpHist->GetXaxis()->SetTitle(xTitle);
1347 tmpHist->GetYaxis()->SetTitle(yTitle);
1348 tmpHist->GetZaxis()->SetTitle(zTitle);
1349 tmpHist->SetOption(options);
1350 tmpHist->SetMarkerStyle(kFullCircle);
1359 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)
1361 T* tmpHist =
new T(name, title, xBins, xMin, xMax, yBins, yMin, yMax, zBins, zMin, zMax);
1362 tmpHist->GetXaxis()->SetTitle(xTitle);
1363 tmpHist->GetYaxis()->SetTitle(yTitle);
1364 tmpHist->GetZaxis()->SetTitle(zTitle);
1365 tmpHist->SetOption(options);
1366 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
Bool_t fRemoveEventOutliers
Remove outliers.
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.