@@ -75,7 +75,7 @@ struct JetDsSpecSubs {
7575
7676 using DsDataJets = soa::Join<aod::DsChargedJets, aod::DsChargedJetConstituents>;
7777 using DsMCDJets = soa::Join<aod::DsChargedMCDetectorLevelJets, aod::DsChargedMCDetectorLevelJetConstituents, aod::DsChargedMCDetectorLevelJetsMatchedToDsChargedMCParticleLevelJets>;
78- using DsMCPJets = soa::Join<aod::DsChargedMCParticleLevelJets, aod::DsChargedMCParticleLevelJetConstituents, aod::DsChargedMCDetectorLevelJetsMatchedToDsChargedMCParticleLevelJets >;
78+ using DsMCPJets = soa::Join<aod::DsChargedMCParticleLevelJets, aod::DsChargedMCParticleLevelJetConstituents, aod::DsChargedMCParticleLevelJetsMatchedToDsChargedMCDetectorLevelJets >;
7979
8080 // Slices for access to proper HF MCD jet collision that is associated to MCCollision
8181 PresliceUnsorted<aod::JetCollisionsMCD> collisionsPerMCCollisionPreslice = aod::jmccollisionlb::mcCollisionId;
@@ -94,11 +94,15 @@ struct JetDsSpecSubs {
9494 std::vector<int > eventSelectionBits;
9595 int trackSelection = -1 ;
9696
97- static constexpr float epsilon = 1 .e-6f ;
9897 // Filters
99- // Filter jetCuts = aod::jet::pt > jetPtMin&& aod::jet::r == nround(jetR.node() * 100.0f);
98+ Filter jetCuts = aod::jet::pt > jetPtMin&& aod::jet::r == nround(jetR.node() * 100 .0f );
10099 // Filter collisionFilter = nabs(aod::jcollision::posZ) < vertexZCut;
101100
101+ // Filtered jet tables
102+ using FilteredDsDataJets = soa::Filtered<DsDataJets>;
103+ using FilteredDsMCDJets = soa::Filtered<DsMCDJets>;
104+ using FilteredDsMCPJets = soa::Filtered<DsMCPJets>;
105+
102106 // =============
103107 // Histograms
104108 // =============
@@ -293,7 +297,7 @@ struct JetDsSpecSubs {
293297 // DATA process
294298 // ==============
295299
296- void processDataChargedSubstructure (aod::JetCollision const & collision, soa::Join<aod::DsChargedJets, aod::DsChargedJetConstituents> const & jets,
300+ void processDataChargedSubstructure (aod::JetCollision const & collision, FilteredDsDataJets const & jets,
297301 aod::CandidatesDsData const &, aod::JetTracks const &)
298302 {
299303 registry.fill (HIST (" h_collision_counter_data" ), 2.0 );
@@ -306,10 +310,6 @@ struct JetDsSpecSubs {
306310 registry.fill (HIST (" h_collision_counter_data" ), 3.0 );
307311
308312 for (const auto & jet : jets) {
309- const float jetRadius = jet.r () / 100 .f ;
310- if (std::abs (jetRadius - jetR.value ) > epsilon) {
311- continue ;
312- }
313313 registry.fill (HIST (" h_dsjet_counter_data" ), 0.5 ); // DsChargedJets entries
314314
315315 registry.fill (HIST (" h_jet_pt_data" ), jet.pt ());
@@ -395,8 +395,8 @@ struct JetDsSpecSubs {
395395 MCPJetsPerMCCollissionPreslice const & jetmcppreslice,
396396 aod::JetMcCollisions const & mccollisions,
397397 aod::JetCollisionsMCD const & collisions,
398- DsMCDJets const & mcdjets,
399- DsMCPJets const & mcpjets,
398+ FilteredDsMCDJets const & mcdjets,
399+ FilteredDsMCPJets const & mcpjets,
400400 DsCandidatesMCD const & /* mcdCandidates*/ ,
401401 DsCandidatesMCP const & /* mcpCandidates*/ ,
402402 aod::JetTracks const & tracks)
@@ -430,22 +430,14 @@ struct JetDsSpecSubs {
430430 // Detector-level Ds-tagged jets associated with the current reconstructed collision
431431 const auto dsmcdJetsPerCollision = mcdjets.sliceBy (jetmcdpreslice, collision.globalIndex ());
432432 for (const auto & mcdjet : dsmcdJetsPerCollision) {
433- const float mcdjetRadius = mcdjet.r () / 100 .f ;
434- if (std::abs (mcdjetRadius - jetR.value ) > epsilon) {
435- continue ;
436- }
437433 // Detector-level jet found in a matched collision
438434 registry.fill (HIST (" McEffJet" ), getValFromBin (BinMCJetCntr::DetectorLevelJetInMCCollision));
439435
440436 // Leading Ds candidate associated to the jet
441437 auto mcdDscand = mcdjet.template candidates_first_as <DsCandidatesMCD>();
442438
443439 // Check if it's prompt
444- int origin = 0 ;
445-
446- if (mcdDscand.originMcRec () != RecoDecay::OriginType::Prompt) {
447- origin = 1 ;
448- }
440+ int origin = (mcdDscand.originMcRec () != RecoDecay::OriginType::Prompt) ? 1 : 0 ;
449441
450442 // Check whether a matched particle-level jet exists
451443 if (mcdjet.has_matchedJetCand ()) {
@@ -488,10 +480,6 @@ struct JetDsSpecSubs {
488480 // Particle level
489481 const auto dsmcpJetsPerMCCollision = mcpjets.sliceBy (jetmcppreslice, mccollision.globalIndex ());
490482 for (const auto & mcpjet : dsmcpJetsPerMCCollision) {
491- const float mcpjetRadius = mcpjet.r () / 100 .f ;
492- if (std::abs (mcpjetRadius - jetR.value ) > epsilon) {
493- continue ;
494- }
495483
496484 registry.fill (HIST (" McEffJet" ), getValFromBin (BinMCJetCntr::ParticleLevelJetInMCCollision));
497485
@@ -538,16 +526,16 @@ struct JetDsSpecSubs {
538526
539527 void processMonteCarloEfficiencyDs (aod::JetMcCollisions const & mccollisions,
540528 aod::JetCollisionsMCD const & collisions,
541- DsMCDJets const & mcdjets,
542- DsMCPJets const & mcpjets,
529+ FilteredDsMCDJets const & mcdjets,
530+ FilteredDsMCPJets const & mcpjets,
543531 DsCandidatesMCD const & mcdDscand,
544532 DsCandidatesMCP const & mcpDscand,
545533 aod::JetTracks const & jettracks)
546534 {
547535 analyseMonteCarloEfficiency<Preslice<DsMCDJets>,
548536 Preslice<DsMCPJets>,
549- DsMCDJets ,
550- DsMCPJets ,
537+ FilteredDsMCDJets ,
538+ FilteredDsMCPJets ,
551539 DsCandidatesMCD,
552540 DsCandidatesMCP>(dsMCDJetsPerEXPCollisionPreslice,
553541 dsMCPJetsPerMCCollisionPreslice,
0 commit comments