@@ -278,7 +278,7 @@ struct HfFragmentationFunction {
278278
279279 // filling table
280280 distJetTable (axisDistance,
281- jet.pt (), jet.eta (), jet.phi (), jet.template tracks_as <aod::JetTracks>().size (),
281+ jet.pt (), jet.eta (), jet.phi (), jet.template tracks_as <aod::JetTracks>().size () + jet. template candidates_as <TCandidates>(). size () ,
282282 candidate.pt (), candidate.eta (), candidate.phi (), candidate.m (), candidate.y (), candidate.mlScores ()[0 ], candidate.mlScores ()[1 ], candidate.mlScores ()[2 ]);
283283
284284 break ; // get out of candidates' loop after first HF particle is found in jet
@@ -319,7 +319,7 @@ struct HfFragmentationFunction {
319319
320320 registry.fill (HIST (" h_collision_counter" ), 0.0 );
321321 // skip collisions outside of |z| < vertexZCut
322- if (std::abs (mccollision.posZ ()) > vertexZCut) {
322+ if (! jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !( std::abs (mccollision.posZ ()) < vertexZCut) ) {
323323 continue ;
324324 }
325325 registry.fill (HIST (" h_collision_counter" ), 1.0 );
@@ -366,7 +366,7 @@ struct HfFragmentationFunction {
366366
367367 // store data in MC detector level table
368368 mcddistJetTable (jetutilities::deltaR (mcdjet, mcdd0cand),
369- mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.tracks_as <aod::JetTracks>().size (), // detector level jet
369+ mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.tracks_as <aod::JetTracks>().size () + mcdjet. candidates_as <aod::CandidatesD0MCD>(). size (), // detector level jet
370370 mcdd0cand.pt (), mcdd0cand.eta (), mcdd0cand.phi (), mcdd0cand.m (), mcdd0cand.y (), (mcdd0cand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level D0 candidate
371371 mcdjet.has_matchedJetCand (), mcdd0cand.mlScores ()[0 ], mcdd0cand.mlScores ()[1 ], mcdd0cand.mlScores ()[2 ], // // Machine Learning PID scores: background, prompt, non-prompt
372372 matchedFrom, selectedAs); // D0 = +1, D0bar = -1, neither = 0
@@ -388,8 +388,8 @@ struct HfFragmentationFunction {
388388
389389 // store data in MC detector level table (calculate angular distance in eta-phi plane on the fly)
390390 mcpdistJetTable (jetutilities::deltaR (mcpjet, mcpd0cand),
391- mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.tracks_as <aod::JetParticles>().size (), // particle level jet
392- mcpd0cand.pt (), mcpd0cand.eta (), mcpd0cand.phi (), mcpd0cand.y (), (mcpd0cand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level D0
391+ mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.tracks_as <aod::JetParticles>().size () + mcpjet. candidates_as <aod::CandidatesD0MCP>(). size (), // particle level jet
392+ mcpd0cand.pt (), mcpd0cand.eta (), mcpd0cand.phi (), mcpd0cand.y (), (mcpd0cand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level D0
393393 mcpjet.has_matchedJetCand ());
394394 }
395395 }
@@ -410,7 +410,7 @@ struct HfFragmentationFunction {
410410 for (const auto & mccollision : mccollisions) {
411411 registry.fill (HIST (" h_collision_counter" ), 0.0 );
412412 // skip collisions outside of |z| < vertexZCut
413- if (std::abs (mccollision.posZ ()) > vertexZCut) {
413+ if (! jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !( std::abs (mccollision.posZ ()) < vertexZCut) ) {
414414 continue ;
415415 }
416416 registry.fill (HIST (" h_collision_counter" ), 1.0 );
@@ -465,21 +465,21 @@ struct HfFragmentationFunction {
465465 }
466466
467467 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
468- matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
469- mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
470- jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size (), // detector level jet
471- mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
472- mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
473- matchedFrom, selectedAs); // HF = +1, HFbar = -1, neither = 0
468+ matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size () + mcpjet. template candidates_as <TCandidatesMCP>(). size () , // particle level jet
469+ mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
470+ jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size () + +mcdjet. template candidates_as <TCandidatesMCD>(). size (), // detector level jet
471+ mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
472+ mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
473+ matchedFrom, selectedAs); // HF = +1, HFbar = -1, neither = 0
474474 }
475475 } else {
476476 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
477- matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
478- mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
479- -2 , -2 , -2 , -2 , -2 , // detector level jet
480- -2 , -2 , -2 , -2 , -2 , -2 , // detector level HF
481- -2 , -2 , -2 , // Machine Learning PID scores: background, prompt, non-prompt
482- -2 , -2 ); // HF = +1, HFbar = -1, neither = 0
477+ matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size () + +mcpjet. template candidates_as <TCandidatesMCP>(). size () , // particle level jet
478+ mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
479+ -2 , -2 , -2 , -2 , -2 , // detector level jet
480+ -2 , -2 , -2 , -2 , -2 , -2 , // detector level HF
481+ -2 , -2 , -2 , // Machine Learning PID scores: background, prompt, non-prompt
482+ -2 , -2 ); // HF = +1, HFbar = -1, neither = 0
483483 }
484484 } // end of mcpjets loop
485485 } // end of mccollisions loop
0 commit comments