1818// / profile and/or jet momentum fraction for charmed hadrons
1919
2020#include " PWGJE/Core/JetDerivedDataUtilities.h"
21- #include " PWGJE/Core/JetUtilities.h"
2221#include " PWGJE/Core/JetHFUtilities.h"
22+ #include " PWGJE/Core/JetUtilities.h"
2323#include " PWGJE/DataModel/Jet.h"
2424#include " PWGJE/DataModel/JetReducedData.h"
2525//
@@ -237,8 +237,8 @@ struct HfFragmentationFunction {
237237 PROCESS_SWITCH (HfFragmentationFunction, processDummy, " Dummy process function turned on by default" , true );
238238
239239 template <typename TJets, typename TCandidates>
240- void analyzeData (aod::JetCollision const & collision,
241- TJets const & jets,
240+ void analyzeData (aod::JetCollision const & collision,
241+ TJets const & jets,
242242 TCandidates const &,
243243 aod::JetTracks const &)
244244 {
@@ -290,17 +290,19 @@ struct HfFragmentationFunction {
290290 } // end of analyzeData function
291291
292292 void processD0DataCharged (aod::JetCollision const & collision,
293- soa::Join<aod::D0ChargedJets, aod::D0ChargedJetConstituents> const & jets,
294- aod::CandidatesD0Data const & candidates,
295- aod::JetTracks const & jettracks) {
293+ soa::Join<aod::D0ChargedJets, aod::D0ChargedJetConstituents> const & jets,
294+ aod::CandidatesD0Data const & candidates,
295+ aod::JetTracks const & jettracks)
296+ {
296297 analyzeData<soa::Join<aod::D0ChargedJets, aod::D0ChargedJetConstituents>, aod::CandidatesD0Data>(collision, jets, candidates, jettracks);
297298 }
298299 PROCESS_SWITCH (HfFragmentationFunction, processD0DataCharged, " Store kinematic charged D0 jet information from measured DATA" , false );
299300
300301 void processLcDataCharged (aod::JetCollision const & collision,
301- soa::Join<aod::LcChargedJets, aod::LcChargedJetConstituents> const & jets,
302- aod::CandidatesLcData const & candidates,
303- aod::JetTracks const & jettracks) {
302+ soa::Join<aod::LcChargedJets, aod::LcChargedJetConstituents> const & jets,
303+ aod::CandidatesLcData const & candidates,
304+ aod::JetTracks const & jettracks)
305+ {
304306 analyzeData<soa::Join<aod::LcChargedJets, aod::LcChargedJetConstituents>, aod::CandidatesLcData>(collision, jets, candidates, jettracks);
305307 }
306308 PROCESS_SWITCH (HfFragmentationFunction, processLcDataCharged, " Store kinematic charged Lc jet information from measured DATA" , false );
@@ -404,7 +406,8 @@ struct HfFragmentationFunction {
404406 TCandidatesMCD const &,
405407 TCandidatesMCP const &,
406408 aod::JetTracks const &,
407- aod::JetParticles const &) {
409+ aod::JetParticles const &)
410+ {
408411 for (const auto & mccollision : mccollisions) {
409412 registry.fill (HIST (" h_collision_counter" ), 0.0 );
410413 // skip collisions outside of |z| < vertexZCut
@@ -424,13 +427,13 @@ struct HfFragmentationFunction {
424427
425428 if (mcpjet.has_matchedJetCand ()) {
426429 registry.fill (HIST (" h_jet_counter" ), 1.0 );
427-
430+
428431 // loop over detector level matched to current particle level
429432 for (const auto & mcdjet : mcpjet.template matchedJetCand_as <TJetsMCD>()) {
430433 registry.fill (HIST (" h_jet_counter" ), 2.0 );
431434
432435 // apply collision sel8 selection on detector level jet's collision
433- // const auto& collision = mcdjet.get<aod::JetCollisionsMCD>();
436+ // const auto& collision = mcdjet.get<aod::JetCollisionsMCD>();
434437 const auto & collision = collisions.iteratorAt (mcdjet.collisionId ());
435438 registry.fill (HIST (" h_collision_counter" ), 2.0 );
436439 if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut)) {
@@ -462,52 +465,53 @@ struct HfFragmentationFunction {
462465 } else if (mcdcand.candidateSelFlag () & BIT (1 )) { // CandidateSelFlag == BIT(1) -> selected as HFbar
463466 selectedAs = -1 ;
464467 }
465-
468+
466469 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
467- matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
468- mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
469- jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size (), // detector level jet
470- mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
471- mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
472- matchedFrom, selectedAs); // HF = +1, HFbar = -1, neither = 0
470+ matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
471+ mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
472+ jetutilities::deltaR (mcdjet, mcdcand), mcdjet.pt (), mcdjet.eta (), mcdjet.phi (), mcdjet.template tracks_as <aod::JetTracks>().size (), // detector level jet
473+ mcdcand.pt (), mcdcand.eta (), mcdcand.phi (), mcdcand.m (), mcdcand.y (), (mcdcand.originMcRec () == RecoDecay::OriginType::Prompt), // detector level HF
474+ mcdcand.mlScores ()[0 ], mcdcand.mlScores ()[1 ], mcdcand.mlScores ()[2 ], // Machine Learning PID scores: background, prompt, non-prompt
475+ matchedFrom, selectedAs); // HF = +1, HFbar = -1, neither = 0
473476 }
474477 } else {
475478 // store matched particle and detector level data in one single table (calculate angular distance in eta-phi plane on the fly)
476- matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
477- mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
478- -2 , -2 , -2 , -2 , -2 , // detector level jet
479- -2 , -2 , -2 , -2 , -2 , -2 , // detector level HF
480- -2 , -2 , -2 , // Machine Learning PID scores: background, prompt, non-prompt
481- -2 , -2 ); // HF = +1, HFbar = -1, neither = 0
479+ matchJetTable (jetutilities::deltaR (mcpjet, mcpcand), mcpjet.pt (), mcpjet.eta (), mcpjet.phi (), mcpjet.template tracks_as <aod::JetParticles>().size (), // particle level jet
480+ mcpcand.pt (), mcpcand.eta (), mcpcand.phi (), mcpcand.y (), (mcpcand.originMcGen () == RecoDecay::OriginType::Prompt), // particle level HF
481+ -2 , -2 , -2 , -2 , -2 , // detector level jet
482+ -2 , -2 , -2 , -2 , -2 , -2 , // detector level HF
483+ -2 , -2 , -2 , // Machine Learning PID scores: background, prompt, non-prompt
484+ -2 , -2 ); // HF = +1, HFbar = -1, neither = 0
482485 }
483486 } // end of mcpjets loop
484487 } // end of mccollisions loop
485488 } // end of analyzeMC function
486489
487490 void processD0MC (aod::JetMcCollisions const & mccollisions,
488- aod::JetCollisionsMCD const & collisions,
489- JetD0MCDTable const & mcdjets,
490- JetD0MCPTable const & mcpjets,
491- aod::CandidatesD0MCD const & mcdcands,
492- aod::CandidatesD0MCP const & mcpcands,
493- aod::JetTracks const & jettracks,
494- aod::JetParticles const & jetparticles) {
491+ aod::JetCollisionsMCD const & collisions,
492+ JetD0MCDTable const & mcdjets,
493+ JetD0MCPTable const & mcpjets,
494+ aod::CandidatesD0MCD const & mcdcands,
495+ aod::CandidatesD0MCP const & mcpcands,
496+ aod::JetTracks const & jettracks,
497+ aod::JetParticles const & jetparticles)
498+ {
495499 analyzeMC<Preslice<JetD0MCPTable>, JetD0MCDTable, JetD0MCPTable, aod::CandidatesD0MCD, aod::CandidatesD0MCP>(d0MCPJetsPerMCCollisionPreslice, mccollisions, collisions, mcdjets, mcpjets, mcdcands, mcpcands, jettracks, jetparticles);
496500 }
497501 PROCESS_SWITCH (HfFragmentationFunction, processD0MC, " Store all simulated D0 jets information with matched candidate (if any found)" , false );
498502
499503 void processLcMC (aod::JetMcCollisions const & mccollisions,
500- aod::JetCollisionsMCD const & collisions,
501- JetLcMCDTable const & mcdjets,
502- JetLcMCPTable const & mcpjets,
503- aod::CandidatesLcMCD const & mcdcands,
504- aod::CandidatesLcMCP const & mcpcands,
505- aod::JetTracks const & jettracks,
506- aod::JetParticles const & jetparticles) {
504+ aod::JetCollisionsMCD const & collisions,
505+ JetLcMCDTable const & mcdjets,
506+ JetLcMCPTable const & mcpjets,
507+ aod::CandidatesLcMCD const & mcdcands,
508+ aod::CandidatesLcMCP const & mcpcands,
509+ aod::JetTracks const & jettracks,
510+ aod::JetParticles const & jetparticles)
511+ {
507512 analyzeMC<Preslice<JetLcMCPTable>, JetLcMCDTable, JetLcMCPTable, aod::CandidatesLcMCD, aod::CandidatesLcMCP>(lcMCPJetsPerMCCollisionPreslice, mccollisions, collisions, mcdjets, mcpjets, mcdcands, mcpcands, jettracks, jetparticles);
508513 }
509514 PROCESS_SWITCH (HfFragmentationFunction, processLcMC, " Store all simulated Lc jets information with matched candidate (if any found)" , false );
510-
511515};
512516
513517WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments