diff --git a/Reconstruction/Jet/JetMonitoring/src/JetHistoMatchedFiller.cxx b/Reconstruction/Jet/JetMonitoring/src/JetHistoMatchedFiller.cxx index 1fc6aca6887da5dc738b285cd6ab928f0e20fbfc..b34696f16ed93013cda364be839d2ad4abbf3bbc 100644 --- a/Reconstruction/Jet/JetMonitoring/src/JetHistoMatchedFiller.cxx +++ b/Reconstruction/Jet/JetMonitoring/src/JetHistoMatchedFiller.cxx @@ -28,16 +28,21 @@ StatusCode JetHistoMatchedFiller::processJetContainer(const JetMonitoringAlg& pa SG::ReadDecorHandle<xAOD::JetContainer, char> matchedHandle(m_matchedKey, ctx); SG::ReadDecorHandle<xAOD::JetContainer, double> ptdiffHandle(m_ptdiffKey, ctx); - - auto dPt = Monitored::Scalar<double>("ptdiff",0.0); + + auto matched = Monitored::Collection("matched", jets, [matchedHandle](const xAOD::Jet * jet) {return matchedHandle(*jet);}); + auto dPt = Monitored::Scalar("ptdiff",0.0); // Loop over jets and fill pt difference between matched jets + for(const xAOD::Jet* jet : jets){ bool matched = matchedHandle(*jet); - if(matched) dPt = ptdiffHandle(*jet); + if(matched){ + dPt = ptdiffHandle(*jet); + parentAlg.fill(m_group,dPt); + } } - - parentAlg.fill(m_group,dPt); + + parentAlg.fill(m_group,matched); return StatusCode::SUCCESS; }