From ac49dcff026b416565ba7fb337270a3ce418a2d5 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 20 Feb 2025 14:16:48 +0100 Subject: [PATCH 01/44] EndOfEventROIConfirmerAlg: construct handle from key Use (and re-use) a `ReadHandleKey` for the construction of the `ReadHandle`. This allows us to pass the `EventContext` and should also be slightly faster than the internal key creation when constructing a handle from a plain string. --- .../TrigGenericAlgs/src/EndOfEventROIConfirmerAlg.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/EndOfEventROIConfirmerAlg.cxx b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/EndOfEventROIConfirmerAlg.cxx index 5bab08254407..3bedfcd3ae91 100644 --- a/Trigger/TrigAlgorithms/TrigGenericAlgs/src/EndOfEventROIConfirmerAlg.cxx +++ b/Trigger/TrigAlgorithms/TrigGenericAlgs/src/EndOfEventROIConfirmerAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ @@ -20,8 +20,12 @@ StatusCode EndOfEventROIConfirmerAlg::initialize() { StatusCode EndOfEventROIConfirmerAlg::execute(const EventContext& context) const { ATH_MSG_DEBUG( "EndOfEventROIConfirmerAlg::execute()" ); + SG::ReadHandleKey<TrigRoiDescriptorCollection> rhk("temp"); + ATH_CHECK( rhk.initialize() ); + for (const auto& whk : m_writeHandleKeyArray_ROIs) { - SG::ReadHandle<TrigRoiDescriptorCollection> readHandle( whk.key() ); + rhk = whk.key(); // update the key + auto readHandle = SG::makeHandle(rhk, context); if ( readHandle.isValid() ) { ATH_MSG_DEBUG( "The " << whk.key() << " already present - this chain must have run as part of the trigger in this event" ); } else { -- GitLab From 1fe9a00f6c62936955b97301c96da7541a562a6e Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 20 Feb 2025 14:17:20 +0100 Subject: [PATCH 02/44] RoiWriter: construct handles from keys Use (and re-use) HandleKeys for the construction of Read/WriteHandles. This allows us to pass the `EventContext` and should also be slightly faster than the internal key creation when constructing a handle from a plain string. --- .../TrigRoiConversion/src/RoiWriter.cxx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx index 4a714ac0d08f..8173fc753f54 100644 --- a/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx +++ b/Trigger/TrigEvent/TrigRoiConversion/src/RoiWriter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ // // @file RoiWriter.cxx @@ -30,7 +30,7 @@ RoiWriter::RoiWriter( const std::string& name, ISvcLocator* pSvcLocator ) : AthReentrantAlgorithm( name, pSvcLocator ) { } -StatusCode RoiWriter::execute(const EventContext& /*ctx*/) const { +StatusCode RoiWriter::execute(const EventContext& ctx) const { ATH_MSG_DEBUG( "In execute()..." ); @@ -43,16 +43,23 @@ StatusCode RoiWriter::execute(const EventContext& /*ctx*/) const { bool just_dandy = true; + // Create handle keys for use in the loop: + SG::ReadHandleKey< TrigRoiDescriptorCollection > rhk("temp"); + SG::WriteHandleKey< xAOD::RoiDescriptorStore > whk("temp"); + ATH_CHECK( rhk.initialize() && whk.initialize() ); + // Loop over these container(s): for( const std::string& key : keys ) { + // Update key to read from: + rhk = key; // Construct the key of the new container: - const std::string newKey = ( ( key.find( prefix ) == 0 ) ? - ( newPrefix + key.substr( prefix.size() ) ) : - key ); + whk = ( ( key.find( prefix ) == 0 ) ? + ( newPrefix + key.substr( prefix.size() ) ) : + key ); - SG::ReadHandle< TrigRoiDescriptorCollection > rh(key); - SG::WriteHandle< xAOD::RoiDescriptorStore > wh(newKey); + auto rh = SG::makeHandle(rhk, ctx); + auto wh = SG::makeHandle(whk, ctx); /// check object actually points to something - make sure that we do all /// collections that we can, and not barf on the first one that might fail -- GitLab From cb2ee323be81c6e8768b78e041626fd1ef796ebf Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 19 Mar 2025 16:00:32 +0100 Subject: [PATCH 03/44] HLTEDMCreator: optimize creation of handles and their keys Creating a Read/WriteHandle from a plain string triggers the internal creation of a corresponding Read/WriteHandleKey, which has a small cost (e.g. lookup of the CLID which in turn requires locking). Also it prevents passing of the `EventContext`. Change the code to consistently use (and re-use) handle keys. Also rename a few variables and use const-refs where relevant. --- .../TrigOutputHandling/src/HLTEDMCreator.cxx | 67 ++++++++++++------- .../TrigOutputHandling/src/HLTEDMCreator.h | 4 +- 2 files changed, 46 insertions(+), 25 deletions(-) diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx index 3ed868eafa53..8c10a3990c70 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx @@ -1,6 +1,6 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ @@ -263,7 +263,7 @@ StatusCode HLTEDMCreator::viewsMerge( ViewContainer const& views, const SG::Rea } -StatusCode HLTEDMCreator::fixLinks() const { +StatusCode HLTEDMCreator::fixLinks( EventContext const& context ) const { if ( m_fixLinks.value().empty() ) { ATH_MSG_DEBUG("fixLinks: No collections defined for this tool"); return StatusCode::SUCCESS; @@ -273,6 +273,11 @@ StatusCode HLTEDMCreator::fixLinks() const { // Do the remapping int writeHandleArrayIndex = -1; + + // Create a HandleKey that we can re-use during the loop (slightly better performance) + SG::ReadHandleKey<xAOD::TrigCompositeContainer> readHandleKey("temp"); + ATH_CHECK( readHandleKey.initialize() ); + for ( const auto& writeHandleKey: m_TrigCompositeContainer ) { // Check if we are re-mapping this handle const bool doFixLinks = std::any_of(m_fixLinks.begin(), m_fixLinks.end(), [&](const std::string& s) { return s == writeHandleKey.key(); } ); @@ -285,17 +290,21 @@ StatusCode HLTEDMCreator::fixLinks() const { ++writeHandleArrayIndex; ATH_MSG_DEBUG("Fixing links: confirm collection is there: " << writeHandleKey.key() << ", write handle array index: " << writeHandleArrayIndex); - SG::ReadHandle<xAOD::TrigCompositeContainer> readHandle( writeHandleKey.key() ); + // Update key name + readHandleKey = writeHandleKey.key(); + auto readHandle = SG::makeHandle(readHandleKey, context); if ( not readHandle.isValid() ) { // object missing, this is now an error as we should have literally just created it - ATH_MSG_ERROR(" Collection is not present. " << writeHandleKey.key() << " should have been created by createIfMissing."); + ATH_MSG_ERROR("Collection is not present. " << readHandleKey.key() << " should have been created by createIfMissing."); return StatusCode::FAILURE; } ATH_MSG_DEBUG("Collection exists with size " << readHandle->size() << " Decision objects" ); ATH_MSG_DEBUG("Adding decorations: " << m_remapLinkColKeys.at( writeHandleArrayIndex ).key() << " and " << m_remapLinkColIndices.at( writeHandleArrayIndex ).key() ); - SG::WriteDecorHandle<xAOD::TrigCompositeContainer, std::vector<SG::sgkey_t> > keyDecor( m_remapLinkColKeys.at( writeHandleArrayIndex ) ); - SG::WriteDecorHandle<xAOD::TrigCompositeContainer, std::vector<xAOD::TrigComposite::index_type> > indexDecor( m_remapLinkColIndices.at( writeHandleArrayIndex ) ); + SG::WriteDecorHandle<xAOD::TrigCompositeContainer, std::vector<SG::sgkey_t> > + keyDecor(m_remapLinkColKeys.at( writeHandleArrayIndex ), context ); + SG::WriteDecorHandle<xAOD::TrigCompositeContainer, std::vector<xAOD::TrigComposite::index_type> > + indexDecor( m_remapLinkColIndices.at( writeHandleArrayIndex ), context ); // Examine each input TC int decisionObjectIndex = -1; @@ -349,15 +358,26 @@ StatusCode HLTEDMCreator::fixLinks() const { template<typename T, typename STORE, typename G, typename M> StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const ConstHandlesGroup<T>& handles, G& generator, M merger ) const { + // Declare a ReadHandleKey that we can re-use during the loop for reading. + SG::ReadHandleKey<T> rhk("temp"); + + // Same for the Aux store. If there is none (void) this would not compile + // so we just define a dummy RHK, which will never be used, of type T again. + using AuxType = std::conditional_t<std::is_void_v<STORE>, T, STORE>; + SG::ReadHandleKey<AuxType> rhkAux("temp"); + + ATH_CHECK( rhk.initialize() && rhkAux.initialize() ); + for (size_t i = 0; i < handles.out.size(); ++i) { - SG::WriteHandleKey<T> writeHandleKey = handles.out.at(i); + const SG::WriteHandleKey<T>& whk = handles.out.at(i); + rhk = whk.key(); // set the RHK to the same key as the WHK if ( handles.views.empty() ) { // no merging will be needed // Note: This is correct. We are testing if we can read, and if we cannot then we write. // What we write will either be a dummy (empty) container, or be populated from N in-View collections. - SG::ReadHandle<T> readHandle( writeHandleKey.key() ); + auto readHandle = SG::makeHandle( rhk, context ); if ( readHandle.isValid() ) { - ATH_MSG_VERBOSE( writeHandleKey.key() << " is already present" ); + ATH_MSG_VERBOSE( rhk.key() << " is already present" ); generator.create(false, false); // For xAOD types we need to ensure there is an Aux store. This can happen if the @@ -365,15 +385,17 @@ StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const Co // The TriggerEDMDeserialiserAlg will already have created a DataLink to the Aux store // for the interface container. Now we just need to create an empty Aux store. if constexpr (!std::is_void_v<STORE>) { - SG::ReadHandle<STORE> readAuxHandle( writeHandleKey.key() + "Aux." ); + rhkAux = rhk.key() + "Aux."; + auto readAuxHandle = SG::makeHandle(rhkAux, context); if ( !readAuxHandle.isValid() ) { - SG::WriteHandle<STORE> writeAuxHandle( writeHandleKey.key() + "Aux." ); - ATH_MSG_DEBUG("Creating missing Aux store for " << writeHandleKey.key()); + // This is rare so we just create a WH as needed: + SG::WriteHandle<STORE> writeAuxHandle( rhkAux.key(), context ); + ATH_MSG_DEBUG("Creating missing Aux store for " << rhk.key()); ATH_CHECK( writeAuxHandle.record(std::make_unique<STORE>()) ); } } } else { - ATH_MSG_DEBUG( writeHandleKey.key() << " is missing, creating it" ); + ATH_MSG_DEBUG( rhk.key() << " is missing, creating it" ); generator.create(true, true); } @@ -388,28 +410,27 @@ StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const Co if ( handles.out.size() == 1 ) { generator.create(true, true); } else { - const bool doCreate = i == 0 or handles.out.at(i-1).key() != handles.out.at(i).key(); - const bool doRecord = i == handles.out.size()-1 or handles.out.at(i+1).key() != handles.out.at(i).key(); + const bool doCreate = i == 0 or handles.out.at(i-1).key() != whk.key(); + const bool doRecord = i == handles.out.size()-1 or handles.out.at(i+1).key() != whk.key(); ATH_MSG_DEBUG( "Instructing generator " << (doCreate ? "to" : "NOT TO") << " create collection and " << (doRecord ? "to" : "NOT TO") << " record collection in this iteration"); generator.create(doCreate, doRecord); } - SG::ReadHandleKey<ViewContainer> viewsReadHandleKey = handles.views.at(i); + const SG::ReadHandleKey<ViewContainer>& viewsReadHandleKey = handles.views.at(i); ATH_MSG_DEBUG("Will be trying to merge from the " << viewsReadHandleKey.key() << " view container into that output"); auto viewsHandle = SG::makeHandle( viewsReadHandleKey, context ); if ( viewsHandle.isValid() ) { - SG::ReadHandleKey<T> inViewReadHandleKey = handles.in.at(i); + const SG::ReadHandleKey<T>& inViewReadHandleKey = handles.in.at(i); ATH_MSG_DEBUG("Will be merging from " << viewsHandle->size() << " views using in-view key " << inViewReadHandleKey.key() ); ATH_CHECK( (this->*merger)( *viewsHandle, inViewReadHandleKey , context, *generator.data.get() ) ); } else { - ATH_MSG_DEBUG("Views " << viewsReadHandleKey.key() << " are missing. Will leave " << writeHandleKey.key() << " output collection empty."); + ATH_MSG_DEBUG("Views " << viewsReadHandleKey.key() << " are missing. Will leave " << whk.key() << " output collection empty."); } // Also consider probe variants of each EventView. // Not every container will have a corresponding set of (typically) lower-pT probe ROIs, but it's safer to always test. - static const std::string probe_suffix = "_probe"; - const std::string viewsReadHandleKeyProbe = viewsReadHandleKey.key() + probe_suffix; + const std::string viewsReadHandleKeyProbe = viewsReadHandleKey.key() + "_probe"; ATH_MSG_VERBOSE("Will try to merge from the " << viewsReadHandleKeyProbe << " view container into that output"); // Falling back to direct SG access here to avoid uninitiated key errors. This is safe to do in the context of the Trigger ControlFlow. @@ -419,7 +440,7 @@ StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const Co ATH_CHECK(evtStore()->retrieve(viewsContainer_probe, viewsReadHandleKeyProbe)); } if ( viewsContainer_probe ) { - SG::ReadHandleKey<T> inViewReadHandleKey = handles.in.at(i); + const SG::ReadHandleKey<T>& inViewReadHandleKey = handles.in.at(i); ATH_MSG_DEBUG("Will be merging from " << viewsContainer_probe->size() << " probe views using in-view key " << inViewReadHandleKey.key() ); ATH_CHECK( (this->*merger)( *viewsContainer_probe, inViewReadHandleKey , context, *generator.data.get() ) ); } else { @@ -428,7 +449,7 @@ StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const Co } - auto writeHandle = SG::makeHandle( writeHandleKey, context ); + auto writeHandle = SG::makeHandle( whk, context ); ATH_CHECK( generator.record( writeHandle ) ); } @@ -505,7 +526,7 @@ StatusCode HLTEDMCreator::createOutput(const EventContext& context) const { CREATE_XAOD( MuonRoIContainer, MuonRoIAuxContainer ); // After view collections are merged, need to update collection links - ATH_CHECK( fixLinks() ); + ATH_CHECK( fixLinks(context) ); #undef CREATE_XAOD diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h index 833a93bebba4..3d4b6740b3ac 100644 --- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h +++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef TRIGOUTPUTHANDLING_HLTEDMCREATOR_H #define TRIGOUTPUTHANDLING_HLTEDMCREATOR_H 1 @@ -223,7 +223,7 @@ class HLTEDMCreator: public extends<AthAlgTool, IHLTOutputTool> { const SG::ReadHandleKeyArray< ViewContainer >& views; }; - StatusCode fixLinks() const; + StatusCode fixLinks( EventContext const& context ) const; template<typename T, typename STORE, typename G, typename M > StatusCode createIfMissing( const EventContext& context, const ConstHandlesGroup<T>& handles, -- GitLab From 741ee58338797a265af74f686ed41515bca462be Mon Sep 17 00:00:00 2001 From: Roshan Joshi <roshan.joshi@cern.ch> Date: Wed, 19 Mar 2025 18:29:32 +0000 Subject: [PATCH 04/44] ATR-30808: Add online monitoring for GN2X bjet trigger chains to jet monitoring code ATR-30808: Add online monitoring for GN2X bjet trigger chains to jet monitoring code --- .../python/TrigJetHypoMonitoringConfig.py | 8 ++++++- .../TrigHLTJetHypo/src/TrigJetHypoTool.cxx | 21 ++++++++++++++++++- .../python/HLT/Menu/Dev_pp_run3_v1.py | 6 +++--- .../python/HLT/Menu/Physics_pp_run3_v1.py | 4 ++-- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoMonitoringConfig.py b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoMonitoringConfig.py index 6d21b926e8e3..e8621a565c1d 100644 --- a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoMonitoringConfig.py +++ b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoMonitoringConfig.py @@ -22,6 +22,12 @@ def TrigJetHypoToolMonitoring(flags, histPath, histFlags): montool.defineHistogram('dipz_z', title='DIPZ z;z (mm)', xbins=100, xmin=-50, xmax=50, path='EXPERT', type='TH1F' ) montool.defineHistogram('dipz_negLogSigma2', title='DIPZ negLogSigma2;negLogSigma2', xbins=100, xmin=-20, xmax=5, path='EXPERT', type='TH1F' ) montool.defineHistogram('NJets', title='Jet multiplicity;N(jets)', xbins=30, xmin=-0.5, xmax=29.5, path='EXPERT', type='TH1F' ) + if ('a10sd' in histFlags): + montool.defineHistogram("GN2Xv01_phbb", title='GN2X_phbb; p_{Hbb}', xbins=50, xmin=0, xmax=1, path='EXPERT', type='TH1F') + montool.defineHistogram("GN2Xv01_phcc", title='GN2X_phcc; p_{Hcc}', xbins=50, xmin=0, xmax=1, path='EXPERT', type='TH1F') + montool.defineHistogram("GN2Xv01_ptop", title='GN2X_ptop; p_{top}', xbins=50, xmin=0, xmax=1, path='EXPERT', type='TH1F') + montool.defineHistogram("GN2Xv01_pqcd", title='GN2X_pqcd; p_{QCD}', xbins=50, xmin=0, xmax=1, path='EXPERT', type='TH1F') + montool.defineHistogram("GN2Xv01_discriminant", title='GN2Xv01 discriminant (fcc=0, ftop=0.25); GN2Xv01 discriminant', xbins=50, xmin=-30, xmax=30, path='EXPERT', type='TH1F') return montool @@ -41,4 +47,4 @@ def TrigJetCRHypoToolMonitoring(histPath): montool.defineHistogram('jet_tr_pt', title="Jet track pt;tr_pt", xbins = default_bin_count, xmin=0, xmax=1000, path='EXPERT', type='TH1F') montool.defineHistogram('jet_tr_DR', title="Jet track dr;track dr", xbins = default_bin_count, xmin=0, xmax=1, path='EXPERT', type='TH1F') - return montool \ No newline at end of file + return montool diff --git a/Trigger/TrigHypothesis/TrigHLTJetHypo/src/TrigJetHypoTool.cxx b/Trigger/TrigHypothesis/TrigHLTJetHypo/src/TrigJetHypoTool.cxx index 27b7f1e34123..8a8c5fd2aba8 100644 --- a/Trigger/TrigHypothesis/TrigHLTJetHypo/src/TrigJetHypoTool.cxx +++ b/Trigger/TrigHypothesis/TrigHLTJetHypo/src/TrigJetHypoTool.cxx @@ -202,7 +202,26 @@ TrigJetHypoTool::decide(const xAOD::JetContainer* jets, j->getAttribute("dipz20231122_negLogSigma2", this_negLogSigma2); auto mon_dipz_z = Monitored::Scalar( "dipz_z", this_z); auto mon_dipz_negLogSigma2 = Monitored::Scalar( "dipz_negLogSigma2", this_negLogSigma2); - auto monitor_group_passingjets = Monitored::Group( m_monTool, mon_jetEt, mon_jetEta, mon_jetPhi , mon_dipz_z, mon_dipz_negLogSigma2); + float this_GN2X_phbb{999.}, this_GN2X_phcc{999.}, this_GN2X_pqcd{999.}, this_GN2X_ptop{999.}; + j->getAttribute("GN2Xv01_phbb", this_GN2X_phbb); + j->getAttribute("GN2Xv01_phcc", this_GN2X_phcc); + j->getAttribute("GN2Xv01_ptop", this_GN2X_ptop); + j->getAttribute("GN2Xv01_pqcd", this_GN2X_pqcd); + auto mon_GN2X_phbb = Monitored::Scalar("GN2Xv01_phbb", this_GN2X_phbb); + auto mon_GN2X_phcc = Monitored::Scalar("GN2Xv01_phcc", this_GN2X_phcc); + auto mon_GN2X_ptop = Monitored::Scalar("GN2Xv01_ptop", this_GN2X_ptop); + auto mon_GN2X_pqcd = Monitored::Scalar("GN2Xv01_pqcd", this_GN2X_pqcd); + float this_GN2X_discriminant{999.}; + if (this_GN2X_phbb > 0.){ + float top_frac{0.25}; + float denom = this_GN2X_pqcd*(1. - top_frac) + this_GN2X_ptop * top_frac; + if (denom > 0.){ + this_GN2X_discriminant = log(this_GN2X_phbb/denom); + } + } + auto mon_GN2X_discriminant = Monitored::Scalar("GN2Xv01_discriminant", this_GN2X_discriminant); + auto monitor_group_passingjets = Monitored::Group( m_monTool, mon_jetEt, mon_jetEta, mon_jetPhi , mon_dipz_z, mon_dipz_negLogSigma2, mon_jetMass, mon_GN2X_phbb, mon_GN2X_phcc, mon_GN2X_ptop, mon_GN2X_pqcd, mon_GN2X_discriminant); + } //monitor the passing jets for each leg (there should only be one per chain!) auto legInds = jetCollector.legInds(); diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 6b43999419bc..6a6b5c413fe3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -446,9 +446,9 @@ def getDevSignatures(): ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['bJetMon:t0']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['bJetMon:t0']), + ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online']), + ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), + ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), ChainProp(name='HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index 036772c2f414..48cf3fc2e0ed 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -1155,7 +1155,7 @@ def setupMenu(): # Central single large-R jets ChainProp(name='HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1jJ60', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ60']), ChainProp(name='HLT_j110_a10t_lcw_jes_L1jJ60', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ60']), - ChainProp(name='HLT_j175_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ90', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ90'], monGroups=['bJetMon:shifter']), + ChainProp(name='HLT_j175_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ90', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ90'], monGroups=['bJetMon:shifter', 'jetMon:online']), ChainProp(name='HLT_j175_a10t_lcw_jes_L1jJ90', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ90']), ChainProp(name='HLT_j260_a10sd_cssk_pf_jes_ftf_preselj200_L1jJ125', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ125']), ChainProp(name='HLT_j260_a10t_lcw_jes_L1jJ125', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_jJ125']), @@ -1318,7 +1318,7 @@ def setupMenu(): ChainProp(name='HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1gLJ80p0ETA25', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_gLJ80p0ETA25']), ChainProp(name='HLT_j110_a10t_lcw_jes_L1gLJ80p0ETA25', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_gLJ80p0ETA25']), - ChainProp(name='HLT_j175_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ100p0ETA25', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_gLJ100p0ETA25'], monGroups=['bJetMon:shifter']), + ChainProp(name='HLT_j175_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ100p0ETA25', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_gLJ100p0ETA25'], monGroups=['bJetMon:shifter', 'jetMon:online']), ChainProp(name='HLT_j175_a10t_lcw_jes_L1gLJ100p0ETA25', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup+['RATE:CPS_gLJ100p0ETA25']), # low threshold single jet support chains with JVT -- GitLab From fd3dde99b7c32def28bcc47a777a53a6b53487d3 Mon Sep 17 00:00:00 2001 From: Damiano Vannicola <damiano.vannicola@cern.ch> Date: Wed, 19 Mar 2025 20:48:21 +0000 Subject: [PATCH 05/44] ATR_30971: Menu changes for egamma trigger 2025 ATR_30971: Menu changes for egamma trigger 2025 --- .../share/ref_RDOtoRDOTrig_v1Dev_build.ref | 218 +++++++++--------- .../share/ref_v1Dev_decodeBS_build.ref | 158 +++++-------- .../python/HLT/Menu/Dev_pp_run3_v1.py | 3 - .../python/HLT/Menu/MC_pp_run3_v1.py | 7 +- .../python/HLT/Menu/Physics_pp_run3_v1.py | 43 ++-- 5 files changed, 195 insertions(+), 234 deletions(-) diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index a17afb7aa161..6020258cd3f0 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -430,6 +430,10 @@ HLT_2e12_lhloose_mu10_L12eEM10L_MU8F: eventCount: 0 stepFeatures: 0: 2 +HLT_2e17_dnnloose_L12eEM18M: + eventCount: 0 + stepFeatures: + 0: 2 HLT_2e17_idperf_loose_L12eEM18M: eventCount: 0 stepFeatures: @@ -462,6 +466,10 @@ HLT_2e17_lhvloose_g50_loose_probe_L12eEM18M: eventCount: 0 stepFeatures: 0: 2 +HLT_2e24_dnnloose_L12eEM24L: + eventCount: 0 + stepFeatures: + 0: 1 HLT_2e24_lhvloose_L12eEM24L: eventCount: 0 stepFeatures: @@ -685,13 +693,6 @@ HLT_2g20_tight_icaloloose_L12eEM18M: stepFeatures: 0: 3 1: 1 -HLT_2g20_tight_icaloloose_ringer_L12eEM18M: - eventCount: 0 - stepCounts: - 0: 1 - stepFeatures: - 0: 3 - 1: 1 HLT_2g22_tight_L12eEM18M: eventCount: 0 stepCounts: @@ -707,13 +708,17 @@ HLT_2g22_tight_L1eEM9_EMPTY: eventCount: 0 HLT_2g22_tight_L1eEM9_UNPAIRED_ISO: eventCount: 0 -HLT_2g22_tight_ringer_L12eEM18M: +HLT_2g22_tight_noringer_L12eEM18M: eventCount: 0 stepCounts: - 0: 1 + 0: 2 + 1: 2 + 2: 1 stepFeatures: - 0: 3 - 1: 1 + 0: 5 + 1: 4 + 2: 3 + 3: 1 HLT_2g25_loose_g15_loose_L12eEM24L: eventCount: 0 stepFeatures: @@ -722,10 +727,6 @@ HLT_2g50_loose_L12eEM24L: eventCount: 0 stepFeatures: 0: 2 -HLT_2g50_loose_ringer_L12eEM24L: - eventCount: 0 - stepFeatures: - 0: 2 HLT_2g50_tight_L12eEM9_EMPTY: eventCount: 0 HLT_2g50_tight_L1eEM15_EMPTY: @@ -4236,6 +4237,10 @@ HLT_e20_lhvloose_L1eEM18L: 4: 5 5: 5 6: 4 +HLT_e24_dnnloose_2e12_dnnloose_L1eEM24L_3eEM12L: + eventCount: 0 + stepFeatures: + 0: 1 HLT_e24_lhmedium_g12_loose_g12_loose_02dRAB_02dRAC_02dRBC_L1eEM24L_3eEM12L: eventCount: 0 stepFeatures: @@ -4403,6 +4408,44 @@ HLT_e26_dnntight_ivarloose_L1eEM26M: 4: 5 5: 5 6: 2 +HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M: + eventCount: 0 + stepCounts: + 0: 5 + 1: 5 + 2: 5 + 3: 5 + 4: 5 + 5: 5 + 6: 2 + stepFeatures: + 0: 5 + 1: 5 + 2: 5 + 3: 5 + 4: 5 + 5: 5 + 6: 2 + 7: 2 +HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M: + eventCount: 0 + stepCounts: + 0: 5 + 1: 5 + 2: 5 + 3: 5 + 4: 5 + 5: 5 + 6: 2 + stepFeatures: + 0: 5 + 1: 5 + 2: 5 + 3: 5 + 4: 5 + 5: 5 + 6: 2 + 7: 2 HLT_e26_etcut_L1eEM26M: eventCount: 7 stepCounts: @@ -8577,6 +8620,22 @@ HLT_e50_etcut_L1eEM28M: 1: 8 2: 33 3: 8 +HLT_e5_dnntight_e9_etcut_1invmAB5_L1JPSI-1M5-eEM9: + eventCount: 0 + stepCounts: + 0: 4 + 1: 4 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + stepFeatures: + 0: 32 + 1: 27 + 2: 79 + 3: 12 + 4: 4 + 5: 4 HLT_e5_etcut_L1eEM5: eventCount: 20 stepCounts: @@ -9501,7 +9560,7 @@ HLT_g140_loose_L1eEM28M: 1: 1 2: 1 3: 1 -HLT_g140_loose_ringer_L1eEM26M: +HLT_g140_loose_noringer_L1eEM26M: eventCount: 1 stepCounts: 0: 2 @@ -9636,18 +9695,6 @@ HLT_g15_tight_L1eEM12L: 1: 7 2: 7 3: 4 -HLT_g15_tight_ringer_L1eEM12L: - eventCount: 4 - stepCounts: - 0: 7 - 1: 7 - 2: 7 - 3: 4 - stepFeatures: - 0: 8 - 1: 7 - 2: 7 - 3: 4 HLT_g20_loose_L1eEM18L: eventCount: 5 stepCounts: @@ -9816,20 +9863,6 @@ HLT_g20_tight_icaloloose_j40_j35a_j25a_j25_j20c_j0_DJMASS300j35_pf_ftf_L1eEM22M_ 3: 1 4: 1 5: 6 -HLT_g20_tight_icaloloose_ringer_L1eEM18M: - eventCount: 4 - stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 4 - 4: 4 - stepFeatures: - 0: 7 - 1: 6 - 2: 6 - 3: 4 - 4: 4 HLT_g20_tight_j35_0eta290_020jvt_bgn177_3j35a_j0_DJMASS500j35_pf_ftf_L1eEM22M_jMJJ-300: eventCount: 0 stepCounts: @@ -9878,18 +9911,6 @@ HLT_g20_tight_probe_L1eEM18M_2mu14_L12MU8F: 0: 1 stepFeatures: 0: 4 -HLT_g20_tight_ringer_L1eEM18M: - eventCount: 4 - stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 4 - stepFeatures: - 0: 7 - 1: 6 - 2: 6 - 3: 4 HLT_g22_tight_L1eEM18M: eventCount: 4 stepCounts: @@ -9908,18 +9929,6 @@ HLT_g22_tight_probe_L1eEM18M_2mu14_L12MU8F: 0: 1 stepFeatures: 0: 4 -HLT_g22_tight_ringer_L1eEM18M: - eventCount: 4 - stepCounts: - 0: 6 - 1: 6 - 2: 5 - 3: 4 - stepFeatures: - 0: 7 - 1: 6 - 2: 5 - 3: 4 HLT_g24_tight_icaloloose_j40c_j30c_j24c_03dRAB35_03dRAC35_15dRBC45_50invmBC130_pf_ftf_L1eEM26M: eventCount: 2 stepCounts: @@ -9990,18 +9999,18 @@ HLT_g25_loose_L1eEM24L: 1: 5 2: 5 3: 5 -HLT_g25_loose_ringer_L1eEM24L: - eventCount: 5 +HLT_g25_loose_noringer_L1eEM24L: + eventCount: 6 stepCounts: - 0: 6 - 1: 5 - 2: 5 - 3: 5 + 0: 8 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 6 - 1: 5 - 2: 5 - 3: 5 + 0: 10 + 1: 9 + 2: 9 + 3: 6 HLT_g25_loose_xe40_cell_xe50_tcpufit_18dphiAB_18dphiAC_80mTAC_L1eEM26M: eventCount: 0 stepCounts: @@ -10298,18 +10307,6 @@ HLT_g25_medium_probe_L1eEM24L_2mu14_L12MU8F: eventCount: 0 stepFeatures: 0: 4 -HLT_g25_medium_ringer_L1eEM24L: - eventCount: 4 - stepCounts: - 0: 6 - 1: 5 - 2: 5 - 3: 4 - stepFeatures: - 0: 6 - 1: 5 - 2: 5 - 3: 4 HLT_g25_medium_tau25_dikaonmass_tracktwoMVA_50invmAB_L1eEM26M: eventCount: 0 stepCounts: @@ -11263,10 +11260,17 @@ HLT_g35_medium_g25_medium_L1eEM9_EMPTY: eventCount: 0 HLT_g35_medium_g25_medium_L1eEM9_UNPAIRED_ISO: eventCount: 0 -HLT_g35_medium_g25_medium_ringer_L12eEM24L: +HLT_g35_medium_g25_medium_noringer_L12eEM24L: eventCount: 0 + stepCounts: + 0: 2 + 1: 1 + 2: 1 stepFeatures: - 0: 4 + 0: 6 + 1: 4 + 2: 3 + 3: 2 HLT_g35_medium_j35_0eta290_020jvt_bgn177_3j35a_j0_DJMASS700j35_pf_ftf_presela20b85XX3a20_L1eEM26M: eventCount: 0 stepCounts: @@ -11363,22 +11367,22 @@ HLT_g35_medium_j35_0eta290_nnJvtv1_bgn277_3j35a_j0_DJMASS700j35_pf_ftf_presela20 3: 4 4: 12 5: 12 -HLT_g35_medium_probe_L1eEM24L_2mu14_L12MU8F: - eventCount: 0 - stepFeatures: - 0: 4 -HLT_g35_medium_ringer_L1eEM24L: +HLT_g35_medium_noringer_L1eEM24L: eventCount: 4 stepCounts: - 0: 5 - 1: 4 - 2: 4 + 0: 7 + 1: 7 + 2: 7 3: 4 stepFeatures: - 0: 5 - 1: 4 - 2: 4 + 0: 9 + 1: 8 + 2: 8 3: 4 +HLT_g35_medium_probe_L1eEM24L_2mu14_L12MU8F: + eventCount: 0 + stepFeatures: + 0: 4 HLT_g35_medium_tau25_dikaonmass_tracktwoMVA_L1eTAU20_50invmAB_L1eEM26M: eventCount: 0 stepCounts: @@ -12848,18 +12852,6 @@ HLT_g50_loose_probe_L1eEM24L_2mu14_L12MU8F: eventCount: 0 stepFeatures: 0: 4 -HLT_g50_loose_ringer_L1eEM24L: - eventCount: 3 - stepCounts: - 0: 4 - 1: 3 - 2: 3 - 3: 3 - stepFeatures: - 0: 4 - 1: 3 - 2: 3 - 3: 3 HLT_g50_loose_xe40_cell_xe70_pfopufit_80mTAC_L1eEM26M: eventCount: 0 stepCounts: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 34a07d713dd4..d6654383a8d0 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -386,6 +386,8 @@ HLT_10j40_pf_ftf_presel7j30_L14jJ40: eventCount: 0 HLT_2e12_lhloose_mu10_L12eEM10L_MU8F: eventCount: 0 +HLT_2e17_dnnloose_L12eEM18M: + eventCount: 0 HLT_2e17_idperf_loose_L12eEM18M: eventCount: 0 HLT_2e17_idperf_loose_nogsf_L12eEM18M: @@ -402,6 +404,8 @@ HLT_2e17_lhvloose_g35_medium_probe_L12eEM18M: eventCount: 0 HLT_2e17_lhvloose_g50_loose_probe_L12eEM18M: eventCount: 0 +HLT_2e24_dnnloose_L12eEM24L: + eventCount: 0 HLT_2e24_lhvloose_L12eEM24L: eventCount: 0 HLT_2e24_lhvloose_g20_tight_probe_L12eEM24L: @@ -552,8 +556,6 @@ HLT_2g20_medium_L12eEM18L: eventCount: 0 HLT_2g20_tight_icaloloose_L12eEM18M: eventCount: 0 -HLT_2g20_tight_icaloloose_ringer_L12eEM18M: - eventCount: 0 HLT_2g22_tight_L12eEM18M: eventCount: 0 HLT_2g22_tight_L12eEM9_EMPTY: @@ -564,14 +566,12 @@ HLT_2g22_tight_L1eEM9_EMPTY: eventCount: 0 HLT_2g22_tight_L1eEM9_UNPAIRED_ISO: eventCount: 0 -HLT_2g22_tight_ringer_L12eEM18M: +HLT_2g22_tight_noringer_L12eEM18M: eventCount: 0 HLT_2g25_loose_g15_loose_L12eEM24L: eventCount: 0 HLT_2g50_loose_L12eEM24L: eventCount: 0 -HLT_2g50_loose_ringer_L12eEM24L: - eventCount: 0 HLT_2g50_tight_L12eEM9_EMPTY: eventCount: 0 HLT_2g50_tight_L1eEM15_EMPTY: @@ -1796,6 +1796,8 @@ HLT_e20_lhvloose_L1eEM18L: 3: 1 4: 1 5: 1 +HLT_e24_dnnloose_2e12_dnnloose_L1eEM24L_3eEM12L: + eventCount: 0 HLT_e24_lhmedium_g12_loose_g12_loose_02dRAB_02dRAC_02dRBC_L1eEM24L_3eEM12L: eventCount: 0 HLT_e24_lhmedium_g25_medium_02dRAB_L12eEM24L: @@ -1932,6 +1934,38 @@ HLT_e26_dnntight_ivarloose_L1eEM26M: 3: 1 4: 1 5: 1 +HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M: + eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 + stepFeatures: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 +HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M: + eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 + stepFeatures: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 HLT_e26_etcut_L1eEM26M: eventCount: 7 stepCounts: @@ -4518,6 +4552,10 @@ HLT_e50_etcut_L1eEM28M: 1: 3 2: 11 3: 3 +HLT_e5_dnntight_e9_etcut_1invmAB5_L1JPSI-1M5-eEM9: + eventCount: 0 + stepFeatures: + 0: 6 HLT_e5_etcut_L1eEM5: eventCount: 22 stepCounts: @@ -5028,7 +5066,7 @@ HLT_g140_loose_L1eEM26M: eventCount: 0 HLT_g140_loose_L1eEM28M: eventCount: 0 -HLT_g140_loose_ringer_L1eEM26M: +HLT_g140_loose_noringer_L1eEM26M: eventCount: 0 HLT_g140_loose_tau20_mediumGNTau_probe_L1eTAU12_03dRAB_L1eEM26M: eventCount: 0 @@ -5070,18 +5108,6 @@ HLT_g15_tight_L1eEM12L: 1: 4 2: 4 3: 1 -HLT_g15_tight_ringer_L1eEM12L: - eventCount: 1 - stepCounts: - 0: 4 - 1: 4 - 2: 4 - 3: 1 - stepFeatures: - 0: 4 - 1: 4 - 2: 4 - 3: 1 HLT_g20_loose_L1eEM18L: eventCount: 3 stepCounts: @@ -5178,20 +5204,6 @@ HLT_g20_tight_icaloloose_j40_j35a_j20c_j0_DJMASS300j35_pf_ftf_L1eEM22M_jMJJ-300: eventCount: 0 HLT_g20_tight_icaloloose_j40_j35a_j25a_j25_j20c_j0_DJMASS300j35_pf_ftf_L1eEM22M_jMJJ-300: eventCount: 0 -HLT_g20_tight_icaloloose_ringer_L1eEM18M: - eventCount: 1 - stepCounts: - 0: 4 - 1: 4 - 2: 4 - 3: 1 - 4: 1 - stepFeatures: - 0: 4 - 1: 4 - 2: 4 - 3: 1 - 4: 1 HLT_g20_tight_j35_0eta290_020jvt_bgn177_3j35a_j0_DJMASS500j35_pf_ftf_L1eEM22M_jMJJ-300: eventCount: 0 HLT_g20_tight_j35_0eta290_020jvt_bgn277_3j35a_j0_DJMASS500j35_pf_ftf_L1eEM22M_jMJJ-300: @@ -5200,18 +5212,6 @@ HLT_g20_tight_j35_0eta290_nnJvtv1_bgn277_3j35a_j0_DJMASS500j35_pf_ftf_L1eEM22M_j eventCount: 0 HLT_g20_tight_probe_L1eEM18M_2mu14_L12MU8F: eventCount: 0 -HLT_g20_tight_ringer_L1eEM18M: - eventCount: 1 - stepCounts: - 0: 4 - 1: 4 - 2: 4 - 3: 1 - stepFeatures: - 0: 4 - 1: 4 - 2: 4 - 3: 1 HLT_g22_tight_L1eEM18M: eventCount: 1 stepCounts: @@ -5226,18 +5226,6 @@ HLT_g22_tight_L1eEM18M: 3: 1 HLT_g22_tight_probe_L1eEM18M_2mu14_L12MU8F: eventCount: 0 -HLT_g22_tight_ringer_L1eEM18M: - eventCount: 1 - stepCounts: - 0: 4 - 1: 4 - 2: 4 - 3: 1 - stepFeatures: - 0: 4 - 1: 4 - 2: 4 - 3: 1 HLT_g24_tight_icaloloose_j40c_j30c_j24c_03dRAB35_03dRAC35_15dRBC45_50invmBC130_pf_ftf_L1eEM26M: eventCount: 0 stepCounts: @@ -5305,17 +5293,17 @@ HLT_g25_loose_L1eEM24L: 1: 6 2: 6 3: 3 -HLT_g25_loose_ringer_L1eEM24L: +HLT_g25_loose_noringer_L1eEM24L: eventCount: 3 stepCounts: - 0: 6 - 1: 6 - 2: 6 + 0: 7 + 1: 7 + 2: 7 3: 3 stepFeatures: - 0: 6 - 1: 6 - 2: 6 + 0: 7 + 1: 7 + 2: 7 3: 3 HLT_g25_loose_xe40_cell_xe50_tcpufit_18dphiAB_18dphiAC_80mTAC_L1eEM26M: eventCount: 0 @@ -5551,18 +5539,6 @@ HLT_g25_medium_j35_0eta290_nnJvtv1_bgn277_3j35a_j0_DJMASS700j35_pf_ftf_presela20 4: 3 HLT_g25_medium_probe_L1eEM24L_2mu14_L12MU8F: eventCount: 0 -HLT_g25_medium_ringer_L1eEM24L: - eventCount: 2 - stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 2 - stepFeatures: - 0: 6 - 1: 6 - 2: 6 - 3: 2 HLT_g25_medium_tau25_dikaonmass_tracktwoMVA_50invmAB_L1eEM26M: eventCount: 0 stepCounts: @@ -6324,7 +6300,7 @@ HLT_g35_medium_g25_medium_L1eEM9_EMPTY: eventCount: 0 HLT_g35_medium_g25_medium_L1eEM9_UNPAIRED_ISO: eventCount: 0 -HLT_g35_medium_g25_medium_ringer_L12eEM24L: +HLT_g35_medium_g25_medium_noringer_L12eEM24L: eventCount: 0 HLT_g35_medium_j35_0eta290_020jvt_bgn177_3j35a_j0_DJMASS700j35_pf_ftf_presela20b85XX3a20_L1eEM26M: eventCount: 0 @@ -6410,20 +6386,20 @@ HLT_g35_medium_j35_0eta290_nnJvtv1_bgn277_3j35a_j0_DJMASS700j35_pf_ftf_presela20 2: 3 3: 1 4: 3 -HLT_g35_medium_probe_L1eEM24L_2mu14_L12MU8F: - eventCount: 0 -HLT_g35_medium_ringer_L1eEM24L: +HLT_g35_medium_noringer_L1eEM24L: eventCount: 1 stepCounts: - 0: 4 - 1: 4 - 2: 3 + 0: 5 + 1: 5 + 2: 4 3: 1 stepFeatures: - 0: 4 - 1: 4 - 2: 3 + 0: 5 + 1: 5 + 2: 4 3: 1 +HLT_g35_medium_probe_L1eEM24L_2mu14_L12MU8F: + eventCount: 0 HLT_g35_medium_tau25_dikaonmass_tracktwoMVA_L1eTAU20_50invmAB_L1eEM26M: eventCount: 0 stepCounts: @@ -7268,18 +7244,6 @@ HLT_g50_loose_L1eEM24L: 3: 1 HLT_g50_loose_probe_L1eEM24L_2mu14_L12MU8F: eventCount: 0 -HLT_g50_loose_ringer_L1eEM24L: - eventCount: 1 - stepCounts: - 0: 2 - 1: 2 - 2: 2 - 3: 1 - stepFeatures: - 0: 2 - 1: 2 - 2: 2 - 3: 1 HLT_g50_loose_xe40_cell_xe70_pfopufit_80mTAC_L1eEM26M: eventCount: 0 stepCounts: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 6b43999419bc..4f625adc5346 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -21,7 +21,6 @@ from .Physics_pp_run3_v1 import (PhysicsStream, MultiBjetGroup, SingleTauGroup, MultiTauGroup, - SinglePhotonGroup, MultiPhotonGroup, TauPhotonGroup, TauJetGroup, @@ -171,8 +170,6 @@ def getDevSignatures(): ChainProp(name='HLT_g50_medium_g20_medium_L12eEM18M', l1SeedThresholds=['eEM18M','eEM18M'], groups=SupportPhIGroup+MultiPhotonGroup), ChainProp(name='HLT_g50_medium_g20_medium_L12eEM18L', l1SeedThresholds=['eEM18L','eEM18L'], groups=SupportPhIGroup+MultiPhotonGroup), - # ATR-29062 - ChainProp(name='HLT_g15_tight_ringer_L1eEM12L', groups=SinglePhotonGroup+DevGroup, monGroups=['egammaMon:shifter']), ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py index 56638c5488c7..598df8106a47 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py @@ -318,6 +318,11 @@ def getMCSignatures(): chains['Egamma'] = [ + #ATR_30971 + ChainProp(name='HLT_g35_medium_g25_medium_noringer_L12eEM24L', groups=PrimaryPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), + ChainProp(name='HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M',l1SeedThresholds=['eEM26M','PROBEeEM26M'],groups=TagAndProbePhIGroup+SingleElectronGroup), + + #ATR-29567 ChainProp(name='HLT_e24_lhtight_ivarloose_L1eEM24VM', groups=PrimaryPhIGroup+SingleElectronGroup), ChainProp(name='HLT_e26_lhtight_ivarloose_L1eEM24VM', groups=PrimaryPhIGroup+SingleElectronGroup), @@ -357,7 +362,7 @@ def getMCSignatures(): # ATR-27780 - ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SinglePhotonGroup+['PS:NoBulkMCProd']), + #ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SinglePhotonGroup+['PS:NoBulkMCProd']), #ATR-25764 - adding Photon chains with different isolation WPs ChainProp(name='HLT_g25_tight_icaloloose_L1eEM26M', groups=SinglePhotonGroup, monGroups=['egammaMon:shifter']), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index 036772c2f414..49ce8e3b03d5 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -380,6 +380,8 @@ def setupMenu(): chains['Egamma'] += [ # Electron Chains---------- + + # Phase1 eEM chains ChainProp(name='HLT_e26_lhtight_ivarloose_L1eEM26M', stream=[PhysicsStream,'express'], groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:online','egammaMon:shifter_tp','caloMon:t0']), ChainProp(name='HLT_e26_lhtight_ivarloose_L1eEM26T', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:shifter_tp']), @@ -392,15 +394,22 @@ def setupMenu(): # ATR-27156 Phase-1 # dnn chains - # ATR-27325 Primary -> Support - ChainProp(name='HLT_e26_dnntight_ivarloose_L1eEM26M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:online','egammaMon:t0_tp']), - ChainProp(name='HLT_e60_dnnmedium_L1eEM26M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), - ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), + # ATR_30971 + ChainProp(name='HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M', l1SeedThresholds=['eEM26M','PROBEeEM18M'],groups=TagAndProbePhIGroup+MultiElectronGroup+['RATE:CPS_eEM26M']), + ChainProp(name='HLT_2e17_dnnloose_L12eEM18M', groups=PrimaryPhIGroup+MultiElectronGroup), + ChainProp(name='HLT_2e24_dnnloose_L12eEM24L', groups=PrimaryPhIGroup+MultiElectronGroup), + ChainProp(name='HLT_e5_dnntight_e9_etcut_1invmAB5_L1JPSI-1M5-eEM9', stream=[PhysicsStream,'express'], l1SeedThresholds=['eEM5','eEM9'], groups=SupportPhIGroup+MultiElectronGroup+Topo2Group+['RATE:CPS_JPSI-1M5-eEM9'], monGroups=['egammaMon:shifter_topo']), + ChainProp(name='HLT_e24_dnnloose_2e12_dnnloose_L1eEM24L_3eEM12L',l1SeedThresholds=['eEM24L','eEM12L'], groups=PrimaryPhIGroup+MultiElectronGroup), + ChainProp(name='HLT_e26_dnntight_ivarloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:online','egammaMon:t0_tp']), +ChainProp(name='HLT_e60_dnnmedium_L1eEM26M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), +ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), + + # ATR-27373 - ChainProp(name='HLT_e28_dnntight_ivarloose_L1eEM28M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:online','egammaMon:t0_tp']), - ChainProp(name='HLT_e60_dnnmedium_L1eEM28M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), - ChainProp(name='HLT_e140_dnnloose_L1eEM28M', groups=SupportPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), + ChainProp(name='HLT_e28_dnntight_ivarloose_L1eEM28M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:online','egammaMon:t0_tp']), + ChainProp(name='HLT_e60_dnnmedium_L1eEM28M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), + ChainProp(name='HLT_e140_dnnloose_L1eEM28M', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), # ATR-25512 #ChainProp(name='HLT_e28_lhtight_ivarloose_L1eEM26T', groups=PrimaryPhIGroup+SingleElectronGroup, monGroups=['egammaMon:t0_tp']), @@ -567,6 +576,13 @@ def setupMenu(): ChainProp(name='HLT_g45_medium_g20_medium_L1eEM40L_2eEM18L', l1SeedThresholds=['eEM40L', 'eEM18L'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiPhotonGroup), ChainProp(name='HLT_2g50_loose_L12eEM24L', groups=PrimaryPhIGroup+MultiPhotonGroup), + #ATR_30971 + ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SingleElectronGroup+SupportPhIGroup+['RATE:CPS_eEM5']+['PS:NoBulkMCProd']), + ChainProp(name='HLT_g25_loose_noringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup+['RATE:CPS_eEM24L']), + ChainProp(name='HLT_g35_medium_noringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup+['RATE:CPS_eEM24L'], monGroups=['egammaMon:shifter']), + ChainProp(name='HLT_2g22_tight_noringer_L12eEM18M', groups=PrimaryPhIGroup+MultiPhotonGroup), + ChainProp(name='HLT_g140_loose_noringer_L1eEM26M', groups=PrimaryPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), + # low-mass diphoton ATR-21637 ChainProp(name='HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9', l1SeedThresholds=['eEM9'], groups=SupportPhIGroup+MultiPhotonGroup+Topo2Group), ChainProp(name='HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9L', l1SeedThresholds=['eEM9'], groups=EOFEgammaPhIGroup+MultiPhotonGroup+Topo2Group), @@ -781,19 +797,6 @@ def setupMenu(): ChainProp(name='HLT_2g50_tight_L1eEM15_EMPTY', l1SeedThresholds=['eEM15'], stream=['Late'], groups=PrimaryPhIGroup+MultiPhotonGroup), ChainProp(name='HLT_2g50_tight_L1eEM9_UNPAIRED_ISO', l1SeedThresholds=['eEM9'], stream=['Late'], groups=PrimaryPhIGroup+MultiPhotonGroup), - # ATR-29839: Inclusion of photon Ringer chains in the Physics Menu - ChainProp(name='HLT_g20_tight_icaloloose_ringer_L1eEM18M', groups=SupportPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g20_tight_ringer_L1eEM18M', groups=SupportPhIGroup+SinglePhotonGroup,monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g22_tight_ringer_L1eEM18M', groups=SupportPhIGroup+SinglePhotonGroup,monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g25_loose_ringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup,monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g25_medium_ringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g35_medium_ringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g50_loose_ringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g140_loose_ringer_L1eEM26M', groups=PrimaryPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_2g20_tight_icaloloose_ringer_L12eEM18M', groups=PrimaryPhIGroup+MultiPhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_2g22_tight_ringer_L12eEM18M', groups=PrimaryPhIGroup+MultiPhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_g35_medium_g25_medium_ringer_L12eEM24L', groups=PrimaryPhIGroup+SinglePhotonGroup, monGroups=['egammaMon:shifter']), - ChainProp(name='HLT_2g50_loose_ringer_L12eEM24L', groups=PrimaryPhIGroup+MultiPhotonGroup, monGroups=['egammaMon:shifter']), ] chains['MET'] += [ -- GitLab From 4ffc2eb4c84d52b7bbaccf19fc9234f5dc61a9cc Mon Sep 17 00:00:00 2001 From: Guglielmo Frattari <guglielmo.frattari@cern.ch> Date: Wed, 8 Jan 2025 14:35:04 +0100 Subject: [PATCH 06/44] Updates to the HSGNN code Updates to the HSGNN code --- .../src/VertexDecoratorAlg.cxx | 76 ++++++++++++------- .../src/VertexDecoratorAlg.h | 21 +++++ 2 files changed, 71 insertions(+), 26 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx index f161ea4ba588..10febed748ec 100644 --- a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx +++ b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx @@ -34,11 +34,31 @@ namespace InDetGNNHardScatterSelection m_jetLinksKey = baseName + ".jetLinks"; m_electronLinksKey = baseName + ".electronLinks"; m_muonLinksKey = baseName + ".muonLinks"; - + m_mDecor_ntrk = baseName + "." + m_mDecor_ntrk.key(); + m_mDecor_sumPt = baseName + "." + m_mDecor_sumPt.key(); + m_mDecor_chi2Over_ndf = baseName + "." + m_mDecor_chi2Over_ndf.key(); + m_mDecor_z_asym = baseName + "." + m_mDecor_z_asym.key(); + m_mDecor_weighted_z_asym = baseName + "." + m_mDecor_weighted_z_asym.key(); + m_mDecor_weighted_z_kurt = baseName + "." + m_mDecor_weighted_z_kurt.key(); + m_mDecor_z_skew = baseName + "." + m_mDecor_z_skew.key(); + m_mDecor_photon_deltaz = baseName + "." + m_mDecor_photon_deltaz.key(); + m_mDecor_photon_deltaPhi = baseName + "." + m_mDecor_photon_deltaPhi.key(); + m_mDecor_actualInterPerXing = baseName + "." + m_mDecor_actualInterPerXing.key(); + ATH_CHECK(m_photonLinksKey.initialize()); ATH_CHECK(m_jetLinksKey.initialize()); ATH_CHECK(m_electronLinksKey.initialize()); ATH_CHECK(m_muonLinksKey.initialize()); + ATH_CHECK(m_mDecor_ntrk.initialize()); + ATH_CHECK(m_mDecor_sumPt.initialize()); + ATH_CHECK(m_mDecor_chi2Over_ndf.initialize()); + ATH_CHECK(m_mDecor_z_asym.initialize()); + ATH_CHECK(m_mDecor_weighted_z_asym.initialize()); + ATH_CHECK(m_mDecor_weighted_z_kurt.initialize()); + ATH_CHECK(m_mDecor_z_skew.initialize()); + ATH_CHECK(m_mDecor_photon_deltaz.initialize()); + ATH_CHECK(m_mDecor_photon_deltaPhi.initialize()); + ATH_CHECK(m_mDecor_actualInterPerXing.initialize()); // ReadHandleKeys m_deltaZKey = baseName + ".deltaZ"; @@ -59,7 +79,11 @@ namespace InDetGNNHardScatterSelection // Tools ATH_CHECK(m_gnnTool.retrieve()); + ATH_CHECK(m_trkVtxAssociationTool->setProperty("WorkingPoint","Prompt_MaxWeight")); + ATH_CHECK(m_trkVtxAssociationTool->setProperty("AMVFVerticesDeco","TTVA_AMVFVertices_forReco")); + ATH_CHECK(m_trkVtxAssociationTool->setProperty("AMVFWeightsDeco","TTVA_AMVFWeights_forReco")); ATH_CHECK(m_trkVtxAssociationTool.retrieve()); + ATH_CHECK(m_trkVtxAssociationTool->initialize()); return StatusCode::SUCCESS; } @@ -90,16 +114,16 @@ namespace InDetGNNHardScatterSelection SG::ReadDecorHandle<xAOD::VertexContainer, float> acc_deltaPhi(m_deltaPhiKey, ctx); // Decorations needed by the GNNTool - SG::AuxElement::Decorator<int> dec_ntrk("ntrk"); - SG::AuxElement::Decorator<float> dec_sumPt("sumPt"); - SG::AuxElement::Decorator<float> dec_chi2Over_ndf("chi2Over_ndf"); - SG::AuxElement::Decorator<float> dec_z_asym("z_asymmetry"); - SG::AuxElement::Decorator<float> dec_weighted_z_asym("weighted_z_asymmetry"); - SG::AuxElement::Decorator<float> dec_z_kurt("z_kurtosis"); - SG::AuxElement::Decorator<float> dec_z_skew("z_skewness"); - SG::AuxElement::Decorator<float> dec_photon_deltaz("photon_deltaz"); - SG::AuxElement::Decorator<float> dec_photon_deltaPhi("photon_deltaPhi"); - SG::AuxElement::Decorator<float> dec_actualInterPerXing("actualIntPerXing"); + SG::WriteDecorHandle<xAOD::VertexContainer, int> dec_ntrk(m_mDecor_ntrk, ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_sumPt(m_mDecor_sumPt,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_chi2Over_ndf(m_mDecor_chi2Over_ndf,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_z_asym(m_mDecor_z_asym,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_weighted_z_asym(m_mDecor_weighted_z_asym,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_z_kurt(m_mDecor_weighted_z_kurt,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_z_skew(m_mDecor_z_skew,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_photon_deltaz(m_mDecor_photon_deltaz,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_photon_deltaPhi(m_mDecor_photon_deltaPhi,ctx); + SG::WriteDecorHandle<xAOD::VertexContainer, float> dec_actualInterPerXing(m_mDecor_actualInterPerXing,ctx); std::map< const xAOD::Vertex*, std::vector<const xAOD::Jet*> > jetsInVertex; std::map< const xAOD::Jet*, std::map< const xAOD::Vertex*, int> > jetVertexPt; @@ -211,20 +235,17 @@ namespace InDetGNNHardScatterSelection // associate objects to vertices std::vector<ElementLink<xAOD::ElectronContainer>> electronLinks; for(const xAOD::Electron* electron : *electronsIn){ - const auto *id_trk = xAOD::EgammaHelpers::getOriginalTrackParticle(electron); if(!id_trk) continue; - - for(size_t i = 0; i < vertex->nTrackParticles(); i++){ - const xAOD::TrackParticle *trk = vertex->trackParticle(i); - if(trk && id_trk == trk) { - ElementLink<xAOD::ElectronContainer> elLink; + auto eleVertex = m_trkVtxAssociationTool->getUniqueMatchVertexLink(*id_trk, *vertices); + if(!eleVertex) continue; + ElementLink<xAOD::ElectronContainer> elLink; + if(*eleVertex == vertex){ elLink.setElement(electron); elLink.setStorableObject(*electronsIn.ptr(), true); electronLinks.push_back(elLink); - break; - } } + } dec_electronLinks(*vertex) = electronLinks; @@ -269,19 +290,22 @@ namespace InDetGNNHardScatterSelection std::vector<ElementLink<xAOD::MuonContainer>> muonLinks; for(const xAOD::Muon* muon : *muonsIn){ - auto tp = muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); - - for (size_t i = 0; i < vertex->nTrackParticles(); i++){ - const xAOD::TrackParticle *trk = vertex->trackParticle(i); - if(trk && tp == trk){ - ElementLink<xAOD::MuonContainer> muonLink; + if(!tp) continue; + try{ + auto muonVertex = m_trkVtxAssociationTool->getUniqueMatchVertexLink(*tp, *vertices); + if(!muonVertex) continue; + ElementLink<xAOD::MuonContainer> muonLink; + if(*muonVertex == vertex){ muonLink.setElement(muon); muonLink.setStorableObject(*muonsIn.ptr(), true); muonLinks.push_back(muonLink); - break; } + }catch(...) { + ATH_MSG_DEBUG("Skipping muon as the track is not associated to any PV "); + ATH_MSG_DEBUG("Muon pT, eta = " << muon->pt() << " " << muon->eta()); } + } dec_muonLinks(*vertex) = muonLinks; diff --git a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.h b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.h index a64b9336c055..1f5567d59efd 100644 --- a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.h +++ b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.h @@ -58,6 +58,27 @@ private: SG::ReadHandleKey<xAOD::PhotonContainer> m_photonsInKey{ this, "photonsIn", "Photons", "containerName to read"}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_ntrk { + this, "decor_ntrkKey", "ntrk", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_sumPt { + this, "decor_sumPtKey", "sumPt", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_chi2Over_ndf { + this, "decor_chi2Over_ndfKey", "chi2Over_ndf", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_z_asym { + this, "decor_z_asymmetryKey", "z_asymmetry", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_weighted_z_asym { + this, "decor_weighted_z_asym", "weighted_z_asymmetry", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_weighted_z_kurt { + this, "decor_weighted_z_kurt", "z_kurtosis", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_z_skew { + this, "decor_z_skew", "z_skewness", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_photon_deltaz { + this, "decor_photon_deltaz", "photon_deltaz", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_photon_deltaPhi { + this, "decor_photon_deltaPhi", "photon_deltaPhi", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_mDecor_actualInterPerXing { + this, "decor_actualInterPerXing", "actualIntPerXing", ""}; + SG::WriteDecorHandleKey<xAOD::VertexContainer> m_photonLinksKey{ this, "photonLinks", "", "" }; SG::WriteDecorHandleKey<xAOD::VertexContainer> m_jetLinksKey{ -- GitLab From 80082336bbe51eb4e9cb656e131dfeb557afffe6 Mon Sep 17 00:00:00 2001 From: Guglielmo Frattari <guglielmo.frattari@cern.ch> Date: Fri, 10 Jan 2025 15:55:33 +0100 Subject: [PATCH 07/44] Protection from crash in HSGNN code Protection from crash in HSGNN code --- .../InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx index 10febed748ec..de19f02db992 100644 --- a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx +++ b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx @@ -210,10 +210,12 @@ namespace InDetGNNHardScatterSelection } dec_ntrk(*vertex) = number_tracks; - dec_sumPt(*vertex) = sumPt; + static const SG::AuxElement::Decorator<float> acc_sumPt("sumPt"); + if(not acc_sumPt.isAvailable(*vertex)){ + dec_sumPt(*vertex) = sumPt; + } dec_chi2Over_ndf(*vertex) = vertex->chiSquared() / vertex->numberDoF(); - dec_z_asym(*vertex) = z_asym; dec_weighted_z_asym(*vertex) = weighted_z_asym; dec_z_kurt(*vertex) = z_kurt; -- GitLab From ce71f1cf45b0a459cb0cdb998819c0528f608638 Mon Sep 17 00:00:00 2001 From: tstreble <thomas.strebler@cern.ch> Date: Wed, 19 Mar 2025 23:20:12 +0100 Subject: [PATCH 08/44] Remove unnecessary SG::AuxElement::Decorator --- .../InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx index de19f02db992..16d1754bf72c 100644 --- a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx +++ b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "VertexDecoratorAlg.h" @@ -211,8 +211,7 @@ namespace InDetGNNHardScatterSelection dec_ntrk(*vertex) = number_tracks; - static const SG::AuxElement::Decorator<float> acc_sumPt("sumPt"); - if(not acc_sumPt.isAvailable(*vertex)){ + if(!dec_sumPt.isAvailable()){ dec_sumPt(*vertex) = sumPt; } dec_chi2Over_ndf(*vertex) = vertex->chiSquared() / vertex->numberDoF(); -- GitLab From 6003513b54ce53ca637cb9dcfdef525455a15f1a Mon Sep 17 00:00:00 2001 From: Viktoriia Lysenko <viktoriia.lysenko@cern.ch> Date: Thu, 20 Mar 2025 07:57:43 +0000 Subject: [PATCH 09/44] AFP DQM-algo: SiT efficiency auto-check AFP DQM-algo: SiT efficiency auto-check --- .../config/AFP/collisions_run.config | 14 ++++ .../dqm_algorithms/AFP_SiTEfficiency.h | 33 +++++++++ .../dqm_algorithms/dqm_algorithmsDict.h | 1 + .../dqm_algorithms/selection.xml | 1 + .../dqm_algorithms/src/AFP_SiTEfficiency.cxx | 74 +++++++++++++++++++ .../python/Run3AFPExampleMonitorAlgorithm.py | 6 +- 6 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h create mode 100644 DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx diff --git a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config index 3b9c0ef32bba..5b52d19cf016 100644 --- a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config +++ b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config @@ -271,6 +271,7 @@ dir AFP { display = LogZ,Draw=COLZ dir (?P<station>(far|near)[AC]side) { regex = 1 + algorithm = AFPSiTEfficiency output = AFP/SiT/Efficiency/${station} hist Efficiency_(?P=station)_P[0123] { } @@ -780,6 +781,12 @@ algorithm AFPToFEfficiency { thresholds = AFPToFEfficiencyThreshold } +algorithm AFPSiTEfficiency { + libname = libdqm_algorithms.so + name = AFP_SiTEfficiency + thresholds = AFPSiTEfficiencyThreshold +} + ############################################################ # Thresholds ############################################################ @@ -829,3 +836,10 @@ thresholds AFPToFEfficiencyThreshold { error = 3 } } + +thresholds AFPSiTEfficiencyThreshold { + limits NEfficiency { + warning = 85 + error = 60 + } +} \ No newline at end of file diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h b/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h new file mode 100644 index 000000000000..8b28ea4f59ba --- /dev/null +++ b/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h @@ -0,0 +1,33 @@ +/* + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef DQM_Algorithms_AFP_SiTEfficiency_H +#define DQM_Algorithms_AFP_SiTEfficiency_H + +#include <dqm_core/Algorithm.h> +#include <dqm_core/AlgorithmConfig.h> +#include <dqm_core/Result.h> + +#include <TObject.h> + +#include <map> +#include <ostream> +#include <string> +#include <utility> +#include <vector> + +namespace dqm_algorithms { + class AFP_SiTEfficiency : public dqm_core::Algorithm { + public: + AFP_SiTEfficiency(); + ~AFP_SiTEfficiency(); + + AFP_SiTEfficiency* clone() override; + dqm_core::Result* execute( const std::string& name, const TObject& object, const dqm_core::AlgorithmConfig& config ) override; + void printDescriptionTo( std::ostream& out ) override; + + }; +} // namespace dqm_algorithms + +#endif // DQM_Algorithms_AFP_SiTEfficiency_H diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h b/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h index bc070a80961c..e13409ca9a51 100644 --- a/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h +++ b/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h @@ -18,6 +18,7 @@ #include "dqm_algorithms/AFP_LBsOutOfRange.h" #include "dqm_algorithms/AFP_ToFSiTCorrCheck.h" #include "dqm_algorithms/AFP_ToFEfficiency.h" +#include "dqm_algorithms/AFP_SiTEfficiency.h" #include "dqm_algorithms/All_Bins_Filled.h" #include "dqm_algorithms/AveragePrint.h" #include "dqm_algorithms/BasicGraphCheck.h" diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml b/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml index e9d1904c5bba..a84ad4287d7b 100644 --- a/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml +++ b/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml @@ -13,6 +13,7 @@ <class name="dqm_algorithms::AFP_LBsOutOfRange"/> <class name="dqm_algorithms::AFP_ToFSiTCorrCheck"/> <class name="dqm_algorithms::AFP_ToFEfficiency"/> + <class name="dqm_algorithms::AFP_SiTEfficiency"/> <class name="dqm_algorithms::All_Bins_Filled"/> <class name="dqm_algorithms::AveragePrint"/> <class name="dqm_algorithms::BasicGraphCheck"/> diff --git a/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx b/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx new file mode 100644 index 000000000000..bf2b21a9d886 --- /dev/null +++ b/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx @@ -0,0 +1,74 @@ +/* + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration +*/ + +#include "dqm_algorithms/AFP_SiTEfficiency.h" + +#include <dqm_algorithms/tools/AlgorithmHelper.h> +#include <dqm_core/AlgorithmManager.h> +#include "dqm_core/AlgorithmConfig.h" +#include <dqm_core/exceptions.h> + +#include <TDirectory.h> +#include <TH1.h> +#include <TH2.h> +#include <TEfficiency.h> +#include <TFile.h> + +namespace { + static dqm_algorithms::AFP_SiTEfficiency instance; +} + +dqm_algorithms::AFP_SiTEfficiency::AFP_SiTEfficiency() { + dqm_core::AlgorithmManager::instance().registerAlgorithm( "AFP_SiTEfficiency", this ); +} + +dqm_algorithms::AFP_SiTEfficiency::~AFP_SiTEfficiency() { +} + +dqm_algorithms::AFP_SiTEfficiency* +dqm_algorithms::AFP_SiTEfficiency::clone() { + return new AFP_SiTEfficiency(); +} + +dqm_core::Result* +dqm_algorithms::AFP_SiTEfficiency::execute( const std::string& name, + const TObject& object, + const dqm_core::AlgorithmConfig& config ) { + if ( !object.IsA()->InheritsFrom( "TEfficiency" ) ) { + throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TEfficiency" ); + } + + auto histogram = static_cast<const TEfficiency*>( &object ); + + auto gthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getGreenThresholds() ) ); + auto rthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getRedThresholds() ) ); + float efficiency = 0; + + TH1* h_total = histogram->GetCopyTotalHisto(); + TH1* h_passed = histogram->GetCopyPassedHisto(); + + float n_total = float ( h_total->GetEntries() ); + float n_passed = float ( h_passed->GetEntries() ); + efficiency = n_passed/n_total*100; + + auto result = new dqm_core::Result(); + + // publish problematic bins + result->tags_[ "Plane efficiency = " ] = efficiency; + + if ( efficiency == 0 ) + result->status_ = dqm_core::Result::Undefined; + else if ( efficiency > gthreshold ) + result->status_ = dqm_core::Result::Green; + else if ( ( efficiency <= gthreshold ) && (efficiency > rthreshold) ) + result->status_ = dqm_core::Result::Yellow; + else + result->status_ = dqm_core::Result::Red; + + return result; +} + +void dqm_algorithms::AFP_SiTEfficiency::printDescriptionTo( std::ostream& out ) { + out << "AFP_SiTEfficiency: Print out if general plane efficiency is less than limit"<< std::endl; +} diff --git a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py index 071f512f0072..f20ad7a273c5 100644 --- a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py +++ b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py @@ -234,10 +234,10 @@ if __name__=='__main__': # Set the Athena configuration flags from AthenaConfiguration.AllConfigFlags import initConfigFlags flags = initConfigFlags() - #flags.Input.Files = ['/eos/user/v/vlysenko/DQ/testing/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1'] - flags.Input.Files = ['/eos/user/l/lvicenik/afp_data/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1'] + flags.Input.Files = ['/eos/user/v/vlysenko/DQ/testing/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1'] + #flags.Input.Files = ['/eos/user/l/lvicenik/afp_data/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1'] flags.Input.isMC = False - flags.Output.HISTFileName = 'clean-AFPTest-24.root' + flags.Output.HISTFileName = 'dqm-AFPTest-24.root' flags.Concurrency.NumThreads=10 -- GitLab From ee368381e73a91655983f50ae094a3d418c9ce13 Mon Sep 17 00:00:00 2001 From: Alexis Elizabeth Mulski <alexis.mulski@cern.ch> Date: Thu, 20 Mar 2025 08:03:41 +0000 Subject: [PATCH 10/44] Fix of the Muon Spectrometer slow particle (MuGirlStau) reconstruction chain (temporary/flag-enabled) Apply 1 suggestion(s) to 1 file(s) Co-authored-by: Johannes Junggeburth <johannes.josef.junggeburth@cern.ch> --- .../src/MuonPRDSelectionTool.cxx | 8 +- .../src/MuonPRDSelectionTool.h | 4 +- .../IMuonPRDSelectionTool.h | 2 +- .../MuonRecToolInterfaces/IMuonSegmentMaker.h | 2 +- .../src/MuonSystemExtensionTool.cxx | 323 +++++++++--------- .../src/MuonSystemExtensionTool.h | 25 +- .../src/DCMathSegmentMaker.cxx | 12 +- .../src/DCMathSegmentMaker.h | 6 +- .../src/MuonInDetToMuonSystemExtensionAlg.cxx | 5 +- .../python/MuonCombinedRecToolsConfig.py | 24 +- .../src/MuonStauRecoTool.cxx | 50 +-- .../src/MuonStauRecoTool.h | 4 +- .../src/MuTagMatchingTool.cxx | 2 + Tools/PROCTools/data/q442_AOD_content.ref | 66 ++++ Tools/PROCTools/data/q449_AOD_digest.ref | 4 +- Tools/WorkflowTestRunner/python/References.py | 8 +- 16 files changed, 308 insertions(+), 237 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.cxx b/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.cxx index 1157a8049399..51106b60ec58 100644 --- a/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.cxx +++ b/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.cxx @@ -75,14 +75,12 @@ namespace Muon { } - const MdtDriftCircleOnTrack* MuonPRDSelectionTool::calibrateAndSelect( const MuonSystemExtension::Intersection& intersection, const MdtPrepData& mdt ) const { + const MdtDriftCircleOnTrack* MuonPRDSelectionTool::calibrateAndSelect( const MuonSystemExtension::Intersection& intersection, const MdtPrepData& mdt, double beta) const { // calculate intersection with tube const Amg::Vector3D& direction = intersection.trackParameters->momentum(); Amg::Vector3D intersect = intersectMDT(mdt,intersection.trackParameters->position(),direction,true); - // get the error in the precision plane - double err_precision = Amg::error(*intersection.trackParameters->covariance(),Trk::locX); // calculate local position of the intersection in tube frame const Identifier& id = mdt.identify(); @@ -99,7 +97,7 @@ namespace Muon { double distanceAlongTube = localPosition[Trk::locZ]; if( msgLvl(MSG::VERBOSE) ) msg(MSG::VERBOSE) << " Intersected " << m_idHelperSvc->toString(id) << " distance to wire " << localPosition[Trk::locR] - << " error " << err_precision << " along tube (%) " << distanceAlongTube/tubeHalfLen; + << " error " << Amg::error(*intersection.trackParameters->covariance(),Trk::locX) << " along tube (%) " << distanceAlongTube/tubeHalfLen; if( std::abs(distanceAlongTube) > tubeHalfLen + m_secondCoordinateCut ) { if( msgLvl(MSG::VERBOSE) ) msg(MSG::VERBOSE) << " outside tube second coordinate range, dropping " << endmsg; @@ -120,7 +118,7 @@ namespace Muon { if( msgLvl(MSG::VERBOSE) ) msg(MSG::VERBOSE) << endmsg; // calibrate hit - const MdtDriftCircleOnTrack* mdtROT = m_mdtCreator->createRIO_OnTrack( mdt, intersect, &direction ); + const MdtDriftCircleOnTrack* mdtROT = m_mdtCreator->createRIO_OnTrack( mdt, intersect, &direction, 0., nullptr, beta, 0.); if( !mdtROT ) ATH_MSG_VERBOSE(" Failed to calibrate " << m_idHelperSvc->toString(id)); return mdtROT; } diff --git a/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.h b/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.h index 1bf85f5454ca..b963ea1813e2 100644 --- a/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.h +++ b/MuonSpectrometer/MuonCnv/MuonPrepRawDataProviderTools/src/MuonPRDSelectionTool.h @@ -36,7 +36,7 @@ namespace Muon { bool calibrateAndSelect( const MuonSystemExtension::Intersection& intersection, const MuonLayerPrepRawData& layerPrepRawData, MuonLayerROTs& layerROTs ) const; /** calibrate and select MDTs in a collection */ - bool calibrateAndSelectMdt( const MuonSystemExtension::Intersection& intersection, const MdtPrepDataCollection& prds, std::vector<const MdtDriftCircleOnTrack*>& rots ) const { + bool calibrateAndSelectMdt( const MuonSystemExtension::Intersection& intersection, const MdtPrepDataCollection& prds, std::vector<const MdtDriftCircleOnTrack*>& rots) const { for( MdtPrepDataCollection::const_iterator it = prds.begin(); it != prds.end();++it ){ const MdtDriftCircleOnTrack* rot = calibrateAndSelect(intersection,**it); if( rot ) rots.push_back(rot); @@ -55,7 +55,7 @@ namespace Muon { } /** IMuonPRDSelectionTool interface: calibrate and select single MDT */ - const MdtDriftCircleOnTrack* calibrateAndSelect( const MuonSystemExtension::Intersection& intersection, const MdtPrepData& mdt ) const; + const MdtDriftCircleOnTrack* calibrateAndSelect( const MuonSystemExtension::Intersection& intersection, const MdtPrepData& mdt, double beta = 1.) const; /** IMuonPRDSelectionTool interface: calibrate and select single cluster */ const MuonClusterOnTrack* calibrateAndSelect( const Trk::TrackParameters& pars, const MuonCluster& clus ) const; diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonPRDSelectionTool.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonPRDSelectionTool.h index 69b314acdf29..a7b9584ec2ac 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonPRDSelectionTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonPRDSelectionTool.h @@ -37,7 +37,7 @@ namespace Muon { /** IMuonPRDSelectionTool interface: calibrate and select single MDT */ virtual const MdtDriftCircleOnTrack* calibrateAndSelect(const MuonSystemExtension::Intersection& intersection, - const MdtPrepData& mdt) const = 0; + const MdtPrepData& mdt, double beta = 1.) const = 0; /** IMuonPRDSelectionTool interface: calibrate and select single cluster */ virtual const MuonClusterOnTrack* calibrateAndSelect(const Trk::TrackParameters& pars, const MuonCluster& clus) const = 0; diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonSegmentMaker.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonSegmentMaker.h index 900c51f4b288..992ff3dc7d95 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonSegmentMaker.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonSegmentMaker.h @@ -109,7 +109,7 @@ namespace Muon { */ virtual void find(const Amg::Vector3D& gpos, const Amg::Vector3D& gdir, const std::vector<const MdtDriftCircleOnTrack*>& mdts, const std::vector<const MuonClusterOnTrack*>& clusters, bool updatePhi = false, - Trk::SegmentCollection* segColl = nullptr, double momentum = 1e9, double sinAngleCut = 0.) const = 0; + Trk::SegmentCollection* segColl = nullptr, double momentum = 1e9, double sinAngleCut = 0., double beta = 1.) const = 0; /** @brief seeded segment search starting from a list of MdtDriftCircleOnTrack objects and a list of MuonClusterOnTrack objects @param road an estimate of the position and direction of the muon in the chamber diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.cxx index 639fe1d07020..e34f4c3db0b0 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.cxx @@ -1,10 +1,11 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "MuonSystemExtensionTool.h" - #include "EventPrimitives/EventPrimitivesHelpers.h" +#include "GeoPrimitives/GeoPrimitivesHelpers.h" +#include "GeoPrimitives/GeoPrimitivesToStringConverter.h" #include "EventPrimitives/EventPrimitivesCovarianceHelpers.h" #include "MuonCombinedEvent/InDetCandidate.h" #include "MuonCombinedEvent/TagBase.h" @@ -15,20 +16,26 @@ #include "TrkSurfaces/DiscSurface.h" #include "TrkSurfaces/PlaneSurface.h" -namespace { - std::string to_string(const Trk::TrackParameters& pars) { - std::stringstream sstr; - sstr<<"position: "<<pars.position().x()<<", "<<pars.position().y()<<", "<<pars.position().z() - <<" -- momentum: "<<pars.momentum().x()<<", "<<pars.momentum().y()<<", "<<pars.momentum().z()<<" "; - if (pars.covariance()) - sstr<<" -- uncertainties Lx:"<<Amg::error(*pars.covariance(), Trk::locX)<< - ", Ly: "<< Amg::error(*pars.covariance(), Trk::locY); - return sstr.str(); +namespace{ + template <class T> + std::string to_string(const std::vector<T>& v) { + std::stringstream ostr{}; + ostr<<"{"; + for (auto x: v)ostr<<x<<", "; + ostr<<"}"; + return ostr.str(); + } + /** @brief Calculate the path from the origin along the track parameters */ + double pathAlongPars(const Trk::TrackParameters& pars, const Amg::Vector3D& pos) { + const Amg::Vector3D parDir{pars.momentum().unit()}; + return (pars.position().dot(parDir) > 0 ? 1 : -1) * (parDir.dot(pos)); } } - namespace Muon { + + + MuonSystemExtensionTool::MuonSystemExtensionTool(const std::string& type, const std::string& name, const IInterface* parent) : AthAlgTool(type, name, parent) { declareInterface<IMuonSystemExtensionTool>(this); @@ -45,17 +52,14 @@ namespace Muon { bool MuonSystemExtensionTool::initializeGeometry() { // initialize reference surfaces hash vectors per region and sector - m_referenceSurfaces.resize(MuonStationIndex::DetectorRegionIndexMax); - for (auto& vec : m_referenceSurfaces) vec.resize(MuonStationIndex::numberOfSectors()); // first build the barrel, we need different reference planes for all sectors ATH_MSG_DEBUG("Initializing barrel "); for (unsigned int sector = 1; sector <= 16; ++sector) { // get rotation into sector frame double sectorPhi = m_sectorMapping.sectorPhi(sector); - Amg::AngleAxis3D sectorRotation(sectorPhi, Amg::Vector3D(0., 0., 1.)); + const Amg::Transform3D sectorRotation(Amg::getRotateZ3D(sectorPhi)); if (!initializeGeometryBarrel(sector, sectorRotation)) return false; - if (!initializeGeometryEndcap(sector, MuonStationIndex::EndcapA, sectorRotation)) return false; if (!initializeGeometryEndcap(sector, MuonStationIndex::EndcapC, sectorRotation)) return false; } @@ -64,7 +68,7 @@ namespace Muon { } bool MuonSystemExtensionTool::initializeGeometryEndcap(int sector, MuonStationIndex::DetectorRegionIndex regionIndex, - const Amg::AngleAxis3D& sectorRotation) { + const Amg::Transform3D& sectorRotation) { ATH_MSG_DEBUG("Initializing endcap: sector " << sector << " " << MuonStationIndex::regionName(regionIndex)); SurfaceVec& surfaces = m_referenceSurfaces[regionIndex][sector - 1]; @@ -77,38 +81,29 @@ namespace Muon { // calculate reference position from radial position of the layer MuonStationIndex::LayerIndex layer = MuonStationIndex::toLayerIndex(stLayer); MuonChamberLayerDescriptor layerDescriptor = chamberLayerDescription.getDescriptor(sector, regionIndex, layer); - Amg::Vector3D globalPosition(0., 0., layerDescriptor.referencePosition); - // reference transform + surface - Amg::Transform3D trans(sectorRotation); //*Amg::AngleAxis3D(xToZRotation,Amg::Vector3D(0.,1.,0.) - trans.pretranslate(globalPosition); - - Trk::PlaneSurface* surface = new Trk::PlaneSurface(trans); - MuonLayerSurface data(MuonLayerSurface::SurfacePtr(surface), sector, regionIndex, layer); - surfaces.push_back(std::move(data)); - + Amg::Transform3D trans{Amg::getTranslateZ3D(layerDescriptor.referencePosition) *sectorRotation}; //*Amg::AngleAxis3D(xToZRotation,Amg::Vector3D(0.,1.,0.) + std::unique_ptr<Trk::PlaneSurface> surface = std::make_unique<Trk::PlaneSurface>(trans); // sanity checks if (msgLvl(MSG::VERBOSE)) { - for (unsigned int test = 0; test < 2; ++test) { - Amg::Vector3D lpos3d = surface->transform().inverse() * globalPosition; - Amg::Vector2D lpos; - surface->globalToLocal(globalPosition, globalPosition, lpos); - - ATH_MSG_VERBOSE(" sector " << sector << " layer " << MuonStationIndex::layerName(layer) << " hit x " - << globalPosition.x() << " hit z " << globalPosition.z() << " lpos3d " << lpos3d.x() << " " - << lpos3d.y() << " " << lpos3d.z() << " lpos " << lpos[Trk::loc1] << " " << lpos[Trk::loc2] - << " center " << surface->center().z() << " normal: phi " << surface->normal().phi() - << " theta " << surface->normal().theta() << " normal: x " << surface->normal().x() << " y " - << surface->normal().y() << " z " << surface->normal().z()); - globalPosition[0] += 100; - } + ATH_MSG_VERBOSE("initializeGeometryEndcap() -- sector " << sector << " layer " << MuonStationIndex::layerName(layer) << " surface " + <<Amg::toString(surface->transform()) + << " center " << Amg::toString(surface->center()) << " theta " << surface->normal().theta() + << " normal: " <<Amg::toString(surface->normal())); + + } + + MuonLayerSurface data(std::move(surface), sector, regionIndex, layer); + surfaces.push_back(std::move(data)); + + } ATH_MSG_VERBOSE(" Total number of surfaces " << surfaces.size()); return true; } - bool MuonSystemExtensionTool::initializeGeometryBarrel(int sector, const Amg::AngleAxis3D& sectorRotation) { + bool MuonSystemExtensionTool::initializeGeometryBarrel(int sector, const Amg::Transform3D& sectorRotation) { MuonChamberLayerDescription chamberLayerDescription; SurfaceVec& surfaces = m_referenceSurfaces[MuonStationIndex::Barrel][sector - 1]; @@ -125,28 +120,22 @@ namespace Muon { Amg::Vector3D globalPosition = sectorRotation * positionInSector; // reference transform + surface - Amg::Transform3D trans(sectorRotation * Amg::AngleAxis3D(xToZRotation, Amg::Vector3D(0., 1., 0.))); + Amg::Transform3D trans(sectorRotation * Amg::getRotateY3D(xToZRotation)); trans.pretranslate(globalPosition); - Trk::PlaneSurface* surface = new Trk::PlaneSurface(trans); - - MuonLayerSurface data(MuonLayerSurface::SurfacePtr(surface), sector, MuonStationIndex::Barrel, layer); - surfaces.push_back(std::move(data)); - + std::unique_ptr<Trk::PlaneSurface> surface = std::make_unique<Trk::PlaneSurface>(trans); // sanity checks if (msgLvl(MSG::VERBOSE)) { - Amg::Vector3D lpos3d = surface->transform().inverse() * globalPosition; - // Amg::Vector3D lpos3d2 = surface->transform().inverse()*globalPosition2; - Amg::Vector2D lpos; - surface->globalToLocal(globalPosition, globalPosition, lpos); double sectorPhi = m_sectorMapping.sectorPhi(sector); - ATH_MSG_VERBOSE(" sector " << sector << " layer " << MuonStationIndex::layerName(layer) << " phi " << sectorPhi << " ref theta " << globalPosition.theta() << " phi " << globalPosition.phi() << " r " - << globalPosition.perp() << " pos " << globalPosition.x() << " " << globalPosition.y() << " " - << globalPosition.z() << " lpos3d " << lpos3d.x() << " " << lpos3d.y() << " " << lpos3d.z() - << " normal: x " << surface->normal().x() << " y " << surface->normal().y() << " z " - << surface->normal().z()); + << globalPosition.perp() << " pos " << Amg::toString(globalPosition) + << " lpos3d " << Amg::toString(surface->transform().inverse() * globalPosition) + << " normal: " << Amg::toString(surface->normal())); } + MuonLayerSurface data(std::move(surface), sector, MuonStationIndex::Barrel, layer); + surfaces.push_back(std::move(data)); + + } return true; } @@ -188,49 +177,46 @@ namespace Muon { std::vector<MuonSystemExtension::Intersection> intersections; // garbage collection - std::vector<std::shared_ptr<const Trk::TrackParameters> > trackParametersVec; + std::vector<std::shared_ptr<Trk::TrackParameters> > trackParametersVec; // loop over reference surfaces for (const Muon::MuonLayerSurface& it : surfaces) { // extrapolate to next layer const Trk::Surface& surface = *it.surfacePtr; - ATH_MSG_VERBOSE(" startPars: "<<to_string(*currentPars)); + ATH_MSG_VERBOSE(" startPars: "<<m_printer->print(*currentPars)); ATH_MSG_VERBOSE(" destination: sector " << it.sector << " " << MuonStationIndex::regionName(it.regionIndex) << " " << MuonStationIndex::layerName(it.layerIndex) << " phi " << surface.center().phi() << " r " << surface.center().perp() << " z " << surface.center().z()); - std::unique_ptr<const Trk::TrackParameters> exPars{ - m_extrapolator->extrapolate(ctx, *currentPars, surface, Trk::alongMomentum, false, Trk::muon)}; + std::unique_ptr<Trk::TrackParameters> exPars{m_extrapolator->extrapolate(ctx, *currentPars, surface, + Trk::alongMomentum, false, Trk::muon)}; if (!exPars) { ATH_MSG_VERBOSE("extrapolation failed, trying next layer "); continue; } - ATH_MSG_DEBUG("Extrapolated in event "<<ctx.eventID().event_number()<<" track @ "<<to_string(*exPars)); + ATH_MSG_DEBUG("Extrapolated in event "<<ctx.eventID().event_number()<<" track @ "<<m_printer->print(*exPars)); // reject intersections with very big uncertainties (parallel to surface) - constexpr double TenMeter = 10. * Gaudi::Units::meter; const double sigma_lx = Amg::error(*exPars->covariance(), Trk::locX); const double sigma_ly = Amg::error(*exPars->covariance(), Trk::locY); - if (!Amg::hasPositiveDiagElems(*exPars->covariance()) || std::max(sigma_lx, sigma_ly) > TenMeter){ - ATH_MSG_DEBUG("Reject bad extrapolation "<<to_string(*exPars)); + if (!Amg::hasPositiveDiagElems(*exPars->covariance()) || std::max(sigma_lx, sigma_ly) > 1. * Gaudi::Units::meter){ + ATH_MSG_DEBUG("Reject bad extrapolation "<<m_printer->print(*exPars)); continue; } // create shared pointer and add to garbage collection - std::shared_ptr<const Trk::TrackParameters> sharedPtr{std::move(exPars)}; + std::shared_ptr<Trk::TrackParameters> sharedPtr{std::move(exPars)}; trackParametersVec.emplace_back(sharedPtr); - MuonSystemExtension::Intersection intersection = makeInterSection(sharedPtr, it); - if (intersection.trackParameters) intersections.push_back(std::move(intersection)); - + intersections.emplace_back(sharedPtr, it); constexpr double TenCm = 10. * Gaudi::Units::cm; if(std::hypot(sigma_lx, sigma_ly) < std::max(TenCm, 10. * std::hypot(Amg::error(*currentPars->covariance(), Trk::locX), Amg::error(*currentPars->covariance(), Trk::locY)))) { // only update the parameters if errors don't blow up currentPars = sharedPtr.get(); } else { - ATH_MSG_DEBUG("Extrapolation reached at "<<to_string(*sharedPtr)<<" has larger uncertainties than "<< - to_string(*currentPars)); + ATH_MSG_DEBUG("Extrapolation reached at "<<m_printer->print(*sharedPtr)<<" has larger uncertainties than "<< + m_printer->print(*currentPars)); } } ATH_MSG_DEBUG("Completed extrapolation: destinations " << surfaces.size() << " intersections " << intersections.size()); @@ -239,38 +225,10 @@ namespace Muon { <<" will accept the candidate: "<< (!cache.requireSystemExtension ? "si": "no")); return !cache.requireSystemExtension; } - cache.candidate->setExtension( - std::make_unique<MuonSystemExtension>(cache.candidate->getCaloExtension()->muonEntryLayerIntersection(), std::move(intersections))); + cache.candidate->setExtension(std::make_unique<MuonSystemExtension>(cache.candidate->getCaloExtension()->muonEntryLayerIntersection(), + std::move(intersections))); return true; } - MuonSystemExtension::Intersection MuonSystemExtensionTool::makeInterSection(const std::shared_ptr<const Trk::TrackParameters>& sharedPtr, const MuonLayerSurface& it) const{ - if (sharedPtr && it.regionIndex != MuonStationIndex::Barrel) { - // in the endcaps we need to update the sector and check that we are in the correct sector - double phi = sharedPtr->position().phi(); - std::vector<int> sectors; - m_sectorMapping.getSectors(phi, sectors); - - // loop over sectors, if the surface sector and the sector in the loop are either both large or small, pick - // the sector - int sector = -1; - for (const int& sec : sectors) { - if (it.sector % 2 == sec % 2) { - sector = sec; - break; - } - } - ATH_MSG_DEBUG(" sector " << it.sector << " selected " << sector << " nsectors " << sectors); - // only select if we found a matching sector in the set - if (sector != -1) { - MuonSystemExtension::Intersection intersection{sharedPtr, it}; - intersection.layerSurface.sector = sector; - return intersection; - } - return MuonSystemExtension::Intersection{nullptr, it}; - } - return MuonSystemExtension::Intersection{sharedPtr, it}; - } - MuonSystemExtensionTool::SurfaceVec MuonSystemExtensionTool::getSurfacesForIntersection(const Trk::TrackParameters& muonEntryPars, const SystemExtensionCache& cache) const { // if in endcaps pick endcap surfaces @@ -304,90 +262,123 @@ namespace Muon { surfaces.insert(surfaces.end(), m_referenceSurfaces[regionIndex][sector - 1].begin(), m_referenceSurfaces[regionIndex][sector - 1].end()); } - auto sortFunction = (regionIndex == MuonStationIndex::Barrel) - ? [](const MuonLayerSurface& s1, - const MuonLayerSurface& s2) { return s1.surfacePtr->center().perp() < s2.surfacePtr->center().perp(); } - : [](const MuonLayerSurface& s1, const MuonLayerSurface& s2) { - return std::abs(s1.surfacePtr->center().z()) < std::abs(s2.surfacePtr->center().z()); - }; - - std::stable_sort(surfaces.begin(), surfaces.end(), sortFunction); + std::stable_sort(surfaces.begin(), surfaces.end(), + [&muonEntryPars](const MuonLayerSurface& s1, const MuonLayerSurface& s2) { + return std::abs(pathAlongPars(muonEntryPars,s1.surfacePtr->center())) < + std::abs(pathAlongPars(muonEntryPars,s2.surfacePtr->center())); + + }); + if (msgLvl(MSG::VERBOSE)) { + for (auto& s1 : surfaces) { + ATH_MSG_VERBOSE("Surface "<<Muon::MuonStationIndex::layerName(s1.layerIndex) + <<", center: "<<Amg::toString(s1.surfacePtr->center()) + <<", pathAlongPars "<<pathAlongPars(muonEntryPars,s1.surfacePtr->center()) + <<std::endl<<(*s1.surfacePtr)); + + } + } return surfaces; } bool MuonSystemExtensionTool::muonLayerInterSections(const EventContext& ctx, - const MuonCombined::TagBase& cmb_tag, - SystemExtensionCache& cache) const{ + const MuonCombined::TagBase& cmbTag, + SystemExtensionCache& cache) const{ - const Trk::Track* cmb_trk = cmb_tag.primaryTrack(); - if (!cmb_trk){ - ATH_MSG_WARNING("A combined tag without any track? Please check "<<cmb_tag.toString()); + const Trk::Track* cmbTrk = cmbTag.primaryTrack(); + if (!cmbTrk){ + ATH_MSG_WARNING("A combined tag without any track? Please check "<<cmbTag.toString()); return false; } /// Get the proper surfaces for the intersections - const Trk::TrackParameters* entry_pars = cache.candidate->getCaloExtension()->muonEntryLayerIntersection(); - const Trk::TrackStates* const cmb_tsos = cmb_trk->trackStateOnSurfaces(); - /// Copy all track parameters in the MS into a separate vector - std::vector<const Trk::TrackStateOnSurface*> ms_tsos; - ms_tsos.reserve(cmb_tsos->size()); - std::copy_if(cmb_tsos->begin(), cmb_tsos->end(), ms_tsos.end(),[this, entry_pars](const Trk::TrackStateOnSurface* tsos){ - if (!(tsos->type(Trk::TrackStateOnSurface::Perigee) || tsos->type(Trk::TrackStateOnSurface::Parameter))) - return false; - const Trk::TrackParameters* params = tsos->trackParameters(); - if (!params) return false; - const Trk::Surface& surf = params->associatedSurface(); - if (!surf.associatedDetectorElement()) { - return entry_pars->associatedSurface().normal().dot(params->position() - entry_pars->associatedSurface().center())>0; + const Trk::TrackParameters* entryPars = cache.candidate->getCaloExtension()->muonEntryLayerIntersection(); + std::vector<const Trk::TrackStateOnSurface*> cmbParVec{}; + + ATH_MSG_VERBOSE("Calo entry parameters "<<m_printer->print(*entryPars)); + std::vector<Muon::MuonSystemExtension::Intersection> intersections{}; + Muon::MuonLayerSurface lastSurf{}; + + const Trk::TrackStates::const_iterator end_itr = cmbTrk->trackStateOnSurfaces()->end(); + for (Trk::TrackStates::const_iterator itr = cmbTrk->trackStateOnSurfaces()->begin(); itr != end_itr; ++itr) { + const Trk::TrackStateOnSurface* msTSOS{*itr}; + ATH_MSG_VERBOSE("Track state "<<m_printer->print(*msTSOS)); + + if (!msTSOS->measurementOnTrack()) { + continue; + } + const Identifier measId = m_edmHelperSvc->getIdentifier(*msTSOS->measurementOnTrack()); + const Trk::TrackParameters& msPars{*msTSOS->trackParameters()}; + /** The parameters are not muon paramaters or the parameters are before the entrance parameters */ + if (!m_idHelperSvc->isMuon(measId) || pathAlongPars(msPars, msPars.position() - entryPars->position())< 0.){ + continue; + } + + Muon::MuonStationIndex::DetectorRegionIndex regionIdx = m_idHelperSvc->regionIndex(measId); + Muon::MuonStationIndex::LayerIndex layerIdx = m_idHelperSvc->layerIndex(measId); + if (layerIdx == Muon::MuonStationIndex::BarrelExtended) { + regionIdx = Muon::MuonStationIndex::DetectorRegionIndex::Barrel; + layerIdx = Muon::MuonStationIndex::Inner; } - return m_idHelperSvc->isMuon(surf.associatedDetectorElement()->identify()); - }); - - if (ms_tsos.empty()){ - ATH_MSG_VERBOSE("A combined track without track parameters in the MS. THat should not happen"); - return false; - } - - SurfaceVec surfaces = getSurfacesForIntersection(*entry_pars, cache); - if (surfaces.empty()) { - ATH_MSG_DEBUG("MS extenion without surfaces.. "<<cache.candidate->toString()); - return false; - } - - std::vector<Muon::MuonSystemExtension::Intersection> intersections; - - std::vector<const Trk::TrackStateOnSurface*>::const_iterator itr = ms_tsos.begin(); - std::vector<const Trk::TrackStateOnSurface*>::const_iterator end = ms_tsos.end(); - for (const Muon::MuonLayerSurface& it : surfaces) { - const Trk::Surface& surf = *(it.surfacePtr); - /// Calculate the minimum distance to the plane - itr = std::min_element(itr, end, [&surf](const Trk::TrackStateOnSurface* a, const Trk::TrackStateOnSurface* b) { - return std::abs(surf.normal().dot(a->trackParameters()->position() - surf.center())) < - std::abs(surf.normal().dot(b->trackParameters()->position() - surf.center())); - }); - const Trk::TrackParameters* trk_pars = (*itr)->trackParameters(); - - const Amg::Vector3D pos = trk_pars->position(); - const bool isBarrel = it.regionIndex == MuonStationIndex::Barrel; - ATH_MSG_VERBOSE("Distance of closest parameters to the surface: "<< std::sqrt(std::abs(surf.normal().dot(pos - surf.center())))); - - - const Trk::PropDirection dir = (isBarrel && pos.perp2() < surf.center().perp2()) || - (!isBarrel && std::abs(pos.z()) < std::abs(surf.center().z()) ) ? Trk::alongMomentum : Trk::oppositeMomentum; - std::shared_ptr<const Trk::TrackParameters> exPars{m_extrapolator->extrapolate(ctx, *trk_pars, surf, dir, false, Trk::muon)}; + const int sector = m_sectorMapping.getSector(msTSOS->measurementOnTrack()->associatedSurface().center().phi()); + + /// The track parameters belong the same surface. Do nothing + if (lastSurf.layerIndex == layerIdx && lastSurf.regionIndex == regionIdx && lastSurf.sector == sector) { + continue; + } + const SurfaceVec& refSurfaces = m_referenceSurfaces[regionIdx][sector - 1]; + SurfaceVec::const_iterator surfItr = std::find_if(refSurfaces.begin(), refSurfaces.end(), + [&layerIdx](const MuonLayerSurface& surf){ + return surf.layerIndex == layerIdx; + }); + if (surfItr == refSurfaces.end()) { + ATH_MSG_WARNING("Failed to find a reference surface matching to combined parameters "<<m_printer->print(*msTSOS) + <<", sector: "<<sector <<", layer: "<<Muon::MuonStationIndex::layerName(layerIdx) + <<", region index: "<<Muon::MuonStationIndex::regionName(regionIdx)); + continue; + } + lastSurf = (*surfItr); + const Trk::Surface& target{*lastSurf.surfacePtr}; + + /// Check whether there're measurement parameters that are closer to the target surface + for (Trk::TrackStates::const_iterator closePars = itr+1; closePars != end_itr; ++closePars) { + const Trk::TrackStateOnSurface * tsosInChamb{*closePars}; + if (!tsosInChamb->measurementOnTrack()) continue; + + const Trk::TrackParameters& chPars{*tsosInChamb->trackParameters()}; + if (std::abs(pathAlongPars(chPars, chPars.position() - target.center())) > + std::abs(pathAlongPars(*msTSOS->trackParameters(), + msTSOS->trackParameters()->position() - target.center()))) { + break; + } + itr = closePars -1; + msTSOS = *itr; + } + + std::unique_ptr<Trk::TrackParameters> exPars{m_extrapolator->extrapolate(ctx, *msTSOS->trackParameters(), + target, Trk::anyDirection, false, Trk::muon)}; if (!exPars) { - ATH_MSG_WARNING("Failed to extrapolate track @ "<<to_string(*trk_pars)<<" to surface "<<std::endl<<surf); + ATH_MSG_VERBOSE(__LINE__<<" - Failed to extrapolate track @ "<<m_printer->print(*msTSOS) + <<", sector: "<<sector + <<", layer: "<<Muon::MuonStationIndex::layerName(layerIdx) + <<", region index: "<<Muon::MuonStationIndex::regionName(regionIdx) + <<" to surface "<<std::endl<<target<<std::endl + <<", sector: "<<lastSurf.sector + <<", layer: "<<Muon::MuonStationIndex::layerName(lastSurf.layerIndex) + <<", region index: "<<Muon::MuonStationIndex::regionName(lastSurf.regionIndex) + <<" pathAlongPars "<<pathAlongPars(*msTSOS->trackParameters(), target.center()) + <<", dir: "<<Amg::toString(msTSOS->trackParameters()->momentum().unit())); continue; } - MuonSystemExtension::Intersection intersect = makeInterSection(exPars,it); - if (intersect.trackParameters) intersections.push_back(std::move(intersect)); + intersections.emplace_back(std::move(exPars), lastSurf); + } - /// We are trying to reconstruct the layer extensions of a combined track. - /// There is no way that this can fail + + ATH_MSG_VERBOSE("Selected "<<intersections.size()<<" intersections"); + if (intersections.empty()) { ATH_MSG_DEBUG("Failed to find the intersections for the combined track"); return false; } - cache.candidate->setExtension(std::make_unique<MuonSystemExtension>(entry_pars, std::move(intersections))); + cache.candidate->setExtension(std::make_unique<MuonSystemExtension>(entryPars, std::move(intersections))); return true; } diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.h index 67c486205e86..e89b49035a54 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTGRecTools/src/MuonSystemExtensionTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef MUON_MUONSYSTEMEXTENSIONTOOL_H @@ -12,6 +12,7 @@ #include "MuonDetDescrUtils/MuonSectorMapping.h" #include "MuonLayerEvent/MuonLayerSurface.h" #include "MuonRecToolInterfaces/IMuonSystemExtensionTool.h" +#include "MuonRecHelperTools/MuonEDMPrinterTool.h" #include "MuonStationIndex/MuonStationIndex.h" #include "RecoToolInterfaces/IParticleCaloExtensionTool.h" #include "TrkExInterfaces/IExtrapolator.h" @@ -47,32 +48,30 @@ namespace Muon { private: /** initialize geometry */ bool initializeGeometry(); - bool initializeGeometryBarrel(int sector, const Amg::AngleAxis3D& sectorRotation); + bool initializeGeometryBarrel(int sector, const Amg::Transform3D& sectorRotation); bool initializeGeometryEndcap(int sector, MuonStationIndex::DetectorRegionIndex regionIndex, - const Amg::AngleAxis3D& sectorRotation); + const Amg::Transform3D& sectorRotation); /** get surfaces to be intersected for a given start parameters */ SurfaceVec getSurfacesForIntersection(const Trk::TrackParameters& muonEntryPars, const SystemExtensionCache& cache) const; - - MuonSystemExtension::Intersection makeInterSection(const std::shared_ptr<const Trk::TrackParameters>& pars, const MuonLayerSurface& surf) const; - ToolHandle<Trk::IParticleCaloExtensionTool> m_caloExtensionTool{ this, "ParticleCaloExtensionTool", "Trk::ParticleCaloExtensionTool/ParticleCaloExtensionTool", }; - ToolHandle<Trk::IExtrapolator> m_extrapolator{ - this, - "Extrapolator", - "Trk::Extrapolator/AtlasExtrapolator", - }; + ToolHandle<Trk::IExtrapolator> m_extrapolator{this,"Extrapolator",""}; + + PublicToolHandle<MuonEDMPrinterTool> m_printer{this, "Printer", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"}; ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}; - + ServiceHandle<IMuonEDMHelperSvc> m_edmHelperSvc{this,"edmHelper","Muon::MuonEDMHelperSvc/MuonEDMHelperSvc", + "Handle to the service providing the IMuonEDMHelperSvc interface"}; + /** reference surfaces per region and sector */ - std::vector<std::vector<SurfaceVec> > m_referenceSurfaces; + std::array<std::array<SurfaceVec, 16> , + MuonStationIndex::DetectorRegionIndexMax > m_referenceSurfaces{}; /** sector mapping helper */ MuonSectorMapping m_sectorMapping; diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.cxx b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.cxx index faee75ebe1e7..c4125a0097ad 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.cxx @@ -90,7 +90,7 @@ namespace Muon { void DCMathSegmentMaker::find(const Amg::Vector3D& roadpos, const Amg::Vector3D& roaddir, const std::vector<const MdtDriftCircleOnTrack*>& mdts, const std::vector<const MuonClusterOnTrack*>& clusters, bool hasPhiMeasurements, - Trk::SegmentCollection* segColl, double momentum, double sinAngleCut) const { + Trk::SegmentCollection* segColl, double momentum, double sinAngleCut, double beta) const { const EventContext& ctx = Gaudi::Hive::currentContext(); if (m_doTimeOutChecks && Athena::Timeout::instance().reached()) { ATH_MSG_DEBUG("Timeout reached. Aborting sequence."); @@ -224,7 +224,7 @@ namespace Muon { // loop over segments segmentCreationInfo sInfo(spVecs, multiGeo.get(), gToStation, amdbToGlobal, phimin, phimax); for (TrkDriftCircleMath::Segment& seg : segs) { - std::unique_ptr<MuonSegment> segment = createSegment(ctx, seg, chid, roadpos, roaddir2, mdts, hasPhiMeasurements, sInfo); + std::unique_ptr<MuonSegment> segment = createSegment(ctx, seg, chid, roadpos, roaddir2, mdts, hasPhiMeasurements, sInfo, beta); if (segment) segColl->push_back(segment.release()); } ATH_MSG_DEBUG(" Done "); @@ -233,7 +233,7 @@ namespace Muon { std::unique_ptr<MuonSegment> DCMathSegmentMaker::createSegment(const EventContext& ctx, TrkDriftCircleMath::Segment& segment, const Identifier& chid, const Amg::Vector3D& roadpos, const Amg::Vector3D& roaddir2, const std::vector<const MdtDriftCircleOnTrack*>& mdts, bool hasPhiMeasurements, - segmentCreationInfo& sInfo) const { + segmentCreationInfo& sInfo, double beta) const { bool isEndcap = m_idHelperSvc->isEndcap(chid); // find all curved segments MuonStationIndex::ChIndex chIndex = m_idHelperSvc->chamberIndex(chid); @@ -323,7 +323,7 @@ namespace Muon { std::set<Identifier> deltaVec; std::set<Identifier> outoftimeVec; - associateMDTsToSegment(gdir, segment, mdts, sInfo.geom, sInfo.globalTrans, sInfo.amdbTrans, deltaVec, outoftimeVec, rioDistVec); + associateMDTsToSegment(gdir, segment, mdts, sInfo.geom, sInfo.globalTrans, sInfo.amdbTrans, deltaVec, outoftimeVec, rioDistVec, beta); std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>>> garbage_collector; TrkDriftCircleMath::DCSLHitSelector hitSelector; @@ -1192,7 +1192,7 @@ namespace Muon { const Amg::Vector3D& gdir, TrkDriftCircleMath::Segment& segment, const std::vector<const MdtDriftCircleOnTrack*>& mdts, const TrkDriftCircleMath::ChamberGeometry* multiGeo, const Amg::Transform3D& gToStation, const Amg::Transform3D& amdbToGlobal, std::set<Identifier>& deltaVec, std::set<Identifier>& outoftimeVec, - std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>> >& rioDistVec) const { + std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>> >& rioDistVec, double beta) const { // clear result vectors // convert segment parameters + x position from road @@ -1264,7 +1264,7 @@ namespace Muon { bool hasT0 = segment.hasT0Shift(); if (!hasT0 || m_mdtCreatorT0.empty()) { // ATH_MSG_VERBOSE(" recalibrate MDT hit"); - nonconstDC.reset(m_mdtCreator->createRIO_OnTrack(*riodc->prepRawData(), mdtGP, &gdir)); + nonconstDC.reset(m_mdtCreator->createRIO_OnTrack(*riodc->prepRawData(), mdtGP, &gdir, 0., nullptr, beta, 0.)); if (hasT0) ATH_MSG_WARNING("Attempted to change t0 without a properly configured MDT creator tool. "); } else { ATH_MSG_VERBOSE(" recalibrate MDT hit with shift " << segment.t0Shift()<<" "<<m_printer->print(*riodc)); diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.h b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.h index df6c4877612d..230c12cbe564 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.h +++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/DCMathSegmentMaker/src/DCMathSegmentMaker.h @@ -246,7 +246,7 @@ namespace Muon { */ void find(const Amg::Vector3D& gpos, const Amg::Vector3D& gdir, const std::vector<const MdtDriftCircleOnTrack*>& mdts, const std::vector<const MuonClusterOnTrack*>& clusters, bool hasPhiMeasurements = false, - Trk::SegmentCollection* segColl = nullptr, double momentum = 1e9, double sinAngleCut = 0) const; + Trk::SegmentCollection* segColl = nullptr, double momentum = 1e9, double sinAngleCut = 0, double beta = 1. ) const; /** find segments starting from: - a track prediction @@ -296,7 +296,7 @@ namespace Muon { const Amg::Vector3D& gdir, TrkDriftCircleMath::Segment& segment, const std::vector<const MdtDriftCircleOnTrack*>& mdts, const TrkDriftCircleMath::ChamberGeometry* multiGeo, const Amg::Transform3D& gToStation, const Amg::Transform3D& amdbToGlobal, std::set<Identifier>& deltaVec, std::set<Identifier>& outoftimeVec, - std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>> >& rioDistVec) const; + std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>> >& rioDistVec, double beta = 1. ) const; std::pair<std::pair<int, int>, bool> associateClustersToSegment( const TrkDriftCircleMath::Segment& segment, const Identifier& chid, const Amg::Transform3D& gToStation, ClusterVecPair& spVecs, double phimin, double phimax, std::vector<std::pair<double, std::unique_ptr<const Trk::MeasurementBase>> >& rioDistVec) const; @@ -336,7 +336,7 @@ namespace Muon { std::unique_ptr<MuonSegment> createSegment(const EventContext& ctx, TrkDriftCircleMath::Segment& segment, const Identifier& chid, const Amg::Vector3D& roadpos, const Amg::Vector3D& roaddir2, const std::vector<const MdtDriftCircleOnTrack*>& mdts, - bool hasPhiMeasurements, segmentCreationInfo& sInfo) const; + bool hasPhiMeasurements, segmentCreationInfo& sInfo, double beta = 1. ) const; const MdtPrepData* findMdt(const EventContext& ctx, const Identifier& id) const; diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonInDetToMuonSystemExtensionAlg.cxx b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonInDetToMuonSystemExtensionAlg.cxx index 6305c1390cd7..b49619526055 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonInDetToMuonSystemExtensionAlg.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonInDetToMuonSystemExtensionAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "MuonInDetToMuonSystemExtensionAlg.h" @@ -368,6 +368,9 @@ StatusCode MuonInDetToMuonSystemExtensionAlg::createStaus(const EventContext& ct } SG::WriteHandle<InDetCandidateCollection> indetCandidateCollection(m_stauInDetCandKey, ctx); + // sort candidates beofre storing, otherwise ordering in container of stau segments can be inconsistent + std::sort(stau_cache.outputContainer->begin(),stau_cache.outputContainer->end(),[](const MuonCombined::InDetCandidate*a, const MuonCombined::InDetCandidate*b){ + return a->indetTrackParticle().pt() < b->indetTrackParticle().pt();}); ATH_CHECK(indetCandidateCollection.record(std::move(stau_cache.outputContainer))); return StatusCode::SUCCESS; } diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py index d693d33fa045..fe05a2d4bcd7 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py +++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py @@ -106,11 +106,10 @@ def MuonMaterialProviderToolCfg(flags, name="MuonTrkMaterialProviderTool", **kw def MuonSegmentHitSummaryToolCfg(flags, name="MuonSegmentHitSummaryTool", **kwargs): - from MuonConfig.MuonGeometryConfig import MuonDetectorCondAlgCfg - - result = MuonEDMPrinterToolCfg(flags) - kwargs.setdefault("Printer", result.getPrimary()) - result.merge(MuonDetectorCondAlgCfg(flags)) + from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg + result = ComponentAccumulator() + kwargs.setdefault("Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags))) + result.merge(MuonGeoModelCfg(flags)) kwargs.setdefault("DetectorManagerKey", "MuonDetectorManager") tool = CompFactory.Muon.MuonSegmentHitSummaryTool(name, **kwargs) result.setPrivateTools(tool) @@ -1165,14 +1164,15 @@ def MuonSystemExtensionToolCfg(flags, **kwargs): result = ComponentAccumulator() from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg - particle_calo_extension_tool = result.popToolsAndMerge( - ParticleCaloExtensionToolCfg(flags, name='MuonParticleCaloExtensionTool')) + from MuonConfig.MuonRecToolsConfig import MuonEDMPrinterToolCfg - atlas_extrapolator = result.popToolsAndMerge(AtlasExtrapolatorCfg(flags)) + kwargs.setdefault("Extrapolator", result.popToolsAndMerge(AtlasExtrapolatorCfg(flags))) + kwargs.setdefault("Printer", result.addPublicTool(result.popToolsAndMerge(MuonEDMPrinterToolCfg(flags))) ) + kwargs.setdefault("ParticleCaloExtensionTool", + result.popToolsAndMerge(ParticleCaloExtensionToolCfg(flags, + name='MuonParticleCaloExtensionTool'))) - muon_ext_tool = CompFactory.Muon.MuonSystemExtensionTool("MuonSystemExtensionTool", - ParticleCaloExtensionTool=particle_calo_extension_tool, - Extrapolator=atlas_extrapolator) + muon_ext_tool = CompFactory.Muon.MuonSystemExtensionTool("MuonSystemExtensionTool", **kwargs) result.setPrivateTools(muon_ext_tool) return result @@ -1253,4 +1253,4 @@ def MuonSegmentTagToolCfg(flags, name="MuonSegmentTagTool", **kwargs): result.setPrivateTools( CompFactory.MuonCombined.MuonSegmentTagTool(name, **kwargs)) - return result + return result \ No newline at end of file diff --git a/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.cxx index 841f8d44f622..f2a83736736f 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.cxx +++ b/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.cxx @@ -193,6 +193,8 @@ namespace MuonCombined { << " layerDataVec size" << candidate->layerDataVec.size() << " hits size" << candidate->hits.size()); + float beta = candidate->betaFitResult.beta; + // loop over layers and perform segment finding, collect segments per layer for (const auto& layerData : candidate->layerDataVec) { // store segments in layer @@ -201,7 +203,7 @@ namespace MuonCombined { // loop over maxima for (const auto& maximumData : layerData.maximumDataVec) { // find segments for intersection - findSegments(layerData.intersection, *maximumData, segments, m_muonPRDSelectionToolStau, m_segmentMaker); + findSegments(layerData.intersection, *maximumData, segments, m_muonPRDSelectionToolStau, m_segmentMaker, beta); } // skip if no segment were found @@ -1136,14 +1138,17 @@ namespace MuonCombined { void MuonStauRecoTool::findSegments(const Muon::MuonSystemExtension::Intersection& intersection, MaximumData& maximumData, std::vector<std::shared_ptr<const Muon::MuonSegment>>& segments, const ToolHandle<Muon::IMuonPRDSelectionTool>& muonPRDSelectionTool, - const ToolHandle<Muon::IMuonSegmentMaker>& segmentMaker) const { + const ToolHandle<Muon::IMuonSegmentMaker>& segmentMaker, + float beta) const { + const MuonHough::MuonLayerHough::Maximum& maximum = *maximumData.maximum; const std::vector<std::shared_ptr<const Muon::MuonClusterOnTrack>>& phiClusterOnTracks = maximumData.phiClusterOnTracks; // lambda to handle calibration and selection of MDTs auto handleMdt = [intersection, muonPRDSelectionTool](const Muon::MdtPrepData& prd, - std::vector<const Muon::MdtDriftCircleOnTrack*>& mdts) { - const Muon::MdtDriftCircleOnTrack* mdt = muonPRDSelectionTool->calibrateAndSelect(intersection, prd); + std::vector<const Muon::MdtDriftCircleOnTrack*>& mdts, + float beta) { + const Muon::MdtDriftCircleOnTrack* mdt = muonPRDSelectionTool->calibrateAndSelect(intersection, prd, beta); if (mdt) mdts.push_back(mdt); }; @@ -1175,7 +1180,7 @@ namespace MuonCombined { } else if ((*hit)->prd) { Identifier id = (*hit)->prd->identify(); if (m_idHelperSvc->isMdt(id)) - handleMdt(static_cast<const Muon::MdtPrepData&>(*(*hit)->prd), mdts); + handleMdt(static_cast<const Muon::MdtPrepData&>(*(*hit)->prd), mdts, beta); else handleCluster(static_cast<const Muon::MuonCluster&>(*(*hit)->prd), clusters); } @@ -1194,7 +1199,7 @@ namespace MuonCombined { // run segment finder std::unique_ptr<Trk::SegmentCollection> segColl(new Trk::SegmentCollection(SG::VIEW_ELEMENTS)); segmentMaker->find(intersection.trackParameters->position(), intersection.trackParameters->momentum(), mdts, clusters, - !clusters.empty(), segColl.get(), intersection.trackParameters->momentum().mag()); + !clusters.empty(), segColl.get(), intersection.trackParameters->momentum().mag(), 0, beta); if (segColl) { Trk::SegmentCollection::iterator sit = segColl->begin(); Trk::SegmentCollection::iterator sit_end = segColl->end(); @@ -1344,7 +1349,9 @@ namespace MuonCombined { : intersection.trackParameters->parameters()[Trk::locX]; float z = intersection.trackParameters->position().z(); - float errx = Amg::error(*intersection.trackParameters->covariance(), Trk::locX); + float errx = intersection.trackParameters->covariance() ? + Amg::error(*intersection.trackParameters->covariance(), Trk::locX) : 0.; + float x = barrelLike ? z : r; float y = barrelLike ? r : z; float theta = std::atan2(y, x); @@ -1356,8 +1363,8 @@ namespace MuonCombined { // lambda to handle calibration and selection of clusters auto handleCluster = [intersection, this](const Muon::MuonCluster& prd, std::vector<std::shared_ptr<const Muon::MuonClusterOnTrack>>& clusters) { - const Muon::MuonClusterOnTrack* cluster = m_muonPRDSelectionTool->calibrateAndSelect(intersection, prd); - if (cluster) clusters.push_back(std::shared_ptr<const Muon::MuonClusterOnTrack>(cluster)); + std::unique_ptr<const Muon::MuonClusterOnTrack> cluster{m_muonPRDSelectionTool->calibrateAndSelect(intersection, prd)}; + if (cluster) clusters.push_back(std::move(cluster)); }; // loop over maxima and associate phi hits with the extrapolation, should optimize this but calculating the residual with the phi @@ -1373,7 +1380,8 @@ namespace MuonCombined { Identifier id = hit->tgc->phiCluster.hitList.front()->identify(); if (m_idHelperSvc->layerIndex(id) != intersection.layerSurface.layerIndex) continue; for (const Muon::MuonCluster* prd : hit->tgc->phiCluster.hitList) handleCluster(*prd, phiClusterOnTracks); - } else if (hit->prd && !(hit->prd->type(Trk::PrepRawDataType::sTgcPrepData) || hit->prd->type(Trk::PrepRawDataType::MMPrepData))) { + } else if (hit->prd && !(hit->prd->type(Trk::PrepRawDataType::sTgcPrepData) || + hit->prd->type(Trk::PrepRawDataType::MMPrepData))) { const Identifier id = hit->prd->identify(); if (m_idHelperSvc->layerIndex(id) != intersection.layerSurface.layerIndex) continue; handleCluster(static_cast<const Muon::MuonCluster&>(*hit->prd), phiClusterOnTracks); @@ -1386,20 +1394,22 @@ namespace MuonCombined { << " angle " << theta); // loop over maxima and associate them to the extrapolation - Muon::MuonLayerHoughTool::MaximumVec::const_iterator mit = maxVec.begin(); - Muon::MuonLayerHoughTool::MaximumVec::const_iterator mit_end = maxVec.end(); - for (; mit != mit_end; ++mit) { - const MuonHough::MuonLayerHough::Maximum& maximum = **mit; - if (std::find_if(maximum.hits.begin(),maximum.hits.end(),[](const std::shared_ptr<MuonHough::Hit>& hit){ - return hit->prd && (hit->prd->type(Trk::PrepRawDataType::sTgcPrepData) || hit->prd->type(Trk::PrepRawDataType::MMPrepData)); - }) != maximum.hits.end()) continue; + for (const auto& mit : maxVec) { + const MuonHough::MuonLayerHough::Maximum& maximum = *mit; + if (std::find_if(maximum.hits.begin(),maximum.hits.end(), + [](const std::shared_ptr<MuonHough::Hit>& hit){ + return hit->prd && (hit->prd->type(Trk::PrepRawDataType::sTgcPrepData) || + hit->prd->type(Trk::PrepRawDataType::MMPrepData)); + }) != maximum.hits.end()) continue; float residual = maximum.pos - x; float residualTheta = maximum.theta - theta; float refPos = (maximum.hough != nullptr) ? maximum.hough->m_descriptor.referencePosition : 0; float maxwidth = (maximum.binposmax - maximum.binposmin); - if (maximum.hough) maxwidth *= maximum.hough->m_binsize; - - float pull = residual / std::sqrt(errx * errx + maxwidth * maxwidth / 12.); + if (maximum.hough){ + maxwidth *= maximum.hough->m_binsize; + } + const float pullUncert = std::sqrt(errx * errx + maxwidth * maxwidth / 12.); + float pull = residual / (pullUncert > std::numeric_limits<float>::epsilon() ? pullUncert : 1.) ; ATH_MSG_DEBUG(" Hough maximum " << maximum.max << " position (" << refPos << "," << maximum.pos << ") residual " << residual << " pull " << pull << " angle " << maximum.theta << " residual " << residualTheta); diff --git a/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.h b/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.h index 8db6d66ca524..e7ca65fdd516 100644 --- a/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.h +++ b/Reconstruction/MuonIdentification/MuonCombinedTrackFindingTools/src/MuonStauRecoTool.h @@ -164,7 +164,9 @@ namespace MuonCombined { void findSegments(const Muon::MuonSystemExtension::Intersection& intersection, MaximumData& maximumData, std::vector<std::shared_ptr<const Muon::MuonSegment>>& t0fittedSegments, const ToolHandle<Muon::IMuonPRDSelectionTool>& muonPRDSelectionTool, - const ToolHandle<Muon::IMuonSegmentMaker>& segmentMaker) const; + const ToolHandle<Muon::IMuonSegmentMaker>& segmentMaker, + float beta = 1.) const; + /** associate Hough maxima and associate time measurements */ bool extractTimeMeasurements(const EventContext& ctx, const Muon::MuonSystemExtension& muonSystemExtension, diff --git a/Reconstruction/MuonIdentification/MuonSegmentTaggers/MuonSegmentTaggerTools/src/MuTagMatchingTool.cxx b/Reconstruction/MuonIdentification/MuonSegmentTaggers/MuonSegmentTaggerTools/src/MuTagMatchingTool.cxx index 0bb3ce6ff8db..cc924e332a11 100644 --- a/Reconstruction/MuonIdentification/MuonSegmentTaggers/MuonSegmentTaggerTools/src/MuTagMatchingTool.cxx +++ b/Reconstruction/MuonIdentification/MuonSegmentTaggers/MuonSegmentTaggerTools/src/MuTagMatchingTool.cxx @@ -773,6 +773,8 @@ void MuTagMatchingTool::calculateLocalAngleErrors(const Muon::MuonSegment& segme void MuTagMatchingTool::calculateLocalAngleErrors(const Trk::AtaPlane& exTrack, double& angleXZerror, double& angleYZerror, double& covLocYYZ) const { + + if (!exTrack.covariance()) return; // Parameters are described as Trk::LocX, Trk::locY, Trk::phi, Trk::theta // So the errormatrix of the track 'localErrorMatrix' still holds global angle representation!!!! // retrieve Jabcobian to transform the global errors err_phi,err_theta to local errors err_alphaXZ, err_alphaYZ diff --git a/Tools/PROCTools/data/q442_AOD_content.ref b/Tools/PROCTools/data/q442_AOD_content.ref index 72a7b5060db5..002dd38806d9 100644 --- a/Tools/PROCTools/data/q442_AOD_content.ref +++ b/Tools/PROCTools/data/q442_AOD_content.ref @@ -79,6 +79,31 @@ CombinedMuonsLRTTrackParticles CombinedMuonsLRTTrackParticlesAux. CombinedStauTrackParticles CombinedStauTrackParticlesAux. +CombinedStauTrackParticlesAuxDyn.TRTdEdx +CombinedStauTrackParticlesAuxDyn.TRTdEdxUsedHits +CombinedStauTrackParticlesAuxDyn.alignEffectChId +CombinedStauTrackParticlesAuxDyn.alignEffectDeltaAngle +CombinedStauTrackParticlesAuxDyn.alignEffectDeltaTrans +CombinedStauTrackParticlesAuxDyn.alignEffectSigmaDeltaAngle +CombinedStauTrackParticlesAuxDyn.alignEffectSigmaDeltaTrans +CombinedStauTrackParticlesAuxDyn.deltaphi_0 +CombinedStauTrackParticlesAuxDyn.deltaphi_1 +CombinedStauTrackParticlesAuxDyn.deltatheta_0 +CombinedStauTrackParticlesAuxDyn.deltatheta_1 +CombinedStauTrackParticlesAuxDyn.eProbabilityNN +CombinedStauTrackParticlesAuxDyn.parameterPX +CombinedStauTrackParticlesAuxDyn.parameterPY +CombinedStauTrackParticlesAuxDyn.parameterPZ +CombinedStauTrackParticlesAuxDyn.parameterPosition +CombinedStauTrackParticlesAuxDyn.parameterX +CombinedStauTrackParticlesAuxDyn.parameterY +CombinedStauTrackParticlesAuxDyn.parameterZ +CombinedStauTrackParticlesAuxDyn.sigmadeltaphi_0 +CombinedStauTrackParticlesAuxDyn.sigmadeltaphi_1 +CombinedStauTrackParticlesAuxDyn.sigmadeltatheta_0 +CombinedStauTrackParticlesAuxDyn.sigmadeltatheta_1 +CombinedStauTrackParticlesAuxDyn.trackLink +CombinedStauTrackParticlesAuxDyn.trackParameterCovarianceMatrices ConditionsRun DataHeader DataHeaderForm @@ -980,10 +1005,51 @@ PrimaryVerticesAuxDyn.sumPt2 RunNumber SlowMuons SlowMuonsAux. +SlowMuonsAuxDyn.hitEnergy +SlowMuonsAuxDyn.hitError +SlowMuonsAuxDyn.hitIdentifier +SlowMuonsAuxDyn.hitPositionX +SlowMuonsAuxDyn.hitPositionY +SlowMuonsAuxDyn.hitPositionZ +SlowMuonsAuxDyn.hitPropagationTime +SlowMuonsAuxDyn.hitShift +SlowMuonsAuxDyn.hitTOF +SlowMuonsAuxDyn.hitTechnology StauSegments StauSegmentsAux. +StauSegmentsAuxDyn.clusterTime +StauSegmentsAuxDyn.clusterTimeError +StauSegmentsAuxDyn.clusterTimeValid +StauSegmentsAuxDyn.muonSegment Staus StausAux. +StausAuxDyn.CT_EL_Type +StausAuxDyn.CT_ET_FSRCandidateEnergy +StausAuxDyn.ET_Core +StausAuxDyn.ET_EMCore +StausAuxDyn.ET_HECCore +StausAuxDyn.ET_TileCore +StausAuxDyn.FSR_CandidateEnergy +StausAuxDyn.combinedTrackOutBoundsPrecisionHits +StausAuxDyn.d0_staco +StausAuxDyn.extendedClosePrecisionHits +StausAuxDyn.extendedOutBoundsPrecisionHits +StausAuxDyn.innerClosePrecisionHits +StausAuxDyn.innerOutBoundsPrecisionHits +StausAuxDyn.isEndcapGoodLayers +StausAuxDyn.isSmallGoodSectors +StausAuxDyn.middleClosePrecisionHits +StausAuxDyn.middleOutBoundsPrecisionHits +StausAuxDyn.nUnspoiledCscHits +StausAuxDyn.numEnergyLossPerTrack +StausAuxDyn.numberOfGoodPrecisionLayers +StausAuxDyn.outerClosePrecisionHits +StausAuxDyn.outerOutBoundsPrecisionHits +StausAuxDyn.phi0_staco +StausAuxDyn.qOverPErr_staco +StausAuxDyn.qOverP_staco +StausAuxDyn.theta_staco +StausAuxDyn.z0_staco StreamAOD TauFinalPi0s TauFinalPi0sAux. diff --git a/Tools/PROCTools/data/q449_AOD_digest.ref b/Tools/PROCTools/data/q449_AOD_digest.ref index b1440b2836b6..01b831400863 100644 --- a/Tools/PROCTools/data/q449_AOD_digest.ref +++ b/Tools/PROCTools/data/q449_AOD_digest.ref @@ -7,7 +7,7 @@ 431493 1096113771 294 409 77 6 0 10 0 10 12 0 12 431493 1096114154 374 572 87 6 0 6 0 6 18 0 18 431493 1096114168 132 151 17 4 0 2 0 2 6 0 6 - 431493 1096115980 390 519 130 10 1 20 0 20 22 0 22 + 431493 1096115980 390 519 130 10 0 20 0 20 22 0 22 431493 1096116200 309 410 57 6 1 4 0 4 12 0 12 431493 1096118782 294 357 95 7 1 12 0 12 23 0 23 431493 1096119418 307 337 81 6 0 5 0 5 9 0 9 @@ -47,7 +47,7 @@ 431493 1096144036 268 343 65 5 0 12 0 12 14 0 14 431493 1096145110 241 257 18 2 0 5 0 5 8 0 8 431493 1096146639 283 422 77 6 0 3 0 3 18 0 18 - 431493 1096146735 321 378 105 10 2 21 0 21 26 0 26 + 431493 1096146735 321 378 105 10 1 21 0 21 26 0 26 431493 1096147568 392 600 41 4 2 4 0 4 14 0 14 431493 1096150983 272 320 22 5 0 2 0 2 13 0 13 431493 1096152978 365 498 87 7 2 8 0 8 11 0 11 diff --git a/Tools/WorkflowTestRunner/python/References.py b/Tools/WorkflowTestRunner/python/References.py index 8001884a75f4..61e92ad401c0 100644 --- a/Tools/WorkflowTestRunner/python/References.py +++ b/Tools/WorkflowTestRunner/python/References.py @@ -22,10 +22,10 @@ references_map = { "d1759": "v4", "d1912": "v5", # Reco - "q442": "v9", - "q449": "v26", - "q452": "v10", - "q454": "v23", + "q442": "v10", + "q449": "v27", + "q452": "v11", + "q454": "v24", # Derivations "data_PHYS_Run2": "v3", "data_PHYS_Run3": "v3", -- GitLab From 835eb0ff69b19730e0430c7a1635c7a176c9d5f2 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 19 Mar 2025 17:56:11 +0100 Subject: [PATCH 11/44] DataQualityUtils: fix potential nullptr deref (cppcheck) --- DataQuality/DataQualityUtils/src/MonitoringFile.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx index 2e4405c451c1..0aec7785febb 100644 --- a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx +++ b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx @@ -352,6 +352,7 @@ namespace dqutils { const TH1* b1 = dynamic_cast<const TH1*>(b); if (!a1 || !b1) { std::cout << "ERROR, in merge_rebinned: Object not of type TH1"; + return; } TH1* b2 = const_cast<TH1*>(b1); dqutils::MonitoringFile::merge_Rebinned(*a1, *b2); @@ -363,6 +364,7 @@ namespace dqutils { const TH2* b1 = dynamic_cast<const TH2*>(b); if (!a1 || !b1) { std::cout << "ERROR in merge_eventSample: Object not of type TH2" << std::endl; + return; } dqutils::MonitoringFile::merge_eventSample(*a1, *b1); } @@ -373,6 +375,7 @@ namespace dqutils { TEfficiency* b2 = const_cast<TEfficiency*>(b1); if (!a1 || !b1) { std::cout << "ERROR in merge_TEfficiency: Object not of type TEfficiency" << std::endl; + return; } TList listE; listE.Add(b2); -- GitLab From d52bd293a35f3214d90a9ea684ff5e826796ba08 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Wed, 19 Mar 2025 17:51:59 +0100 Subject: [PATCH 12/44] LArShapeDumper: cppcheck fix [uninitMemberVar] --- LArCalorimeter/LArCafJobs/src/LArShapeDumper.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/LArCalorimeter/LArCafJobs/src/LArShapeDumper.cxx b/LArCalorimeter/LArCafJobs/src/LArShapeDumper.cxx index 8240ba481b36..6ff79f312fdc 100755 --- a/LArCalorimeter/LArCafJobs/src/LArShapeDumper.cxx +++ b/LArCalorimeter/LArCafJobs/src/LArShapeDumper.cxx @@ -48,6 +48,7 @@ LArShapeDumper::LArShapeDumper(const std::string & name, ISvcLocator * pSvcLocat m_nNoDigits(0), m_nNoDigitsSC(0), m_onlineHelper(nullptr), + m_onlineHelperSC(nullptr), m_doEM(false), m_doHEC(false), m_doFCAL(false), -- GitLab From 49c743e0514f700fa0a319bba45ad93e015dd428 Mon Sep 17 00:00:00 2001 From: Jared Little <jared.little@cern.ch> Date: Thu, 20 Mar 2025 10:00:29 +0000 Subject: [PATCH 13/44] updating jfex thresholds for 2025 (ATR-30896) updating jfex thresholds for 2025 (ATR-30896) --- .../share/ref_RDOtoRDOTrig_v1Dev_build.ref | 2815 +++++++++-------- .../share/ref_v1Dev_decodeBS_build.ref | 86 +- .../share/ref_mc_v1DevHI_build.ref | 10 +- .../L1/Config/L1CaloThresholdMapping.py | 20 +- 4 files changed, 1505 insertions(+), 1426 deletions(-) diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 6020258cd3f0..c91a81508464 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -496,6 +496,8 @@ HLT_2e24_lhvloose_g50_loose_probe_L12eEM24L: 0: 1 HLT_2e5_lhmedium_j70_j50a_j0_DJMASS900j50_L1jMJJ-500-NFF: eventCount: 0 + stepFeatures: + 0: 1 HLT_2e5_lhvloose_L1eEM5_bBeeM6000_L1All: eventCount: 0 stepCounts: @@ -808,21 +810,21 @@ HLT_2j175_mb_afprec_afpdijet_L1jJ160: 0: 4 1: 2 HLT_2j20_2j20_0eta290_boffperf_pf_ftf_presel2c20XX2c20b85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 107 - 3: 53 - 4: 107 - 5: 18 + 0: 24 + 1: 20 + 2: 117 + 3: 58 + 4: 117 + 5: 20 HLT_2j20_2j20_0eta290_boffperf_pf_ftf_presel2j25XX2j25b85_PhysicsTLA_L14jJ40p0ETA25: eventCount: 3 stepCounts: @@ -840,109 +842,109 @@ HLT_2j20_2j20_0eta290_boffperf_pf_ftf_presel2j25XX2j25b85_PhysicsTLA_L14jJ40p0ET 4: 25 5: 6 HLT_2j20_2j20_pf_ftf_presel1c20XX2c20bgtwo85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 14 - 1: 8 - 2: 6 - 3: 6 - 4: 6 + 0: 15 + 1: 9 + 2: 7 + 3: 7 + 4: 7 stepFeatures: - 0: 28 - 1: 16 - 2: 64 - 3: 64 - 4: 12 + 0: 30 + 1: 18 + 2: 74 + 3: 74 + 4: 14 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b80_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 11 - 1: 6 - 2: 6 - 3: 6 - 4: 6 + 0: 12 + 1: 7 + 2: 7 + 3: 7 + 4: 7 stepFeatures: - 0: 22 - 1: 12 - 2: 62 - 3: 62 - 4: 12 + 0: 24 + 1: 14 + 2: 72 + 3: 72 + 4: 14 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b82_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 11 - 1: 6 - 2: 6 - 3: 6 - 4: 6 + 0: 12 + 1: 7 + 2: 7 + 3: 7 + 4: 7 stepFeatures: - 0: 22 - 1: 12 - 2: 62 - 3: 62 - 4: 12 + 0: 24 + 1: 14 + 2: 72 + 3: 72 + 4: 14 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b85_DarkJetPEBTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 108 - 3: 108 + 0: 24 + 1: 20 + 2: 118 + 3: 118 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 + 0: 12 + 1: 10 + 2: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 108 + 0: 24 + 1: 20 + 2: 118 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 108 - 3: 108 - 4: 18 + 0: 24 + 1: 20 + 2: 118 + 3: 118 + 4: 20 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20bgtwo85_FTagPEBTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 11 - 1: 6 - 2: 6 - 3: 6 + 0: 12 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 22 - 1: 12 - 2: 64 - 3: 64 + 0: 24 + 1: 14 + 2: 74 + 3: 74 HLT_2j20_2j20_pf_ftf_presel2c20XX2c20bgtwo85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 11 - 1: 6 - 2: 6 - 3: 6 - 4: 6 + 0: 12 + 1: 7 + 2: 7 + 3: 7 + 4: 7 stepFeatures: - 0: 22 - 1: 12 - 2: 64 - 3: 64 - 4: 12 + 0: 24 + 1: 14 + 2: 74 + 3: 74 + 4: 14 HLT_2j20_2j20_pf_ftf_presel2j25XX2j25b85_PhysicsTLA_L14jJ40p0ETA25: eventCount: 3 stepCounts: @@ -1195,53 +1197,53 @@ HLT_2j35c_nnJvtv1_bgn260_2j35c_nnJvtv1_pf_ftf_presel2j25XX2j25bgtwo85_L14jJ40p0E 2: 24 3: 4 HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 127 - 3: 14 + 0: 64 + 1: 40 + 2: 141 + 3: 16 HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 127 - 3: 14 + 0: 52 + 1: 32 + 2: 141 + 3: 16 HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 127 - 3: 14 + 0: 64 + 1: 40 + 2: 141 + 3: 16 HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 127 - 3: 14 + 0: 52 + 1: 32 + 2: 141 + 3: 16 HLT_2j45_0eta290_020jvt_bgn160_2j45_pf_ftf_presel2j25XX2j25b85_L14J15p0ETA25: eventCount: 0 stepCounts: @@ -1439,77 +1441,77 @@ HLT_2j50_0eta290_nnJvtv1_bgn260_2j50_pf_ftf_presel2j25XX2j25bgtwo85_L14jJ40p0ETA 2: 8 3: 1 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 6 + 0: 16 + 1: 10 + 2: 8 + 3: 7 stepFeatures: - 0: 60 - 1: 36 - 2: 122 - 3: 15 + 0: 64 + 1: 40 + 2: 136 + 3: 17 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L13jJ40p0ETA25: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 12 - 1: 10 - 2: 10 - 3: 6 + 0: 13 + 1: 11 + 2: 11 + 3: 7 stepFeatures: - 0: 48 - 1: 40 - 2: 195 - 3: 18 + 0: 52 + 1: 44 + 2: 209 + 3: 20 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 122 - 3: 14 + 0: 64 + 1: 40 + 2: 136 + 3: 16 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 122 - 3: 14 + 0: 52 + 1: 32 + 2: 136 + 3: 16 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 122 - 3: 14 + 0: 64 + 1: 40 + 2: 136 + 3: 16 HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 122 - 3: 14 + 0: 52 + 1: 32 + 2: 136 + 3: 16 HLT_2j55_0eta290_020jvt_bgn160_2j55_pf_ftf_presel2j25XX2j25b85_L14J15p0ETA25: eventCount: 0 stepCounts: @@ -2874,27 +2876,27 @@ HLT_3j200_pf_ftf_presel3j150_L1gJ400p0ETA25: HLT_3j200_pf_ftf_presel3j150_L1jJ160: eventCount: 0 HLT_3j20_1j20_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 10 + eventCount: 11 stepCounts: - 0: 11 - 1: 11 - 2: 10 + 0: 12 + 1: 12 + 2: 11 stepFeatures: - 0: 22 - 1: 22 - 2: 118 + 0: 24 + 1: 24 + 2: 128 HLT_3j20c_pf_ftf_presel3c30_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 14 + eventCount: 15 stepCounts: - 0: 14 - 1: 14 - 2: 14 - 3: 14 + 0: 15 + 1: 15 + 2: 15 + 3: 15 stepFeatures: - 0: 14 - 1: 69 - 2: 69 - 3: 14 + 0: 15 + 1: 73 + 2: 73 + 3: 15 HLT_3j20c_pf_ftf_presel3c40_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 13 stepCounts: @@ -3051,33 +3053,33 @@ HLT_3j60_0eta290_020jvt_bgn177_pf_ftf_presel3j45b95_L13J35p0ETA23: HLT_3j60_0eta290_020jvt_bgn177_pf_ftf_presel3j45b95_L13jJ70p0ETA23: eventCount: 0 stepCounts: - 0: 4 + 0: 6 1: 2 2: 2 stepFeatures: - 0: 4 + 0: 6 1: 2 2: 6 3: 3 HLT_3j60_0eta290_020jvt_bgn277_pf_ftf_presel3j45bgtwo95_L13jJ70p0ETA23: eventCount: 0 stepCounts: - 0: 4 + 0: 6 1: 1 2: 1 stepFeatures: - 0: 4 + 0: 6 1: 1 2: 3 3: 2 HLT_3j60_0eta290_nnJvtv1_bgn277_pf_ftf_presel3j45bgtwo95_L13jJ70p0ETA23: eventCount: 0 stepCounts: - 0: 4 + 0: 6 1: 1 2: 1 stepFeatures: - 0: 4 + 0: 6 1: 1 2: 3 3: 2 @@ -3095,11 +3097,11 @@ HLT_3j65_0eta290_020jvt_bgn177_pf_ftf_presel3j45b95_L13J35p0ETA23: HLT_3j65_0eta290_020jvt_bgn177_pf_ftf_presel3j45b95_L13jJ70p0ETA23: eventCount: 0 stepCounts: - 0: 4 + 0: 6 1: 2 2: 1 stepFeatures: - 0: 4 + 0: 6 1: 2 2: 3 3: 2 @@ -3168,15 +3170,15 @@ HLT_4j20c_L14jJ40p0ETA25: stepFeatures: 0: 29 HLT_4j25_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 11 + eventCount: 12 stepCounts: - 0: 11 - 1: 11 - 2: 11 + 0: 12 + 1: 12 + 2: 12 stepFeatures: - 0: 57 - 1: 57 - 2: 11 + 0: 62 + 1: 62 + 2: 12 HLT_4j35_0eta290_020jvt_bgn177_pf_ftf_presel4j25b95_L14J15p0ETA25: eventCount: 0 stepCounts: @@ -3739,6 +3741,20 @@ HLT_e10_etcut_L1eEM9: 3: 62 HLT_e10_lhmedium_ivarloose_j70_j50a_j0_DJMASS900j50_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 + stepFeatures: + 0: 1 + 1: 1 + 2: 3 + 3: 1 + 4: 1 + 5: 1 HLT_e10_lhvloose_L1eEM9: eventCount: 6 stepCounts: @@ -8920,6 +8936,20 @@ HLT_e5_lhvloose_e3_lhvloose_bBeeM6000_L1eEM26M: 6: 4 HLT_e5_lhvloose_j70_j50a_j0_DJMASS1000j50_xe50_tcpufit_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + 5: 1 + stepFeatures: + 0: 1 + 1: 1 + 2: 3 + 3: 1 + 4: 1 + 5: 1 HLT_e5_nopid_L1eEM5: eventCount: 20 stepCounts: @@ -13703,25 +13733,25 @@ HLT_j0_Z219XX6c20_roiftf_presel6c20_L14jJ40: 0: 2 1: 10 HLT_j0_j0_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 + 0: 12 + 1: 10 + 2: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 126 + 0: 24 + 1: 20 + 2: 136 HLT_j0_j0_pf_ftf_preselZ120XX2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 9 + eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 + 0: 12 + 1: 10 + 2: 10 stepFeatures: - 0: 22 - 1: 18 - 2: 126 + 0: 24 + 1: 20 + 2: 136 HLT_j0_perf_L1RD0_FILLED: eventCount: 20 stepCounts: @@ -13745,13 +13775,13 @@ HLT_j0_perf_pf_subjesgscIS_ftf_L1RD0_FILLED: 0: 20 1: 20 HLT_j0_pf_ftf_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 14 + eventCount: 15 stepCounts: - 0: 14 - 1: 14 + 0: 15 + 1: 15 stepFeatures: - 0: 14 - 1: 86 + 0: 15 + 1: 91 HLT_j0_pf_ftf_presel5c20_PhysicsTLA_L14jJ40: eventCount: 3 stepCounts: @@ -13789,15 +13819,15 @@ HLT_j0_pf_ftf_presel6c25_PhysicsTLA_L14jJ40: 2: 11 3: 1 HLT_j0_pf_ftf_preselZ120XX4c20_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 11 + eventCount: 12 stepCounts: - 0: 11 - 1: 11 - 2: 11 + 0: 12 + 1: 12 + 2: 12 stepFeatures: - 0: 11 - 1: 11 - 2: 75 + 0: 12 + 1: 12 + 2: 80 HLT_j0_pf_ftf_preselZ124XX5c20_PhysicsTLA_L14jJ40: eventCount: 2 stepCounts: @@ -13827,15 +13857,15 @@ HLT_j0_pf_ftf_preselZ134XX5c20_PhysicsTLA_L14jJ40: 3: 17 4: 2 HLT_j0_pf_ftf_preselZ138MAXMULT5cXX4c20_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 11 + eventCount: 12 stepCounts: - 0: 11 - 1: 11 - 2: 11 + 0: 12 + 1: 12 + 2: 12 stepFeatures: - 0: 11 - 1: 11 - 2: 75 + 0: 12 + 1: 12 + 2: 80 HLT_j0_pf_ftf_preselZ142XX5c20_PhysicsTLA_L14jJ40: eventCount: 3 stepCounts: @@ -13893,23 +13923,23 @@ HLT_j0_pf_ftf_preselZ219XX6c20_PhysicsTLA_L14jJ40: 3: 11 4: 1 HLT_j0_pf_ftf_preselZ84XX3c20_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 12 + eventCount: 13 stepCounts: - 0: 14 - 1: 12 - 2: 12 + 0: 15 + 1: 13 + 2: 13 stepFeatures: - 0: 14 - 1: 12 - 2: 77 + 0: 15 + 1: 13 + 2: 82 HLT_j0_roiftf_presel3c30_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 14 + eventCount: 15 stepCounts: - 0: 14 - 1: 14 + 0: 15 + 1: 15 stepFeatures: - 0: 14 - 1: 80 + 0: 15 + 1: 85 HLT_j0_roiftf_presel3c40_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 13 stepCounts: @@ -14101,32 +14131,32 @@ HLT_j110_L1jJ60: HLT_j110_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 0 stepCounts: - 0: 10 + 0: 11 stepFeatures: - 0: 10 + 0: 11 HLT_j110_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 4 stepCounts: - 0: 10 + 0: 11 1: 4 stepFeatures: - 0: 10 + 0: 11 1: 5 HLT_j110_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 6 stepCounts: - 0: 10 + 0: 11 1: 6 stepFeatures: - 0: 10 + 0: 11 1: 10 HLT_j110_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 8 stepCounts: - 0: 10 + 0: 11 1: 8 stepFeatures: - 0: 10 + 0: 11 1: 12 HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1gLJ80p0ETA25: eventCount: 11 @@ -14137,13 +14167,13 @@ HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1gLJ80p0ETA25: 0: 11 1: 18 HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1jJ60: - eventCount: 10 + eventCount: 11 stepCounts: - 0: 10 - 1: 10 + 0: 11 + 1: 11 stepFeatures: - 0: 10 - 1: 17 + 0: 11 + 1: 18 HLT_j110_a10sd_cssk_pf_jes_ftf_preselj80_L1jLJ80: eventCount: 6 stepCounts: @@ -14159,11 +14189,11 @@ HLT_j110_a10t_lcw_jes_L1gLJ80p0ETA25: stepFeatures: 0: 17 HLT_j110_a10t_lcw_jes_L1jJ60: - eventCount: 12 + eventCount: 13 stepCounts: - 0: 12 + 0: 13 stepFeatures: - 0: 16 + 0: 17 HLT_j110_a10t_lcw_jes_L1jLJ80: eventCount: 6 stepCounts: @@ -14173,10 +14203,10 @@ HLT_j110_a10t_lcw_jes_L1jLJ80: HLT_j110_pf_ftf_preselj80_L1jJ60: eventCount: 8 stepCounts: - 0: 12 + 0: 13 1: 8 stepFeatures: - 0: 12 + 0: 13 1: 12 HLT_j110f_L1jJ60p30ETA49: eventCount: 0 @@ -15012,6 +15042,20 @@ HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE40-jJ40: HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPNODPHI-jXE40-jJ40: eventCount: 0 HLT_j20_j20_pf_ftf_presel3c20XX1c20bgtwo85_PhysicsTLA_L13jJ40p0ETA25: + eventCount: 13 + stepCounts: + 0: 13 + 1: 13 + 2: 13 + 3: 13 + 4: 13 + stepFeatures: + 0: 26 + 1: 26 + 2: 146 + 3: 146 + 4: 26 +HLT_j20_j20_pf_ftf_presel3c20XX1c20bgtwo85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 12 stepCounts: 0: 12 @@ -15022,23 +15066,9 @@ HLT_j20_j20_pf_ftf_presel3c20XX1c20bgtwo85_PhysicsTLA_L13jJ40p0ETA25: stepFeatures: 0: 24 1: 24 - 2: 136 - 3: 136 + 2: 134 + 3: 134 4: 24 -HLT_j20_j20_pf_ftf_presel3c20XX1c20bgtwo85_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 11 - stepCounts: - 0: 11 - 1: 11 - 2: 11 - 3: 11 - 4: 11 - stepFeatures: - 0: 22 - 1: 22 - 2: 124 - 3: 124 - 4: 22 HLT_j20_j20_pf_ftf_preselj140XX2j45_PhysicsTLA_L13jJ40p0ETA25: eventCount: 5 stepCounts: @@ -15064,29 +15094,29 @@ HLT_j20_j20_pf_ftf_preselj140XX2j45_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: 2: 46 3: 10 HLT_j20_j20_pf_ftf_preselj80XX2j45_PhysicsTLA_L13jJ40p0ETA25: - eventCount: 10 + eventCount: 11 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 20 - 1: 92 - 2: 92 - 3: 20 + 0: 22 + 1: 102 + 2: 102 + 3: 22 HLT_j20_j20_pf_ftf_preselj80XX2j45_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 10 + eventCount: 11 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 20 - 1: 92 - 2: 92 - 3: 20 + 0: 22 + 1: 102 + 2: 102 + 3: 22 HLT_j20_pf_ftf_preselcHT450_DarkJetPEBTLA_L1HT190-jJ40s5pETA21: eventCount: 3 stepCounts: @@ -15818,25 +15848,25 @@ HLT_j300_3timeSig_L1jJ160: HLT_j300f_L1jJ125p30ETA49: eventCount: 0 HLT_j30_0eta290_020jvt_boffperf_pf_ftf_L1jJ50: - eventCount: 19 + eventCount: 20 stepCounts: - 0: 19 - 1: 19 - 2: 19 + 0: 20 + 1: 20 + 2: 20 stepFeatures: - 0: 19 - 1: 76 - 2: 76 + 0: 20 + 1: 78 + 2: 78 HLT_j30_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ50: - eventCount: 19 + eventCount: 20 stepCounts: - 0: 19 - 1: 19 - 2: 19 + 0: 20 + 1: 20 + 2: 20 stepFeatures: - 0: 19 - 1: 76 - 2: 76 + 0: 20 + 1: 78 + 2: 78 HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU140: eventCount: 0 HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU40HT: @@ -16086,53 +16116,53 @@ HLT_j400_pf_ftf_preselj225_L1jJ180: stepFeatures: 0: 2 HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 127 - 3: 14 + 0: 64 + 1: 40 + 2: 141 + 3: 16 HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 127 - 3: 14 + 0: 52 + 1: 32 + 2: 141 + 3: 16 HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 127 - 3: 14 + 0: 64 + 1: 40 + 2: 141 + 3: 16 HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 127 - 3: 14 + 0: 52 + 1: 32 + 2: 141 + 3: 16 ? HLT_j40c_020jvt_j28c_020jvt_j20c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1MU8F_2jJ40_jJ50 : eventCount: 3 stepCounts: @@ -16302,25 +16332,25 @@ HLT_j45_020jvt_pf_ftf_preselj20_L1RD0_FILLED: 0: 20 1: 60 HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1jJ50: - eventCount: 19 + eventCount: 20 stepCounts: - 0: 19 - 1: 19 - 2: 19 + 0: 20 + 1: 20 + 2: 20 stepFeatures: - 0: 19 - 1: 58 - 2: 58 + 0: 20 + 1: 59 + 2: 59 HLT_j45_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ50: - eventCount: 19 + eventCount: 20 stepCounts: - 0: 19 - 1: 19 - 2: 19 + 0: 20 + 1: 20 + 2: 20 stepFeatures: - 0: 19 - 1: 58 - 2: 58 + 0: 20 + 1: 59 + 2: 59 HLT_j45_L1RD0_FILLED: eventCount: 20 stepCounts: @@ -16512,53 +16542,53 @@ HLT_j50_0eta290_020jvt_bgn270_2j45f_pf_ftf_preselj45XX2f40_L1jJ55p0ETA23_2jJ40p3 HLT_j50_0eta290_nnJvtv1_bgn270_2j45f_pf_ftf_preselj45XX2f40_L1jJ55p0ETA23_2jJ40p30ETA49: eventCount: 0 HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 122 - 3: 14 + 0: 64 + 1: 40 + 2: 136 + 3: 16 HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 122 - 3: 14 + 0: 52 + 1: 32 + 2: 136 + 3: 16 HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 15 - 1: 9 - 2: 7 - 3: 5 + 0: 16 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 60 - 1: 36 - 2: 122 - 3: 14 + 0: 64 + 1: 40 + 2: 136 + 3: 16 HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 12 - 1: 7 - 2: 7 - 3: 5 + 0: 13 + 1: 8 + 2: 8 + 3: 6 stepFeatures: - 0: 48 - 1: 28 - 2: 122 - 3: 14 + 0: 52 + 1: 32 + 2: 136 + 3: 16 HLT_j520_L1jJ160: eventCount: 0 HLT_j520_ftf_preselj225_L1jJ160: @@ -16678,17 +16708,17 @@ HLT_j60_L1jJ90: stepFeatures: 0: 22 HLT_j60_j45_j25_j20_pf_ftf_preselc60XXc45XXc25XXc20_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 7 + eventCount: 8 stepCounts: - 0: 11 - 1: 10 - 2: 7 - 3: 7 + 0: 12 + 1: 11 + 2: 8 + 3: 8 stepFeatures: - 0: 44 - 1: 172 - 2: 172 - 3: 28 + 0: 48 + 1: 187 + 2: 187 + 3: 32 HLT_j60_pf_ftf_preselj50_L1jJ50: eventCount: 19 stepCounts: @@ -16701,82 +16731,94 @@ HLT_j60f_L1jJ50p30ETA49: eventCount: 0 HLT_j65a_j45a_2j35a_SHARED_2j35_0eta290_020jvt_bgn170_j0_DJMASS1000j50_pf_ftf_presela60XXa40XX2a25_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + stepFeatures: + 0: 5 HLT_j65a_j45a_2j35a_SHARED_2j35_0eta290_020jvt_bgn270_j0_DJMASS1000j50_pf_ftf_presela60XXa40XX2a25_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + stepFeatures: + 0: 5 HLT_j65a_j45a_2j35a_SHARED_2j35_0eta290_nnJvtv1_bgn270_j0_DJMASS1000j50_pf_ftf_presela60XXa40XX2a25_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + stepFeatures: + 0: 5 ? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 9 +: eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 + 0: 60 + 1: 50 + 2: 218 + 3: 19 ? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 9 +: eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 + 0: 60 + 1: 50 + 2: 218 + 3: 19 ? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 9 +: eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 + 0: 60 + 1: 50 + 2: 218 + 3: 19 ? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 9 +: eventCount: 10 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 + 0: 60 + 1: 50 + 2: 218 + 3: 19 ? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 9 - stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 -? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 10 stepCounts: - 0: 11 - 1: 11 + 0: 12 + 1: 10 2: 10 3: 10 stepFeatures: - 0: 55 - 1: 55 - 2: 222 + 0: 60 + 1: 50 + 2: 218 3: 19 +? HLT_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 11 + stepCounts: + 0: 12 + 1: 12 + 2: 11 + 3: 11 + stepFeatures: + 0: 60 + 1: 60 + 2: 237 + 3: 21 HLT_j70_0eta290_020jvt_bgn160_3j70_pf_ftf_preselj50b85XX3j50_L14jJ50: eventCount: 0 stepCounts: @@ -16805,10 +16847,16 @@ HLT_j70_j50a_j0_DJMASS1000j50dphi200x400deta_L1jMJJ-500-NFF: eventCount: 0 HLT_j70_j50a_j0_DJMASS1000j50dphi240_xe90_tcpufit_xe50_cell_L1jMJJ-500-NFF: eventCount: 0 + stepFeatures: + 0: 2 HLT_j70a_j50a_2j35a_SHARED_2j35_0eta290_020jvt_bgn170_j0_DJMASS1000j50_pf_ftf_presela60XXa40XX2a25_L1MJJ-500-NFF: eventCount: 0 HLT_j70a_j50a_2j35a_SHARED_2j35_0eta290_020jvt_bgn170_j0_DJMASS1000j50_pf_ftf_presela60XXa40XX2a25_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + stepFeatures: + 0: 5 HLT_j75_0eta290_020jvt_bgn160_3j75_pf_ftf_preselj50b85XX3j50_L14jJ50: eventCount: 0 stepCounts: @@ -16890,15 +16938,15 @@ HLT_j75_0eta290_nnJvtv1_bgn270_j55_0eta290_nnJvtv1_bgn285_j45f_pf_ftf_preselj60X 2: 18 3: 4 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 14 - 1: 7 - 2: 5 + 0: 15 + 1: 8 + 2: 6 stepFeatures: - 0: 70 - 1: 142 - 2: 14 + 0: 75 + 1: 157 + 2: 16 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b80_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -16912,17 +16960,17 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 12 + 0: 60 + 1: 35 + 2: 110 + 3: 14 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b82_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -16936,17 +16984,17 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 12 + 0: 60 + 1: 35 + 2: 110 + 3: 14 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -16960,65 +17008,65 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 9 - 2: 7 - 3: 5 - stepFeatures: - 0: 55 - 1: 45 - 2: 142 - 3: 14 -? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ116MAXMULT20cXX4c20_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 - stepCounts: - 0: 11 + 0: 12 1: 10 - 2: 7 - 3: 5 + 2: 8 + 3: 6 stepFeatures: - 0: 55 + 0: 60 1: 50 - 2: 142 - 3: 14 -? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ120XX4c20_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 + 2: 157 + 3: 16 +? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ116MAXMULT20cXX4c20_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 6 stepCounts: - 0: 11 + 0: 12 1: 11 - 2: 7 - 3: 5 + 2: 8 + 3: 6 stepFeatures: - 0: 55 + 0: 60 1: 55 - 2: 142 - 3: 14 + 2: 157 + 3: 16 +? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ120XX4c20_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 6 + stepCounts: + 0: 12 + 1: 12 + 2: 8 + 3: 6 + stepFeatures: + 0: 60 + 1: 60 + 2: 157 + 3: 16 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ128XX2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 9 - 2: 7 - 3: 5 + 0: 12 + 1: 10 + 2: 8 + 3: 6 stepFeatures: - 0: 55 - 1: 45 - 2: 142 - 3: 14 + 0: 60 + 1: 50 + 2: 157 + 3: 16 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_preselZ138XX4c20_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 11 - 2: 7 - 3: 5 + 0: 12 + 1: 12 + 2: 8 + 3: 6 stepFeatures: - 0: 55 - 1: 55 - 2: 142 - 3: 14 + 0: 60 + 1: 60 + 2: 157 + 3: 16 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17032,17 +17080,17 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 3 + 0: 15 + 1: 9 + 2: 6 + 3: 4 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 10 + 0: 75 + 1: 45 + 2: 110 + 3: 12 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17056,17 +17104,17 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 3 + 0: 12 + 1: 7 + 2: 6 + 3: 4 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 10 + 0: 60 + 1: 35 + 2: 110 + 3: 12 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17080,17 +17128,17 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 3 + 0: 15 + 1: 9 + 2: 6 + 3: 4 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 10 + 0: 75 + 1: 45 + 2: 110 + 3: 12 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17104,137 +17152,137 @@ HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_p 2: 18 3: 2 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 3 + 0: 12 + 1: 7 + 2: 6 + 3: 4 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 10 + 0: 60 + 1: 35 + 2: 110 + 3: 12 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 12 + 0: 60 + 1: 35 + 2: 110 + 3: 14 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 12 + 0: 60 + 1: 35 + 2: 110 + 3: 14 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 9 - 2: 7 + 0: 12 + 1: 10 + 2: 8 3: 1 stepFeatures: - 0: 55 - 1: 45 - 2: 142 - 3: 14 + 0: 60 + 1: 50 + 2: 157 + 3: 16 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn282_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 14 - 1: 8 - 2: 5 + 0: 15 + 1: 9 + 2: 6 3: 1 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 11 + 0: 75 + 1: 45 + 2: 110 + 3: 13 ? HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn282_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 11 + 0: 60 + 1: 35 + 2: 110 + 3: 13 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 5 + 0: 15 + 1: 9 + 2: 6 + 3: 6 stepFeatures: - 0: 56 - 1: 32 - 2: 71 - 3: 24 + 0: 60 + 1: 36 + 2: 82 + 3: 28 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 44 - 1: 24 - 2: 71 - 3: 24 + 0: 48 + 1: 28 + 2: 82 + 3: 28 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 44 - 1: 24 - 2: 71 - 3: 24 + 0: 48 + 1: 28 + 2: 82 + 3: 28 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 7 + eventCount: 8 stepCounts: - 0: 11 - 1: 9 - 2: 7 - 3: 7 + 0: 12 + 1: 10 + 2: 8 + 3: 8 stepFeatures: - 0: 44 - 1: 36 - 2: 105 - 3: 37 + 0: 48 + 1: 40 + 2: 116 + 3: 41 HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 44 - 1: 24 - 2: 71 - 3: 24 + 0: 48 + 1: 28 + 2: 82 + 3: 28 HLT_j75c_j55_j45f_SHARED_2j45_0eta290_020jvt_bgn160_pf_ftf_preselc60XXj45XXf40_L1jJ80p0ETA25_2jJ55_jJ50p30ETA49: eventCount: 0 HLT_j75c_j55_j45f_SHARED_2j45_0eta290_020jvt_bgn260_pf_ftf_preselc60XXj45XXf40_L1jJ80p0ETA25_2jJ55_jJ50p30ETA49: @@ -17254,17 +17302,17 @@ HLT_j75c_j55_j45f_SHARED_2j45_0eta290_nnJvtv1_bgn260_pf_ftf_preselc60XXj45XXf40_ 2: 18 3: 2 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 3 + 0: 15 + 1: 9 + 2: 6 + 3: 4 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 10 + 0: 75 + 1: 45 + 2: 110 + 3: 12 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17278,17 +17326,17 @@ HLT_j75c_j55_j45f_SHARED_2j45_0eta290_nnJvtv1_bgn260_pf_ftf_preselc60XXj45XXf40_ 2: 18 3: 2 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 3 + 0: 12 + 1: 7 + 2: 6 + 3: 4 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 10 + 0: 60 + 1: 35 + 2: 110 + 3: 12 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17302,17 +17350,17 @@ HLT_j75c_j55_j45f_SHARED_2j45_0eta290_nnJvtv1_bgn260_pf_ftf_preselc60XXj45XXf40_ 2: 18 3: 2 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 3 + 0: 15 + 1: 9 + 2: 6 + 3: 4 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 10 + 0: 75 + 1: 45 + 2: 110 + 3: 12 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17326,65 +17374,65 @@ HLT_j75c_j55_j45f_SHARED_2j45_0eta290_nnJvtv1_bgn260_pf_ftf_preselc60XXj45XXf40_ 2: 18 3: 2 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_2j20c_nnJvtv1_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 +: eventCount: 4 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 3 + 0: 12 + 1: 7 + 2: 6 + 3: 4 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 10 + 0: 60 + 1: 35 + 2: 110 + 3: 12 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_3j20c_nnJvtv1_bgn282_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 14 - 1: 8 - 2: 5 + 0: 15 + 1: 9 + 2: 6 3: 1 stepFeatures: - 0: 70 - 1: 40 - 2: 95 - 3: 11 + 0: 75 + 1: 45 + 2: 110 + 3: 13 ? HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_3j20c_nnJvtv1_bgn282_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 95 - 3: 11 + 0: 60 + 1: 35 + 2: 110 + 3: 13 HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_boffperf_pf_ftf_presel1c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 14 - 1: 8 - 2: 5 - 3: 5 + 0: 15 + 1: 9 + 2: 6 + 3: 6 stepFeatures: - 0: 56 - 1: 32 - 2: 71 - 3: 24 + 0: 60 + 1: 36 + 2: 82 + 3: 28 HLT_j75c_nnJvtv1_j50c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_boffperf_pf_ftf_presel2c20XX2c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 44 - 1: 24 - 2: 71 - 3: 24 + 0: 48 + 1: 28 + 2: 82 + 3: 28 HLT_j80_0eta290_020jvt_bgn160_pf_ftf_xe60_cell_L12jJ90_jXE80: eventCount: 2 stepCounts: @@ -17430,17 +17478,17 @@ HLT_j80_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ90: 2: 18 3: 2 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 55 - 1: 30 - 2: 93 - 3: 12 + 0: 60 + 1: 35 + 2: 108 + 3: 14 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b82_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17454,17 +17502,17 @@ HLT_j80_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ90: 2: 18 3: 2 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 55 - 1: 30 - 2: 93 - 3: 12 + 0: 60 + 1: 35 + 2: 108 + 3: 14 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1MU8F_2jJ40_jJ50 : eventCount: 1 stepCounts: @@ -17478,89 +17526,89 @@ HLT_j80_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ90: 2: 18 3: 2 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 +: eventCount: 6 stepCounts: - 0: 11 - 1: 9 - 2: 6 - 3: 5 + 0: 12 + 1: 10 + 2: 7 + 3: 6 stepFeatures: - 0: 55 - 1: 45 - 2: 112 - 3: 13 + 0: 60 + 1: 50 + 2: 127 + 3: 15 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 93 - 3: 12 + 0: 60 + 1: 35 + 2: 108 + 3: 14 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 6 - 2: 5 + 0: 12 + 1: 7 + 2: 6 3: 1 stepFeatures: - 0: 55 - 1: 30 - 2: 93 - 3: 12 + 0: 60 + 1: 35 + 2: 108 + 3: 14 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_3j20c_020jvt_bgn182_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 1 stepCounts: - 0: 11 - 1: 9 - 2: 6 + 0: 12 + 1: 10 + 2: 7 3: 1 stepFeatures: - 0: 55 - 1: 45 - 2: 112 - 3: 13 -HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 - stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 - stepFeatures: - 0: 44 - 1: 24 - 2: 69 - 3: 24 -HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25: - eventCount: 5 + 0: 60 + 1: 50 + 2: 127 + 3: 15 +HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b80_L1jJ85p0ETA21_3jJ40p0ETA25: + eventCount: 6 stepCounts: - 0: 11 - 1: 6 - 2: 5 - 3: 5 + 0: 12 + 1: 7 + 2: 6 + 3: 6 stepFeatures: - 0: 44 - 1: 24 - 2: 69 - 3: 24 -HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: + 0: 48 + 1: 28 + 2: 80 + 3: 28 +HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b82_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 6 stepCounts: - 0: 11 - 1: 9 + 0: 12 + 1: 7 2: 6 3: 6 stepFeatures: - 0: 44 - 1: 36 - 2: 83 - 3: 29 + 0: 48 + 1: 28 + 2: 80 + 3: 28 +HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_boffperf_pf_ftf_presel2c20XX2c20b85_L1jJ85p0ETA21_3jJ40p0ETA25: + eventCount: 7 + stepCounts: + 0: 12 + 1: 10 + 2: 7 + 3: 7 + stepFeatures: + 0: 48 + 1: 40 + 2: 94 + 3: 33 HLT_j80c_j60_j45f_SHARED_2j45_0eta290_020jvt_bgn160_pf_ftf_preselc60XXj45XXf40_L1jJ80p0ETA25_2jJ55_jJ50p30ETA49: eventCount: 0 HLT_j85_L1gJ20p0ETA25: @@ -25047,6 +25095,17 @@ HLT_mu4_j45_0eta290_nnJvtv1_boffperf_pf_ftf_dRAB04_L1MU3V_jJ40: 6: 20 HLT_mu4_j70_j50a_j0_DJMASS1000j50_xe50_tcpufit_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + stepFeatures: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 HLT_mu4_l2io_L1MU3V: eventCount: 8 stepCounts: @@ -26822,13 +26881,13 @@ HLT_noalg_L1jJ40: HLT_noalg_L1jJ40p30ETA49: eventCount: 2 HLT_noalg_L1jJ50: - eventCount: 19 + eventCount: 20 HLT_noalg_L1jJ500: eventCount: 0 HLT_noalg_L1jJ50p30ETA49: eventCount: 1 HLT_noalg_L1jJ60: - eventCount: 16 + eventCount: 17 HLT_noalg_L1jJ60p30ETA49: eventCount: 0 HLT_noalg_L1jJ90: @@ -26902,54 +26961,54 @@ HLT_tau0_mediumGNTau_tau0_mediumGNTau_03dRAB_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20- HLT_tau0_mediumRNN_tracktwoMVA_tau0_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 47 - 1: 47 - 2: 47 - 3: 47 + 0: 51 + 1: 51 + 2: 51 + 3: 51 4: 2 HLT_tau0_mediumRNN_tracktwoMVA_tau0_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_10DPHI99-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 47 - 1: 47 - 2: 47 - 3: 47 + 0: 51 + 1: 51 + 2: 51 + 3: 51 4: 2 HLT_tau0_mediumRNN_tracktwoMVA_tau0_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 47 - 1: 47 - 2: 47 - 3: 47 + 0: 51 + 1: 51 + 2: 51 + 3: 51 4: 2 HLT_tau0_mediumRNN_tracktwoMVA_tau0_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU20: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 42 - 1: 42 - 2: 42 - 3: 42 + 0: 46 + 1: 46 + 2: 46 + 3: 46 4: 2 HLT_tau0_mediumRNN_tracktwoMVA_tau0_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cTAU20M_4jJ30p0ETA25: eventCount: 0 @@ -27697,7 +27756,7 @@ HLT_tau20_mediumGNTau_L1eTAU12: HLT_tau20_mediumGNTau_probe_L1eTAU12_j110_pf_ftf_preselj80_03dRAB_L1jJ60: eventCount: 2 stepCounts: - 0: 12 + 0: 13 1: 8 2: 8 3: 8 @@ -27705,7 +27764,7 @@ HLT_tau20_mediumGNTau_probe_L1eTAU12_j110_pf_ftf_preselj80_03dRAB_L1jJ60: 5: 8 6: 2 stepFeatures: - 0: 12 + 0: 13 1: 12 2: 26 3: 26 @@ -28127,51 +28186,51 @@ HLT_tau20_mediumRNN_tracktwoMVA_L1eTAU12: ? HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 12 - 1: 12 - 2: 11 - 3: 11 - 4: 11 - 5: 11 - 6: 11 - 7: 11 + 0: 13 + 1: 13 + 2: 12 + 3: 12 + 4: 12 + 5: 12 + 6: 12 + 7: 12 8: 5 stepFeatures: - 0: 48 - 1: 48 - 2: 221 - 3: 21 - 4: 39 - 5: 39 - 6: 39 - 7: 39 + 0: 52 + 1: 52 + 2: 235 + 3: 23 + 4: 41 + 5: 41 + 6: 41 + 7: 41 8: 5 ? HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 12 - 1: 12 - 2: 11 - 3: 11 - 4: 11 - 5: 11 - 6: 11 - 7: 11 + 0: 13 + 1: 13 + 2: 12 + 3: 12 + 4: 12 + 5: 12 + 6: 12 + 7: 12 8: 5 stepFeatures: - 0: 60 - 1: 60 - 2: 256 - 3: 21 - 4: 39 - 5: 39 - 6: 39 - 7: 39 + 0: 65 + 1: 65 + 2: 273 + 3: 23 + 4: 41 + 5: 41 + 6: 41 + 7: 41 8: 5 HLT_tau20_mediumRNN_tracktwoMVA_probe_j110_pf_ftf_preselj80_03dRAB_L1jJ60: eventCount: 2 stepCounts: - 0: 12 + 0: 13 1: 8 2: 8 3: 8 @@ -28179,7 +28238,7 @@ HLT_tau20_mediumRNN_tracktwoMVA_probe_j110_pf_ftf_preselj80_03dRAB_L1jJ60: 5: 8 6: 2 stepFeatures: - 0: 12 + 0: 13 1: 12 2: 26 3: 26 @@ -28995,118 +29054,96 @@ HLT_tau25_mediumGNTau_probe_L1cTAU20M_xe75_cell_xe100_pfopufit_L1jXE110: ? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 5 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 5 ? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 5 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 5 ? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 - stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 - 8: 5 - stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 - 8: 5 -? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 5 - stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 +: eventCount: 5 + stepCounts: + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 5 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 5 -? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 5 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 5 -? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 5 stepCounts: - 0: 11 - 1: 11 + 0: 12 + 1: 10 2: 10 3: 10 4: 10 @@ -29115,14 +29152,36 @@ HLT_tau25_mediumGNTau_probe_L1cTAU20M_xe75_cell_xe100_pfopufit_L1jXE110: 7: 10 8: 5 stepFeatures: - 0: 55 - 1: 55 - 2: 222 + 0: 60 + 1: 50 + 2: 218 3: 19 - 4: 34 - 5: 34 - 6: 34 - 7: 34 + 4: 32 + 5: 32 + 6: 32 + 7: 32 + 8: 5 +? HLT_tau25_mediumGNTau_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 5 + stepCounts: + 0: 12 + 1: 12 + 2: 11 + 3: 11 + 4: 11 + 5: 11 + 6: 11 + 7: 11 + 8: 5 + stepFeatures: + 0: 60 + 1: 60 + 2: 237 + 3: 21 + 4: 36 + 5: 36 + 6: 36 + 7: 36 8: 5 HLT_tau25_mediumGNTau_probe_L1eTAU20M_xe65_cell_xe100_pfopufit_L1jXE100: eventCount: 1 @@ -29247,6 +29306,16 @@ HLT_tau25_mediumGNTau_tau20_mediumGNTau_02dRAB10_L1cTAU20M_DR-eTAU20eTAU12-jJ40: 4: 5 HLT_tau25_mediumGNTau_tau20_mediumGNTau_03dRAB_j70_j50a_j0_DJMASS900j50_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + stepFeatures: + 0: 6 + 1: 6 + 2: 6 + 3: 6 HLT_tau25_mediumRNN_trackLRT_L1cTAU20M: eventCount: 4 stepCounts: @@ -29344,27 +29413,49 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1jTAU20: ? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25 : eventCount: 4 stepCounts: - 0: 12 - 1: 12 - 2: 11 - 3: 11 - 4: 11 - 5: 11 - 6: 11 - 7: 11 + 0: 13 + 1: 13 + 2: 12 + 3: 12 + 4: 12 + 5: 12 + 6: 12 + 7: 12 8: 4 stepFeatures: - 0: 48 - 1: 48 - 2: 221 - 3: 21 - 4: 37 - 5: 37 - 6: 37 - 7: 37 + 0: 52 + 1: 52 + 2: 235 + 3: 23 + 4: 39 + 5: 39 + 6: 39 + 7: 39 8: 4 ? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25 : eventCount: 4 + stepCounts: + 0: 13 + 1: 13 + 2: 12 + 3: 12 + 4: 12 + 5: 12 + 6: 12 + 7: 12 + 8: 4 + stepFeatures: + 0: 65 + 1: 65 + 2: 273 + 3: 23 + 4: 39 + 5: 39 + 6: 39 + 7: 39 + 8: 4 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn185_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 3 stepCounts: 0: 12 1: 12 @@ -29374,22 +29465,22 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1jTAU20: 5: 11 6: 11 7: 11 - 8: 4 + 8: 3 stepFeatures: 0: 60 1: 60 - 2: 256 - 3: 21 - 4: 37 - 5: 37 - 6: 37 - 7: 37 - 8: 4 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn185_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 + 2: 237 + 3: 22 + 4: 36 + 5: 36 + 6: 36 + 7: 36 + 8: 3 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 11 + 0: 12 + 1: 10 2: 10 3: 10 4: 10 @@ -29398,130 +29489,86 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1jTAU20: 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 55 - 2: 222 - 3: 20 - 4: 34 - 5: 34 - 6: 34 - 7: 34 - 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 - stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 - 8: 3 - stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 ? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 ? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 ? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 - 8: 3 - stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 - 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 -: eventCount: 3 - stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 11 + 0: 12 + 1: 10 2: 10 3: 10 4: 10 @@ -29530,130 +29577,130 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1jTAU20: 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 55 - 2: 222 + 0: 60 + 1: 50 + 2: 218 3: 19 - 4: 34 - 5: 34 - 6: 34 - 7: 34 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 12 + 2: 11 + 3: 11 + 4: 11 + 5: 11 + 6: 11 + 7: 11 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 60 + 2: 237 + 3: 21 + 4: 36 + 5: 36 + 6: 36 + 7: 36 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau85_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 9 - 2: 9 - 3: 9 - 4: 9 - 5: 9 - 6: 9 - 7: 9 + 0: 12 + 1: 10 + 2: 10 + 3: 10 + 4: 10 + 5: 10 + 6: 10 + 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 45 - 2: 203 - 3: 17 - 4: 30 - 5: 30 - 6: 30 - 7: 30 + 0: 60 + 1: 50 + 2: 218 + 3: 19 + 4: 32 + 5: 32 + 6: 32 + 7: 32 8: 3 -? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel2c20XX1c20bgtwo85XX1c20gntau90_L1jJ85p0ETA21_3jJ40p0ETA25 : eventCount: 3 stepCounts: - 0: 11 - 1: 11 + 0: 12 + 1: 10 2: 10 3: 10 4: 10 @@ -29662,14 +29709,36 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1jTAU20: 7: 10 8: 3 stepFeatures: - 0: 55 - 1: 55 - 2: 222 + 0: 60 + 1: 50 + 2: 218 3: 19 - 4: 34 - 5: 34 - 6: 34 - 7: 34 + 4: 32 + 5: 32 + 6: 32 + 7: 32 + 8: 3 +? HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_nnJvtv1_j40c_nnJvtv1_j25c_nnJvtv1_j20c_nnJvtv1_SHARED_j20c_nnJvtv1_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L1jJ85p0ETA21_3jJ40p0ETA25 +: eventCount: 3 + stepCounts: + 0: 12 + 1: 12 + 2: 11 + 3: 11 + 4: 11 + 5: 11 + 6: 11 + 7: 11 + 8: 3 + stepFeatures: + 0: 60 + 1: 60 + 2: 237 + 3: 21 + 4: 36 + 5: 36 + 6: 36 + 7: 36 8: 3 HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU20M_xe65_cell_xe100_pfopufit_L1jXE100: eventCount: 1 @@ -30036,6 +30105,16 @@ HLT_tau25_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cT 4: 2 HLT_tau25_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_j70_j50a_j0_DJMASS900j50_L1jMJJ-500-NFF: eventCount: 0 + stepCounts: + 0: 1 + 1: 1 + 2: 1 + 3: 1 + stepFeatures: + 0: 6 + 1: 6 + 2: 6 + 3: 6 HLT_tau25_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ55: eventCount: 0 stepCounts: @@ -30243,28 +30322,28 @@ HLT_tau30_mediumGNTau_tau20_mediumGNTau_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTA HLT_tau30_mediumGNTau_tau20_mediumGNTau_03dRAB_L14jJ30p0ETA24_0DETA24-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 43 - 1: 43 - 2: 43 - 3: 43 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 6 HLT_tau30_mediumGNTau_tau20_mediumGNTau_03dRAB_L1cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 5 - 1: 5 - 2: 5 - 3: 5 + 0: 6 + 1: 6 + 2: 6 + 3: 6 stepFeatures: - 0: 30 - 1: 28 - 2: 28 - 3: 28 + 0: 34 + 1: 32 + 2: 32 + 3: 32 4: 6 HLT_tau30_mediumGNTau_tau20_mediumGNTau_03dRAB_L1cTAU30M_2cTAU20M: eventCount: 0 @@ -30308,41 +30387,41 @@ HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ30: eventCount: 0 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 54 - 1: 52 - 2: 52 - 3: 52 + 0: 58 + 1: 56 + 2: 56 + 3: 56 4: 6 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ40: eventCount: 0 - stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + stepCounts: + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 54 - 1: 52 - 2: 52 - 3: 52 + 0: 58 + 1: 56 + 2: 56 + 3: 56 4: 6 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ50: eventCount: 0 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 54 - 1: 52 - 2: 52 - 3: 52 + 0: 58 + 1: 56 + 2: 56 + 3: 56 4: 6 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ55: eventCount: 0 @@ -30360,119 +30439,119 @@ HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB30_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 0 stepCounts: - 0: 12 - 1: 12 - 2: 12 - 3: 12 + 0: 13 + 1: 13 + 2: 13 + 3: 13 stepFeatures: - 0: 64 - 1: 60 - 2: 60 - 3: 60 + 0: 68 + 1: 64 + 2: 64 + 3: 64 4: 6 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 43 - 1: 43 - 2: 43 - 3: 43 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_10DPHI99-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 43 - 1: 43 - 2: 43 - 3: 43 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 43 - 1: 43 - 2: 43 - 3: 43 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L14jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU20: eventCount: 0 stepCounts: - 0: 6 - 1: 6 - 2: 6 - 3: 6 + 0: 7 + 1: 7 + 2: 7 + 3: 7 stepFeatures: - 0: 43 - 1: 43 - 2: 43 - 3: 43 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24-eTAU30eTAU12: eventCount: 0 stepCounts: - 0: 5 - 1: 5 - 2: 5 - 3: 5 + 0: 6 + 1: 6 + 2: 6 + 3: 6 stepFeatures: - 0: 30 - 1: 28 - 2: 28 - 3: 28 + 0: 34 + 1: 32 + 2: 32 + 3: 32 4: 2 ? HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_10DPHI99-eTAU30eTAU12 : eventCount: 0 stepCounts: - 0: 5 - 1: 5 - 2: 5 - 3: 5 + 0: 6 + 1: 6 + 2: 6 + 3: 6 stepFeatures: - 0: 30 - 1: 28 - 2: 28 - 3: 28 + 0: 34 + 1: 32 + 2: 32 + 3: 32 4: 2 ? HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU12 : eventCount: 0 stepCounts: - 0: 5 - 1: 5 - 2: 5 - 3: 5 + 0: 6 + 1: 6 + 2: 6 + 3: 6 stepFeatures: - 0: 30 - 1: 28 - 2: 28 - 3: 28 + 0: 34 + 1: 32 + 2: 32 + 3: 32 4: 2 ? HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU20M_cTAU12M_4jJ30p0ETA24_0DETA24_4DPHI99-eTAU30eTAU20 : eventCount: 0 stepCounts: - 0: 5 - 1: 5 - 2: 5 - 3: 5 + 0: 6 + 1: 6 + 2: 6 + 3: 6 stepFeatures: - 0: 30 - 1: 28 - 2: 28 - 3: 28 + 0: 34 + 1: 32 + 2: 32 + 3: 32 4: 2 HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cTAU20M: eventCount: 0 @@ -30495,7 +30574,7 @@ HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cT 2: 14 3: 14 stepFeatures: - 0: 67 + 0: 69 1: 67 2: 67 3: 67 @@ -30516,15 +30595,15 @@ HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cT HLT_tau30_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 0 stepCounts: - 0: 12 - 1: 12 - 2: 12 - 3: 12 + 0: 13 + 1: 13 + 2: 13 + 3: 13 stepFeatures: - 0: 64 - 1: 60 - 2: 60 - 3: 60 + 0: 68 + 1: 64 + 2: 64 + 3: 64 4: 6 HLT_tau30_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ55: eventCount: 0 @@ -31242,41 +31321,41 @@ HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ30: eventCount: 0 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 53 - 1: 51 - 2: 51 - 3: 51 + 0: 57 + 1: 55 + 2: 55 + 3: 55 4: 6 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ40: eventCount: 0 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 53 - 1: 51 - 2: 51 - 3: 51 + 0: 57 + 1: 55 + 2: 55 + 3: 55 4: 6 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ50: eventCount: 0 stepCounts: - 0: 10 - 1: 10 - 2: 10 - 3: 10 + 0: 11 + 1: 11 + 2: 11 + 3: 11 stepFeatures: - 0: 53 - 1: 51 - 2: 51 - 3: 51 + 0: 57 + 1: 55 + 2: 55 + 3: 55 4: 6 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ55: eventCount: 0 @@ -31312,7 +31391,7 @@ HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_2cT 2: 13 3: 13 stepFeatures: - 0: 65 + 0: 67 1: 63 2: 63 3: 63 @@ -31632,15 +31711,15 @@ HLT_tau40_mediumGNTau_tau35_mediumGNTau_03dRAB_L1cTAU35M_2cTAU30M: HLT_tau40_mediumGNTau_tau35_mediumGNTau_03dRAB_L1cTAU35M_2cTAU30M_2jJ55_3jJ50: eventCount: 0 stepCounts: - 0: 9 - 1: 9 - 2: 9 - 3: 9 + 0: 10 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 44 - 1: 44 - 2: 44 - 3: 44 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 10 HLT_tau40_mediumGNTau_tau35_mediumGNTau_03dRAB_L1eTAU35M_2eTAU30M: eventCount: 0 @@ -31913,15 +31992,15 @@ HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1cTAU35M_2cT HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1cTAU35M_2cTAU30M_2jJ55_3jJ50: eventCount: 0 stepCounts: - 0: 9 - 1: 9 - 2: 9 - 3: 9 + 0: 10 + 1: 10 + 2: 10 + 3: 10 stepFeatures: - 0: 44 - 1: 44 - 2: 44 - 3: 44 + 0: 47 + 1: 47 + 2: 47 + 3: 47 4: 6 HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1eTAU35M_2eTAU30M: eventCount: 0 diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index d6654383a8d0..4e4f0b3d0952 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -7617,11 +7617,11 @@ HLT_j100_0eta290_020jvt_bgn260_pf_ftf_xe50_cell_xe85_tcpufit_L1jXE110: HLT_j100_0eta290_020jvt_boffperf_pf_ftf_preselj80_L1jJ90: eventCount: 4 stepCounts: - 0: 5 + 0: 6 1: 4 2: 4 stepFeatures: - 0: 5 + 0: 6 1: 5 2: 5 HLT_j100_0eta290_nnJvtv1_bgn260_pf_ftf_xe50_cell_xe85_pfopufit_L1gXEJWOJ110: @@ -7635,11 +7635,11 @@ HLT_j100_0eta290_nnJvtv1_bgn260_pf_ftf_xe50_cell_xe85_tcpufit_L1jXE110: HLT_j100_0eta290_nnJvtv1_boffperf_pf_ftf_preselj80_L1jJ90: eventCount: 4 stepCounts: - 0: 5 + 0: 6 1: 4 2: 4 stepFeatures: - 0: 5 + 0: 6 1: 5 2: 5 HLT_j110_L1gJ20p25ETA49: @@ -8011,15 +8011,15 @@ HLT_j20_PhysicsTLA_L1HT190-jJ40s5pETA21: HLT_j20_PhysicsTLA_L1jJ160: eventCount: 0 HLT_j20_PhysicsTLA_L1jJ90_DETA20-jJ90J: - eventCount: 1 + eventCount: 3 stepCounts: - 0: 1 - 1: 1 - 2: 1 - stepFeatures: 0: 3 1: 3 - 2: 1 + 2: 3 + stepFeatures: + 0: 14 + 1: 14 + 2: 3 HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE40-jJ40: eventCount: 0 HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPNODPHI-jXE40-jJ40: @@ -8767,25 +8767,25 @@ HLT_j55c_xe50_cell_L1jJ60_EMPTY: HLT_j55c_xe50_cell_L1jJ60_FIRSTEMPTY: eventCount: 0 HLT_j60_0eta290_020jvt_boffperf_pf_ftf_L1jJ90: - eventCount: 5 + eventCount: 7 stepCounts: - 0: 5 - 1: 5 - 2: 5 + 0: 7 + 1: 7 + 2: 7 stepFeatures: - 0: 5 - 1: 9 - 2: 9 + 0: 7 + 1: 12 + 2: 12 HLT_j60_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ90: - eventCount: 5 + eventCount: 7 stepCounts: - 0: 5 - 1: 5 - 2: 5 + 0: 7 + 1: 7 + 2: 7 stepFeatures: - 0: 5 - 1: 9 - 2: 9 + 0: 7 + 1: 12 + 2: 12 HLT_j60_L1gJ20p0ETA25: eventCount: 12 stepCounts: @@ -8799,11 +8799,11 @@ HLT_j60_L1jJ50: stepFeatures: 0: 17 HLT_j60_L1jJ90: - eventCount: 5 + eventCount: 7 stepCounts: - 0: 5 + 0: 7 stepFeatures: - 0: 9 + 0: 12 HLT_j60_j45_j25_j20_pf_ftf_preselc60XXc45XXc25XXc20_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25: eventCount: 0 HLT_j60_pf_ftf_preselj50_L1jJ50: @@ -9049,25 +9049,25 @@ HLT_j80_0eta290_020jvt_bgn160_pf_ftf_xe60_cell_L12jJ90_jXE80: HLT_j80_0eta290_020jvt_bgn170_j60_0eta290_020jvt_bgn185_j45f_pf_ftf_preselj60XXj45XXf40_L1jJ80p0ETA25_2jJ55_jJ50p30ETA49: eventCount: 0 HLT_j80_0eta290_020jvt_boffperf_pf_ftf_L1jJ90: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 5 - 1: 5 - 2: 5 - stepFeatures: - 0: 5 + 0: 7 1: 6 2: 6 + stepFeatures: + 0: 7 + 1: 7 + 2: 7 HLT_j80_0eta290_nnJvtv1_boffperf_pf_ftf_L1jJ90: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 5 - 1: 5 - 2: 5 - stepFeatures: - 0: 5 + 0: 7 1: 6 2: 6 + stepFeatures: + 0: 7 + 1: 7 + 2: 7 ? HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b80_L1MU8F_2jJ40_jJ50 : eventCount: 0 stepCounts: @@ -9119,11 +9119,11 @@ HLT_j85_L1jJ50: stepFeatures: 0: 8 HLT_j85_L1jJ90: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 5 - stepFeatures: 0: 6 + stepFeatures: + 0: 7 HLT_j85_a10sd_cssk_pf_jes_ftf_preselj50_L1jJ50: eventCount: 9 stepCounts: @@ -12036,7 +12036,7 @@ HLT_noalg_L1jJ60: HLT_noalg_L1jJ60p30ETA49: eventCount: 0 HLT_noalg_L1jJ90: - eventCount: 5 + eventCount: 7 HLT_noalg_L1jJ90p30ETA49: eventCount: 0 HLT_noalg_L1jLJ120: diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref index babd3cf02598..78f3577358b6 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref @@ -993,11 +993,11 @@ HLT_j75_ion_L1jJ50: stepFeatures: 0: 29 HLT_j75_ion_L1jJ60: - eventCount: 14 + eventCount: 15 stepCounts: - 0: 14 + 0: 15 stepFeatures: - 0: 28 + 0: 29 HLT_j80f_ion_L1jJ60p30ETA49: eventCount: 0 HLT_j85_ion_L1jJ50: @@ -2380,9 +2380,9 @@ HLT_noalg_L1gXEJWOJ100: HLT_noalg_L1jJ40: eventCount: 20 HLT_noalg_L1jJ50: - eventCount: 19 + eventCount: 20 HLT_noalg_L1jJ60: - eventCount: 16 + eventCount: 17 HLT_noalg_L1jTAU1: eventCount: 20 HLT_noalg_L1jTE10: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/L1CaloThresholdMapping.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/L1CaloThresholdMapping.py index 14a26ed91729..ec1d7d8d7640 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/L1CaloThresholdMapping.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/L1CaloThresholdMapping.py @@ -64,28 +64,28 @@ threshold_mapping = { 10:10, 15:15, 20:21, - 30:27, - 40:28, - 50:33, + 30:26, + 40:27, + 50:31, 55:41, - 60:64, + 60:60, 80:65, - 90:84, + 90:81, 125:121, - 140:138, + 140:137, 160:158, - 180:197, + 180:195, # Must be 400 to ensure threshold can be passed 500:400, }, 'CjJ': { # 0ETA2[1,3,5] 20:21, - 30:23, - 40:27, + 30:22, + 40:25, 50:33, 55:39, 60:56, - 70:59, + 70:54, 80:64, 85:70, 90:84, -- GitLab From a2f6ba8afe123f343d10c0e5fa84e04dc73426f6 Mon Sep 17 00:00:00 2001 From: Bertrand Martin Dit Latour <bertrand.martindl@cern.ch> Date: Thu, 20 Mar 2025 14:39:07 +0000 Subject: [PATCH 14/44] TrigValidation: update bulk global conditions tag in ART tests TrigValidation: update bulk global tags in ART tests Hello, Following !78113, we need to update the bulk global conditions tag used in trigger ART tests. Move to the `TestDefaults` ones, to avoid further manual updates. Fixes ATR-30978. Cheers, Bertrand --- .../TrigInDetValidation/python/TrigInDetArtSteps.py | 5 +++-- .../TrigInDetValidation/utils/TrigInDetArtSteps.py.pre | 5 +++-- .../TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_build.py | 5 +++-- .../TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_grid.py | 5 +++-- .../TrigP1Test/test/test_trigP1_v1Dev_HI_run3_build.py | 8 ++++---- .../test/test_trigP1_v1PhysP1_DAODTLAFTAGPEB_grid.py | 5 +++-- .../TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLA_grid.py | 5 +++-- .../test/test_trigP1_v1PhysP1_HI_T0Mon_build.py | 8 ++++---- .../test/test_trigP1_v1PhysP1_T0MonTrf_build.py | 5 +++-- .../TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_build.py | 5 +++-- .../TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_grid.py | 5 +++-- .../test/test_trigP1_v1PhysP1_lowMu_T0Mon_build.py | 5 +++-- 12 files changed, 38 insertions(+), 28 deletions(-) diff --git a/Trigger/TrigValidation/TrigInDetValidation/python/TrigInDetArtSteps.py b/Trigger/TrigValidation/TrigInDetValidation/python/TrigInDetArtSteps.py index c816b7fcb2ed..8d1f9d584f32 100644 --- a/Trigger/TrigValidation/TrigInDetValidation/python/TrigInDetArtSteps.py +++ b/Trigger/TrigValidation/TrigInDetValidation/python/TrigInDetArtSteps.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # ''' @@ -16,6 +16,7 @@ from TrigValTools.TrigValSteering.Step import Step from TrigValTools.TrigValSteering.CheckSteps import RefComparisonStep from TrigValTools.TrigValSteering.Common import find_file from AthenaCommon.Utils.unixtools import FindFile +from AthenaConfiguration.TestDefaults import defaultConditionsTags ################################################## # Exec (athena) steps for Reco_tf @@ -204,7 +205,7 @@ class TrigTZReco(ExecStep): self.max_events = -1 self.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') # output of the previous step self.args += ' --outputAODFile=AOD.pool.root' - self.args += ' --conditionsTag=\'CONDBR2-BLKPA-2023-05\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' + self.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' self.args += ' --preExec="{:s}"'.format(tzrecoPreExec) self.args += ' --CA' diff --git a/Trigger/TrigValidation/TrigInDetValidation/utils/TrigInDetArtSteps.py.pre b/Trigger/TrigValidation/TrigInDetValidation/utils/TrigInDetArtSteps.py.pre index 8a7446146374..e8ac4305a13d 100644 --- a/Trigger/TrigValidation/TrigInDetValidation/utils/TrigInDetArtSteps.py.pre +++ b/Trigger/TrigValidation/TrigInDetValidation/utils/TrigInDetArtSteps.py.pre @@ -1,5 +1,5 @@ # -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # ''' @@ -16,6 +16,7 @@ from TrigValTools.TrigValSteering.Step import Step from TrigValTools.TrigValSteering.CheckSteps import RefComparisonStep from TrigValTools.TrigValSteering.Common import find_file from AthenaCommon.Utils.unixtools import FindFile +from AthenaConfiguration.TestDefaults import defaultConditionsTags ################################################## # Exec (athena) steps for Reco_tf @@ -262,7 +263,7 @@ class TrigTZReco(ExecStep): self.max_events = -1 self.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') # output of the previous step self.args += ' --outputAODFile=AOD.pool.root' - self.args += ' --conditionsTag=\'CONDBR2-BLKPA-2023-05\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' + self.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' self.args += ' --preExec="{:s}"'.format(tzrecoPreExec) self.args += ' --CA' diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_build.py index 09777fc06c08..fb2c9d36d40e 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of cosmic P1+Tier0 workflow, runs athenaHLT with Cosmic_run3_v1 menu followed by offline reco and monitoring # art-type: build @@ -8,6 +8,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'Cosmic_run3_v1' @@ -69,7 +70,7 @@ tzreco.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' tzreco.args += ' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2023-05\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_grid.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_grid.py index 3d9b612da60c..63ad2debfe77 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_grid.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Cosmic_T0Mon_grid.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of cosmic P1+Tier0 workflow, runs athenaHLT with Cosmic_run3_v1 menu followed by offline reco and monitoring # art-type: grid @@ -19,6 +19,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'Cosmic_run3_v1' @@ -82,7 +83,7 @@ tzreco.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' tzreco.args += ' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2023-05\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Dev_HI_run3_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Dev_HI_run3_build.py index e651ea131358..f51501a6e2a3 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Dev_HI_run3_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1Dev_HI_run3_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of HI data 2023 workflow, runs athenaHLT with HI menu followed by filtering of HP stream and offline reco # art-type: build @@ -8,7 +8,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file - +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'Dev_HI_run3_v1_TriggerValidation_prescale' @@ -70,7 +70,7 @@ reco_hp.args += ' --outputAODFile=HP_AOD.pool.root' reco_hp.args += ' --outputHISTFile=hist.root' reco_hp.args += f' --preExec="all:{recoHPPreExec}"' reco_hp.args += ' --geometryVersion="ATLAS-R3S-2021-03-02-00"' -reco_hp.args += ' --conditionsTag="CONDBR2-BLKPA-2023-05"' +reco_hp.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' reco_hp.args += ' --autoConfiguration="everything"' #==================================================================================================== @@ -94,7 +94,7 @@ reco_upc.args += ' --outputAODFile=AOD_UPC.pool.root' reco_upc.args += ' --outputHISTFile=hist_UPC.root' reco_upc.args += f' --preExec="all:{recoUPCPreExec}"' reco_upc.args += ' --geometryVersion="ATLAS-R3S-2021-03-02-00"' -reco_upc.args += ' --conditionsTag="CONDBR2-BLKPA-2023-05"' +reco_upc.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' reco_upc.args += ' --autoConfiguration="everything"' # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLAFTAGPEB_grid.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLAFTAGPEB_grid.py index b9d28d51e7d7..be34b10dd382 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLAFTAGPEB_grid.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLAFTAGPEB_grid.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of P1+Tier0 workflow, runs athenaHLT with PhysicsP1_pp_run3_v1 menu followed by offline reco and monitoring (incl. EDM) # art-type: grid @@ -22,6 +22,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file from TrigAnalysisTest.TrigAnalysisSteps import add_analysis_steps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'Dev_pp_run3_v1_HLTReprocessing_prescale' @@ -56,7 +57,7 @@ tlareco.input = '' tlareco.explicit_input = True tlareco.args = '--inputBSFile=' + find_file('*.physics_FTagPEBTLA*._athenaHLT*.data') # output of the previous step tlareco.args += ' --outputDAOD_TLAFTAGPEBFile=DAOD_TLAFTAGPEB.pool.root' -tlareco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tlareco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tlareco.args += ' --preExec="{:s}"'.format(tlarecoPreExec) # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLA_grid.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLA_grid.py index 5d7522c1f191..365a76bbb0f5 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLA_grid.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_DAODTLA_grid.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of P1+Tier0 workflow, runs athenaHLT with PhysicsP1_pp_run3_v1 menu followed by offline reco and monitoring (incl. EDM) # art-type: grid @@ -22,6 +22,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file from TrigAnalysisTest.TrigAnalysisSteps import add_analysis_steps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_pp_run3_v1_HLTReprocessing_prescale' @@ -56,7 +57,7 @@ tlareco.input = '' tlareco.explicit_input = True tlareco.args = '--inputBSFile=' + find_file('*.physics_TLA*._athenaHLT*.data') # output of the previous step tlareco.args += ' --outputDAOD_TLAFile=DAOD_TLA.pool.root' -tlareco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tlareco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tlareco.args += ' --preExec="{:s}"'.format(tlarecoPreExec) # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_HI_T0Mon_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_HI_T0Mon_build.py index 63006fe7fede..c0489364b324 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_HI_T0Mon_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_HI_T0Mon_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of HI data 2023 workflow, runs athenaHLT with HI menu followed by filtering of HP stream, and offline reco with monitoring # art-type: build @@ -8,7 +8,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file - +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_HI_run3_v1' @@ -92,7 +92,7 @@ reco_hp.args += ' --outputAODFile=HP_AOD.pool.root' reco_hp.args += ' --outputHISTFile=hist.root' reco_hp.args += f' --preExec="all:{recoHPPreExec}; {monPreExec}"' reco_hp.args += ' --geometryVersion="ATLAS-R3S-2021-03-02-00"' -reco_hp.args += ' --conditionsTag="CONDBR2-BLKPA-2023-05"' +reco_hp.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' reco_hp.args += ' --autoConfiguration="everything"' #==================================================================================================== @@ -115,7 +115,7 @@ reco_upc.args += ' --outputAODFile=AOD_UPC.pool.root' reco_upc.args += ' --outputHISTFile=hist_UPC.root' reco_upc.args += f' --preExec="all:{recoUPCPreExec}; {monPreExec}"' reco_upc.args += ' --geometryVersion="ATLAS-R3S-2021-03-02-00"' -reco_upc.args += ' --conditionsTag="CONDBR2-BLKPA-2023-05"' +reco_upc.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA23}"' reco_upc.args += ' --autoConfiguration="everything"' # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0MonTrf_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0MonTrf_build.py index b019ab62fe93..c50689e35958 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0MonTrf_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0MonTrf_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: transform test of BSRDOtoRAW + T0Reco + T0Mon, using v1PhysP1 menu # art-type: build @@ -7,6 +7,7 @@ # art-include: 24.0/Athena from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_pp_run3_v1_HLTReprocessing_prescale' @@ -62,7 +63,7 @@ tzreco.args = '--inputBSFile=RAW.pool.root' # output of the previous step tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputNTUP_TRIGRATEFile=rate.ntup.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) tzreco.args += ' --CA' diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_build.py index 457546f25054..c95af6f9d6d2 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of P1+Tier0 workflow, runs athenaHLT with PhysicsP1_pp_run3_v1 menu followed by offline reco and monitoring (incl. EDM) # art-type: build @@ -9,6 +9,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file from TrigAnalysisTest.TrigAnalysisSteps import add_analysis_steps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_pp_run3_v1_HLTReprocessing_prescale' @@ -67,7 +68,7 @@ tzreco.max_events = 50 tzreco.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') # output of the previous step tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) # The full test diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_grid.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_grid.py index d31f94409dda..d6c3c9adec24 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_grid.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_T0Mon_grid.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of P1+Tier0 workflow, runs athenaHLT with PhysicsP1_pp_run3_v1 menu followed by offline reco, DAOD production, monitoring and analysis step for EDM monitoring # art-type: grid @@ -20,6 +20,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file from TrigAnalysisTest.TrigAnalysisSteps import add_analysis_steps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_pp_run3_v1_HLTReprocessing_prescale' @@ -77,7 +78,7 @@ tzreco.explicit_input = True tzreco.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') # output of the previous step tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) aod2daod = ExecStep.ExecStep('AODtoDAOD') diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_lowMu_T0Mon_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_lowMu_T0Mon_build.py index 32917fef7036..7fea603f7e39 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_lowMu_T0Mon_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_lowMu_T0Mon_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Test of P1+Tier0 workflow, runs athenaHLT with PhysicsP1_pp_lowMu_run3_v1 menu followed by offline reco and monitoring # art-type: build @@ -9,6 +9,7 @@ from TrigValTools.TrigValSteering import Test, ExecStep, CheckSteps from TrigValTools.TrigValSteering.Common import find_file from TrigAnalysisTest.TrigAnalysisSteps import add_analysis_steps +from AthenaConfiguration.TestDefaults import defaultConditionsTags # Specify trigger menu once here: triggermenu = 'PhysicsP1_pp_lowMu_run3_v1' @@ -66,7 +67,7 @@ tzreco.max_events = 50 tzreco.args = '--inputBSFile=' + find_file('*.physics_Main*._athenaHLT*.data') # output of the previous step tzreco.args += ' --outputAODFile=AOD.pool.root' tzreco.args += ' --outputHISTFile=ExampleMonitorOutput.root' -tzreco.args += ' --conditionsTag=\'CONDBR2-BLKPA-2024-03\' --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' +tzreco.args += f' --conditionsTag="{defaultConditionsTags.RUN3_DATA}" --geometryVersion=\'ATLAS-R3S-2021-03-02-00\'' tzreco.args += ' --preExec="{:s}"'.format(tzrecoPreExec) # The full test -- GitLab From 33b7ed8523746ab7fdcb1d564e24d235e8857735 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste De Vivie De Regie <devivie@lpsc.in2p3.fr> Date: Thu, 20 Mar 2025 15:37:41 +0000 Subject: [PATCH 15/44] Updates conditions tag Updates conditions tag --- Tools/Tier0ChainTests/test/test_bulkProcessing_calib.sh | 3 ++- Tools/Tier0ChainTests/test/test_bulkProcessing_cosmic.sh | 3 ++- Tools/Tier0ChainTests/test/test_bulkProcessing_data22.sh | 5 +++-- .../test/test_bulkProcessing_data22_900GeV.sh | 3 ++- Tools/Tier0ChainTests/test/test_bulkProcessing_data23.sh | 5 +++-- .../Tier0ChainTests/test/test_bulkProcessing_hi23_upc.sh | 3 ++- .../Tier0ChainTests/test/test_bulkProcessing_splashes.sh | 3 ++- Tools/Tier0ChainTests/test/test_drawProcessing_data23.sh | 9 +++++---- 8 files changed, 21 insertions(+), 13 deletions(-) diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_calib.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_calib.sh index 0963d5e3e387..b7af0529bb44 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_calib.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_calib.sh @@ -10,6 +10,7 @@ # temporary preExec override due to ATLASRECTS-7502 # TODO update following ATLASRECTS-8054 +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") Reco_tf.py \ --AMI f1328 \ --preExec="flags.DQ.useTrigger=False; flags.DQ.triggerDataAvailable=False; flags.DQ.Steering.doHLTMon=False; flags.DQ.Steering.doTauMon=False;" \ @@ -17,7 +18,7 @@ Reco_tf.py \ --outputAODFile="AOD.pool.root" \ --outputESDFile="ESD.pool.root" \ --outputHISTFile="HIST.root" \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_cosmic.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_cosmic.sh index b02ca36ee668..6cfe7adf353c 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_cosmic.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_cosmic.sh @@ -10,6 +10,7 @@ # temporary preExec override due to ATLASRECTS-7502 # TODO update following ATLASRECTS-8054 +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") Reco_tf.py \ --AMI f1328 \ --preExec="flags.DQ.Steering.doTauMon=False;" \ @@ -17,7 +18,7 @@ Reco_tf.py \ --outputAODFile="AOD.pool.root" \ --outputESDFile="ESD.pool.root" \ --outputHISTFile="HIST.root" \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_data22.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_data22.sh index 7344e2bbc1af..c1892240db32 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_data22.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_data22.sh @@ -9,7 +9,8 @@ # TODO update following ATLASRECTS-8054 -Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") +Reco_tf.py \ --AMI f1328 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00437548.physics_Main.daq.RAW._lb1044._SFO-15._0002.data" \ --maxEvents=700 \ @@ -24,7 +25,7 @@ Reco_tf.py --CA \ --outputDAOD_L1CALO1File="myDAOD_L1CALO1.pool.root" \ --outputDESDM_PHOJETFile="myDESDM_PHOJET.pool.root" \ --outputDRAW_TAULHFile="myDRAW_TAULH.data" \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_data22_900GeV.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_data22_900GeV.sh index 6526d542ac54..e87609f4c668 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_data22_900GeV.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_data22_900GeV.sh @@ -9,13 +9,14 @@ # TODO update following ATLASRECTS-8054 +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") Reco_tf.py \ --AMI f1328 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_900GeV.00424070.express_express.merge.RAW._lb0100._SFO-ALL._0001.1" \ --outputAODFile="AOD.pool.root" \ --outputESDFile="ESD.pool.root" \ --outputHISTFile="HIST.root" \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_data23.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_data23.sh index 19fc231eb98c..53babbadbd51 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_data23.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_data23.sh @@ -9,7 +9,8 @@ # TODO update following ATLASRECTS-8054 -Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA23)") +Reco_tf.py \ --AMI f1350 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/data23/RAW/data23_13p6TeV.00452463.physics_Main.daq.RAW/540events.data23_13p6TeV.00452463.physics_Main.daq.RAW._lb0514._SFO-16._0004.data" \ --outputAODFile="AOD.pool.root" \ @@ -23,7 +24,7 @@ Reco_tf.py --CA \ --outputDAOD_L1CALO1File="myDAOD_L1CALO1.pool.root" \ --outputDESDM_PHOJETFile="myDESDM_PHOJET.pool.root" \ --outputDRAW_TAULHFile="myDRAW_TAULH.data" \ ---conditionsTag="CONDBR2-BLKPA-2023-05" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_hi23_upc.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_hi23_upc.sh index a390698c6d19..d902794b920c 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_hi23_upc.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_hi23_upc.sh @@ -9,6 +9,7 @@ # TODO update following ATLASRECTS-8054 +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA23)") Reco_tf.py \ --AMI f1406 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data23_hi.00462107.physics_UPC.daq.RAW._lb0500._SFO-14._0002.data" \ @@ -16,7 +17,7 @@ Reco_tf.py \ --outputESDFile="ESD.pool.root" \ --outputHISTFile="HIST.root" \ --maxEvents=1500 \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_bulkProcessing_splashes.sh b/Tools/Tier0ChainTests/test/test_bulkProcessing_splashes.sh index 6694b6af050d..2dea150b263d 100755 --- a/Tools/Tier0ChainTests/test/test_bulkProcessing_splashes.sh +++ b/Tools/Tier0ChainTests/test/test_bulkProcessing_splashes.sh @@ -9,13 +9,14 @@ # TODO update following ATLASRECTS-8054 +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") Reco_tf.py \ --AMI f1328 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_comm.00420624.express_express.merge.RAW._lb1054._SFO-ALL._0001.1" \ --outputAODFile="AOD.pool.root" \ --outputESDFile="ESD.pool.root" \ --outputHISTFile="HIST.root" \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? diff --git a/Tools/Tier0ChainTests/test/test_drawProcessing_data23.sh b/Tools/Tier0ChainTests/test/test_drawProcessing_data23.sh index ebb76d7ecff6..11bc023953d9 100755 --- a/Tools/Tier0ChainTests/test/test_drawProcessing_data23.sh +++ b/Tools/Tier0ChainTests/test/test_drawProcessing_data23.sh @@ -9,24 +9,25 @@ # TODO update following ATLASRECTS-8054 -Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA23)") +Reco_tf.py \ --AMI f1350 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/data23/DRAW_EGZ/data23_13p6TeV.00456714.physics_Main.merge.DRAW_EGZ.f1370_m2193/312events.data23_13p6TeV.00456714.physics_Main.merge.DRAW_EGZ.f1370_m2193._0602.1" \ --outputDESDM_ALLCELLSFile="myDESDM_EGZ.pool.root" \ --outputDAOD_L1CALO1File="myDAOD_L1CALO1EGZ.pool.root" \ --maxEvents 75 \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc1=$? echo "art-result: $rc1 Reco DRAW_EGZ" -Reco_tf.py --CA \ +Reco_tf.py \ --AMI f1350 \ --inputBSFile="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/data23/DRAW_ZMUMU/data23_13p6TeV.00456386.physics_Main.merge.DRAW_ZMUMU.f1369_m2193/540events.data23_13p6TeV.00456386.physics_Main.merge.DRAW_ZMUMU.f1369_m2193._0042.1" \ --outputAODFile="myDAOD_ZMUMU.pool.root" \ --outputDAOD_L1CALO1File="myDAOD_L1CALO1ZMM.pool.root" \ --maxEvents 75 \ ---conditionsTag="CONDBR2-BLKPA-2022-15" \ +--conditionsTag=$conditionsTag \ --imf False rc2=$? echo "art-result: $rc2 Reco DRAW_ZMUMU" -- GitLab From 81cb99e734bbcbd8d46b2f057fd9d3566db94e33 Mon Sep 17 00:00:00 2001 From: Patrick Scholer <patrick.scholer@cern.ch> Date: Thu, 20 Mar 2025 15:46:32 +0000 Subject: [PATCH 16/44] add cool folder for stgc as built reading add cool folder for stgc as built reading --- .../MuonConfig/python/MuonGeometryConfig.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py index 98e9bcc46708..fa8b240eff81 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py @@ -154,15 +154,13 @@ def NswAsBuiltCondAlgCfg(flags, name = "NswAsBuiltCondAlg", **kwargs): kwargs.setdefault("ReadMmAsBuiltParamsKey","/MUONALIGN/ASBUILTPARAMS/MM") #kwargs.setdefault("ReadSTgcAsBuiltParamsKey","/MUONALIGN/ASBUILTPARAMS/STGC") # This is the folder that sould be used once the as builts are validated, so keep it here but commented out - kwargs.setdefault("ReadSTgcAsBuiltParamsKey","") # for now diable the reading of sTGC as build from the conditions database - + kwargs.setdefault("ReadSTgcAsBuiltParamsKey","") # disable the stgc part of NswAsBuilt, proper code cleanup will follow + + ##TODO: remove hard-coded tag once the global tag is ready from IOVDbSvc.IOVDbSvcConfig import addFolders if(not (kwargs["MicroMegaJSON"] or not kwargs["ReadMmAsBuiltParamsKey"]) ) : # no need to add the folder if we are reading a json file anyhow result.merge(addFolders( flags, kwargs["ReadMmAsBuiltParamsKey"] , 'MUONALIGN_OFL', className='CondAttrListCollection', tag='MuonAlignAsBuiltParamsMm-RUN3-01-00')) - ### Disable the STGC as-built parameters (Keep the path if we want to add later fully validated As-built) - if(not (kwargs["sTgcJSON"] or not kwargs["ReadSTgcAsBuiltParamsKey"])): # no need to add the folder if we are reading a json file anyhow - result.merge(addFolders( flags, kwargs["ReadSTgcAsBuiltParamsKey"], 'MUONALIGN_OFL', className='CondAttrListCollection', tag='MUONALIGN_STG_ASBUILT-001-03')) the_alg = CompFactory.NswAsBuiltCondAlg(name, **kwargs) result.addCondAlgo(the_alg, primary = True) return result @@ -173,10 +171,10 @@ def sTGCAsBuiltCondAlg2Cfg(flags, name = "sTGCAsBuiltCondAlg2", **kwargs): if flags.GeoModel.Run < LHCPeriod.Run3 or not flags.Muon.Align.UsesTGCAsBuild2: return result kwargs.setdefault("readFromJSON","") - if not kwargs["readFromJSON"] and False: # for now only allow reading from json since there is no database content available - kwargs.setdefault("ReadKey","/MUONALIGN/ASBUILTPARAMS/STGC") # This is the folder that sould be used once the as builts are validated, so keep it here but commented out + if not kwargs["readFromJSON"]: + kwargs.setdefault("ReadKey","/MUONALIGN/ASBUILTPARAMS/STGC") from IOVDbSvc.IOVDbSvcConfig import addFolders - result.merge(addFolders( flags, kwargs["ReadKey"], 'MUONALIGN_OFL', className='CondAttrListCollection', tag='')) + result.merge(addFolders( flags, kwargs["ReadKey"], 'MUONALIGN_OFL', className='CondAttrListCollection')) the_alg = CompFactory.sTGCAsBuiltCondAlg2(name,**kwargs) result.addCondAlgo(the_alg, primary=True) return result -- GitLab From b4b658b865b5ddb94ac4f20bfe8722a231dbbec2 Mon Sep 17 00:00:00 2001 From: Siarhei Harkusha <siarhei.harkusha@cern.ch> Date: Fri, 21 Mar 2025 08:19:50 +0000 Subject: [PATCH 17/44] TileCalibBlobObjs: Add new Tile DQ status (HalfGain) TileCalibBlobObjs: Add new Tile DQ status (HalfGain) New Tile DQ satus (HalfGain) has been introduced to mark problematic ADC with half gain. --- .../TileCalibBlobObjs/TileCalibBlobObjs/TileBchPrbs.h | 3 ++- .../TileCalib/TileCalibBlobObjs/src/TileBchDecoder.cxx | 3 ++- .../TileCalib/TileCalibBlobObjs/src/TileBchPrbs.cxx | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/TileBchPrbs.h b/TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/TileBchPrbs.h index 6317d3e6c77c..0b897c5ab87a 100644 --- a/TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/TileBchPrbs.h +++ b/TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/TileBchPrbs.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef TILECALIBBLOBOBJS_TILEBCHPRBS_H @@ -45,6 +45,7 @@ class TileBchPrbs NoCis = 1103, BadCis = 1104, IgnoredByDQV = 1105, + HalfGain = 1106, //============================= //=== Channel diff --git a/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchDecoder.cxx b/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchDecoder.cxx index 37d53a3bae10..05e903906060 100644 --- a/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchDecoder.cxx +++ b/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchDecoder.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "TileCalibBlobObjs/TileBchDecoder.h" @@ -105,6 +105,7 @@ TileBchDecoder::init_BitPat_ofl01() m_bitToPrbAdc[12] = TileBchPrbs::SevereStuckBit; m_bitToPrbAdc[13] = TileBchPrbs::SevereDataCorruption; m_bitToPrbAdc[14] = TileBchPrbs::IgnoredByDQV; + m_bitToPrbAdc[15] = TileBchPrbs::HalfGain; //=== initialize problem to word/bit map initPrbToBit(); diff --git a/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchPrbs.cxx b/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchPrbs.cxx index 650cdc3b7203..5b24ad116357 100644 --- a/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchPrbs.cxx +++ b/TileCalorimeter/TileCalib/TileCalibBlobObjs/src/TileBchPrbs.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ @@ -41,6 +41,7 @@ TileBchPrbs::initPrbDesc() prbNames[TileBchPrbs::NoCis ] = "No CIS calibration"; prbNames[TileBchPrbs::BadCis ] = "Bad CIS calibration"; prbNames[TileBchPrbs::IgnoredByDQV ] = "Ignored by DQV"; + prbNames[TileBchPrbs::HalfGain ] = "Half gain"; //=== channel prbNames[TileBchPrbs::GeneralMaskChannel ] = "Channel masked (unspecified)"; -- GitLab From 8c214b3ab3d607029f82b7a940696f41f3b1a3f3 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste De Vivie De Regie <devivie@lpsc.in2p3.fr> Date: Fri, 21 Mar 2025 08:20:19 +0000 Subject: [PATCH 18/44] TrfTestsART : update conditions tag TrfTestsART : update conditions tag --- Tools/TrfTestsART/test/test_trf_data22_hybrid_ca.sh | 5 +++-- Tools/TrfTestsART/test/test_trf_data22_mt_ca.sh | 5 +++-- Tools/TrfTestsART/test/test_trf_data23_mt_ca.sh | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Tools/TrfTestsART/test/test_trf_data22_hybrid_ca.sh b/Tools/TrfTestsART/test/test_trf_data22_hybrid_ca.sh index 41c77a55b002..07c58af3ba82 100755 --- a/Tools/TrfTestsART/test/test_trf_data22_hybrid_ca.sh +++ b/Tools/TrfTestsART/test/test_trf_data22_hybrid_ca.sh @@ -6,7 +6,8 @@ # art-include: 24.0/Athena # art-athena-mt: 8 -timeout 64800 Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") +timeout 64800 Reco_tf.py \ --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data \ --outputAODFile=myAOD.pool.root \ --outputHISTFile=myHIST.root \ @@ -17,7 +18,7 @@ timeout 64800 Reco_tf.py --CA \ --athenaopts="--nprocs=2 --threads=4" \ --preExec 'flags.Exec.FPE=10' \ --autoConfiguration="everything" \ - --conditionsTag "all:CONDBR2-BLKPA-2022-15" \ + --conditionsTag "all:${conditionsTag}" \ --geometryVersion="all:ATLAS-R3S-2021-03-00-00" \ --runNumber="431493" \ --maxEvents='100' diff --git a/Tools/TrfTestsART/test/test_trf_data22_mt_ca.sh b/Tools/TrfTestsART/test/test_trf_data22_mt_ca.sh index 3a8bd501b530..47288ae2c67a 100755 --- a/Tools/TrfTestsART/test/test_trf_data22_mt_ca.sh +++ b/Tools/TrfTestsART/test/test_trf_data22_mt_ca.sh @@ -6,7 +6,8 @@ # art-include: 24.0/Athena # art-athena-mt: 8 -timeout 64800 Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") +timeout 64800 Reco_tf.py \ --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data \ --outputAODFile=myAOD.pool.root \ --outputHISTFile=myHIST.root \ @@ -17,7 +18,7 @@ timeout 64800 Reco_tf.py --CA \ --multithreaded='True' \ --preExec 'flags.Exec.FPE=10' \ --autoConfiguration="everything" \ - --conditionsTag "all:CONDBR2-BLKPA-2022-15" \ + --conditionsTag "all:${conditionsTag}" \ --geometryVersion="all:ATLAS-R3S-2021-03-00-00" \ --runNumber="431493" \ --maxEvents='-1' diff --git a/Tools/TrfTestsART/test/test_trf_data23_mt_ca.sh b/Tools/TrfTestsART/test/test_trf_data23_mt_ca.sh index 76a0f4daabb4..f9737ef278ee 100755 --- a/Tools/TrfTestsART/test/test_trf_data23_mt_ca.sh +++ b/Tools/TrfTestsART/test/test_trf_data23_mt_ca.sh @@ -6,7 +6,8 @@ # art-include: 24.0/Athena # art-athena-mt: 8 -timeout 64800 Reco_tf.py --CA \ +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA23)") +timeout 64800 Reco_tf.py \ --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/data23/RAW/data23_13p6TeV.00452463.physics_Main.daq.RAW/540events.data23_13p6TeV.00452463.physics_Main.daq.RAW._lb0514._SFO-16._0004.data \ --outputAODFile="myAOD.pool.root" \ --outputHISTFile="myHIST.root" \ @@ -20,7 +21,7 @@ timeout 64800 Reco_tf.py --CA \ --multithreaded='True' \ --preExec 'flags.Exec.FPE=10' \ --autoConfiguration="everything" \ - --conditionsTag "all:CONDBR2-BLKPA-2023-05" \ + --conditionsTag "all:${conditionsTag}" \ --geometryVersion="all:ATLAS-R3S-2021-03-02-00" \ --maxEvents='-1' -- GitLab From c3b0e32311f0808b671113be62f37238672c7617 Mon Sep 17 00:00:00 2001 From: Bertrand Martin Dit Latour <bertrand.martindl@cern.ch> Date: Fri, 21 Mar 2025 08:21:57 +0000 Subject: [PATCH 19/44] eflowRec: replace Decorator with WriteDecorHandle eflowRec: replace Decorator with WriteDecorHandle Hello, This MR is replacing a Decorator with a WriteDecorHandle(+Key). The main motivation is to suppress these warnings which appear once per event in the HLT: ``` 02:41:36 copyAuxStoreThinned 8 0 WARNING AthContainers/src/copyAuxStoreThinned.cxx:134: unlocked decoration passPFTrackPresel (269) in object of type xAOD::TrackParticleAuxContainer_v5 ``` Cheers, Bertrand --- Reconstruction/eflowRec/src/PFTrackPreselAlg.cxx | 16 +++++++++++----- Reconstruction/eflowRec/src/PFTrackPreselAlg.h | 5 ++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Reconstruction/eflowRec/src/PFTrackPreselAlg.cxx b/Reconstruction/eflowRec/src/PFTrackPreselAlg.cxx index 88cb34440169..d9af3ca4fdf9 100644 --- a/Reconstruction/eflowRec/src/PFTrackPreselAlg.cxx +++ b/Reconstruction/eflowRec/src/PFTrackPreselAlg.cxx @@ -1,17 +1,14 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "PFTrackPreselAlg.h" #include "StoreGate/ReadHandle.h" #include "StoreGate/WriteHandle.h" +#include "StoreGate/WriteDecorHandle.h" #include "AthContainers/ConstDataVector.h" #include <memory> -namespace { - const SG::AuxElement::Decorator<char> decPass("passPFTrackPresel"); -} - PFTrackPreselAlg::PFTrackPreselAlg(const std::string& name, ISvcLocator* pSvcLocator) : AthReentrantAlgorithm(name, pSvcLocator) { @@ -23,7 +20,12 @@ StatusCode PFTrackPreselAlg::initialize() { ATH_CHECK( m_inputTracksKey.initialize() ); ATH_CHECK( m_outputTracksKey.initialize() ); + + m_outputDecorKey = m_inputTracksKey.key()+"."+m_outputDecorKey.key(); + ATH_CHECK( m_outputDecorKey.initialize() ); + ATH_CHECK( m_trackSelTool.retrieve() ); + return StatusCode::SUCCESS; } @@ -35,6 +37,9 @@ StatusCode PFTrackPreselAlg::execute(const EventContext &ctx) const ATH_MSG_ERROR("Failed to retrieve " << m_inputTracksKey); return StatusCode::FAILURE; } + + SG::WriteDecorHandle<xAOD::TrackParticleContainer, char> decPass(m_outputDecorKey, ctx); + auto output = std::make_unique<ConstDataVector<xAOD::TrackParticleContainer>>(SG::VIEW_ELEMENTS); for (const xAOD::TrackParticle* itrk : *input) { @@ -48,5 +53,6 @@ StatusCode PFTrackPreselAlg::execute(const EventContext &ctx) const } auto outputHandle = SG::makeHandle(m_outputTracksKey, ctx); ATH_CHECK(outputHandle.put(std::move(output)) != nullptr); + return StatusCode::SUCCESS; } diff --git a/Reconstruction/eflowRec/src/PFTrackPreselAlg.h b/Reconstruction/eflowRec/src/PFTrackPreselAlg.h index 3d3d923dceae..217a1c907d58 100644 --- a/Reconstruction/eflowRec/src/PFTrackPreselAlg.h +++ b/Reconstruction/eflowRec/src/PFTrackPreselAlg.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef EFLOWREC_PFTRACKPRESELALG_H #define EFLOWREC_PFTRACKPRESELALG_H @@ -7,6 +7,7 @@ #include "AthenaBaseComps/AthReentrantAlgorithm.h" #include "StoreGate/ReadHandleKey.h" #include "StoreGate/WriteHandleKey.h" +#include "StoreGate/WriteDecorHandleKey.h" #include "xAODTracking/TrackParticleContainer.h" #include "GaudiKernel/ToolHandle.h" #include "InDetTrackSelectionTool/IInDetTrackSelectionTool.h" @@ -31,6 +32,8 @@ class PFTrackPreselAlg : public AthReentrantAlgorithm { this, "InputTracks", "", "The input track selection"}; SG::WriteHandleKey<xAOD::TrackParticleContainer> m_outputTracksKey{ this, "OutputTracks", "", "The output preselected track collection"}; + SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> m_outputDecorKey{ + this, "OutputDecor" , "passPFTrackPresel", "Output decoration"}; ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelTool{ this, "TrackSelTool", "", "The track selection tool"}; Gaudi::Property<float> m_upperPtCut{ -- GitLab From e2b55a5268c94151ce90abe007a9e2fff3f1be3f Mon Sep 17 00:00:00 2001 From: Makayla Vessella <makayla.vessella@cern.ch> Date: Fri, 21 Mar 2025 08:23:30 +0000 Subject: [PATCH 20/44] update IDGlobal han configs for YETS2025 update IDGlobal han configs for YETS2025 --- .../InDetAlignment/collisions_run.config | 32 +-- .../InDetAlignment/heavyions_run.config | 32 +-- .../InDetGlobal/collisions_minutes10.config | 192 ------------------ 3 files changed, 32 insertions(+), 224 deletions(-) delete mode 100644 DataQuality/DataQualityConfigurations/config/InDetGlobal/collisions_minutes10.config diff --git a/DataQuality/DataQualityConfigurations/config/InDetAlignment/collisions_run.config b/DataQuality/DataQualityConfigurations/config/InDetAlignment/collisions_run.config index 70921a7bedfb..20766da9254a 100644 --- a/DataQuality/DataQualityConfigurations/config/InDetAlignment/collisions_run.config +++ b/DataQuality/DataQualityConfigurations/config/InDetAlignment/collisions_run.config @@ -1042,8 +1042,8 @@ algorithm IDAlign_PixResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixResYGaussThresholds - xmin = -0.4 - xmax = 0.4 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1053,8 +1053,8 @@ algorithm IDAlign_PixEcaResXGaussFit { # only simple gaus, double gaus would cause undefined status for other plots # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEcaResXGaussThresholds - xmin = -0.1 - xmax = 0.1 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1064,8 +1064,8 @@ algorithm IDAlign_PixEccResXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEccResXGaussThresholds - xmin = -0.1 - xmax = 0.1 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1074,8 +1074,8 @@ algorithm IDAlign_PixEcaResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEcaResYGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1085,8 +1085,8 @@ algorithm IDAlign_PixEccResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEccResYGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1097,8 +1097,8 @@ algorithm IDAlign_SctBarrelXGaussFit { # doublegaus would cause undefined status for other plots (e.g pix_b_residualx), but ok for itself ! # name = Simple_doublegaus_Fit thresholds = IDAlign_SctResXGaussThresholds - xmin = -0.08 - xmax = 0.08 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1108,8 +1108,8 @@ algorithm IDAlign_SctEcaXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_SctEcaXGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.07 + xmax = 0.07 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } @@ -1119,8 +1119,8 @@ algorithm IDAlign_SctEccXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_SctEccXGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.07 + xmax = 0.07 MinStat = 1000 reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/InDetAlignment/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/InDetAlignment/heavyions_run.config index 0ff84060062e..74b0f6de0ec5 100644 --- a/DataQuality/DataQualityConfigurations/config/InDetAlignment/heavyions_run.config +++ b/DataQuality/DataQualityConfigurations/config/InDetAlignment/heavyions_run.config @@ -867,8 +867,8 @@ algorithm IDAlign_PixResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixResYGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = CentrallyManagedReferences } @@ -878,8 +878,8 @@ algorithm IDAlign_PixEcaResXGaussFit { # only simple gaus, double gaus would cause undefined status for other plots # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEcaResXGaussThresholds - xmin = -0.1 - xmax = 0.1 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = CentrallyManagedReferences } @@ -889,8 +889,8 @@ algorithm IDAlign_PixEccResXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEccResXGaussThresholds - xmin = -0.1 - xmax = 0.1 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = CentrallyManagedReferences } @@ -899,8 +899,8 @@ algorithm IDAlign_PixEcaResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEcaResYGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = CentrallyManagedReferences } @@ -910,8 +910,8 @@ algorithm IDAlign_PixEccResYGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_PixEccResYGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.3 + xmax = 0.3 MinStat = 1000 reference = CentrallyManagedReferences } @@ -922,8 +922,8 @@ algorithm IDAlign_SctBarrelXGaussFit { # doublegaus would cause undefined status for other plots (e.g pix_b_residualx), but ok for itself ! # name = Simple_doublegaus_Fit thresholds = IDAlign_SctResXGaussThresholds - xmin = -0.08 - xmax = 0.08 + xmin = -0.05 + xmax = 0.05 MinStat = 1000 reference = CentrallyManagedReferences } @@ -933,8 +933,8 @@ algorithm IDAlign_SctEcaXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_SctEcaXGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.07 + xmax = 0.07 MinStat = 1000 reference = CentrallyManagedReferences } @@ -944,8 +944,8 @@ algorithm IDAlign_SctEccXGaussFit { name = Simple_gaus_Fit # name = Simple_doublegaus_Fit thresholds = IDAlign_SctEccXGaussThresholds - xmin = -0.5 - xmax = 0.5 + xmin = -0.07 + xmax = 0.07 MinStat = 1000 reference = CentrallyManagedReferences } diff --git a/DataQuality/DataQualityConfigurations/config/InDetGlobal/collisions_minutes10.config b/DataQuality/DataQualityConfigurations/config/InDetGlobal/collisions_minutes10.config deleted file mode 100644 index 6712bccbae73..000000000000 --- a/DataQuality/DataQualityConfigurations/config/InDetGlobal/collisions_minutes10.config +++ /dev/null @@ -1,192 +0,0 @@ -# ********************************************************************** -# $Id: collisions_minutes10.config 766394 2016-08-04 11:27:37Z kastanas $ -# ********************************************************************** - -output top_level { - output InnerDetector { - output Global { - output Hits { - } - output Track { - } - output TIDE { - } - } - } -} - -dir InDetGlobal { - dir Hits { - hist Trk_nIBLhits_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_nPIXhits_eta_phi { - algorithm = ID_PIX_hits_ls - output = InnerDetector/Global/Hits - } - hist Trk_nSCThits_eta_phi { - algorithm = ID_SCT_hits_ls - output = InnerDetector/Global/Hits - } - hist Trk_nPixHoles_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_nSCTHoles_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_nTRThits_eta_phi { - algorithm = ID_TRT_hits_ls - output = InnerDetector/Global/Hits - } - hist Trk_nPIXdisabled_eta_phi { - algorithm = ID_PIX_disabled_ls - output = InnerDetector/Global/Hits - } - hist Trk_nSCTdisabled_eta_phi { - algorithm = ID_SCT_disabled_ls - output = InnerDetector/Global/Hits - } - hist Trk_nPixSplit_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_nPixShared_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_nSCTShared_eta_phi { - algorithm = GatherData - output = InnerDetector/Global/Hits - } - hist Trk_jetassoc_d0_dr { - algorithm = GatherData - output = InnerDetector/Global/TIDE - } - hist Trk_jetassoc_z0_dr { - algorithm = GatherData - output = InnerDetector/Global/TIDE - } - hist Trk_jetassoc_shared_pix_dr { - algorithm = GatherData - output = InnerDetector/Global/TIDE - } - hist Trk_jetassoc_split_pix_dr { - algorithm = GatherData - output = InnerDetector/Global/TIDE - } - } - dir Track { - hist COMB_eta_phi { - algorithm = Histogram_Not_Empty - output = InnerDetector/Global/Track - } - hist Trk_LoosePrimary_eta_phi_ratio { - algorithm = Histogram_Not_Empty - output = InnerDetector/Global/Track - } - hist Trk_Tight_eta_phi_ratio { - algorithm = Histogram_Not_Empty - output = InnerDetector/Global/Track - } - hist Trk_noBLhit_eta_phi_ratio { - algorithm = ID_BL_missing_ls - output = InnerDetector/Global/Track - } - hist Trk_noIBLhit_eta_phi_ratio { - algorithm = ID_IBL_missing_ls - output = InnerDetector/Global/Track - } - hist Trk_noTRText_eta_phi_ratio { - algorithm = ID_TRT_missing_ls - output = InnerDetector/Global/Track - } - } - -} - -algorithm IDGL_BinsDiff { - name = BinsDiffByStrips - thresholds = IDGL_Bins_thresh - SigmaThresh = 2 - libname = libdqm_algorithms.so -} - -thresholds IDGL_Bins_thresh { - limits MaxDeviation { - warning = 4 - error = 5 - } -} - - -algorithm ID_PIX_hits_ls { - name = Bins_LessThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 3 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_SCT_hits_ls { - name = Bins_LessThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 7 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_TRT_hits_ls { - name = Bins_LessThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 10 - thresholds = ID_etaphi_frac_Thresh_ls - xmax = 1.9 - xmin = -1.9 -} - -algorithm ID_PIX_disabled_ls { - name = Bins_GreaterThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 2 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_SCT_disabled_ls { - name = Bins_GreaterThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 2 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_IBL_missing_ls { - name = Bins_GreaterThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 0.2 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_BL_missing_ls { - name = Bins_GreaterThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 0.16 - thresholds = ID_etaphi_frac_Thresh_ls -} - -algorithm ID_TRT_missing_ls { - name = Bins_GreaterThan_Threshold - libname = libdqm_algorithms.so - BinThreshold = 0.23 - thresholds = ID_etaphi_frac_Thresh_ls -} - -############# -# Thresholds -############# - -thresholds ID_etaphi_frac_Thresh_ls { - limits NBins { - warning = 125 - error = 250 - } -} -- GitLab From cfd3accbdb305009ebac70507c0e38259d5d10cd Mon Sep 17 00:00:00 2001 From: Ellis Kay <ellis.kay@cern.ch> Date: Fri, 21 Mar 2025 08:34:26 +0000 Subject: [PATCH 21/44] Add config file we use in online LAr mon Add config file we use in online LAr mon --- .../python/LArSCvsRawChannelMonAlg.py | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 LArCalorimeter/LArMonitoring/python/LArSCvsRawChannelMonAlg.py diff --git a/LArCalorimeter/LArMonitoring/python/LArSCvsRawChannelMonAlg.py b/LArCalorimeter/LArMonitoring/python/LArSCvsRawChannelMonAlg.py new file mode 100644 index 000000000000..25ee018894e5 --- /dev/null +++ b/LArCalorimeter/LArMonitoring/python/LArSCvsRawChannelMonAlg.py @@ -0,0 +1,130 @@ +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration + + +from AthenaConfiguration.ComponentFactory import CompFactory +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg +from LArByteStream.LArRawSCDataReadingConfig import LArRawSCDataReadingCfg +from AthenaConfiguration.MainServicesConfig import MainServicesCfg +from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg, LArOnOffIdMappingSCCfg + + +def LArSCvsRawChannelMonAlgCfg(flags): + acc=ComponentAccumulator() + from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg + acc.merge(LArBadChannelCfg(flags)) + acc.merge(LArBadChannelCfg(flags,isSC=True)) + + acc.merge(LArOnOffIdMappingCfg(flags)) + acc.merge(LArOnOffIdMappingSCCfg(flags)) + acc.merge(LArRawSCDataReadingCfg(flags)) + + from CaloRec.CaloBCIDAvgAlgConfig import CaloBCIDAvgAlgCfg + acc.merge(CaloBCIDAvgAlgCfg(flags)) + + if flags.Input.isMC is False and not flags.Common.isOnline: + from LumiBlockComps.LuminosityCondAlgConfig import LuminosityCondAlgCfg + acc.merge(LuminosityCondAlgCfg(flags)) + from LumiBlockComps.LBDurationCondAlgConfig import LBDurationCondAlgCfg + acc.merge(LBDurationCondAlgCfg(flags)) + + from AthenaMonitoring.AthMonitorCfgHelper import AthMonitorCfgHelper + helper = AthMonitorCfgHelper(flags,'LArSuperCellMonAlgCfg') + acc.merge(LArSCvsRawChannelMonConfigCore(helper, flags)) + + return acc + + +def LArSCvsRawChannelMonConfigCore(helper, flags, algname="LArSCvsRawChannelMon"): + + + alg= helper.addAlgorithm(CompFactory.LArSCvsRawChannelMonAlg,algname) + + + GroupName="LArSCvsRawGroup" + alg.MonGroupName = GroupName + alg.SCEnergyCut=90 + alg.ProblemsToMask=["deadReadout","deadPhys"] + cellMonGroup = helper.addGroup(alg,GroupName,'LArSCvsRawChannelMon') + + + partGroup = helper.addArray([alg.LayerNames], alg, 'LArSCvsRawChannelMon', topPath='LArSCvsRawChannelMon/PerLayer') + + from LArMonitoring.GlobalVariables import lArDQGlobals + + + for pName in alg.PartitionNames: + cellMonGroup.defineHistogram(f"scEne_{pName},eneSum_{pName};h_SCEne_vs_RawChannelEne_{pName}", + title=f'Super Cell energy vs sum of RawChannel energies ({pName}) ;SC [MeV]; Sum [MeV]', + type='TH2F', path="", + xbins = 100, xmin=0,xmax=50000, + ybins = 100, ymin=0,ymax=50000) + + + + for lName in alg.LayerNames: + Side = lName[-1] + if "HEC" in lName: + Sampling = "0" + Part = lName[:-1] + else: + Sampling = lName[-2] + Part = lName[:-2] + if Part == "FCAL": + Part = "FCal" + if Sampling == "P": + Sampling = "0" + print(lName, "part", Part, "side", Side, "sampling", Sampling) + partxbins=lArDQGlobals.SuperCell_Variables["etaRange"][Part][Side][Sampling] + partybins=lArDQGlobals.SuperCell_Variables["phiRange"][Part][Side][Sampling] + + + partGroup.defineHistogram('part_eta,part_phi,part_eneFrac; Coverage_SCEne_div_cellEne_coverage_test', + title='SC energy / sum of cell energy', + type="TProfile2D", + xbins=partxbins, + ybins=partybins, + path='Coverage', + pattern=[(lName)]) + + partGroup.defineHistogram("part_scEne,part_eneSum;h_SCEne_vs_RawChannelEne", + title=f'Super Cell energy vs sum of RawChannel energies ({lName}) ;SC [MeV]; Sum [MeV]', + type='TH2F', + xbins = 100, xmin=0,xmax=50000, + ybins = 100, ymin=0,ymax=50000, + pattern=[(lName)]) + + + + + + + return helper.result() + +if __name__=="__main__": + + from AthenaConfiguration.AllConfigFlags import initConfigFlags + flags=initConfigFlags() + from AthenaCommon.Logging import log + from AthenaCommon.Constants import DEBUG + log.setLevel(DEBUG) + from AthenaConfiguration.TestDefaults import defaultGeometryTags + + flags.LAr.doAlign=False + flags.Input.Files = ["data24_13p6TeV.00481893.physics_Main.daq.RAW._lb1058._SFO-17._0002.data",] + flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3 + flags.Output.HISTFileName = 'LArSuperCellvsRC.root' + flags.Exec.FPE=-1 + flags.fillFromArgs() + flags.lock() + + acc = MainServicesCfg( flags ) + acc.merge(LArRawDataReadingCfg(flags)) + + acc.merge(LArSCvsRawChannelMonAlgCfg(flags)) + acc.getService("AvalancheSchedulerSvc").ShowDataDependencies=True + alg=acc.getEventAlgo("LArSCvsRawChannelMon") + alg.EnableLumi=False + alg.TrigDecisionTool="" + alg.WarnOffenders=True + acc.run() -- GitLab From 77d2bba6cc18d3ca449c8d29baebb408efe1d3eb Mon Sep 17 00:00:00 2001 From: Scott Snyder <scott.snyder@cern.ch> Date: Fri, 21 Mar 2025 08:36:33 +0000 Subject: [PATCH 22/44] IsolationSelection: Remove isAssociatedToEG decoration. IsolationSelection: Remove isAssociatedToEG decoration. IsolationCloseByCorrection was using the decoration isAssociatedToEG to tell if a cluster was matched to an EM object. This decoration was left unlocked, resulting in warnings further on. But that decoration is used only within this tool, so this information would be better maintained locally. Add it to the internal cache used by the tool rather than having it as a decoration. --- .../IsolationSelection/Defs.h | 5 +++- .../IsolationCloseByCorrectionTool.h | 10 +++++--- .../Root/IsolationCloseByCorrectionTool.cxx | 25 +++++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h index db4e1d81907e..160f6ce2dd8c 100644 --- a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h +++ b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef ISOLATIONSELECTION_DEFS_H @@ -13,6 +13,7 @@ #include <xAODTracking/TrackParticle.h> #include <set> +#include <unordered_set> namespace CP { using CharAccessor = SG::AuxElement::ConstAccessor<char>; @@ -72,6 +73,8 @@ namespace CP { using TrackSet = std::set<TrackPtr>; using ClusterSet = std::set<CaloClusterPtr>; using PflowSet = std::set<FlowElementPtr>; + + using UnorderedClusterSet = std::unordered_set<const xAOD::CaloCluster*>; } // namespace CP #endif diff --git a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/IsolationCloseByCorrectionTool.h b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/IsolationCloseByCorrectionTool.h index b190090dfbca..befbf596df86 100644 --- a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/IsolationCloseByCorrectionTool.h +++ b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/IsolationCloseByCorrectionTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef IsolationSelection_IsolationCloseByCorrectionTool_H @@ -90,6 +90,7 @@ namespace CP { TrackSet tracks{}; ClusterSet clusters{}; PflowSet flows{}; + UnorderedClusterSet eg_associated_clusters{}; }; private: @@ -113,13 +114,13 @@ namespace CP { const IsoVector& getIsolationTypes(const xAOD::IParticle* particle) const; // Functions to perfrom the isolation correction directly - CorrectionCode subtractCloseByContribution(const EventContext& ctx, const xAOD::IParticle* P, const ObjectCache& cache) const; + CorrectionCode subtractCloseByContribution(const EventContext& ctx, const xAOD::IParticle* P, ObjectCache& cache) const; // Remove close-by tracks from the track isolation variables CorrectionCode getCloseByCorrectionTrackIso(const xAOD::IParticle* primary, const IsoType type, const ObjectCache& cache, float& isoValue) const; // Remove close-by calo clusters from the topo et isolation variables CorrectionCode getCloseByCorrectionTopoIso(const EventContext& ctx, const xAOD::IParticle* primary, const IsoType type, - const ObjectCache& cache, float& isoValue) const; + ObjectCache& cache, float& isoValue) const; // Remove close-by flow elements from the neflow isolation variables CorrectionCode getCloseByCorrectionPflowIso(const EventContext& ctx, const xAOD::IParticle* primary, const IsoType type, const ObjectCache& cache, float& isoValue) const; @@ -128,7 +129,8 @@ namespace CP { /// Loads the topo clusters associated with the primary IParticle - ClusterSet getAssociatedClusters(const EventContext& ctx, const xAOD::IParticle* particle) const; + ClusterSet getAssociatedClusters(const EventContext& ctx, const xAOD::IParticle* particle, + ObjectCache& cache) const; /// Loads the pflow elements associated with the primary IParticle PflowSet getAssocFlowElements(const EventContext& ctx, const xAOD::IParticle* particle) const; diff --git a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/Root/IsolationCloseByCorrectionTool.cxx b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/Root/IsolationCloseByCorrectionTool.cxx index 1d3c77ae84a1..cd479af275c2 100644 --- a/PhysicsAnalysis/AnalysisCommon/IsolationSelection/Root/IsolationCloseByCorrectionTool.cxx +++ b/PhysicsAnalysis/AnalysisCommon/IsolationSelection/Root/IsolationCloseByCorrectionTool.cxx @@ -171,7 +171,7 @@ namespace CP { const TrackSet tracks = getAssociatedTracks(prim, cache.prim_vtx); cache.tracks.insert(tracks.begin(), tracks.end()); } - const ClusterSet clusters = getAssociatedClusters(ctx, prim); + const ClusterSet clusters = getAssociatedClusters(ctx, prim, cache); cache.clusters.insert(clusters.begin(), clusters.end()); } getAssocFlowElements(ctx, cache); @@ -330,7 +330,7 @@ namespace CP { CorrectionCode IsolationCloseByCorrectionTool::subtractCloseByContribution(const EventContext& ctx, const xAOD::IParticle* par, - const ObjectCache& cache) const { + ObjectCache& cache) const { const IsoVector& types = getIsolationTypes(par); if (types.empty()) { ATH_MSG_WARNING("No isolation types are defiend for " << particleName(par)); @@ -485,10 +485,10 @@ namespace CP { // - for electrons and photons, collect the associated clusters // - for muons, use associated cluster, if it exists, to get topocluster, otherwise, extrapolate the InDet trackParticle to calo // and look for topoclusters matching in dR the core muon cone - ClusterSet IsolationCloseByCorrectionTool::getAssociatedClusters(const EventContext& ctx, const xAOD::IParticle* P) const { - // Use accessor to mark topoclusters which are associated to an egamma object, electron or photon - // This will be used to avoid associating the same object to a muon during getCloseByCorrectionPflowIso or getCloseByCorrectionTopoIso - static const CharDecorator acc_isAssociatedToEG{"isAssociatedToEG"}; + ClusterSet IsolationCloseByCorrectionTool::getAssociatedClusters(const EventContext& ctx,const xAOD::IParticle* P, + ObjectCache& cache) const { + // Remember topoclusters which are associated to an egamma object, electron or photon + // This will be used to avoid associating the same object to a muon ClusterSet clusters; if (isEgamma(P)) { const xAOD::Egamma* egamm = static_cast<const xAOD::Egamma*>(P); @@ -498,11 +498,10 @@ namespace CP { std::vector<const xAOD::CaloCluster*> constituents = xAOD::EgammaHelpers::getAssociatedTopoClusters(clust); for (const xAOD::CaloCluster* cluster : constituents) { if (cluster && std::abs(cluster->eta()) < 7. && cluster->e() > MinClusterEnergy) { - clusters.emplace(cluster); - acc_isAssociatedToEG(*cluster) = true; // set flag that this cluster is associate to an electron or photon + clusters.emplace(cluster); + cache.eg_associated_clusters.insert(cluster); // set flag that this cluster is associated to an electron or photon ATH_MSG_VERBOSE("getAssociatedClusters: " << P->type() << " has topo cluster with pt: " << cluster->pt() * MeVtoGeV << " GeV, eta: " - << cluster->eta() << ", phi: " << cluster->phi() - << ", isAssociatedToEG: " << (int)acc_isAssociatedToEG(*cluster)); + << cluster->eta() << ", phi: " << cluster->phi()); } } } @@ -523,7 +522,7 @@ namespace CP { for (const xAOD::CaloCluster* cluster : constituents) { if (cluster && std::abs(cluster->eta()) < 7. && cluster->e() > MinClusterEnergy) { // skip association if this cluster is already associated with an electron or photon - priority is given to egamma reco - if (!acc_isAssociatedToEG.isAvailable(*cluster) || !acc_isAssociatedToEG(*cluster)) { + if (!cache.eg_associated_clusters.contains(cluster)) { clusters.emplace(cluster); foundMuonTopo = true; ATH_MSG_VERBOSE("getAssociatedClusters: muon has topo cluster with pt: " << cluster->pt() * MeVtoGeV << " GeV, eta: " @@ -681,7 +680,7 @@ namespace CP { } CorrectionCode IsolationCloseByCorrectionTool::getCloseByCorrectionTopoIso(const EventContext& ctx, const xAOD::IParticle* primary, - const IsoType type, const ObjectCache& cache, + const IsoType type, ObjectCache& cache, float& isoValue) const { // check if the isolation can be loaded if (!isTopoEtIso(type)) { @@ -707,7 +706,7 @@ namespace CP { ATH_MSG_VERBOSE("getCloseByCorrectionTopoIso: " << toString(type) << " of " << particleName(primary) << " with pt: " << primary->pt() * MeVtoGeV << " GeV, eta: " << primary->eta() << ", phi: " << primary->phi() << " before correction: " << isoValue * MeVtoGeV << " GeV. "); - ClusterSet assoc = getAssociatedClusters(ctx, primary); + ClusterSet assoc = getAssociatedClusters(ctx, primary, cache); for (const CaloClusterPtr& calo : cache.clusters) { const float dR = xAOD::P4Helpers::deltaR(ref_eta, ref_phi, calo->eta(), calo->phi()); ATH_MSG_VERBOSE("getCloseByCorrectionTopoIso: Loop over cluster: " << calo->pt() * MeVtoGeV << " GeV, eta: " << calo->eta() << " phi: " << calo->phi() << " dR: " << dR); -- GitLab From 8042bf9671f8793ed01dc4d91f27bae0bbcfba10 Mon Sep 17 00:00:00 2001 From: Bertrand Martin Dit Latour <bertrand.martindl@cern.ch> Date: Fri, 21 Mar 2025 09:09:52 +0000 Subject: [PATCH 23/44] TrigP1Test: drop Trigger.Offline.SA.Muon.runCommissioningChain in DB test TrigP1Test: drop `Trigger.Offline.SA.Muon.runCommissioningChain=True` in a DB test Hello, This MR is aligning the ART test setup with the latest NSW treatment in HLT muon reconstruction: NSW enabled in EF (`Trigger.Offline.SA.Muon.runCommissioningChain=True` is no longer appropriate) but disabled in L2SA (!78397).\ Cheers, Bertrand --- .../test/test_trigP1_v1PhysP1_noL1Sim_DB_UpDownRun_build.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_noL1Sim_DB_UpDownRun_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_noL1Sim_DB_UpDownRun_build.py index 6732d91a8109..621fb4fc1d1f 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_noL1Sim_DB_UpDownRun_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_v1PhysP1_noL1Sim_DB_UpDownRun_build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # art-description: Trigger athenaHLT test of DB upload (inlcuding duplicate), download and running. # art-type: build @@ -14,7 +14,7 @@ genJSON = ExecStep.ExecStep("GenJSON") genJSON.type = 'athenaHLT' genJSON.job_options = 'TriggerJobOpts.runHLT' genJSON.input = 'data' -genJSON.flags = ['Trigger.triggerMenuSetup="PhysicsP1_pp_run3_v1_HLTReprocessing_prescale"','Trigger.L1.errorOnMissingTOB=False','Trigger.Offline.SA.Muon.runCommissioningChain=True'] +genJSON.flags = ['Trigger.triggerMenuSetup="PhysicsP1_pp_run3_v1_HLTReprocessing_prescale"','Trigger.L1.errorOnMissingTOB=False'] genJSON.args = ' -M --dump-config-exit' genJSON.perfmon = False genJSON.fpe_auditor = False -- GitLab From 1e99832c194bc0ac94c5bc7333278f963daa857f Mon Sep 17 00:00:00 2001 From: Tim Martin <Tim.Martin@cern.ch> Date: Fri, 21 Mar 2025 12:04:24 +0100 Subject: [PATCH 24/44] Bump project versions to 24.0.84 --- Projects/AthSimulation/version.txt | 2 +- Projects/Athena/version.txt | 2 +- Projects/DetCommon/version.txt | 2 +- Projects/VP1Light/version.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Projects/AthSimulation/version.txt b/Projects/AthSimulation/version.txt index d8fffd262b0c..2ed9d654dd15 100644 --- a/Projects/AthSimulation/version.txt +++ b/Projects/AthSimulation/version.txt @@ -1 +1 @@ -24.0.83 \ No newline at end of file +24.0.84 \ No newline at end of file diff --git a/Projects/Athena/version.txt b/Projects/Athena/version.txt index d8fffd262b0c..2ed9d654dd15 100644 --- a/Projects/Athena/version.txt +++ b/Projects/Athena/version.txt @@ -1 +1 @@ -24.0.83 \ No newline at end of file +24.0.84 \ No newline at end of file diff --git a/Projects/DetCommon/version.txt b/Projects/DetCommon/version.txt index d8fffd262b0c..2ed9d654dd15 100644 --- a/Projects/DetCommon/version.txt +++ b/Projects/DetCommon/version.txt @@ -1 +1 @@ -24.0.83 \ No newline at end of file +24.0.84 \ No newline at end of file diff --git a/Projects/VP1Light/version.txt b/Projects/VP1Light/version.txt index d8fffd262b0c..2ed9d654dd15 100644 --- a/Projects/VP1Light/version.txt +++ b/Projects/VP1Light/version.txt @@ -1 +1 @@ -24.0.83 \ No newline at end of file +24.0.84 \ No newline at end of file -- GitLab From 6fc1bae663e0380b72b19aa9ace502d047f627fe Mon Sep 17 00:00:00 2001 From: Jean-Baptiste De Vivie De Regie <devivie@lpsc.in2p3.fr> Date: Fri, 21 Mar 2025 12:13:54 +0000 Subject: [PATCH 25/44] Update conditions tag in RecJobTransformTests Update conditions tag in RecJobTransformTests --- .../test/test_data22_900GV_splash.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_data22_900GV_splash.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_data22_900GV_splash.sh index 73e8332954c0..17c054ae4dc0 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_data22_900GV_splash.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_data22_900GV_splash.sh @@ -9,8 +9,15 @@ # TODO update following ATLASRECTS-8054 export ATHENA_CORE_NUMBER=8 #Monitoring is disabled because it tries to use the trigger information, which is disabled. -Reco_tf.py --CA --multithreaded --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data22_900GeV/data22_900GeV.00423110.physics_Main.daq.RAW/data22_900GeV.00423110.physics_Main.daq.RAW._lb0274._SFO-14._0001.data --maxEvents=300 --conditionsTag="CONDBR2-BLKPA-2022-15" --geometryVersion="ATLAS-R3S-2021-03-01-00" --outputESDFile myESD.pool.root --outputAODFile myAOD.pool.root --\ -outputHISTFile myHist.root +conditionsTag=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_DATA22)") +Reco_tf.py --multithreaded \ + --inputBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/RecJobTransformTests/data22_900GeV/data22_900GeV.00423110.physics_Main.daq.RAW/data22_900GeV.00423110.physics_Main.daq.RAW._lb0274._SFO-14._0001.data \ + --maxEvents=300 \ + --conditionsTag=$conditionsTag \ + --geometryVersion="ATLAS-R3S-2021-03-01-00"\ + --outputESDFile myESD.pool.root \ + --outputAODFile myAOD.pool.root \ + --outputHISTFile myHist.root RES=$? echo "art-result: $RES Reco" -- GitLab From c0cc5cca868bc9d36a03637af88a4b41aae18f2c Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Fri, 21 Mar 2025 13:57:49 +0100 Subject: [PATCH 26/44] new CaloNoise type: electronicNoiseNoHV --- .../CaloTools/python/CaloNoiseCondAlgConfig.py | 8 +++++--- Calorimeter/CaloTools/src/CaloNoiseCondAlg.cxx | 17 +++++++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py index 108567752474..70edd00ca1f6 100644 --- a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py +++ b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py @@ -9,7 +9,7 @@ from AthenaConfiguration.AccumulatorCache import AccumulatorCache @AccumulatorCache def CaloNoiseCondAlgCfg(flags, noisetype="totalNoise"): - if noisetype not in ("electronicNoise","pileupNoise","totalNoise"): + if noisetype not in ("electronicNoise","pileupNoise","totalNoise","electronicNoiseNoHV"): raise RuntimeError("Requested noise of unknown type %s" % noisetype) noiseAlgName="Calo_"+noisetype+"Alg" @@ -109,12 +109,14 @@ def CaloNoiseCondAlgCfg(flags, noisetype="totalNoise"): result.merge(addFolders(flags,"/TILE/OFL02/NOISE/CELL","TILE_OFL",className="CondAttrListCollection")) - if flags.LAr.doHVCorr: - log.info("Run2 & doLArHVCorr=True: Will rescale noise automatically for HV trips") + if flags.LAr.doHVCorr and noisetype != "electronicNoiseNoHV": + log.info("Run 2/3 & doLArHVCorr=True: Will rescale noise automatically for HV trips") theCaloNoiseAlg.useHVCorr=True from LArCalibUtils.LArHVScaleConfig import LArHVScaleCfg result.merge(LArHVScaleCfg(flags)) pass + else: + theCaloNoiseAlg.useHVCorr=False pass else: #COMP200 case: log.info("Configuring CaloNoiseCondAlg for Run1 real data processing") diff --git a/Calorimeter/CaloTools/src/CaloNoiseCondAlg.cxx b/Calorimeter/CaloTools/src/CaloNoiseCondAlg.cxx index e5116eb658d5..c2f93a23a48c 100644 --- a/Calorimeter/CaloTools/src/CaloNoiseCondAlg.cxx +++ b/Calorimeter/CaloTools/src/CaloNoiseCondAlg.cxx @@ -33,24 +33,29 @@ StatusCode CaloNoiseCondAlg::initialize() { ATH_MSG_INFO("Will compute electronic noise"); m_noiseType=CaloNoise::ELEC; } - else if (noiseKey=="pileupNoise") { + else if (noiseKey == "electronicNoiseNoHV") { + ATH_MSG_INFO("Will compute electronic noise without HV corrections"); + m_noiseType = CaloNoise::ELEC; + if (m_useHVCorr) { + ATH_MSG_WARNING("Inconsistent configuration, set useHVCorr=False"); + m_useHVCorr=false; + } + } + else if (noiseKey == "pileupNoise") { ATH_MSG_INFO("Will compute pileup noise"); m_noiseType=CaloNoise::PILEUP; if (m_useHVCorr) { ATH_MSG_INFO("Disabling HV correction, only pile-up noise"); } m_useHVCorr=false; - } - else if (noiseKey=="totalNoise") { + } else if (noiseKey == "totalNoise") { m_noiseType=CaloNoise::TOTAL; ATH_MSG_INFO("Will compute total (electronic + pileup) noise"); - } - else { + } else { ATH_MSG_ERROR("Unexpected noise key given: " << noiseKey << ". Expeced 'electronicNoise' or 'pileupNoise' or 'totalNoise'."); return StatusCode::FAILURE; } - ATH_CHECK( m_hvCorrKey.initialize(m_useHVCorr) ); const bool doLumiFolderInit = m_lumi0 < 0 && m_noiseType!=CaloNoise::ELEC; -- GitLab From 2ce788c73e2f8d19bb0fafefaf0f70282da8756b Mon Sep 17 00:00:00 2001 From: Walter Lampl <Walter.Lampl@cern.ch> Date: Fri, 21 Mar 2025 13:58:33 +0100 Subject: [PATCH 27/44] use electronicNoiseNoHV for reproducibility --- LArCalorimeter/LArMonitoring/python/LArCoverageAlg.py | 2 +- LArCalorimeter/LArMonitoring/src/LArCoverageAlg.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LArCalorimeter/LArMonitoring/python/LArCoverageAlg.py b/LArCalorimeter/LArMonitoring/python/LArCoverageAlg.py index 51c3e8a27515..f31a0f82a37a 100644 --- a/LArCalorimeter/LArMonitoring/python/LArCoverageAlg.py +++ b/LArCalorimeter/LArMonitoring/python/LArCoverageAlg.py @@ -58,7 +58,7 @@ def LArCoverageConfigCore(helper, algoinstance,flags): #Configure the CaloNoise from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg - helper.resobj.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoise")) + helper.resobj.merge(CaloNoiseCondAlgCfg(flags, noisetype="electronicNoiseNoHV")) #-- caloNoise groups -- caloNoiseToolArrayEM = helper.addArray([nLayers],larCoverageAlg,caloNoiseToolGroupName+"EM",topPath='/') diff --git a/LArCalorimeter/LArMonitoring/src/LArCoverageAlg.h b/LArCalorimeter/LArMonitoring/src/LArCoverageAlg.h index c80de0412635..48a0c1b470ce 100644 --- a/LArCalorimeter/LArMonitoring/src/LArCoverageAlg.h +++ b/LArCalorimeter/LArMonitoring/src/LArCoverageAlg.h @@ -85,7 +85,7 @@ class LArCoverageAlg: public AthMonitorAlgorithm SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}; /** Key for CaloNoise */ - SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","electronicNoise","SG Key of CaloNoise data object"}; + SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","electronicNoiseNoHV","SG Key of CaloNoise data object"}; /** Handle to bad-channel tools */ Gaudi::Property<std::vector<std::string> > m_problemsToMask{this,"ProblemsToMask",{}, "Bad-Channel categories to mask"}; -- GitLab From 2b70937ef3a4e853e6e0c2dc590e526581179b60 Mon Sep 17 00:00:00 2001 From: Damiano Vannicola <damiano.vannicola@cern.ch> Date: Fri, 21 Mar 2025 15:47:59 +0000 Subject: [PATCH 28/44] ATR-30985: Swap the chains seeded by L1_MU8F_cTAU30M ATR_30985: Swap the chains seeded by L1_MU8F_cTAU30M with the ones from L1_cTAU30M_3DR35-MU8F-eTAU30 --- .../share/ref_RDOtoRDOTrig_v1Dev_build.ref | 13 ------------- .../TrigP1Test/share/ref_v1Dev_decodeBS_build.ref | 4 ---- .../TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py | 4 +--- .../TriggerMenuMT/python/HLT/Menu/L1Seeds.py | 4 ++-- .../TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py | 4 +++- .../python/HLT/Menu/Physics_pp_run3_v1.py | 5 +++-- .../python/L1/Menu/Menu_MC_pp_run3_v1.py | 2 +- .../python/L1/Menu/Menu_Physics_pp_run3_v1.py | 1 - 8 files changed, 10 insertions(+), 27 deletions(-) diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index c91a81508464..860dbb9f6582 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -18871,19 +18871,6 @@ HLT_mu14_ivarloose_tau25_mediumRNN_tracktwoMVA_03dRAB_L1MU8F_cTAU20M_3jJ30: 2: 11 3: 11 4: 3 -HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1MU8F_cTAU30M: - eventCount: 0 - stepCounts: - 0: 5 - 1: 3 - 2: 3 - 3: 3 - stepFeatures: - 0: 17 - 1: 13 - 2: 10 - 3: 10 - 4: 3 HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30: eventCount: 0 stepCounts: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 4e4f0b3d0952..6ffa08dc6ac3 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -9503,10 +9503,6 @@ HLT_mu14_ivarloose_tau25_mediumGNTau_03dRAB_L1MU8F_cTAU20M_3jJ30: eventCount: 0 HLT_mu14_ivarloose_tau25_mediumRNN_tracktwoMVA_03dRAB_L1MU8F_cTAU20M_3jJ30: eventCount: 0 -HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1MU8F_cTAU30M: - eventCount: 0 - stepFeatures: - 0: 1 HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30: eventCount: 0 stepFeatures: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 54d91a9401ed..2a9e5a2eb1d9 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -807,9 +807,8 @@ def getDevSignatures(): ChainProp(name='HLT_j180_dispjet140_x3d1p_L1jJ160', groups=SingleJetGroup+UnconvTrkGroup+PrimaryPhIGroup, l1SeedThresholds=['FSNOSEED']*2), #ATR-30179 - ChainProp(name='HLT_mu14_ivarloose_tau35_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30', l1SeedThresholds=['MU8F','cTAU30M'], stream=[PhysicsStream], groups=SupportPhIGroup+MuonTauGroup), - ChainProp(name='HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30', l1SeedThresholds=['MU8F', 'cTAU30M'], stream=[PhysicsStream], groups=SupportPhIGroup+MuonTauGroup), + ChainProp(name='HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30', l1SeedThresholds=['MU8F', 'cTAU30M'], stream=[PhysicsStream], groups=SupportPhIGroup+MuonTauGroup+Topo3Group), #ATR-30378 ChainProp(name='HLT_mu10_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_dRAB04_L1BTAG-MU8FjJ40_2jJ40p0ETA25' , l1SeedThresholds=['MU8F']+['FSNOSEED']*5, stream=[PhysicsStream], groups=SupportPhIGroup+MultiBjetGroup), @@ -903,7 +902,6 @@ def getDevSignatures(): # Muon + Tau primaries ChainProp(name='HLT_mu14_ivarloose_tau25_mediumGNTau_03dRAB_L1MU8F_cTAU20M_3jJ30', l1SeedThresholds=['MU8F', 'cTAU20M'], groups=PrimaryPhIGroup+MuonTauGroup), - ChainProp(name='HLT_mu14_ivarloose_tau35_mediumGNTau_03dRAB_L1MU8F_cTAU30M', l1SeedThresholds=['MU8F', 'cTAU30M'], groups=PrimaryPhIGroup+MuonTauGroup), ChainProp(name='HLT_mu20_ivarloose_tau20_mediumGNTau_L1eTAU12_03dRAB_L1MU14FCH', l1SeedThresholds=['MU14FCH', 'eTAU12'], groups=PrimaryPhIGroup+MuonTauGroup), ChainProp(name='HLT_mu23_ivarloose_tau20_mediumGNTau_L1eTAU12_03dRAB_L1MU18VFCH', l1SeedThresholds=['MU18VFCH', 'eTAU12'], groups=PrimaryPhIGroup+MuonTauGroup), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/L1Seeds.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/L1Seeds.py index a8ed4164eb3a..e4b2f92d4b3d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/L1Seeds.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/L1Seeds.py @@ -116,7 +116,7 @@ def getEBnoL1PSSeed(l1items, l1seedname): 'L1_eEM24L_3eEM12L', 'L1_4jJ40', 'L1_jJ160', 'L1_jXE100', 'L1_2jJ40_jXE110', 'L1_eTAU140', - 'L1_MU8F_cTAU30M', 'L1_MU14FCH', 'L1_MU18VFCH', 'L1_MU10BOM', + 'L1_cTAU30M_3DR35-MU8F-eTAU30', 'L1_MU14FCH', 'L1_MU18VFCH', 'L1_MU10BOM', 'L1_5jJ40p0ETA25', 'L1_3MU5VF','L1_MU8F_2jJ40_jJ50', 'L1_jJ55p0ETA23_2jJ40p30ETA49', 'L1_jJ125p30ETA49', 'L1_jJ80p0ETA25_2jJ55_jJ50p30ETA49', @@ -189,7 +189,7 @@ def getL1BKeePrimary(): 'L1_MU14FCH', 'L1_MU8F_2MU5VF', 'L1_MU8F_eTAU30M', # legacy 'L1_MU8F_TAU20IM' - 'L1_MU8F_cTAU30M', + 'L1_cTAU30M_3DR35-MU8F-eTAU30', 'L1_MU8F_eTAU20M_3jJ30', # legacy 'L1_MU8F_TAU12IM_3J12' 'L1_MU8F_cTAU20M_3jJ30', 'L1_jXE100', # legacy 'L1_XE50', diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py index 598df8106a47..02acc83c6d4b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py @@ -39,6 +39,8 @@ from TriggerMenuMT.HLT.Menu.Physics_pp_run3_v1 import ( PhysicsStream, LegacyTopoGroup, BjetMETGroup, MuonJetGroup, + MuonTauGroup, + ) @@ -362,7 +364,6 @@ def getMCSignatures(): # ATR-27780 - #ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SinglePhotonGroup+['PS:NoBulkMCProd']), #ATR-25764 - adding Photon chains with different isolation WPs ChainProp(name='HLT_g25_tight_icaloloose_L1eEM26M', groups=SinglePhotonGroup, monGroups=['egammaMon:shifter']), @@ -530,6 +531,7 @@ def getMCSignatures(): ChainProp(name='HLT_e7_lhmedium_L1eEM5_mu22_L1MU18VFCH',l1SeedThresholds=['eEM5','MU18VFCH'], stream=[PhysicsStream], groups=PrimaryPhIGroup+EgammaMuonGroup), ChainProp(name='HLT_e7_lhmedium_L1eEM5_mu20_L1MU18VFCH',l1SeedThresholds=['eEM5','MU18VFCH'], stream=[PhysicsStream], groups=PrimaryPhIGroup+EgammaMuonGroup), + ChainProp(name='HLT_mu14_ivarloose_tau35_mediumRNN_tracktwoMVA_03dRAB_L1MU8F_cTAU30M', l1SeedThresholds=['MU8F','cTAU30M'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup), ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index d821fa83e050..79ec991d717c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -577,7 +577,7 @@ ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectr ChainProp(name='HLT_2g50_loose_L12eEM24L', groups=PrimaryPhIGroup+MultiPhotonGroup), #ATR_30971 - ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SingleElectronGroup+SupportPhIGroup+['RATE:CPS_eEM5']+['PS:NoBulkMCProd']), + ChainProp(name='HLT_g5_nopid_L1eEM5', groups=SinglePhotonGroup+SupportPhIGroup+['RATE:CPS_eEM5']+['PS:NoBulkMCProd']), ChainProp(name='HLT_g25_loose_noringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup+['RATE:CPS_eEM24L']), ChainProp(name='HLT_g35_medium_noringer_L1eEM24L', groups=SupportPhIGroup+SinglePhotonGroup+['RATE:CPS_eEM24L'], monGroups=['egammaMon:shifter']), ChainProp(name='HLT_2g22_tight_noringer_L12eEM18M', groups=PrimaryPhIGroup+MultiPhotonGroup), @@ -2036,11 +2036,12 @@ ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectr ChainProp(name='HLT_g15_loose_L1eEM10L_2mu10_msonly_L1MU3V_UNPAIRED_ISO', l1SeedThresholds=['eEM10L','MU3V'], stream=['Late'], groups=PrimaryPhIGroup+EgammaMuonGroup), # tau + muon triggers + + ChainProp(name='HLT_mu14_ivarloose_tau35_mediumRNN_tracktwoMVA_03dRAB_L1cTAU30M_3DR35-MU8F-eTAU30', l1SeedThresholds=['MU8F','cTAU30M'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup+Topo3Group), ChainProp(name='HLT_mu20_ivarloose_tau20_mediumRNN_tracktwoMVA_L1eTAU12_03dRAB_L1MU14FCH', l1SeedThresholds=['MU14FCH', 'eTAU12'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup), # ATR 25512 ChainProp(name='HLT_mu23_ivarloose_tau20_mediumRNN_tracktwoMVA_L1eTAU12_03dRAB_L1MU18VFCH', l1SeedThresholds=['MU18VFCH', 'eTAU12'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup), - ChainProp(name='HLT_mu14_ivarloose_tau35_mediumRNN_tracktwoMVA_03dRAB_L1MU8F_cTAU30M', l1SeedThresholds=['MU8F','cTAU30M'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup), ChainProp(name='HLT_mu14_ivarloose_tau25_mediumRNN_tracktwoMVA_03dRAB_L1MU8F_cTAU20M_3jJ30', l1SeedThresholds=['MU8F','cTAU20M'], stream=[PhysicsStream], groups=PrimaryPhIGroup+MuonTauGroup), # ATR-27546 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py index 4591c3ec4c8c..e6c6b280aa0d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py @@ -99,7 +99,7 @@ def defineMenu(): # ATR-29651 - Tau+X chains using eTAU20M seeds 'L1_eEM18M_2eTAU20M_4jJ30', 'L1_eTAU60_2eTAU20M_jXE80', 'L1_eEM18M_2eTAU20M_jXE70', - + 'L1_MU8F_cTAU30M', # ART-28443 test eEMX{} + {{3,4jJY{}}} L1 seeds 'L1_eEM22M_3jJ40p0ETA25', 'L1_eEM22M_4jJ30p0ETA25', diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py index e1d7936b4a04..93e4d97cbb28 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py @@ -81,7 +81,6 @@ def defineMenu(): 'L1_MU8F_cTAU20M_3jJ30', 'L1_eEM18M_2eTAU20M_jJ55_3jJ30', 'L1_MU8F_eTAU30M', - 'L1_MU8F_cTAU30M', 'L1_eEM18M_2cTAU20M_4jJ30', # combined tau - xe -- GitLab From c3916738c2cfeb3c3b8b2d900c98e93f7cfadf61 Mon Sep 17 00:00:00 2001 From: Chad Stephen Lantz <chad.stephen.lantz@cern.ch> Date: Mon, 24 Mar 2025 07:54:17 +0000 Subject: [PATCH 29/44] Add gen particle pid and status to output Add gen particle pid and status to output --- ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx | 6 ++++++ ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx b/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx index 9bd4dfd935b2..c3d953466c44 100644 --- a/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx +++ b/ForwardDetectors/ZDC/ZdcNtuple/Root/ZdcNtuple.cxx @@ -217,6 +217,8 @@ StatusCode ZdcNtuple :: initialize () m_outputTree->Branch("zdc_ZdcTruthParticlePy",&t_ZdcTruthParticlePy); m_outputTree->Branch("zdc_ZdcTruthParticlePz",&t_ZdcTruthParticlePz); m_outputTree->Branch("zdc_ZdcTruthParticleEnergy",&t_ZdcTruthParticleEnergy); + m_outputTree->Branch("zdc_ZdcTruthParticlePid",&t_ZdcTruthParticlePid); + m_outputTree->Branch("zdc_ZdcTruthParticleStatus",&t_ZdcTruthParticleStatus); } } if (enableRPD) @@ -1097,6 +1099,8 @@ void ZdcNtuple::processMCEventCollection(){ t_ZdcTruthParticlePy.clear(); t_ZdcTruthParticlePz.clear(); t_ZdcTruthParticleEnergy.clear(); + t_ZdcTruthParticlePid.clear(); + t_ZdcTruthParticleStatus.clear(); /****************************************** * Sort the particles into sides and add @@ -1114,6 +1118,8 @@ void ZdcNtuple::processMCEventCollection(){ t_ZdcTruthParticlePy.push_back(particle->momentum().y()); t_ZdcTruthParticlePz.push_back(particle->momentum().z()); t_ZdcTruthParticleEnergy.push_back(particle->momentum().e()); + t_ZdcTruthParticlePid.push_back(particle->pid()); + t_ZdcTruthParticleStatus.push_back(particle->status()); } // end loop over particles }// end loop over vertices }// end loop over HepMC events diff --git a/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h b/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h index ac79520d1f03..3764169f104a 100644 --- a/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h +++ b/ForwardDetectors/ZDC/ZdcNtuple/ZdcNtuple/ZdcNtuple.h @@ -208,7 +208,9 @@ public: std::vector< float > t_ZdcTruthParticlePy; std::vector< float > t_ZdcTruthParticlePz; std::vector< float > t_ZdcTruthParticleEnergy; - + std::vector< int > t_ZdcTruthParticlePid; + std::vector< int > t_ZdcTruthParticleStatus; + float t_ZdcModuleAmp[2][4]; float t_ZdcModuleTime[2][4]; float t_ZdcModuleFitAmp[2][4]; -- GitLab From a1d926c65a704f30fcd000e7dae192e7fe358a4a Mon Sep 17 00:00:00 2001 From: John Derek Chapman <chapman@hep.phy.cam.ac.uk> Date: Mon, 24 Mar 2025 07:55:46 +0000 Subject: [PATCH 30/44] AthenaConfiguration.TestDefaults Adding 100 event HITS and RDO_BKG inputs for MC23d tests AthenaConfiguration.TestDefaults Adding 100 event inputs for MC23d tests Also update relevant clients to use the new constants. Future work: add inputs for mc23e and HI campaigns. --- .../python/TestDefaults.py | 13 +++- .../test/test_mc23_heavy_ion.sh | 2 +- .../test/test_mc23a_13p6TeV.sh | 4 +- .../test/test_mc23d_13p6TeV.sh | 4 +- .../python/OverlayTestHelpers.py | 4 +- ...t_Digi_tf_mc23d_presampling_variable_MP.sh | 63 +++++++++++++++++++ 6 files changed, 80 insertions(+), 10 deletions(-) create mode 100755 Simulation/Tests/DigitizationTestsMT/test/test_Digi_tf_mc23d_presampling_variable_MP.sh diff --git a/Control/AthenaConfiguration/python/TestDefaults.py b/Control/AthenaConfiguration/python/TestDefaults.py index ebb063585e54..8c0fc6e14bc8 100644 --- a/Control/AthenaConfiguration/python/TestDefaults.py +++ b/Control/AthenaConfiguration/python/TestDefaults.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration # Files for use in configuration unit tests # These samples can be access via shell script through commands such as: @@ -11,7 +11,11 @@ class defaultTestFiles: EVNT = [f"{d}/CampaignInputs/mc23/EVNT/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.evgen.EVNT.e8514/EVNT.32288062._002040.pool.root.1"] HITS_RUN2 = [f"{d}/Tier0ChainTests/mc16_13TeV.410470.PhPy8EG_A14_ttbar_hdamp258p75_nonallhad.simul.HITS.e6337_s3681/HITS.25836812._004813.pool.root.1"] #MC20 - HITS_RUN3 = [f"{d}/CampaignInputs/mc23/HITS/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.simul.HITS.e8514_s4162/100events.HITS.pool.root"] #MC23a + HITS_RUN3_2022 = [f"{d}/CampaignInputs/mc23/HITS/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.simul.HITS.e8514_s4162/100events.HITS.pool.root"] #MC23a + HITS_RUN3_2023 = [f"{d}/CampaignInputs/mc23/HITS/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.merge.HITS.e8514_e8528_s4159/100events.HITS.pool.root"] #MC23d + HITS_RUN3_2024 = HITS_RUN3_2022 # Temporary back-compatibility [f"{d}/CampaignInputs/mc23/HITS/mc23_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.merge.HITS.e8514_e8528_s4369/100events.HITS.pool.root"] #MC23e + HITS_RUN3_HI = HITS_RUN3_2022 # Temporary back-compatibility + HITS_RUN3 = HITS_RUN3_2022 # Temporary back-compatibility HITS_RUN4 = [f"{d}/PhaseIIUpgrade/HITS/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.simul.HITS.e8481_s4149/HITS.33605501._000106.pool.root.1"] HITS_RUN2_MINBIAS_HIGH = [ f"{d}/Tier0ChainTests/mc16_13TeV.800831.Py8EG_minbias_inelastic_highjetphotonlepton.simul.HITS_FILT.e8341_s3687_s3704/HITS_FILT.26106512._000149.pool.root.1", @@ -43,7 +47,10 @@ class defaultTestFiles: RDO_RUN3 = [f"{d}/CampaignInputs/mc23/RDO/mc23_13p6TeV.801451.Py8EG_A3_NNPDF23LO_minbias_ND.recon.RDO.e8486_e8528_s4232_s4114_r15112/300events_RDO.39752217._004082.pool.root.1"] #low-mu minbias sample RDO_RUN4 = [f"{d}/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.recon.RDO.e8481_s4149_r14700/RDO.33629020._000047.pool.root.1"] RDO_BKG_RUN2 = [f"{d}/OverlayTests/PresampledPileUp/22.0/Run2/large/mc20_13TeV.900149.PG_single_nu_Pt50.digit.RDO.e8307_s3482_s3136_d1715/RDO.26811908._031801.pool.root.1"] - RDO_BKG_RUN3 = [f"{d}/CampaignInputs/mc23/RDO_BKG/mc23_13p6TeV.900149.PG_single_nu_Pt50.merge.RDO.e8514_e8528_s4112_d1865_d1858/100events.RDO.pool.root"] + RDO_BKG_RUN3_2022 = [f"{d}/CampaignInputs/mc23/RDO_BKG/mc23_13p6TeV.900149.PG_single_nu_Pt50.merge.RDO.e8514_e8528_s4112_d1865_d1858/100events.RDO.pool.root"] #mc23a + RDO_BKG_RUN3_2023 = [f"{d}/CampaignInputs/mc23/RDO_BKG/mc23_13p6TeV.900149.PG_single_nu_Pt50.merge.RDO.e8514_e8528_s4153_d1907_d1908/100events.RDO.pool.root"] #mc23d + RDO_BKG_RUN3_2024 = RDO_BKG_RUN3_2022 # Temporary Back-compatibility + RDO_BKG_RUN3 = RDO_BKG_RUN3_2022 # Temporary Back-compatibility RDO_BKG_RUN4 = [f"{d}/PhaseIIUpgrade/RDO_BKG/ATLAS-P2-RUN4-03-00-00/RUN4_presampling.mu200.withSuperCell.50events.RDO.pool.root"] ESD_RUN2_MC = [f"{d}/RecExRecoTest/mc16_13TeV.361022.Pythia8EvtGen_A14NNPDF23LO_jetjet_JZ2W.recon.ESD.e3668_s3170_r10572_homeMade.pool.root"] # MC16 TODO Update to MC20 diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23_heavy_ion.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23_heavy_ion.sh index e9085bb75e41..46b9730381d8 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23_heavy_ion.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23_heavy_ion.sh @@ -8,7 +8,7 @@ # TODO update following ATLASRECTS-8054 export ATHENA_CORE_NUMBER=8 -INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3[0])") +INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3_HI[0])") CONDTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_MC)") Reco_tf.py --CA "all:True" --multithreaded --maxEvents=20 --autoConfiguration 'everything' \ diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh index 7774cbb14304..23e74757c98f 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh @@ -8,10 +8,10 @@ # art-include: 24.0/Athena export ATHENA_CORE_NUMBER=8 -INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3[0])") +INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3_2022[0])") CONDTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_MC)") GEOTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultGeometryTags; print(defaultGeometryTags.RUN3)") -BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3[0])") +BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3_2022[0])") Reco_tf.py --CA "default:True" "RDOtoRDOTrigger:False" \ --multithreaded --maxEvents=300 \ diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh index 14725abc9975..709e5867f1f1 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh @@ -8,10 +8,10 @@ # art-include: 24.0/Athena export ATHENA_CORE_NUMBER=8 -INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3[0])") +INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3_2023[0])") CONDTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_MC)") GEOTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultGeometryTags; print(defaultGeometryTags.RUN3)") -BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3[0])") +BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3_2023[0])") #TODO update input files from mc23d campaign when available diff --git a/Simulation/Overlay/OverlayConfiguration/python/OverlayTestHelpers.py b/Simulation/Overlay/OverlayConfiguration/python/OverlayTestHelpers.py index 79ddc796fc86..c6f5f1e76999 100644 --- a/Simulation/Overlay/OverlayConfiguration/python/OverlayTestHelpers.py +++ b/Simulation/Overlay/OverlayConfiguration/python/OverlayTestHelpers.py @@ -67,8 +67,8 @@ def overlayTestFlags(flags, args): from Campaigns import MC20e MC20e(flags) elif args.run is LHCPeriod.Run3: - flags.Input.Files = defaultTestFiles.RDO_BKG_RUN3 - flags.Input.SecondaryFiles = defaultTestFiles.HITS_RUN3 + flags.Input.Files = defaultTestFiles.RDO_BKG_RUN3_2022 + flags.Input.SecondaryFiles = defaultTestFiles.HITS_RUN3_2022 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_MC from Campaigns import MC23a MC23a(flags) diff --git a/Simulation/Tests/DigitizationTestsMT/test/test_Digi_tf_mc23d_presampling_variable_MP.sh b/Simulation/Tests/DigitizationTestsMT/test/test_Digi_tf_mc23d_presampling_variable_MP.sh new file mode 100755 index 000000000000..6605fdb2b587 --- /dev/null +++ b/Simulation/Tests/DigitizationTestsMT/test/test_Digi_tf_mc23d_presampling_variable_MP.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# +# art-description: Run a digitization example of mc23d presampling +# art-type: grid +# art-architecture: '#x86_64-intel' +# art-memory: 4096 +# art-athena-mt: 8 +# art-include: 24.0/Athena +# art-include: main/Athena +# art-output: mc23d_presampling.VarBS.RDO.pool.root +# art-output: log.* +# art-output: DigiPUConfig* + +if [ -z ${ATLAS_REFERENCE_DATA+x} ]; then + ATLAS_REFERENCE_DATA="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art" +fi + +Events=100 +DigiOutFileName="mc23d_presampling.VarBS.RDO.pool.root" +HSHitsFile="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.900149.PG_single_nu_Pt50.simul.HITS.e8514_e8528_s4153/10000events.HITS.pool.root" +HighPtMinbiasHitsFiles1="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.800831.Py8EG_minbias_inelastic_highjetphotonlepton.merge.HITS.e8514_e8528_s4154_s4120/*" +HighPtMinbiasHitsFiles2="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.800831.Py8EG_minbias_inelastic_highjetphotonlepton.merge.HITS.e8514_e8528_s4155_s4120/*" +HighPtMinbiasHitsFiles3="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.800831.Py8EG_minbias_inelastic_highjetphotonlepton.merge.HITS.e8514_e8528_s4156_s4120/*" +HighPtMinbiasHitsFiles4="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.800831.Py8EG_minbias_inelastic_highjetphotonlepton.merge.HITS.e8514_e8528_s4157_s4120/*" +LowPtMinbiasHitsFiles1="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.900311.Epos_minbias_inelastic_lowjetphoton.merge.HITS.e8514_e8528_s4154_s4120/*" +LowPtMinbiasHitsFiles2="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.900311.Epos_minbias_inelastic_lowjetphoton.merge.HITS.e8514_e8528_s4155_s4120/*" +LowPtMinbiasHitsFiles3="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.900311.Epos_minbias_inelastic_lowjetphoton.merge.HITS.e8514_e8528_s4156_s4120/*" +LowPtMinbiasHitsFiles4="${ATLAS_REFERENCE_DATA}/CampaignInputs/mc23/HITS/mc23_13p6TeV.900311.Epos_minbias_inelastic_lowjetphoton.merge.HITS.e8514_e8528_s4157_s4120/*" +geometry=$(python -c "from AthenaConfiguration.TestDefaults import defaultGeometryTags; print(defaultGeometryTags.RUN3)") +conditions=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_MC)") +Digi_tf.py \ + --inputHITSFile ${HSHitsFile} \ + --outputRDOFile ${DigiOutFileName} \ + --inputHighPtMinbiasHitsFile ${HighPtMinbiasHitsFiles1} \ + --inputHighPtMinbiasHitsFile ${HighPtMinbiasHitsFiles2} \ + --inputHighPtMinbiasHitsFile ${HighPtMinbiasHitsFiles3} \ + --inputHighPtMinbiasHitsFile ${HighPtMinbiasHitsFiles4} \ + --inputLowPtMinbiasHitsFile ${LowPtMinbiasHitsFiles1} \ + --inputLowPtMinbiasHitsFile ${LowPtMinbiasHitsFiles2} \ + --inputLowPtMinbiasHitsFile ${LowPtMinbiasHitsFiles3} \ + --inputLowPtMinbiasHitsFile ${LowPtMinbiasHitsFiles4} \ + --multiprocess \ + --PileUpPresampling True \ + --conditionsTag "default:${conditions}" \ + --geometryVersion "default:${geometry}" \ + --digiSeedOffset1 170 --digiSeedOffset2 170 \ + --digiSteeringConf 'StandardSignalOnlyTruth' \ + --postInclude 'all:PyJobTransforms.UseFrontier' \ + --preInclude 'HITtoRDO:Campaigns.MC23d' \ + --splitConfig "HITtoRDO:Campaigns.BeamspotSplitMC23d" \ + --skipEvents 0 \ + --jobNumber 568 \ + --maxEvents ${Events} \ + --AMITag d1907 \ + --skipEvents 0 + +rc=$? +status=$rc +echo "art-result: $rc digiCA" + +# Initially we are just interested in whether the job still runs + +exit $status -- GitLab From f486c9e025a7862b4d12a9f25f389eeed85919f2 Mon Sep 17 00:00:00 2001 From: Chad Stephen Lantz <chad.stephen.lantz@cern.ch> Date: Mon, 24 Mar 2025 07:57:55 +0000 Subject: [PATCH 31/44] More accurate silica absorption length More accurate silica absorption length --- ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx index 243a2dd089a5..d1eac9e9eae0 100644 --- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx +++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx @@ -174,10 +174,13 @@ void ZDC_DetFactory::buildMaterials(StoredMaterialManager *materialManager){ // Absorption length index of fused silica derrived from // https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf - double silica_ABSL[nEntries]; - for(int i=0; i<nEntries-2; ++i) - silica_ABSL[i] = 302.163 * cm; - silica_ABSL[nEntries - 1] = silica_ABSL[nEntries - 2] = 204.542 * cm; + double silica_ABSL[] = {1.786e+04 * cm, 1.556e+04 * cm, 1.982e+04 * cm, 2.369e+04 * cm, 2.046e+04 * cm, 1.595e+04 * cm, 1.582e+04 * cm, + 1.420e+04 * cm, 1.279e+04 * cm, 1.545e+04 * cm, 1.498e+04 * cm, 1.358e+04 * cm, 1.824e+04 * cm, 2.320e+04 * cm, + 3.736e+04 * cm, 2.155e+04 * cm, 1.718e+04 * cm, 1.871e+04 * cm, 2.286e+04 * cm, 3.597e+04 * cm, 4.358e+04 * cm, + 2.751e+04 * cm, 1.967e+04 * cm, 1.743e+04 * cm, 1.425e+04 * cm, 1.198e+04 * cm, 1.371e+04 * cm, 1.911e+04 * cm, + 4.413e+04 * cm, 4.002e+04 * cm, 2.621e+04 * cm, 1.420e+04 * cm, 1.085e+04 * cm, 1.020e+04 * cm, 1.090e+04 * cm, + 1.267e+04 * cm, 1.369e+04 * cm, 1.427e+04 * cm, 1.484e+04 * cm, 1.480e+04 * cm, 1.443e+04 * cm, 1.274e+04 * cm, + 1.242e+04 * cm, 1.212e+04 * cm, 1.232e+04 * cm, 1.251e+04 * cm, 1.168e+04 * cm, 1.052e+04 * cm, 1.197e+04 * cm, 8.355e+03 * cm}; GeoMaterialPropertiesTable *silicaCoreMPT = new GeoMaterialPropertiesTable(); silicaCoreMPT->AddProperty("RINDEX" , photonEnergy, silica_RIND, nEntries); // index of refraction -- GitLab From e9693f131b37ea8cda752199550a33b2852dcde9 Mon Sep 17 00:00:00 2001 From: Walter Lampl <walter.lampl@cern.ch> Date: Mon, 24 Mar 2025 07:59:49 +0000 Subject: [PATCH 32/44] Histogram merging: Fix HLT use-case Histogram merging: Fix HLT use-case --- .../DataQualityUtils/src/MonitoringFile.cxx | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx index 0aec7785febb..0bf51dbb303b 100644 --- a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx +++ b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx @@ -115,7 +115,7 @@ namespace dqutils { std::string name; std::unique_ptr<TObject> obj; - std::array<std::string, 3> metadata; + std::array<std::string, 3> metadata{"unset","","<default>"}; std::clock_t cpuSum = 0; void (*mergeMethod)(TObject* a, const TObject* b) = nullptr; void merge(TObject* other); @@ -206,9 +206,11 @@ namespace dqutils { } for (const auto& [key, h] : histos) { - metadatamap[key] = h.metadata; + if (h.metadata[0]!="unset") //Ignore dummy-metadata (eg HLTMon use-case) + metadatamap[key] = h.metadata; } + if (metadatamap.empty()) return; //Do not write empty metadata tree std::string interval, chain, merge; char histname[1024]; // FIXME, no idea why this works only in this old-fashioned way std::unique_ptr<TTree> mdTree = std::make_unique<TTree>("metadata", "Monitoring Metadata"); @@ -401,12 +403,12 @@ namespace dqutils { return; } - if (!fillMD(mdTree)) { - std::cout << "ERROR while adding " << nameIn << ", no metadata found" << std::endl; - obj = nullptr; - return; + if (mdTree) { + fillMD(mdTree); + } + else { + s_dbg(VERBOSE,"No matadata found for " + name +", use defaults"); } - const std::string& howToMerge = metadata[2]; s_dbg(VERBOSE, "Name: " + name + " mergeMethod=" + howToMerge); @@ -480,7 +482,7 @@ namespace dqutils { s_dbg(VERBOSE, "Found name " + name + ", classname=" + classname); - const std::string newName = dirName + "/" + name; + const std::string newName = dirName.empty() ? name : dirName + "/" + name; auto itDir = m_data.find(dirName); if (classname.starts_with("TH") || classname.starts_with("TProfile") || classname.starts_with("TEfficiency") || classname == "TTree") { @@ -512,10 +514,7 @@ namespace dqutils { // Metadata tree not yet read in this directory md.reset((TTree*)dir->Get("metadata")); } - if (!md) { - std::cout << "ERROR: Did not find metadata tree in directory " << dir->GetPath() << std::endl; - continue; - } + std::unique_ptr<TObject> obj{key->ReadObj()}; TTree* treeObj = dynamic_cast<TTree*>(obj.get()); if (treeObj) { @@ -838,7 +837,7 @@ namespace dqutils { return -1; } std::cout << "Working on file 1/" << nFiles << ": " << files[0] << std::endl; - std::string runDir; + std::string runDir, runDirFwd; const std::regex runDirPattern("run_[0-9]*"); TIter next(in1->GetListOfKeys()); TKey* key; @@ -851,15 +850,24 @@ namespace dqutils { runDir = name; } } - std::cout << "Found run directory " << runDir << std::endl; + if (runDir.empty()) { + std::cout << "No run-directory found, start with '/'" << std::endl; + runDir="/"; + runDirFwd=""; + } + else { + std::cout << "Found run directory " << runDir << std::endl; + runDirFwd=runDir; + } - TDirectory* dir(dynamic_cast<TDirectory*>(in1->Get(runDir.c_str()))); + + TDirectory* dir(dynamic_cast<TDirectory*>(in1->GetDirectory(runDir.c_str()))); if (!dir) { std::cout << "ERROR, can't access directory " << runDir; return -1; } - hc.addDirectory(dir, runDir, files[0]); + hc.addDirectory(dir, runDirFwd, files[0]); // Close first input file in1->Delete(""); @@ -873,8 +881,8 @@ namespace dqutils { std::cout << "ERROR, could not open input file " << files[i] << std::endl; return -1; } - TDirectory* dir(dynamic_cast<TDirectory*>(in->Get(runDir.c_str()))); - hc.addDirectory(dir, runDir, files[i]); + TDirectory* dir(dynamic_cast<TDirectory*>(in->GetDirectory(runDir.c_str()))); + hc.addDirectory(dir, runDirFwd, files[i]); in->Delete(""); in->Close(); } -- GitLab From c058fedeaa0e63e2126c06ff4048e07837a1d925 Mon Sep 17 00:00:00 2001 From: Bertrand Martin Dit Latour <bertrand.martindl@cern.ch> Date: Mon, 24 Mar 2025 08:03:27 +0000 Subject: [PATCH 33/44] TrkMaterialProvider: fix memory leak in TrkMaterialProviderTool TrkMaterialProvider: fix memory leak in TrkMaterialProviderTool Hello, This MR is fixing a memory leak in TrkMaterialProviderTool found by valgrind (ATR-30983). Memory was allocated in `initialize()` but never released. This is now done in `finalize()`. Cheers, Bertrand --- .../TrkMaterialProvider/src/TrkMaterialProviderTool.cxx | 8 +++----- .../TrkMaterialProvider/src/TrkMaterialProviderTool.h | 8 +++++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.cxx b/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.cxx index ca50bfaeb36b..dc01e5f5748c 100644 --- a/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.cxx +++ b/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "TrkMaterialProviderTool.h" @@ -39,8 +39,6 @@ void myLocal_resetTrack(Trk::Track& track ) Trk::TrkMaterialProviderTool::TrkMaterialProviderTool(const std::string& t, const std::string& n, const IInterface* p) : AthAlgTool(t,n,p), m_DetID(nullptr), - m_calorimeterVolume(nullptr), - m_indetVolume(nullptr), m_maxNTracksIso(2), m_paramPtCut(15.0*Gaudi::Units::GeV), m_useCaloEnergyMeasurement(true), @@ -100,13 +98,13 @@ Trk::TrkMaterialProviderTool::initialize() ATH_CHECK(m_trackingVolumesSvc.retrieve()); - m_calorimeterVolume = new Trk::Volume(m_trackingVolumesSvc->volume(Trk::ITrackingVolumesSvc::MuonSpectrometerEntryLayer)); + m_calorimeterVolume = std::make_unique<Trk::Volume>(m_trackingVolumesSvc->volume(Trk::ITrackingVolumesSvc::MuonSpectrometerEntryLayer)); if(!m_calorimeterVolume) { ATH_MSG_ERROR("Unable to retrieve MuonSpectrometerEntryLayer volume"); return StatusCode::FAILURE; } - m_indetVolume = new Trk::Volume(m_trackingVolumesSvc->volume(Trk::ITrackingVolumesSvc::CalorimeterEntryLayer)); + m_indetVolume = std::make_unique<Trk::Volume>(m_trackingVolumesSvc->volume(Trk::ITrackingVolumesSvc::CalorimeterEntryLayer)); if(!m_indetVolume) { ATH_MSG_ERROR("Unable to retrieve CalorimeterEntryLayer volume"); return StatusCode::FAILURE; diff --git a/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.h b/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.h index 1e11e86787b7..413ffe920e56 100644 --- a/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.h +++ b/Tracking/TrkTools/TrkMaterialProvider/src/TrkMaterialProviderTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef TrkMaterialProviderTool_H @@ -36,6 +36,8 @@ #include "MuidInterfaces/IMuidCaloEnergyParam.h" #include "MuidInterfaces/IMuidTrackIsolation.h" +#include<memory> + namespace Trk { class Surface; } @@ -211,8 +213,8 @@ namespace Trk{ "MuonCaloEnergyTool", ""}; const AtlasDetectorID *m_DetID; - const Trk::Volume* m_calorimeterVolume; - const Trk::Volume* m_indetVolume; + std::unique_ptr<Trk::Volume> m_calorimeterVolume; + std::unique_ptr<Trk::Volume> m_indetVolume; // Read handle for conditions object to get the field cache SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", -- GitLab From 702774bf64d1b02eb6df2fa31d092acd93ff39ca Mon Sep 17 00:00:00 2001 From: Liaoshan Shi <liaoshan.shi@cern.ch> Date: Mon, 24 Mar 2025 16:52:57 +0000 Subject: [PATCH 34/44] ATR-30800: Rename GN2X working points ATR-30800: Rename GN2X working points --- .../TrigHLTJetHypo/python/scenario_simple.py | 8 +- .../share/ref_RDOtoRDOTrig_v1Dev_build.ref | 180 ++++++++--------- .../share/ref_v1Dev_decodeBS_build.ref | 180 ++++++++--------- .../python/HLT/Menu/Dev_pp_run3_v1.py | 186 +++++++++--------- .../python/HLT/Menu/SignatureDicts.py | 2 +- 5 files changed, 278 insertions(+), 278 deletions(-) diff --git a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/scenario_simple.py b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/scenario_simple.py index 59497588363e..d006f9989c65 100644 --- a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/scenario_simple.py +++ b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/scenario_simple.py @@ -144,10 +144,10 @@ def get_condition_args_from_chainpart(cp): #This dictionary maps the bdips efficiency into the WP cut to be applied to the DIPS output gn2x_WPs = { '': float('-inf'), - '60': 3.1077, - '70': 2.2998, - '80': 1.2486, - '90': -0.4298, + '79': 3.1077, + '86': 2.2998, + '91': 1.2486, + '96': -0.4298, } assert (values[0] in gn2x_WPs.keys()),f"The efficiency of the specified gn2x cut \'{v}\' can not be found in the WP dictionary. Please add or remove the WP from the dips WP dictionary." diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index c91a81508464..4361b6226ce9 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -1028,11 +1028,11 @@ HLT_2j250c_j120c_pf_ftf_presel2j180XXj80_L1jJ160: 0: 1 stepFeatures: 0: 2 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1jJ160: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 HLT_2j330_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 @@ -14128,13 +14128,13 @@ HLT_j110_L1jJ60: 0: 8 stepFeatures: 0: 12 -HLT_j110_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 0 stepCounts: 0: 11 stepFeatures: 0: 11 -HLT_j110_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 4 stepCounts: 0: 11 @@ -14142,7 +14142,7 @@ HLT_j110_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj80_L1jJ60: stepFeatures: 0: 11 1: 5 -HLT_j110_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 6 stepCounts: 0: 11 @@ -14150,7 +14150,7 @@ HLT_j110_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj80_L1jJ60: stepFeatures: 0: 11 1: 10 -HLT_j110_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 8 stepCounts: 0: 11 @@ -14376,103 +14376,103 @@ HLT_j175_0eta290_020jvt_bgn160_j60_0eta290_020jvt_bgn160_pf_ftf_preselj140b85XXj 1: 8 2: 13 3: 6 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 4 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 4 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 1 stepCounts: 0: 3 @@ -14480,7 +14480,7 @@ HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: stepFeatures: 0: 3 1: 1 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 1 stepCounts: 0: 3 @@ -14488,7 +14488,7 @@ HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: stepFeatures: 0: 3 1: 1 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 1 stepCounts: 0: 3 @@ -14508,31 +14508,31 @@ HLT_j175_L1jJ90: 0: 3 stepFeatures: 0: 5 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 2 stepCounts: 0: 3 @@ -14540,7 +14540,7 @@ HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: stepFeatures: 0: 3 1: 2 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 2 stepCounts: 0: 3 @@ -14548,7 +14548,7 @@ HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: stepFeatures: 0: 3 1: 2 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 2 stepCounts: 0: 3 @@ -14556,7 +14556,7 @@ HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160: stepFeatures: 0: 3 1: 2 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 2 stepCounts: 0: 3 @@ -14564,7 +14564,7 @@ HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ90: stepFeatures: 0: 3 1: 2 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 2 stepCounts: 0: 3 @@ -14572,7 +14572,7 @@ HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: stepFeatures: 0: 3 1: 3 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 2 stepCounts: 0: 3 @@ -14580,7 +14580,7 @@ HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: stepFeatures: 0: 3 1: 3 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 2 stepCounts: 0: 3 @@ -14588,7 +14588,7 @@ HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ160: stepFeatures: 0: 3 1: 3 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 2 stepCounts: 0: 3 @@ -14596,7 +14596,7 @@ HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ90: stepFeatures: 0: 3 1: 3 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 3 stepCounts: 0: 3 @@ -14604,7 +14604,7 @@ HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: stepFeatures: 0: 3 1: 4 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 3 stepCounts: 0: 3 @@ -14612,7 +14612,7 @@ HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: stepFeatures: 0: 3 1: 4 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 3 stepCounts: 0: 3 @@ -14620,7 +14620,7 @@ HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ160: stepFeatures: 0: 3 1: 4 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 3 stepCounts: 0: 3 @@ -15489,77 +15489,77 @@ HLT_j25f_L1RD0_FILLED: 0: 1 stepFeatures: 0: 1 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 4 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 6 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 4 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 HLT_j260_L1jJ125: eventCount: 1 @@ -15567,31 +15567,31 @@ HLT_j260_L1jJ125: 0: 1 stepFeatures: 0: 1 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 2 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 2 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 2 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 0 stepCounts: 0: 2 stepFeatures: 0: 2 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 1 stepCounts: 0: 2 @@ -15599,7 +15599,7 @@ HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: stepFeatures: 0: 2 1: 1 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 1 stepCounts: 0: 2 @@ -15607,7 +15607,7 @@ HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: stepFeatures: 0: 2 1: 1 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 1 stepCounts: 0: 2 @@ -15615,7 +15615,7 @@ HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ125: stepFeatures: 0: 2 1: 1 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 1 stepCounts: 0: 2 @@ -15623,7 +15623,7 @@ HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ160: stepFeatures: 0: 2 1: 1 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 2 stepCounts: 0: 2 @@ -15631,7 +15631,7 @@ HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 2 stepCounts: 0: 2 @@ -15639,7 +15639,7 @@ HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 2 stepCounts: 0: 2 @@ -15647,7 +15647,7 @@ HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ125: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 2 stepCounts: 0: 2 @@ -15655,7 +15655,7 @@ HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ160: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 2 stepCounts: 0: 2 @@ -15663,7 +15663,7 @@ HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 2 stepCounts: 0: 2 @@ -15671,7 +15671,7 @@ HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 2 stepCounts: 0: 2 @@ -15679,7 +15679,7 @@ HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ125: stepFeatures: 0: 2 1: 2 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 2 stepCounts: 0: 2 @@ -15997,19 +15997,19 @@ HLT_j360_L1gJ100p0ETA25: eventCount: 0 HLT_j360_L1jJ160: eventCount: 0 -HLT_j360_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j360_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j360_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 1 stepCounts: 0: 1 @@ -16017,7 +16017,7 @@ HLT_j360_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: stepFeatures: 0: 1 1: 1 -HLT_j360_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 1 stepCounts: 0: 1 @@ -16223,25 +16223,25 @@ HLT_j420_L1jJ160: eventCount: 0 HLT_j420_L1jJ180: eventCount: 0 -HLT_j420_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j420_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j420_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j420_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 @@ -16415,25 +16415,25 @@ HLT_j460_a10r_L1jJ160: eventCount: 0 HLT_j460_a10r_L1jLJ140: eventCount: 0 -HLT_j460_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j460_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j460_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 stepFeatures: 0: 1 -HLT_j460_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 stepCounts: 0: 1 diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 4e4f0b3d0952..1703464225d2 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -684,11 +684,11 @@ HLT_2j250c_j120c_ftf_presel2j180XXj80_L1jJ160: eventCount: 0 HLT_2j250c_j120c_pf_ftf_presel2j180XXj80_L1jJ160: eventCount: 0 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1jJ160: +HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 HLT_2j330_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 @@ -7650,25 +7650,25 @@ HLT_j110_L1jJ60: 0: 4 stepFeatures: 0: 5 -HLT_j110_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 0 stepCounts: 0: 7 stepFeatures: 0: 7 -HLT_j110_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 0 stepCounts: 0: 7 stepFeatures: 0: 7 -HLT_j110_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 0 stepCounts: 0: 7 stepFeatures: 0: 7 -HLT_j110_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj80_L1jJ60: +HLT_j110_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj80_L1jJ60: eventCount: 2 stepCounts: 0: 7 @@ -7774,79 +7774,79 @@ HLT_j175_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 HLT_j175_0eta290_020jvt_bgn160_j60_0eta290_020jvt_bgn160_pf_ftf_preselj140b85XXj45b85_L1jJ160: eventCount: 0 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 HLT_j175_L1gJ50p0ETA25: eventCount: 0 HLT_j175_L1jJ90: eventCount: 0 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 0 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 0 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 0 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40: eventCount: 0 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ160: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ160: eventCount: 0 -HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ90: +HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ90: eventCount: 0 HLT_j175_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ100p0ETA25: eventCount: 0 @@ -8190,79 +8190,79 @@ HLT_j25f_L1RD0_FILLED: 0: 2 stepFeatures: 0: 2 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: +HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160: eventCount: 0 HLT_j260_L1jJ125: eventCount: 0 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 0 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 -HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 0 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 0 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 -HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 0 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 0 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 -HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 0 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40: eventCount: 0 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25: eventCount: 0 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ125: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 -HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ160: +HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ160: eventCount: 0 HLT_j260_a10sd_cssk_pf_jes_ftf_preselj200_L1jJ125: eventCount: 0 @@ -8442,13 +8442,13 @@ HLT_j360_L1gJ100p0ETA25: eventCount: 0 HLT_j360_L1jJ160: eventCount: 0 -HLT_j360_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j360_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j360_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j360_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j360_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 HLT_j360_a10sd_cssk_pf_jes_ftf_preselj225_L1SC111-CjJ40: eventCount: 0 @@ -8530,13 +8530,13 @@ HLT_j420_L1jJ160: eventCount: 0 HLT_j420_L1jJ180: eventCount: 0 -HLT_j420_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j420_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j420_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j420_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j420_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 HLT_j420_a10sd_cssk_pf_jes_ftf_preselj225_L1SC111-CjJ40: eventCount: 0 @@ -8662,13 +8662,13 @@ HLT_j460_a10r_L1jJ160: eventCount: 0 HLT_j460_a10r_L1jLJ140: eventCount: 0 -HLT_j460_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j460_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j460_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 -HLT_j460_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160: +HLT_j460_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160: eventCount: 0 HLT_j460_a10sd_cssk_pf_jes_ftf_preselj225_L1SC111-CjJ40: eventCount: 0 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 54d91a9401ed..bdbbbca57d08 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -401,99 +401,99 @@ def getDevSignatures(): chains['Bjet'] = [ # Test chain for X to bb tagging - ChainProp(name='HLT_j110_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_60bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_60bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j360_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j420_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j460_a10sd_cssk_60bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - - ChainProp(name='HLT_j110_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), - ChainProp(name='HLT_j175_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), - ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED', 'FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_2j260_a10sd_cssk_70bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_70bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_70bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j360_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j420_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j460_a10sd_cssk_70bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - - ChainProp(name='HLT_j110_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j175_35smcINF_80bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j260_35smcINF_80bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), - ChainProp(name='HLT_j360_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j420_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j460_a10sd_cssk_80bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - - ChainProp(name='HLT_j110_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j175_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j260_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j360_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j420_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), - ChainProp(name='HLT_j460_a10sd_cssk_90bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j110_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_79bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_79bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j360_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j420_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j460_a10sd_cssk_79bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + + ChainProp(name='HLT_j110_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj160_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj180_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), + ChainProp(name='HLT_j175_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED'], monGroups=['jetMon:online', 'bJetMon:t0']), + ChainProp(name='HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED', 'FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_2j260_a10sd_cssk_86bgntwox_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_86bgntwox_j260_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_86bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j360_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j420_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j460_a10sd_cssk_86bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + + ChainProp(name='HLT_j110_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j175_35smcINF_91bgntwox_j175_35smcINF_a10sd_cssk_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1jJ160', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1gLJ140p0ETA25', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j260_35smcINF_91bgntwox_j260_35smcINF_a10sd_cssk_pf_jes_ftf_presel2j225_L1SC111-CjJ40', groups=DevGroup+MultiBjetGroup, l1SeedThresholds=2*['FSNOSEED']), + ChainProp(name='HLT_j360_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j420_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j460_a10sd_cssk_91bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + + ChainProp(name='HLT_j110_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj80_L1jJ60', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ90', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j175_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj140_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ125', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1gLJ140p0ETA25', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j260_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj200_L1SC111-CjJ40', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j360_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j420_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), + ChainProp(name='HLT_j460_a10sd_cssk_96bgntwox_pf_jes_ftf_preselj225_L1jJ160', groups=DevGroup+SingleBjetGroup, l1SeedThresholds=['FSNOSEED']), ###################################################################################################################################################################################################################################################### #HH->bbbb diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py index 14bafc2cd2ce..78787e8a5e20 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/SignatureDicts.py @@ -459,7 +459,7 @@ JetChainParts = { 'PTRANGE2r3', 'MAXMULT20c', 'MAXMULT6c',], - 'bsel': ['95bdips','90bdips','85bdips','80bdips','77bdips','95bgnone','90bgnone','85bgnone','80bgnone','77bgnone', '60bgntwox', '70bgntwox', '80bgntwox', '90bgntwox','95bgntwo','90bgntwo','85bgntwo','80bgntwo','82bgntwo','77bgntwo','75bgntwo','60bgntwo'], + 'bsel': ['95bdips','90bdips','85bdips','80bdips','77bdips','95bgnone','90bgnone','85bgnone','80bgnone','77bgnone', '79bgntwox', '86bgntwox', '91bgntwox', '96bgntwox','95bgntwo','90bgntwo','85bgntwo','80bgntwo','82bgntwo','77bgntwo','75bgntwo','60bgntwo'], 'tausel': [ '75gntau' , '80gntau', '85gntau' , '90gntau' ], 'smc' : # "Single mass condition" -- rename? ['30smcINF', '35smcINF', '40smcINF', '50smcINF', '60smcINF', 'nosmc'], -- GitLab From 26f469f3e2865c2a043f652777dade5288ed3f88 Mon Sep 17 00:00:00 2001 From: Jean Yves Beaucamp <jean.yves.beaucamp@cern.ch> Date: Mon, 24 Mar 2025 16:54:28 +0000 Subject: [PATCH 35/44] Move g-2 tau chains to the Physics menu Move g-2 tau chains to the Physics menu --- .../TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py | 5 +---- .../TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py | 7 +++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 54d91a9401ed..1f3a4228e5f7 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -632,11 +632,8 @@ def getDevSignatures(): # g-2 tau triggers (ATR-30638) - ChainProp(name='HLT_2tau50_mediumRNN_29dphiAA_L12cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['cTAU50M'], groups=MultiTauGroup+DevGroup, monGroups=['tauMon:t0']), - ChainProp(name='HLT_2tau50_mediumGNTau_29dphiAA_L12cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['cTAU50M'], groups=MultiTauGroup+DevGroup, monGroups=['tauMon:t0']), - ChainProp(name='HLT_tau70_mediumRNN_tau50_mediumRNN_29dphiAB_L1eTAU70_2cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['eTAU70', 'cTAU50M'], groups=MultiTauGroup+DevGroup, monGroups=['tauMon:t0']), ChainProp(name='HLT_tau70_mediumGNTau_tau50_mediumGNTau_29dphiAB_L1eTAU70_2cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['eTAU70', 'cTAU50M'], groups=MultiTauGroup+DevGroup, monGroups=['tauMon:t0']), - + ChainProp(name='HLT_2tau50_mediumGNTau_29dphiAA_L12cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['cTAU50M'], groups=MultiTauGroup+DevGroup, monGroups=['tauMon:t0']), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index d821fa83e050..4c88f84fbf0b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -1573,6 +1573,13 @@ ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectr ChainProp(name='HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1eTAU35M_2eTAU30M', l1SeedThresholds=['eTAU35M','eTAU30M'], groups=SupportPhIGroup+MultiTauGroup), ChainProp(name='HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1cTAU35M_2cTAU30M' , l1SeedThresholds=['cTAU35M','cTAU30M'], groups=SupportPhIGroup+MultiTauGroup), + + # g-2 tau measurement (yy -> tautau) + ChainProp(name='HLT_tau70_mediumRNN_tau50_mediumRNN_29dphiAB_L1eTAU70_2cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['eTAU70', 'cTAU50M'], groups=PrimaryPhIGroup+MultiTauGroup+Topo3Group, monGroups=['tauMon:t0']), + ChainProp(name='HLT_2tau50_mediumRNN_29dphiAA_L12cTAU50M_DPHI-2eTAU50', l1SeedThresholds=['cTAU50M'], groups=EOFTauPhIGroup+MultiTauGroup+Topo3Group, monGroups=['tauMon:t0']), + + + # displaced tau+X (ATR-21754) ChainProp(name="HLT_tau80_mediumRNN_tracktwoLLP_tau60_mediumRNN_tracktwoLLP_03dRAB_L1eTAU80_2eTAU60", l1SeedThresholds=['eTAU80','eTAU60'], groups=PrimaryPhIGroup+MultiTauGroup, monGroups=['tauMon:shifter'] ), ChainProp(name="HLT_tau80_mediumRNN_tracktwoLLP_tau60_tightRNN_tracktwoLLP_03dRAB_L1eTAU80_2eTAU60", l1SeedThresholds=['eTAU80','eTAU60'], groups=PrimaryPhIGroup+MultiTauGroup, monGroups=['tauMon:t0']), -- GitLab From 7c3967dd3d2b07bdbee1e28dd6a12455fbdb5b25 Mon Sep 17 00:00:00 2001 From: Gianantonio Pezzullo <g.pezzullo@yale.edu> Date: Mon, 24 Mar 2025 16:56:54 +0000 Subject: [PATCH 36/44] ATR-29896: new TLA DIPZ candidates ATR-29896: new TLA DIPZ candidates --- .../TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py | 3 --- .../TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py | 2 ++ .../TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py | 4 +++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index 2a9e5a2eb1d9..855d3878b3de 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -244,13 +244,10 @@ def getDevSignatures(): ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ219XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_6j20_pf_ftf_preselZ219XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_j0_pf_ftf_preselZ219XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), - ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ197XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_6j20_pf_ftf_preselZ197XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_j0_pf_ftf_preselZ197XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), - ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ182XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_6j20_pf_ftf_preselZ182XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_j0_pf_ftf_preselZ182XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), - ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ142XX5c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_6j20_pf_ftf_preselZ142XX5c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_j0_pf_ftf_preselZ142XX5c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ134XX5c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py index 02acc83c6d4b..d49a00ca0e36 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py @@ -167,6 +167,8 @@ def getMCSignatures(): ChainProp(name='HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b82_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*2, stream=['TLA'], groups=MultiJetGroup+SupportPhIGroup, monGroups=['tlaMon:shifter']), ChainProp(name='HLT_2j20_2j20_pf_ftf_presel2c20XX2c20b80_PhysicsTLA_L1jJ85p0ETA21_3jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*2, stream=['TLA'], groups=MultiJetGroup+SupportPhIGroup, monGroups=['tlaMon:shifter']), + ChainProp(name='HLT_6j20_pf_ftf_presel6c25_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), + #-- calratio/calratio+VBF ATR-28412 candidates moved to MC for now best candiate moved to physics after validation ChainProp(name='HLT_j30_CLEANllp_momemfrac006_calratio_L1jMJJ-500-NFF', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+PrimaryPhIGroup), ChainProp(name='HLT_j30_CLEANllp_momemfrac012_calratiormbib_L1jMJJ-500-NFF', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+SupportPhIGroup), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index 79ec991d717c..e6d72ce7e434 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -1114,8 +1114,10 @@ ChainProp(name='HLT_e140_dnnloose_L1eEM26M', groups=PrimaryPhIGroup+SingleElectr # ATR-25512 # Multijet delayed stream + ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ142XX5c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), + ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ182XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), + ChainProp(name='HLT_6j20c_020jvt_pf_ftf_preselZ197XX6c20_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), - ChainProp(name='HLT_6j20_pf_ftf_presel6c25_PhysicsTLA_L14jJ40', l1SeedThresholds=['FSNOSEED'], stream=['TLA'], groups=PrimaryPhIGroup+MultiJetGroup, monGroups=['tlaMon:shifter']), ## TLA chains -- GitLab From acae8f276e1c2978a328e02898faa1632ea2bab9 Mon Sep 17 00:00:00 2001 From: Rhys Edward Owen <rhys.owen@cern.ch> Date: Mon, 24 Mar 2025 16:59:31 +0000 Subject: [PATCH 37/44] Allow folder tags to be overriden using the dbOverrides argument Add option for LAr FW 6 LATOME fimware version v6 (HLS) is currently under testing. Processing data to ensure that there are no simulation mis matches with L1Calo can be done with this monitoring script but changes to the LAr readout mean that a special db tag must be used. This does not fit into the exisitng provision to overide the DB with a local sqlite file so a new option is added for ease of running the job. --- .../share/L1CaloPhase1Monitoring.py | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py b/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py index a38d41076568..ba57f3405851 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py @@ -95,7 +95,7 @@ parser.add_argument('--lumiBlock',default=None,help="specify to select a lumiBlo parser.add_argument('--evtNumber',default=None,nargs="+",type=int,help="specify to select an evtNumber") parser.add_argument('--stream',default="*",help="stream to lookup files in") parser.add_argument('--fexReadoutFilter',action='store_true',help="If specified, will skip events without fexReadout") -parser.add_argument('--dbOverrides',default=None,nargs="+",type=str,help="specify overrides of COOL database folders in form <folder>=<dbPath>, example: /TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib=mytest.db ") +parser.add_argument('--dbOverrides',default=None,nargs="+",type=str,help="specify overrides of COOL database folders in form <folder>=<dbPath> or <folder>:<tag>[=<dbPath>] to override a tag, example: /TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib=mytest.db ") parser.add_argument('--postConfig',default=[],nargs="+",type=str,help="specify component properties to apply at the end of the config") args = flags.fillFromArgs(parser=parser) if args.runNumber is not None: @@ -399,14 +399,23 @@ if type(args.dbOverrides)==list: #cfg.merge( addOverride(flags, folder="/TRIGGER/L1Calo/V1/Calibration/EfexNoiseCuts", db="sqlite://;schema=/afs/cern.ch/user/w/will/calib.sqlite;dbname=L1CALO",tag="" ) ) for override in args.dbOverrides: print(override) - folderName,dbPath = override.split("=",1) + folderName,dbPath = override.split("=",1) if "=" in override else (override,"") if folderName == "": raise ValueError("Cannot parse dbOverride: " + override) - if ";dbname=" not in dbPath: dbPath += ";dbname=CONDBR2" - dbPath,dbInst = dbPath.split(";dbname=") - if not os.path.exists(dbPath): raise ValueError("dbOverride file doesn't exist: " + dbPath) + db = "" + if dbPath != "": + if ";dbname=" not in dbPath: dbPath += ";dbname=CONDBR2" + dbPath,dbInst = dbPath.split(";dbname=") + if not os.path.exists(dbPath): raise ValueError("dbOverride file doesn't exist: " + dbPath) + db = f"sqlite://;schema={dbPath};dbname={dbInst}" + tag = "" + if ":" in folderName: + folderName,tag = folderName.split(":",1) if folderName[0] != "/": folderName = "/TRIGGER/L1Calo/V1/Calibration/" + folderName - log.info(" ".join(("Overriding COOL folder:",folderName,dbPath,dbInst))) - cfg.merge( addOverride(flags,folder=folderName,db=f"sqlite://;schema={dbPath};dbname={dbInst}",tag="")) + log.info(" ".join(("Overriding COOL folder:",folderName,db,tag))) + if db=="": + cfg.merge( addOverride(flags,folder=folderName,tag=tag)) + else: + cfg.merge( addOverride(flags,folder=folderName,db=db,tag=tag)) # configure output AOD if requested -- GitLab From 00de050746fd0dfc84356ae9bc613ac88a7a45a2 Mon Sep 17 00:00:00 2001 From: Bertrand Martin Dit Latour <bertrand.martindl@cern.ch> Date: Mon, 24 Mar 2025 17:05:19 +0000 Subject: [PATCH 38/44] TrigT2CaloCommon: fix memory leak in TrigCaloDataAccessSvc TrigT2CaloCommon: fix memory leak in TrigCaloDataAccessSvc Hello, This MR fixes a memory leak in TrigCaloDataAccessSvc found by valgrind (ATR-30983). In `lateInit`, there are about 250 cells created with `new`, but memory is not released in `finalize` prior to the deletion of `cache->fullcont`. In this MR, a vector is added to keep track of the position of these cells in the container, such that we can free memory in `finalize`. Valgrind confirms this fixes the memory leak. Note that there is no leak in the event loop. Cheers, Bertrand --- .../TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx | 9 ++++++--- .../TrigT2CaloCommon/src/TrigCaloDataAccessSvc.h | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx index 09da5114cfc6..85a5f2964a06 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "AthenaMonitoringKernel/Monitored.h" #include "TrigCaloDataAccessSvc.h" @@ -63,6 +63,7 @@ StatusCode TrigCaloDataAccessSvc::finalize() { cache->d0cells->clear(); delete cache->d0cells; cache->lastFSEvent = 0xFFFFFFFF; + for (unsigned int i : m_insertedCells) delete cache->fullcont->at(i); delete cache->fullcont; } // end of for slots } // end of m_lateInitDone @@ -155,7 +156,7 @@ StatusCode TrigCaloDataAccessSvc::loadCollections ( const EventContext& context, const std::vector<TileCellCollection*>::const_iterator it = (tilecell->find(requestHashIDs[i])); TileCellCollection* col = *it; - if ( col == NULL ) continue; + if ( col == nullptr ) continue; TileCellCollection::const_iterator itt = (*it)->begin(); TileCellCollection::const_iterator End = (*it)->end(); for (;itt!=End;++itt){ @@ -475,6 +476,8 @@ unsigned int TrigCaloDataAccessSvc::lateInit(const EventContext& context) { // n } else { cachefullcont->at(i) = new LArCell(el,0,0,0,(CaloGain::CaloGain)0); } + + if (slot==0) m_insertedCells.push_back(i); } } @@ -596,7 +599,7 @@ unsigned int TrigCaloDataAccessSvc::convertROBs( const EventContext& context, const std::vector<TileCellCollection*>::const_iterator it = (tilecell->find(rIds[i])); TileCellCollection* col = *it; - if ( robFrags1.size()!=0 && col != NULL ) { + if ( robFrags1.size()!=0 && col != nullptr ) { size_t roddatasize = robFrags1[0]->rod_ndata(); // insert data into vector (to be removed soon) if (roddatasize < 3) { diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.h b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.h index 3b94a04a7023..9702aa806b22 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.h +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef TrigT2CaloCommon_TrigCaloDataAccessSvc_h @@ -140,6 +140,8 @@ class TrigCaloDataAccessSvc : public extends<AthService, ITrigCaloDataAccessSvc> unsigned int lastFSEvent; }; + // cells created in lateInit which must be deleted in finalize + std::vector<unsigned int> m_insertedCells; SG::SlotSpecificObj< HLTCaloEventCache > m_hLTCaloSlot; @@ -199,5 +201,3 @@ class TrigCaloDataAccessSvc : public extends<AthService, ITrigCaloDataAccessSvc> #endif - - -- GitLab From acaa80a99a8dce7beb166642cf4e5b89d857f160 Mon Sep 17 00:00:00 2001 From: Will Buttinger <will.buttinger@cern.ch> Date: Mon, 24 Mar 2025 17:07:18 +0000 Subject: [PATCH 39/44] Update L1Calo dq algorithm (L1Calo_BinsDiffFromStripMedian) and config Update L1Calo dq algorithm (L1Calo_BinsDiffFromStripMedian) and config --- .../src/L1Calo_BinsDiffFromStripMedian.cxx | 39 +++++++++++++------ .../python/EfexInputMonitorAlgorithm.py | 2 +- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/DataQuality/dqm_algorithms/src/L1Calo_BinsDiffFromStripMedian.cxx b/DataQuality/dqm_algorithms/src/L1Calo_BinsDiffFromStripMedian.cxx index 2b8f018d16e4..4b1e36d58e66 100644 --- a/DataQuality/dqm_algorithms/src/L1Calo_BinsDiffFromStripMedian.cxx +++ b/DataQuality/dqm_algorithms/src/L1Calo_BinsDiffFromStripMedian.cxx @@ -60,7 +60,7 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH1" ); } - const double minstat = dqm_algorithms::tools::GetFirstFromMap( "MinStat", config.getParameters(), -1); + const double minstat = dqm_algorithms::tools::GetFirstFromMap( "MinStat", config.getParameters(), 100); const double ignoreBelow = dqm_algorithms::tools::GetFirstFromMap( "IgnoreBelow", config.getParameters(), 0); const double probThreshold = dqm_algorithms::tools::GetFirstFromMap( "ProbThreshold", config.getParameters(), 0.01); const int publishDetail = dqm_algorithms::tools::GetFirstFromMap( "PublishDetail", config.getParameters(), 0x10/*publish status code - since saw some inconsistencies in webdisplay on local testing. Should plan to set to 0 in future*/); @@ -102,6 +102,7 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam if ( histogram->GetEntries() < minstat ) { dqm_core::Result *result = new dqm_core::Result(dqm_core::Result::Undefined); + result->status_ = dqm_core::Result::Yellow; // will treat almost-empty histograms as a warning .... shifter should think if this is expected result->tags_["InsufficientEntries"] = histogram->GetEntries(); return result; } @@ -109,6 +110,8 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam std::vector<int> range=dqm_algorithms::tools::GetBinRange(histogram, config.getParameters()); + std::set<int> filledRows; // will only look for dead strips once all rows are filled + // compute medians, means, variances, k-test probabilities std::vector<double> stripsMedian; std::vector<double> stripsAvg; @@ -122,6 +125,7 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam for ( int j = range[2]; j <= range[3]; ++j ) { if (histogram->GetBinContent(i,j) < ignoreBelow) continue; float binvalue = histogram->GetBinContent(i,j); + if(binvalue>0) filledRows.insert(j); // used to veto running deadstrip tests on sparsely populated plots onestrip.push_back(binvalue); stripSum += binvalue; stripSum2 += binvalue*binvalue; @@ -140,8 +144,15 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam // also compute Kolmogorov test probability vs a same-size dataset generated from a gaussian with the strip mean and variance if(stripsVariance.back() > 0) { std::vector<double> stripRef; - for (size_t i = 0; i < onestrip.size(); i++) - stripRef.push_back(r.Gaus(stripsAvg.back(), std::sqrt(stripsVariance.back()))); + for (size_t i = 0; i < onestrip.size(); i++) { + // use possion for variances less than 100 (corresponding ~ to averages fewer than 100) + // otherwise switch to gaussian + double nextVal = 0; + do { + nextVal = (stripsVariance.back()>=100) ? r.Gaus(stripsAvg.back(), std::sqrt(stripsVariance.back())) : r.Poisson(stripsAvg.back()); + } while(nextVal<ignoreBelow); + stripRef.push_back(nextVal); + } std::sort(stripRef.begin(),stripRef.end()); stripsProb.push_back( TMath::KolmogorovTest(onestrip.size(),&onestrip[0],stripRef.size(),&stripRef[0],"") ); } else { @@ -164,10 +175,12 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam } + bool testDeadStrips = (filledRows.size() == size_t(range[3]-range[2]+1)); + std::map<std::string,int> counts; // ensure all counts defined, even if will end up being 0 - counts["NDeadStrip"]=0; + counts["NDeadStrip"]= (testDeadStrips) ? 0 : -1; // use -1 to flag not running this test counts["NDead"]=0; counts["NWrongKnown"]=0; counts["NConsecUnlikelyStrip"]=0; @@ -178,12 +191,16 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam // publish deadstrips (whole strip is 0), and unlikely strips int nUnlikelyStrips = 0; for(size_t i = 0;i<stripsVariance.size();i++) { - if (stripsN.at(i) > 0 && stripsVariance.at(i) == 0 && stripsAvg.at(i) == 0) { - result->tags_[TString::Format("_DeadStrip%02ld", i+1).Data()] = histogram->GetXaxis()->GetBinCenter(range[0] + i); - counts["NDeadStrip"]++; + if (testDeadStrips && stripsVariance.at(i) == 0 && stripsAvg.at(i) == 0) { + // only dead if at least one of the neighbour strips has enough entries in it + if( (i>0 && (stripsAvg.at(i-1)*stripsN.at(i-1))>=minstat) || (i<stripsVariance.size()-1 && (stripsAvg.at(i+1)*stripsN.at(i+1))>=minstat)) { + result->tags_[TString::Format("_DeadStrip%02ld", i+1).Data()] = histogram->GetXaxis()->GetBinCenter(range[0] + i); + counts["NDeadStrip"]++; + } + } if (stripsProb.at(i) < probThreshold) { - result->tags_[TString::Format("_UnlikelyStrip%02ld", i+1).Data()] = stripsProb.at(i); + result->tags_[TString::Format("_UnlikelyStrip%02ld", i+1).Data()] = -log(stripsProb.at(i)); nUnlikelyStrips++; if(nUnlikelyStrips > counts["NConsecUnlikelyStrip"]) counts["NConsecUnlikelyStrip"] = nUnlikelyStrips; } else { @@ -220,7 +237,7 @@ dqm_algorithms::L1Calo_BinsDiffFromStripMedian::execute(const std::string & nam // loop through cuts, assign bin to one of the ranges, and report if not a known bin double classCut = 0; for(auto& [cut,k] : orderedCuts) { - if( (cut < 0 && bin.m_outstandingRatio < cut) || (cut > 0 && bin.m_outstandingRatio > cut) ) { + if( (cut < 0 && bin.m_outstandingRatio < cut) || (cut > 0 && bin.m_outstandingRatio > cut && bin.m_value>=minstat) ) { classCut = cut; if(knownBins[k].find({bin.m_ix,bin.m_iy})==knownBins[k].end()) { result->tags_[TString::Format("_%s(%d,%d)", k.c_str(), bin.m_ix, @@ -291,10 +308,10 @@ void dqm_algorithms::L1Calo_BinsDiffFromStripMedian::printDescription(std::ostre out<<"L1Calo_BinsDiffFromStripMedian: Calculates strip median and then find out bins which are aliens "<<std::endl; out<<"Specify cuts with parameters named <cutName>Cut will generate a result of form Nxxx" << std::endl; out<<"Specify known anomalies with Known<cutName> string argument - note any leading non-numeric char will be stripped" << std::endl; - out<<"Special results are: NDead (number of 0 bins below most negative cut), NDeadStrip (strips that are all 0), NConsecUnlikelyStrip (most consecutive strips that are below ProbThreshold)" << std::endl; + out<<"Special results are: NDead (number of 0 bins below most negative cut), NDeadStrip (strips that are all 0 .. will be -1 if not got an entry in every row of plot), NConsecUnlikelyStrip (most consecutive strips that are below ProbThreshold)" << std::endl; out<<"Thresholds can be set on any of the results\n"<<std::endl; - out<<"Optional Parameter: MinStat: Minimum histogram statistics needed to perform Algorithm"<<std::endl; + out<<"Optional Parameter: MinStat: Minimum histogram statistics needed to perform Algorithm, also min entries for warm/hot spots (cuts > 0), and min entries in neighbour strip to declare a strip dead"<<std::endl; out<<"Optional Parameter: IgnoreBelow: values below which the bins wont be considered (default 0)"<<std::endl; out<<"Optional Parameter: ProbThreshold: cutoff for strip k-test probabilities for strip to be considered unlikely (default 0.05)"<<std::endl; out<<"Optional Parameter: PublishDetail: Bitmask of what extra info to publish about strips. Starting with MSB: AlgStatusCode,Zeros,Noise,Prob,StdDev,Median (default 000000)"<<std::endl; diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py index 32353b2d3da4..9928d783bd0d 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexInputMonitorAlgorithm.py @@ -95,7 +95,7 @@ def EfexInputMonitoringConfig(flags): for layer in ["ecal","hcal"]: helper.defineHistogram(f'TowerEta,TowerPhi;h_dataTowers_{layer}_hot_EtaPhiMap',title=f'{layer.upper()} SuperCells >= 500MeV;#eta;#phi', cutmask="AboveCut", - path="Expert/Inputs/eFEX", + paths=["Expert/Inputs/eFEX","Shifter/Inputs/eFEX"], hanConfig={"algorithm":f"Efex_{layer}_hot_etaPhiMapOutliers","description":f"Check <a href='./detail/h_dataTowers_{layer}_hot_posVsLBN'>detail plot</a> to get timeseries for each location"}, fillGroup=layer, type='TH2I', -- GitLab From 19108d49b0d69280b11788aa514d393fcfbf980d Mon Sep 17 00:00:00 2001 From: Teng Jian Khoo <teng.jian.khoo@cern.ch> Date: Mon, 24 Mar 2025 17:08:39 +0000 Subject: [PATCH 40/44] HLT NNJVT variable handling in AODSLIM HLT NNJVT variable handling in AODSLIM --- Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index ecb92f4ddc69..9e64d0f6fada 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -247,7 +247,7 @@ varToRemoveFromAODSLIM = [ ] # Detailed NNJvt input variables for var in ['RPtTrkPt500', 'DTrackWidthPt1000', 'DNumTrkPt1000', 'DRPtTrkPt500', 'SumPtTrkOrderedTrackWidthPt1000', 'SumPtTrkOrderedNumTrkPt1000']: - varToRemoveFromAODSLIM.append((var, 'HLT_AntiKt4EMPFlowJets_subresgscIS_ftfAux', '')) + varToRemoveFromAODSLIM.append((var, 'HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftfAux', 'HLT_AntiKt4EMTopoJets_subresjesgscIS_ftfAux')) -- GitLab From b97db9f9d878ccee7a9100853d4b2b001a81e459 Mon Sep 17 00:00:00 2001 From: Francesco Giuseppe Gravili <francesco.giuseppe.gravili@cern.ch> Date: Mon, 24 Mar 2025 17:11:11 +0000 Subject: [PATCH 41/44] MM Trigger Simulation: complete removal of AGDD dependencies MM Trigger Simulation: complete removal of AGDD dependencies --- .../src/MMReadoutElement.cxx | 13 +++- .../TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx | 13 +--- .../TrigT1NSWSimTools/src/MMT_struct.cxx | 71 ++++--------------- 3 files changed, 29 insertions(+), 68 deletions(-) diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx index 8ed7a6ed2e9c..71728f6bc438 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /*************************************************************************** @@ -59,6 +59,17 @@ namespace MuonGM { setIdentifier(id); bool foundShape = false; + const PVConstLink pvc {getMaterialGeom()}; + const GeoTrd* trd=dynamic_cast<const GeoTrd *> (pvc->getLogVol()->getShape()); + if (trd) { + setSsize(2*trd->getYHalfLength1()); + setLongSsize( 2*trd->getYHalfLength2()); + setRsize(2*trd->getZHalfLength()); + setZsize(trd->getXHalfLength1()); + } else { + ATH_MSG_DEBUG("Not a valid GeoTrd"); + } + if (!mgr->MinimalGeoFlag()) { if (GeoFullPhysVol* pvc = dynamic_cast<GeoFullPhysVol*>(pv)) { const GeoLogVol *lvol=pvc->getLogVol(); diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx index 6c2913692a4e..dd2396d0e01a 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx @@ -3,8 +3,6 @@ */ #include "TrigT1NSWSimTools/MMT_Hit.h" -#include "MuonAGDDDescription/MMDetectorDescription.h" -#include "MuonAGDDDescription/MMDetectorHelper.h" #include "MuonReadoutGeometry/MuonChannelDesign.h" #include "MuonReadoutGeometry/MuonDetectorManager.h" #include "MuonReadoutGeometry/MMReadoutElement.h" @@ -82,19 +80,14 @@ MMT_Hit::MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* Amg::Vector3D globalPos(0.0, 0.0, 0.0); if(readout->stripGlobalPosition(strip_id, globalPos)) { - MMDetectorHelper aHelper; - char side = (globalPos.z() > 0.) ? 'A' : 'C'; - MMDetectorDescription* mm = aHelper.Get_MMDetector(m_sector, std::abs(m_station_eta), m_station_phi, m_multiplet, side); - MMReadoutParameters roP = mm->GetReadoutParameters(); - m_R = globalPos.perp(); m_Z = globalPos.z(); - m_PitchOverZ = roP.stripPitch/m_Z; + m_PitchOverZ = (readout->getDesign(strip_id))->inputPitch/m_Z; m_RZslope = m_R / m_Z; double index = std::round((std::abs(m_RZslope)-0.1)/5e-04); // 0.0005 is approx. the step in slope achievable with a road size of 8 strips - double roundedSlope = 0.1 + index*((0.6 - 0.1)/1000.); - m_Rp = roP.distanceFromZAxis + roundedSlope*(planeCoordinates[m_plane].Z() - planeCoordinates[0].Z()); + const double distanceFromZAxis = readout->absTransform().translation().perp() - 0.5*readout->getRsize(); + m_Rp = distanceFromZAxis + (0.1 + index*((0.6 - 0.1)/1000.))*(planeCoordinates[m_plane].Z() - planeCoordinates[0].Z()); m_shift = m_Rp / m_Z; } } diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx index 3b0afc9815ec..9ab56ec0fd0a 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx @@ -3,8 +3,6 @@ */ #include "TrigT1NSWSimTools/MMT_struct.h" -#include "MuonAGDDDescription/MMDetectorDescription.h" -#include "MuonAGDDDescription/MMDetectorHelper.h" #include "MuonReadoutGeometry/MuonChannelDesign.h" #include "MuonReadoutGeometry/MuonDetectorManager.h" @@ -13,68 +11,27 @@ MMT_Parameters::MMT_Parameters(std::string layerSetup, char wedgeSize, const Muo // Get the modules for each multiplet, the sector and side arguement (third and fifth argument, respectively) shouldn't matter // since the algorithm computes locally - char side = 'A'; + std::string wedgeString = (wedgeSize=='L' ? "MML" : "MMS"); m_sector = wedgeSize; - MMDetectorHelper aHelper; - MMDetectorDescription* mm_top_mult1 = aHelper.Get_MMDetector(m_sector, 2, 5, 1, side); // Parameters: sector, eta, phi, layer/multiplet - MMDetectorDescription* mm_top_mult2 = aHelper.Get_MMDetector(m_sector, 2, 5, 2, side); - MMDetectorDescription* mm_bottom_mult1 = aHelper.Get_MMDetector(m_sector, 1, 5, 1, side); - MMDetectorDescription* mm_bottom_mult2 = aHelper.Get_MMDetector(m_sector, 1, 5, 2, side); - MMReadoutParameters roParam_top_mult1 = mm_top_mult1->GetReadoutParameters(); - MMReadoutParameters roParam_top_mult2 = mm_top_mult2->GetReadoutParameters(); - MMReadoutParameters roParam_bottom_mult1 = mm_bottom_mult1->GetReadoutParameters(); - MMReadoutParameters roParam_bottom_mult2 = mm_bottom_mult2->GetReadoutParameters(); + Identifier mm_top_ele_id = detManager->mmIdHelper()->elementID(wedgeString, 2, 5); + Identifier mm_bottom_ele_id = detManager->mmIdHelper()->elementID(wedgeString, 1, 5); + + const MuonGM::MMReadoutElement* mm_ReadOut_top = detManager->getMMReadoutElement(mm_top_ele_id); + const MuonGM::MMReadoutElement* mm_ReadOut_bottom = detManager->getMMReadoutElement(mm_bottom_ele_id); + + m_lWidth = mm_ReadOut_top->getLongSsize(); + m_pitch = mm_ReadOut_top->getDesign(mm_top_ele_id)->inputPitch; //Needed to get the max channels for the deadZone in the x planes... a little annoying... //Only changes for small or large and per module. Phi, layer, etc don't matter (just set to 1) - std::string wedgeString = (wedgeSize=='L' ? "MML" : "MMS"); - m_pitch = roParam_bottom_mult1.stripPitch; - m_lWidth = mm_top_mult1->lWidth(); - m_innerRadiusEta1 = roParam_bottom_mult1.distanceFromZAxis; - m_innerRadiusEta2 = roParam_top_mult1.distanceFromZAxis; - m_missedBottomEta = roParam_bottom_mult1.nMissedBottomEta; - m_missedBottomStereo = roParam_bottom_mult1.nMissedBottomStereo; - if (m_sector == 'L') { - ATH_MSG_DEBUG("LM1 \n" << - "\t\t\t\t Total Strips: " << roParam_bottom_mult1.tStrips << " with pitch: " << roParam_bottom_mult1.stripPitch << "\n" << - "\t\t\t\t KO strips TopEta: " << roParam_bottom_mult1.nMissedTopEta << " - BottomEta: " << roParam_bottom_mult1.nMissedBottomEta << "\n" << - "\t\t\t\t KO strips TopStereo: " << roParam_bottom_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_bottom_mult1.nMissedBottomStereo << "\n" << - "\t\t\t\t (Top, Bottom, Length): (" << mm_bottom_mult1->lWidth() << ", " << mm_bottom_mult1->sWidth() << ", " << mm_bottom_mult1->Length() << ")\n" << - "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_bottom_mult1.zpos << " - " << roParam_bottom_mult1.distanceFromZAxis << "\n" << - "\t\t\t\t dlStereoTop/Bottom: " << roParam_bottom_mult1.dlStereoTop << " " << roParam_bottom_mult1.dlStereoBottom << "\n" << - "\t\t\t\t Active area --> (Bottom, Top, Height) : (" << roParam_bottom_mult1.activeBottomLength << ", " << roParam_bottom_mult1.activeTopLength << ", " << roParam_bottom_mult1.activeH << ")"); - } else if (m_sector == 'S') { - ATH_MSG_DEBUG("SM1 \n" << - "\t\t\t\t KO strips TopEta: " << roParam_bottom_mult1.nMissedTopEta << " - BottomEta: " << roParam_bottom_mult1.nMissedBottomEta << "\n" << - "\t\t\t\t KO strips TopStereo: " << roParam_bottom_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_bottom_mult1.nMissedBottomStereo << "\n" << - "\t\t\t\t Total Strips: " << roParam_bottom_mult1.tStrips << " with pitch: " << roParam_bottom_mult1.stripPitch << "\n" << - "\t\t\t\t (Top, Bottom, Length): (" << mm_bottom_mult1->lWidth() << ", " << mm_bottom_mult1->sWidth() << ", " << mm_bottom_mult1->Length() << ")\n" << - "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_bottom_mult1.zpos << " - " << roParam_bottom_mult1.distanceFromZAxis << "\n" << - "\t\t\t\t dlStereoTop/Bottom: " << roParam_bottom_mult1.dlStereoTop << " " << roParam_bottom_mult1.dlStereoBottom << "\n" << - "\t\t\t\t Active area --> (Bottom, Top, Height) : (" << roParam_bottom_mult1.activeBottomLength << ", " << roParam_bottom_mult1.activeTopLength << ", " << roParam_bottom_mult1.activeH << ")"); - } + m_innerRadiusEta1 = mm_ReadOut_bottom->absTransform().translation().perp() - 0.5*mm_ReadOut_bottom->getRsize(); + m_innerRadiusEta2 = mm_ReadOut_top->absTransform().translation().perp() - 0.5*mm_ReadOut_top->getRsize(); - if (m_sector == 'L') { - ATH_MSG_DEBUG("LM2 \n" << - "\t\t\t\t Total Strips: " << roParam_top_mult1.tStrips << " with pitch: " << roParam_top_mult1.stripPitch << "\n" << - "\t\t\t\t KO strips TopEta: " << roParam_top_mult1.nMissedTopEta << " - BottomEta: " << roParam_top_mult1.nMissedBottomEta << "\n" << - "\t\t\t\t KO strips TopStereo: " << roParam_top_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_top_mult1.nMissedBottomStereo << "\n" << - "\t\t\t\t (Top, Bottom, Length): (" << mm_top_mult1->lWidth() << ", " << mm_top_mult1->sWidth() << ", " << mm_top_mult1->Length() << ")\n" << - "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_top_mult1.zpos << " - " << roParam_top_mult1.distanceFromZAxis << "\n" << - "\t\t\t\t dlStereoTop/Bottom: " << roParam_top_mult1.dlStereoTop << " " << roParam_top_mult1.dlStereoBottom << "\n" << - "\t\t\t\t Active area --> (Top, Bottom, Height) : (" << roParam_top_mult1.activeTopLength << ", " << roParam_top_mult1.activeBottomLength << ", " << roParam_top_mult1.activeH << ")"); - } else if (m_sector == 'S') { - ATH_MSG_DEBUG("SM2 \n" << - "\t\t\t\t KO strips TopEta: " << roParam_top_mult1.nMissedTopEta << " - BottomEta: " << roParam_top_mult1.nMissedBottomEta << "\n" << - "\t\t\t\t KO strips TopStereo: " << roParam_top_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_top_mult1.nMissedBottomStereo << "\n" << - "\t\t\t\t (Top, Bottom, Length): (" << mm_top_mult1->lWidth() << ", " << mm_top_mult1->sWidth() << ", " << mm_top_mult1->Length() << ")\n" << - "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_top_mult1.zpos << " - " << roParam_top_mult1.distanceFromZAxis << "\n" << - "\t\t\t\t dlStereoTop/Bottom: " << roParam_top_mult1.dlStereoTop << " " << roParam_top_mult1.dlStereoBottom << "\n" << - "\t\t\t\t Active area --> (Top, Bottom, Height) : (" << roParam_top_mult1.activeTopLength << ", " << roParam_top_mult1.activeBottomLength << ", " << roParam_top_mult1.activeH << ")"); - for (const auto &angle : roParam_top_mult1.stereoAngle) ATH_MSG_DEBUG("Stereo angle: " << angle); - } + const auto design = mm_ReadOut_bottom->getDesign(mm_bottom_ele_id); + m_missedBottomEta = design->nMissedBottomEta; + m_missedBottomStereo = design->nMissedBottomStereo; // retrieve the z-position of the planes std::vector<double> z_nominal; -- GitLab From 7523acf3adfe7d2605e2e1dbd57a3b4cbb248cfe Mon Sep 17 00:00:00 2001 From: Juan Lieber Marin <juan.lieber.marin@cern.ch> Date: Mon, 24 Mar 2025 17:13:55 +0000 Subject: [PATCH 42/44] Update Models Path on Egamma Signature Update Models Path on Egamma Signature --- .../share/ref_RDOtoRDOTrig_v1Dev_build.ref | 260 ++++++++++-------- .../share/ref_v1Dev_decodeBS_build.ref | 88 +++--- .../share/ref_mc_v1DevHI_build.ref | 20 +- .../HLT/Egamma/TrigEgammaConfigFlags.py | 4 +- 4 files changed, 206 insertions(+), 166 deletions(-) diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 860dbb9f6582..a45c3844c88b 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -597,17 +597,17 @@ HLT_2g10_loose_EgammaPEBTLA_L12DR15-M70-2eEM9L: HLT_2g10_loose_L1eEM9_mu20_L1MU14FCH: eventCount: 0 stepCounts: - 0: 3 + 0: 4 stepFeatures: - 0: 15 - 1: 4 + 0: 24 + 1: 6 HLT_2g10_loose_L1eEM9_mu23_L1MU18VFCH: eventCount: 0 stepCounts: - 0: 3 + 0: 4 stepFeatures: - 0: 15 - 1: 4 + 0: 24 + 1: 6 HLT_2g10_medium_EgammaPEBTLA_L12DR15-M70-2eEM9L: eventCount: 0 stepCounts: @@ -616,9 +616,19 @@ HLT_2g10_medium_EgammaPEBTLA_L12DR15-M70-2eEM9L: 0: 3 1: 1 HLT_2g13_loose_EgammaPEBTLA_L113DR25-25M70-2eEM12L: - eventCount: 0 - stepFeatures: + eventCount: 1 + stepCounts: 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 + stepFeatures: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 HLT_2g13_loose_EgammaPEBTLA_L12DR15-0M30-2eEM12L: eventCount: 0 HLT_2g13_loose_EgammaPEBTLA_L12DR15-M70-2eEM12L: @@ -629,9 +639,17 @@ HLT_2g13_loose_EgammaPEBTLA_L12DR15-M70-2eEM12L: 0: 2 1: 1 HLT_2g13_loose_L113DR25-25M70-2eEM12L: - eventCount: 0 - stepFeatures: + eventCount: 1 + stepCounts: 0: 1 + 1: 1 + 2: 1 + 3: 1 + stepFeatures: + 0: 2 + 1: 2 + 2: 2 + 3: 2 HLT_2g13_loose_L12DR15-0M30-2eEM12L: eventCount: 0 HLT_2g13_medium_EgammaPEBTLA_L12DR15-M70-2eEM12L: @@ -644,32 +662,38 @@ HLT_2g13_medium_EgammaPEBTLA_L12DR15-M70-2eEM12L: HLT_2g15_loose_25dphiAA_invmAA80_L12eEM9: eventCount: 0 stepCounts: - 0: 11 - 1: 1 - 2: 1 - stepFeatures: - 0: 32 - 1: 8 + 0: 15 + 1: 2 2: 2 - 3: 1 + stepFeatures: + 0: 39 + 1: 11 + 2: 4 + 3: 2 HLT_2g15_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_25dphiAA_L12eEM9: eventCount: 0 stepCounts: - 0: 9 + 0: 13 + 1: 1 + 2: 1 stepFeatures: - 0: 28 - 1: 7 + 0: 35 + 1: 10 + 2: 2 HLT_2g15_tight_25dphiAA_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_25dphiAA_invmAA80_L12eEM9: eventCount: 0 stepCounts: - 0: 9 + 0: 13 + 1: 1 + 2: 1 stepFeatures: - 0: 28 - 1: 7 + 0: 35 + 1: 10 + 2: 2 HLT_2g15_tight_25dphiAA_invmAA80_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_L1DPHI-M70-2eEM15M: @@ -738,31 +762,40 @@ HLT_2g50_tight_L1eEM9_EMPTY: HLT_2g50_tight_L1eEM9_UNPAIRED_ISO: eventCount: 0 HLT_2g9_loose_25dphiAA_invmAA80_L12eEM9: - eventCount: 0 + eventCount: 1 stepCounts: - 0: 11 - 1: 7 - 2: 7 + 0: 17 + 1: 11 + 2: 11 + 3: 1 stepFeatures: - 0: 33 - 1: 21 - 2: 21 - 3: 4 + 0: 66 + 1: 41 + 2: 40 + 3: 10 HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9: - eventCount: 0 + eventCount: 1 stepCounts: - 0: 3 - 1: 3 - 2: 3 + 0: 5 + 1: 4 + 2: 4 + 3: 1 stepFeatures: - 0: 8 - 1: 6 - 2: 6 - 3: 2 + 0: 19 + 1: 13 + 2: 12 + 3: 4 HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9L: eventCount: 0 - stepFeatures: + stepCounts: 0: 1 + 1: 1 + 2: 1 + stepFeatures: + 0: 3 + 1: 3 + 2: 4 + 3: 1 HLT_2j100_2timeSig15_L1jJ90: eventCount: 0 HLT_2j100_2timeSig_L1jJ90: @@ -3840,7 +3873,7 @@ HLT_e12_lhloose_L1eEM10L_2mu10_L12MU8F: HLT_e12_lhtight_mu11_dRAB15_invmAB10_L1LFV-eEM10L-MU8VF: eventCount: 0 HLT_e140_dnnloose_L1eEM26M: - eventCount: 1 + eventCount: 0 stepCounts: 0: 1 1: 1 @@ -3848,7 +3881,6 @@ HLT_e140_dnnloose_L1eEM26M: 3: 1 4: 1 5: 1 - 6: 1 stepFeatures: 0: 1 1: 1 @@ -3856,9 +3888,8 @@ HLT_e140_dnnloose_L1eEM26M: 3: 1 4: 1 5: 1 - 6: 1 HLT_e140_dnnloose_L1eEM28M: - eventCount: 1 + eventCount: 0 stepCounts: 0: 1 1: 1 @@ -3866,7 +3897,6 @@ HLT_e140_dnnloose_L1eEM28M: 3: 1 4: 1 5: 1 - 6: 1 stepFeatures: 0: 1 1: 1 @@ -3874,7 +3904,6 @@ HLT_e140_dnnloose_L1eEM28M: 3: 1 4: 1 5: 1 - 6: 1 HLT_e140_lhloose_L1eEM26M: eventCount: 1 stepCounts: @@ -4407,7 +4436,7 @@ HLT_e25_mergedtight_g35_medium_90invmAB_02dRAB_L12eEM24L: 5: 2 6: 1 HLT_e26_dnntight_ivarloose_L1eEM26M: - eventCount: 2 + eventCount: 1 stepCounts: 0: 5 1: 5 @@ -4415,7 +4444,7 @@ HLT_e26_dnntight_ivarloose_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 stepFeatures: 0: 5 1: 5 @@ -4423,7 +4452,7 @@ HLT_e26_dnntight_ivarloose_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M: eventCount: 0 stepCounts: @@ -4433,7 +4462,7 @@ HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 stepFeatures: 0: 5 1: 5 @@ -4441,8 +4470,8 @@ HLT_e26_dnntight_ivarloose_e17_dnnloose_probe_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 - 7: 2 + 6: 1 + 7: 1 HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M: eventCount: 0 stepCounts: @@ -4452,7 +4481,7 @@ HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 stepFeatures: 0: 5 1: 5 @@ -4460,8 +4489,8 @@ HLT_e26_dnntight_ivarloose_e30_dnnloose_nopix_lrtmedium_probe_L1eEM26M: 3: 5 4: 5 5: 5 - 6: 2 - 7: 2 + 6: 1 + 7: 1 HLT_e26_etcut_L1eEM26M: eventCount: 7 stepCounts: @@ -6483,7 +6512,7 @@ HLT_e26_lhtight_ivartight_L1eEM26M: 5: 5 6: 3 HLT_e28_dnntight_ivarloose_L1eEM28M: - eventCount: 2 + eventCount: 1 stepCounts: 0: 5 1: 5 @@ -6491,7 +6520,7 @@ HLT_e28_dnntight_ivarloose_L1eEM28M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 stepFeatures: 0: 5 1: 5 @@ -6499,7 +6528,7 @@ HLT_e28_dnntight_ivarloose_L1eEM28M: 3: 5 4: 5 5: 5 - 6: 2 + 6: 1 HLT_e28_idperf_loose_L1eEM28M: eventCount: 5 stepCounts: @@ -8987,7 +9016,7 @@ HLT_e5_nopid_lrtloose_L1eEM5: 5: 105 6: 91 HLT_e60_dnnmedium_L1eEM26M: - eventCount: 1 + eventCount: 0 stepCounts: 0: 2 1: 2 @@ -8995,7 +9024,6 @@ HLT_e60_dnnmedium_L1eEM26M: 3: 2 4: 2 5: 2 - 6: 1 stepFeatures: 0: 2 1: 2 @@ -9003,9 +9031,8 @@ HLT_e60_dnnmedium_L1eEM26M: 3: 2 4: 2 5: 2 - 6: 1 HLT_e60_dnnmedium_L1eEM28M: - eventCount: 1 + eventCount: 0 stepCounts: 0: 2 1: 2 @@ -9013,7 +9040,6 @@ HLT_e60_dnnmedium_L1eEM28M: 3: 2 4: 2 5: 2 - 6: 1 stepFeatures: 0: 2 1: 2 @@ -9021,7 +9047,6 @@ HLT_e60_dnnmedium_L1eEM28M: 3: 2 4: 2 5: 2 - 6: 1 HLT_e60_etcut_L1eEM26M: eventCount: 4 stepCounts: @@ -9510,17 +9535,17 @@ HLT_g100_loose_L1eEM28M: 2: 1 3: 1 HLT_g10_loose_L1eEM9: - eventCount: 6 + eventCount: 7 stepCounts: - 0: 17 - 1: 9 - 2: 9 - 3: 6 + 0: 19 + 1: 12 + 2: 11 + 3: 7 stepFeatures: - 0: 33 - 1: 11 - 2: 12 - 3: 6 + 0: 67 + 1: 18 + 2: 18 + 3: 10 HLT_g120_loose_L1eEM26M: eventCount: 1 stepCounts: @@ -9558,12 +9583,19 @@ HLT_g120_loose_ringer_L1eEM26M: 2: 1 3: 1 HLT_g13_loose_g10_loose_EgammaPEBTLA_L113DR25-25M70-eEM12LeEM9L: - eventCount: 0 + eventCount: 1 stepCounts: 0: 1 + 1: 1 + 2: 1 + 3: 1 + 4: 1 stepFeatures: - 0: 3 - 1: 2 + 0: 9 + 1: 4 + 2: 4 + 3: 4 + 4: 4 HLT_g13_loose_g10_loose_EgammaPEBTLA_L12DR15-0M30-eEM12LeEM9L: eventCount: 0 HLT_g140_loose_L1eEM26M: @@ -9702,29 +9734,29 @@ HLT_g15_loose_L1eEM10L_2mu10_msonly_L1MU3V_EMPTY: HLT_g15_loose_L1eEM10L_2mu10_msonly_L1MU3V_UNPAIRED_ISO: eventCount: 0 HLT_g15_loose_L1eEM12L: - eventCount: 5 + eventCount: 6 stepCounts: - 0: 7 - 1: 7 - 2: 7 - 3: 5 + 0: 9 + 1: 9 + 2: 8 + 3: 6 stepFeatures: - 0: 8 - 1: 7 - 2: 7 - 3: 5 + 0: 11 + 1: 10 + 2: 9 + 3: 6 HLT_g15_tight_L1eEM12L: - eventCount: 4 + eventCount: 5 stepCounts: - 0: 7 - 1: 7 - 2: 7 - 3: 4 + 0: 9 + 1: 9 + 2: 8 + 3: 5 stepFeatures: - 0: 8 - 1: 7 - 2: 7 - 3: 4 + 0: 11 + 1: 10 + 2: 9 + 3: 5 HLT_g20_loose_L1eEM18L: eventCount: 5 stepCounts: @@ -13375,31 +13407,31 @@ HLT_g60_tight_noiso_3j25_pf_ftf_PhysicsTLA_L1eEM28M: 7: 5 8: 2 HLT_g7_loose_EgammaPEBTLA_L1eEM5: - eventCount: 6 + eventCount: 8 stepCounts: - 0: 17 - 1: 15 - 2: 15 - 3: 6 - 4: 6 + 0: 20 + 1: 19 + 2: 19 + 3: 8 + 4: 8 stepFeatures: - 0: 35 - 1: 26 - 2: 42 - 3: 6 - 4: 6 + 0: 102 + 1: 59 + 2: 73 + 3: 12 + 4: 12 HLT_g7_loose_L1eEM5: - eventCount: 6 + eventCount: 8 stepCounts: - 0: 17 - 1: 15 - 2: 15 - 3: 6 + 0: 20 + 1: 19 + 2: 19 + 3: 8 stepFeatures: - 0: 35 - 1: 26 - 2: 42 - 3: 6 + 0: 102 + 1: 59 + 2: 73 + 3: 12 HLT_g80_loose_L1eEM26M: eventCount: 1 stepCounts: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 6ffa08dc6ac3..3e607a8c8057 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -526,26 +526,28 @@ HLT_2g13_medium_EgammaPEBTLA_L12DR15-M70-2eEM12L: HLT_2g15_loose_25dphiAA_invmAA80_L12eEM9: eventCount: 0 stepCounts: - 0: 2 + 0: 3 stepFeatures: - 0: 7 - 1: 2 + 0: 10 + 1: 3 HLT_2g15_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_25dphiAA_L12eEM9: eventCount: 0 stepCounts: - 0: 1 + 0: 2 stepFeatures: - 0: 5 + 0: 7 + 1: 1 HLT_2g15_tight_25dphiAA_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_25dphiAA_invmAA80_L12eEM9: eventCount: 0 stepCounts: - 0: 1 + 0: 2 stepFeatures: - 0: 5 + 0: 7 + 1: 1 HLT_2g15_tight_25dphiAA_invmAA80_L1DPHI-M70-2eEM15M: eventCount: 0 HLT_2g15_tight_L1DPHI-M70-2eEM15M: @@ -583,18 +585,24 @@ HLT_2g50_tight_L1eEM9_UNPAIRED_ISO: HLT_2g9_loose_25dphiAA_invmAA80_L12eEM9: eventCount: 0 stepCounts: - 0: 2 - 1: 2 - 2: 2 - stepFeatures: 0: 7 - 1: 4 - 2: 5 + 1: 5 + 2: 4 + stepFeatures: + 0: 19 + 1: 11 + 2: 11 3: 1 HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9: eventCount: 0 + stepCounts: + 0: 3 + 1: 2 + 2: 1 stepFeatures: - 0: 1 + 0: 9 + 1: 5 + 2: 4 HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9L: eventCount: 0 HLT_2j100_2timeSig15_L1jJ90: @@ -5043,14 +5051,14 @@ HLT_g100_loose_L1eEM28M: HLT_g10_loose_L1eEM9: eventCount: 3 stepCounts: - 0: 9 - 1: 7 - 2: 7 + 0: 16 + 1: 9 + 2: 9 3: 3 stepFeatures: - 0: 12 - 1: 7 - 2: 7 + 0: 27 + 1: 11 + 2: 10 3: 3 HLT_g120_loose_L1eEM26M: eventCount: 0 @@ -5087,25 +5095,25 @@ HLT_g15_loose_L1eEM10L_2mu10_msonly_L1MU3V_UNPAIRED_ISO: HLT_g15_loose_L1eEM12L: eventCount: 3 stepCounts: - 0: 6 - 1: 6 + 0: 7 + 1: 7 2: 6 3: 3 stepFeatures: - 0: 6 - 1: 6 + 0: 7 + 1: 7 2: 6 3: 3 HLT_g15_tight_L1eEM12L: eventCount: 1 stepCounts: - 0: 4 - 1: 4 + 0: 5 + 1: 5 2: 4 3: 1 stepFeatures: - 0: 4 - 1: 4 + 0: 5 + 1: 5 2: 4 3: 1 HLT_g20_loose_L1eEM18L: @@ -7379,28 +7387,28 @@ HLT_g60_tight_noiso_3j25_pf_ftf_PhysicsTLA_L1eEM28M: HLT_g7_loose_EgammaPEBTLA_L1eEM5: eventCount: 3 stepCounts: - 0: 9 - 1: 9 - 2: 9 + 0: 25 + 1: 19 + 2: 15 3: 3 4: 3 stepFeatures: - 0: 13 - 1: 12 - 2: 13 + 0: 54 + 1: 37 + 2: 29 3: 3 4: 3 HLT_g7_loose_L1eEM5: eventCount: 3 stepCounts: - 0: 9 - 1: 9 - 2: 9 + 0: 25 + 1: 19 + 2: 15 3: 3 stepFeatures: - 0: 13 - 1: 12 - 2: 13 + 0: 54 + 1: 37 + 2: 29 3: 3 HLT_g80_loose_L1eEM26M: eventCount: 0 diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref index 78f3577358b6..d434729fa099 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_mc_v1DevHI_build.ref @@ -16,13 +16,13 @@ HLT_2e20_loose_nogsf_ion_L12eEM18: HLT_2g15_loose_L12eEM12: eventCount: 0 stepCounts: - 0: 11 - 1: 1 + 0: 16 + 1: 3 2: 1 stepFeatures: - 0: 33 - 1: 8 - 2: 2 + 0: 48 + 1: 15 + 2: 4 3: 1 HLT_2g15_loose_ion_L12eEM12: eventCount: 1 @@ -289,15 +289,15 @@ HLT_e50_etcut_ion_L1eEM26: HLT_g10_loose_L1eEM9_VjTE200: eventCount: 0 stepCounts: - 0: 1 - stepFeatures: 0: 2 + stepFeatures: + 0: 4 HLT_g10_medium_L1eEM9_VjTE200: eventCount: 0 stepCounts: - 0: 1 - stepFeatures: 0: 2 + stepFeatures: + 0: 4 HLT_g13_etcut_ion_L1eEM12: eventCount: 17 stepCounts: @@ -390,7 +390,7 @@ HLT_g20_loose_L1eEM15: 2: 10 3: 6 stepFeatures: - 0: 32 + 0: 36 1: 13 2: 12 3: 6 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Egamma/TrigEgammaConfigFlags.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Egamma/TrigEgammaConfigFlags.py index c8f329a311d6..b01ab17d0079 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Egamma/TrigEgammaConfigFlags.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Egamma/TrigEgammaConfigFlags.py @@ -12,9 +12,9 @@ def createTrigEgammaConfigFlags(): flags.addFlag('Trigger.egamma.electronNoGSFNoPixPidVersion', 'ElectronPhotonSelectorTools/trigger/rel21_20232105/') flags.addFlag('Trigger.egamma.electronHIPidVersion' , 'ElectronPhotonSelectorTools/trigger/rel22_20210611/') flags.addFlag('Trigger.egamma.photonPidVersion' , 'ElectronPhotonSelectorTools/trigger/rel22_20210611/') - flags.addFlag('Trigger.egamma.dnnVersion' , 'ElectronPhotonSelectorTools/trigger/rel22_20230405_LHinput/') + flags.addFlag('Trigger.egamma.dnnVersion' , 'ElectronPhotonSelectorTools/trigger/R22_20241216_OfflineTargets/') flags.addFlag('Trigger.egamma.ringerVersion' , 'RingerSelectorTools/trigger/Run3_20230316_v1') - flags.addFlag('Trigger.egamma.photonRingerVersion' , 'ElectronPhotonSelectorTools/trigger/rel23_20241210') + flags.addFlag('Trigger.egamma.photonRingerVersion' , 'ElectronPhotonSelectorTools/trigger/rel23_20250321') flags.addFlag('Trigger.egamma.electronRingerFastElectronVersion' , 'ElectronPhotonSelectorTools/trigger/rel24_20250205') -- GitLab From 7e71710343a37d11bc918e55c0e7c6b227be594c Mon Sep 17 00:00:00 2001 From: sss <sss@karma> Date: Fri, 28 Feb 2025 21:01:00 -0500 Subject: [PATCH 43/44] cherry-picking commit 66ddfdb4bf0: StoreGate: Some adjustments for Handle ctors. A Handles can be initialized from a HandleKey; in that case, it retains a reference to the HandleKey. But that's problematic if the HandleKey was a temporary. Add deleted ctors taking rvalue references to disallow passing a temporary for a HandleKey. Read/Write/UpdateHandle can in addition be directly initialized from strings. For consistency, add versions of these ctors that also take and EventContext. --- Control/StoreGate/StoreGate/ReadCondHandle.h | 6 +- Control/StoreGate/StoreGate/ReadDecorHandle.h | 10 +++- Control/StoreGate/StoreGate/ReadHandle.h | 33 +++++++++-- Control/StoreGate/StoreGate/ReadHandle.icc | 37 +++++++++++- Control/StoreGate/StoreGate/ReadMetaHandle.h | 6 +- Control/StoreGate/StoreGate/ThinningHandle.h | 7 ++- .../StoreGate/StoreGate/TypelessWriteHandle.h | 6 +- Control/StoreGate/StoreGate/UpdateHandle.h | 33 +++++++++-- Control/StoreGate/StoreGate/UpdateHandle.icc | 37 +++++++++++- Control/StoreGate/StoreGate/VarHandleBase.h | 6 +- Control/StoreGate/StoreGate/VarHandleBase.icc | 4 +- Control/StoreGate/StoreGate/WriteCondHandle.h | 6 +- .../StoreGate/StoreGate/WriteDecorHandle.h | 9 ++- Control/StoreGate/StoreGate/WriteHandle.h | 33 +++++++++-- Control/StoreGate/StoreGate/WriteHandle.icc | 37 +++++++++++- Control/StoreGate/src/VarHandleBase.cxx | 10 +++- Control/StoreGate/test/ReadHandle_test.cxx | 16 ++++- Control/StoreGate/test/UpdateHandle_test.cxx | 16 ++++- Control/StoreGate/test/VarHandleBase_test.cxx | 59 +++++++++++-------- Control/StoreGate/test/WriteHandle_test.cxx | 16 ++++- 20 files changed, 319 insertions(+), 68 deletions(-) diff --git a/Control/StoreGate/StoreGate/ReadCondHandle.h b/Control/StoreGate/StoreGate/ReadCondHandle.h index 8e0455f6e951..3910e46097f1 100644 --- a/Control/StoreGate/StoreGate/ReadCondHandle.h +++ b/Control/StoreGate/StoreGate/ReadCondHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_READCONDHANDLE_H @@ -53,6 +53,10 @@ namespace SG { ReadCondHandle(const SG::ReadCondHandleKey<T>& key); ReadCondHandle(const SG::ReadCondHandleKey<T>& key, const EventContext& ctx); + + ReadCondHandle(SG::ReadCondHandleKey<T>&& key) = delete; // Not allowed from a temporary. + ReadCondHandle(SG::ReadCondHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. ~ReadCondHandle() {}; diff --git a/Control/StoreGate/StoreGate/ReadDecorHandle.h b/Control/StoreGate/StoreGate/ReadDecorHandle.h index fece1bcaf06c..72a58ef1a059 100644 --- a/Control/StoreGate/StoreGate/ReadDecorHandle.h +++ b/Control/StoreGate/StoreGate/ReadDecorHandle.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - * Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration. */ /** * @file StoreGate/ReadDecorHandle.h @@ -133,7 +133,13 @@ public: explicit ReadDecorHandle (const ReadDecorHandleKey<T>& key, const EventContext& ctx); - + + // Disallow initialization from a temporary Key object. + explicit ReadDecorHandle (SG::ReadDecorHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit ReadDecorHandle (SG::ReadDecorHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + + /** * @brief Copy constructor. */ diff --git a/Control/StoreGate/StoreGate/ReadHandle.h b/Control/StoreGate/StoreGate/ReadHandle.h index 8ae39d142b27..5f78d2fa258c 100644 --- a/Control/StoreGate/StoreGate/ReadHandle.h +++ b/Control/StoreGate/StoreGate/ReadHandle.h @@ -1,10 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. - /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ - -// $Id: ReadHandle.h 797637 2017-02-17 02:32:11Z ssnyder $ /** * @file StoreGate/ReadHandle.h * @author S. Binet, P. Calafiura, scott snyder <snyder@bnl.gov> @@ -89,7 +86,7 @@ public: /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -97,6 +94,26 @@ public: const std::string& storename = StoreID::storeName(StoreID::EVENT_STORE)); + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ + explicit ReadHandle(const std::string& sgkey, + const EventContext& ctx); + + + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ + explicit ReadHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx); + + /** * @brief Constructor from a ReadHandleKey. * @param key The key object holding the clid/key/store. @@ -131,6 +148,12 @@ public: explicit ReadHandle (SG::DataProxy* proxy); + // Disallow initialization from a temporary Key object. + explicit ReadHandle (SG::ReadHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit ReadHandle (SG::ReadHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + + /** * @brief Copy constructor. */ diff --git a/Control/StoreGate/StoreGate/ReadHandle.icc b/Control/StoreGate/StoreGate/ReadHandle.icc index c67c76e39d37..74503ac4e72d 100644 --- a/Control/StoreGate/StoreGate/ReadHandle.icc +++ b/Control/StoreGate/StoreGate/ReadHandle.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ // $Id: ReadHandle.icc 797637 2017-02-17 02:32:11Z ssnyder $ @@ -41,7 +41,7 @@ ReadHandle<T>::ReadHandle() /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -50,7 +50,38 @@ inline ReadHandle<T>::ReadHandle(const std::string& sgkey, const std::string& storename /*= "StoreGateSvc"*/) : VarHandleBase( ClassID_traits<T>::ID(), - sgkey, Gaudi::DataHandle::Reader, storename ) + sgkey, Gaudi::DataHandle::Reader, storename, nullptr ) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ +template <class T> +inline +ReadHandle<T>::ReadHandle(const std::string& sgkey, + const EventContext& ctx) + : ReadHandle(sgkey, StoreID::storeName(StoreID::EVENT_STORE), ctx) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ +template <class T> +inline +ReadHandle<T>::ReadHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx) + : VarHandleBase( ClassID_traits<T>::ID(), + sgkey, Gaudi::DataHandle::Reader, storename, &ctx ) { } diff --git a/Control/StoreGate/StoreGate/ReadMetaHandle.h b/Control/StoreGate/StoreGate/ReadMetaHandle.h index 8a76c252f68a..f9f14ee32b04 100644 --- a/Control/StoreGate/StoreGate/ReadMetaHandle.h +++ b/Control/StoreGate/StoreGate/ReadMetaHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_READMETAHANDLE_H @@ -37,6 +37,10 @@ namespace SG { ReadMetaHandle(const SG::ReadMetaHandleKey<T>& key , const EventContext& ctx); + ReadMetaHandle(SG::ReadMetaHandleKey<T>&& key) = delete; // Not allowed from a temporary. + ReadMetaHandle(SG::ReadMetaHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + ~ReadMetaHandle() {}; const_pointer_type retrieve(); diff --git a/Control/StoreGate/StoreGate/ThinningHandle.h b/Control/StoreGate/StoreGate/ThinningHandle.h index 66a3f510ed72..01994ad2e850 100644 --- a/Control/StoreGate/StoreGate/ThinningHandle.h +++ b/Control/StoreGate/StoreGate/ThinningHandle.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/ThinningHandle.h @@ -116,6 +116,11 @@ public: ThinningHandleBase (key.decisionHandleKey(), key.key(), ctx) { } + + // Disallow initialization from a temporary Key object. + explicit ThinningHandle (SG::ThinningHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit ThinningHandle (SG::ThinningHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. }; diff --git a/Control/StoreGate/StoreGate/TypelessWriteHandle.h b/Control/StoreGate/StoreGate/TypelessWriteHandle.h index 9d71f7c428b2..49983b0feaca 100644 --- a/Control/StoreGate/StoreGate/TypelessWriteHandle.h +++ b/Control/StoreGate/StoreGate/TypelessWriteHandle.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration. */ /** * @file StoreGate/TypelessWriteHandle.h @@ -49,6 +49,10 @@ public: const EventContext& ctx); + // Disallow initialization from a temporary Key object. + explicit TypelessWriteHandle (SG::TypelessWriteHandleKey&& key) = delete; // Not allowed from a temporary. + + /** * @brief Can the handle be successfully dereferenced? * diff --git a/Control/StoreGate/StoreGate/UpdateHandle.h b/Control/StoreGate/StoreGate/UpdateHandle.h index 2195bdfa72e8..14dbed2671d0 100644 --- a/Control/StoreGate/StoreGate/UpdateHandle.h +++ b/Control/StoreGate/StoreGate/UpdateHandle.h @@ -1,10 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ - -// $Id: UpdateHandle.h 797637 2017-02-17 02:32:11Z ssnyder $ /** * @file StoreGate/UpdateHandle.h * @author S. Binet, P. Calafiura, scott snyder <snyder@bnl.gov> @@ -120,7 +117,7 @@ namespace SG { /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -128,6 +125,26 @@ namespace SG { const std::string& storename = StoreID::storeName(StoreID::EVENT_STORE)); + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ + explicit UpdateHandle(const std::string& sgkey, + const EventContext& ctx); + + + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ + explicit UpdateHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx); + + /** * @brief Constructor from an UpdateHandleKey. * @param key The key object holding the clid/key/store. @@ -152,6 +169,12 @@ namespace SG { explicit UpdateHandle (const UpdateHandleKey<T>& key,const EventContext& ctx); + // Disallow initialization from a temporary Key object. + explicit UpdateHandle (SG::UpdateHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit UpdateHandle (SG::UpdateHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + + /** * @brief Copy constructor. */ diff --git a/Control/StoreGate/StoreGate/UpdateHandle.icc b/Control/StoreGate/StoreGate/UpdateHandle.icc index ae5ce6992ee7..500b5f8a2930 100644 --- a/Control/StoreGate/StoreGate/UpdateHandle.icc +++ b/Control/StoreGate/StoreGate/UpdateHandle.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ // $Id: UpdateHandle.icc 797637 2017-02-17 02:32:11Z ssnyder $ @@ -36,7 +36,7 @@ UpdateHandle<T>::UpdateHandle() /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -45,7 +45,38 @@ inline UpdateHandle<T>::UpdateHandle(const std::string& sgkey, const std::string& storename /*= "StoreGateSvc"*/) : VarHandleBase( ClassID_traits<T>::ID(), - sgkey, Gaudi::DataHandle::Reader, storename ) + sgkey, Gaudi::DataHandle::Reader, storename, nullptr ) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ +template <class T> +inline +UpdateHandle<T>::UpdateHandle(const std::string& sgkey, + const EventContext& ctx) + : UpdateHandle(sgkey, StoreID::storeName(StoreID::EVENT_STORE), ctx) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ +template <class T> +inline +UpdateHandle<T>::UpdateHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx) + : VarHandleBase( ClassID_traits<T>::ID(), + sgkey, Gaudi::DataHandle::Reader, storename, &ctx ) { } diff --git a/Control/StoreGate/StoreGate/VarHandleBase.h b/Control/StoreGate/StoreGate/VarHandleBase.h index d3174f8dcdcb..4dc870aaf5de 100644 --- a/Control/StoreGate/StoreGate/VarHandleBase.h +++ b/Control/StoreGate/StoreGate/VarHandleBase.h @@ -1,7 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/VarHandleBase.h @@ -102,11 +102,13 @@ namespace SG { * @param sgkey StoreGate key of the referenced object. * @param mode Mode of this handle (read/write/update). * @param storename Name of the referenced event store. + * @param ctx The event context to use, or nullptr. */ explicit VarHandleBase(CLID clid, const std::string& sgkey, Gaudi::DataHandle::Mode mode, - const std::string& storename = StoreID::storeName(StoreID::EVENT_STORE)); + const std::string& storename, + const EventContext* ctx); /** diff --git a/Control/StoreGate/StoreGate/VarHandleBase.icc b/Control/StoreGate/StoreGate/VarHandleBase.icc index 5bf91139ccf2..c717a932efe0 100644 --- a/Control/StoreGate/StoreGate/VarHandleBase.icc +++ b/Control/StoreGate/StoreGate/VarHandleBase.icc @@ -1,8 +1,6 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ - -// $Id$ /** * @file StoreGate/VarHandleBase.icc * @author scott snyder <snyder@bnl.gov> diff --git a/Control/StoreGate/StoreGate/WriteCondHandle.h b/Control/StoreGate/StoreGate/WriteCondHandle.h index 53deb7aab480..bcd0480ffa7b 100644 --- a/Control/StoreGate/StoreGate/WriteCondHandle.h +++ b/Control/StoreGate/StoreGate/WriteCondHandle.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef STOREGATE_WRITECONDHANDLE_H @@ -35,6 +35,10 @@ namespace SG { WriteCondHandle(const WriteCondHandleKey<T>& key); WriteCondHandle(const WriteCondHandleKey<T>& key, const EventContext& ctx); + WriteCondHandle(SG::WriteCondHandleKey<T>&& key) = delete; // Not allowed from a temporary. + WriteCondHandle(SG::WriteCondHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + ~WriteCondHandle() {}; const std::string& key() const { return m_hkey.key(); } diff --git a/Control/StoreGate/StoreGate/WriteDecorHandle.h b/Control/StoreGate/StoreGate/WriteDecorHandle.h index 914f307d65e7..de9137b06ff3 100644 --- a/Control/StoreGate/StoreGate/WriteDecorHandle.h +++ b/Control/StoreGate/StoreGate/WriteDecorHandle.h @@ -1,6 +1,6 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. /* - * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration. + * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration. */ /** * @file StoreGate/WriteDecorHandle.h @@ -139,6 +139,13 @@ public: explicit WriteDecorHandle (const WriteDecorHandleKey<T>& key, const EventContext& ctx); + + // Disallow initialization from a temporary Key object. + explicit WriteDecorHandle (SG::WriteDecorHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit WriteDecorHandle (SG::WriteDecorHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + + /** * @brief Copy constructor. */ diff --git a/Control/StoreGate/StoreGate/WriteHandle.h b/Control/StoreGate/StoreGate/WriteHandle.h index 2b83afe7fee9..462ab440d401 100644 --- a/Control/StoreGate/StoreGate/WriteHandle.h +++ b/Control/StoreGate/StoreGate/WriteHandle.h @@ -1,10 +1,7 @@ // This file's extension implies that it's C, but it's really -*- C++ -*-. - /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ - -// $Id: WriteHandle.h 797637 2017-02-17 02:32:11Z ssnyder $ /** * @file StoreGate/WriteHandle.h * @author S. Binet, P. Calafiura, scott snyder <snyder@bnl.gov> @@ -95,7 +92,7 @@ public: /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -103,6 +100,26 @@ public: const std::string& storename = StoreID::storeName(StoreID::EVENT_STORE)); + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ + explicit WriteHandle(const std::string& sgkey, + const EventContext& ctx); + + + /** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ + explicit WriteHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx); + + /** * @brief Constructor from a WriteHandleKey. * @param key The key object holding the clid/key/store. @@ -127,6 +144,12 @@ public: explicit WriteHandle (const WriteHandleKey<T>& key, const EventContext& ctx); + // Disallow initialization from a temporary Key object. + explicit WriteHandle (SG::WriteHandleKey<T>&& key) = delete; // Not allowed from a temporary. + explicit WriteHandle (SG::WriteHandleKey<T>&& key, + const EventContext& ctx) = delete; // Not allowed from a temporary. + + /** * @brief Copy constructor. */ diff --git a/Control/StoreGate/StoreGate/WriteHandle.icc b/Control/StoreGate/StoreGate/WriteHandle.icc index b819d5943427..f30c042564a6 100644 --- a/Control/StoreGate/StoreGate/WriteHandle.icc +++ b/Control/StoreGate/StoreGate/WriteHandle.icc @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/WriteHandle.icc @@ -40,7 +40,7 @@ WriteHandle<T>::WriteHandle() /** - * @brief Constructor with full arguments. + * @brief Constructor specifying the key as a string. * @param sgkey StoreGate key of the referenced object. * @param storename Name of the referenced event store. */ @@ -49,7 +49,38 @@ inline WriteHandle<T>::WriteHandle (const std::string& sgkey, const std::string& storename /* ="StoreGateSvc"*/) : VarHandleBase (ClassID_traits<T>::ID(), sgkey, - Gaudi::DataHandle::Writer, storename) + Gaudi::DataHandle::Writer, storename, nullptr) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param ctx The event context. + */ +template <class T> +inline +WriteHandle<T>::WriteHandle(const std::string& sgkey, + const EventContext& ctx) + : WriteHandle(sgkey, StoreID::storeName(StoreID::EVENT_STORE), ctx) +{ +} + + +/** + * @brief Constructor specifying the key as a string, with context. + * @param sgkey StoreGate key of the referenced object. + * @param storename Name of the referenced event store. + * @param ctx The event context. + */ +template <class T> +inline +WriteHandle<T>::WriteHandle(const std::string& sgkey, + const std::string& storename, + const EventContext& ctx) + : VarHandleBase( ClassID_traits<T>::ID(), + sgkey, Gaudi::DataHandle::Writer, storename, &ctx ) { } diff --git a/Control/StoreGate/src/VarHandleBase.cxx b/Control/StoreGate/src/VarHandleBase.cxx index daef73f1c510..f51415108b01 100644 --- a/Control/StoreGate/src/VarHandleBase.cxx +++ b/Control/StoreGate/src/VarHandleBase.cxx @@ -1,7 +1,7 @@ ///////////////////////// -*- C++ -*- ///////////////////////////// /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ // VarHandleBase.cxx @@ -132,11 +132,13 @@ namespace SG { * @param sgkey StoreGate key of the referenced object. * @param mode Mode of this handle (read/write/update). * @param storename Name of the referenced event store. + * @param ctx The event context to use, or nullptr. */ VarHandleBase::VarHandleBase(CLID clid, const std::string& sgkey, Gaudi::DataHandle::Mode mode, - const std::string& storename) : + const std::string& storename, + const EventContext* ctx) : IResetable(), m_ptr(NULL), m_proxy(NULL), @@ -146,6 +148,10 @@ namespace SG { m_key (m_ownedKey.get()) { m_ownedKey->setOwningHandle (this); + + if (ctx && !setStoreFromHandle(ctx)) { + throw SG::ExcHandleInitError (clid, sgkey, storename); + } } diff --git a/Control/StoreGate/test/ReadHandle_test.cxx b/Control/StoreGate/test/ReadHandle_test.cxx index 001f8e5d7b51..66cd18281ce3 100644 --- a/Control/StoreGate/test/ReadHandle_test.cxx +++ b/Control/StoreGate/test/ReadHandle_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/test/ReadHandle_test.cxx @@ -91,6 +91,20 @@ void test1() k7.initialize().ignore(); EXPECT_EXCEPTION (SG::ExcUninitKey, SG::ReadHandle<MyObj> h7 (k7, ctx5)); } + + SG::ReadHandle<MyObj> h8 ("foo", ctx5); + assert (h8.clid() == MyCLID); + assert (h8.key() == "foo"); + assert (h8.storeHandle().name() == "StoreGateSvc"); + assert (h8.mode() == Gaudi::DataHandle::Reader); + assert (h8.store() == "TestStore"); + + SG::ReadHandle<MyObj> h9 ("foo", "OtherStore", ctx5); + assert (h9.clid() == MyCLID); + assert (h9.key() == "foo"); + assert (h9.storeHandle().name() == "OtherStore"); + assert (h9.mode() == Gaudi::DataHandle::Reader); + assert (h9.store() == "OtherStore_Impl"); } diff --git a/Control/StoreGate/test/UpdateHandle_test.cxx b/Control/StoreGate/test/UpdateHandle_test.cxx index e6dbeb62bfaf..6c98ed46ba97 100644 --- a/Control/StoreGate/test/UpdateHandle_test.cxx +++ b/Control/StoreGate/test/UpdateHandle_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/test/UpdateHandle_test.cxx @@ -89,6 +89,20 @@ void test1() k7.initialize().ignore(); EXPECT_EXCEPTION (SG::ExcUninitKey, SG::UpdateHandle<MyObj> h7 (k7, ctx5)); } + + SG::UpdateHandle<MyObj> h8 ("foo", ctx5); + assert (h8.clid() == MyCLID); + assert (h8.key() == "foo"); + assert (h8.storeHandle().name() == "StoreGateSvc"); + assert (h8.mode() == Gaudi::DataHandle::Reader); + assert (h8.store() == "TestStore"); + + SG::UpdateHandle<MyObj> h9 ("foo", "OtherStore", ctx5); + assert (h9.clid() == MyCLID); + assert (h9.key() == "foo"); + assert (h9.storeHandle().name() == "OtherStore"); + assert (h9.mode() == Gaudi::DataHandle::Reader); + assert (h9.store() == "OtherStore_Impl"); } diff --git a/Control/StoreGate/test/VarHandleBase_test.cxx b/Control/StoreGate/test/VarHandleBase_test.cxx index 8e59c5b3ba10..27a353870a9c 100644 --- a/Control/StoreGate/test/VarHandleBase_test.cxx +++ b/Control/StoreGate/test/VarHandleBase_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/test/VarHandleBase_test.cxx @@ -66,7 +66,7 @@ void test1() assert (h1.m_store == nullptr); assert (h1.vhKey().owningHandle() == &h1); - TestHandle h2 (1234, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h2 (1234, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h2.clid() == 1234); assert (h2.key() == "foo"); assert (h2.name() == "foo"); @@ -125,6 +125,9 @@ void test1() k7.initialize().ignore(); EXPECT_EXCEPTION (SG::ExcUninitKey, TestHandle h7 (k7, &ctx5)); } + + TestHandle h8 (1234, "foo", Gaudi::DataHandle::Writer, "StoreGateSvc", &ctx5); + assert (h8.m_store == &dumstore); } @@ -141,7 +144,7 @@ void test2() SGTest::TestStore testStore; proxy->setStore (&testStore); - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1.store() == "FooSvc"); assert (h1.setProxyDict (&testStore).isSuccess()); assert (h1.store() == "TestStore"); @@ -275,7 +278,7 @@ void test3() SGTest::TestStore store; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (!h1.isPresent()); assert (h1.setProxyDict (&store).isSuccess()); @@ -309,14 +312,14 @@ void test4() { std::cout << "test4\n"; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1.initialize().isFailure()); SGTest::TestStore store; assert (h1.setProxyDict (&store).isSuccess()); assert (h1.setState().isSuccess()); // ok because it's a writer. - TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Reader, "FooSvc"); + TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Reader, "FooSvc", nullptr); assert (h2.setProxyDict (&store).isSuccess()); assert (h2.setState().isFailure()); store.record (new MyObj, "foo"); @@ -334,11 +337,11 @@ void test4() assert (!h2.isInitialized()); assert (h2.m_store == 0); - TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h3.initialize().isFailure()); assert (h3.initialize(false).isSuccess()); - TestHandle h4 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h4 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h4.key() == "foo"); assert (h4.initialize(false).isSuccess()); assert (h4.key() == ""); @@ -351,7 +354,7 @@ void test5() std::cout << "test5\n"; SGTest::TestStore testStore; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); auto obj = std::make_unique<MyObj>(); //MyObj* objptr = obj.get(); auto taddr = std::make_unique<SG::TransientAddress> (293847295, "foo"); @@ -377,7 +380,7 @@ void test6() std::cout << "test6\n"; SGTest::TestStore testStore; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); SG::DataProxy* proxy1 = nullptr; assert (h1.setState(proxy1).isFailure()); @@ -439,7 +442,7 @@ void test7() std::unique_ptr<MyObj> obj; MyObj* objptr = nullptr; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); obj = std::make_unique<MyObj>(); objptr = obj.get(); assert (h1.record_impl (std::unique_ptr<DataObject>(SG::asStorable(std::move(obj))), @@ -455,7 +458,7 @@ void test7() MyObj* fooptr = objptr; assert (h1.m_ptr == fooptr); - TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h2.setProxyDict (&testStore).isSuccess()); obj = std::make_unique<MyObj>(); objptr = obj.get(); @@ -484,7 +487,7 @@ void test7() assert (h2.m_ptr == fooptr); assert (h2.isConst()); - TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h3.setProxyDict (&testStore).isSuccess()); obj = std::make_unique<MyObj>(); objptr = obj.get(); @@ -500,7 +503,7 @@ void test8() std::cout << "test8\n"; SGTest::TestStore testStore; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1.setProxyDict (&testStore).isSuccess()); auto obj = std::make_unique<MyObj>(); @@ -519,7 +522,7 @@ void test8() assert (h1.typeless_dataPointer_impl(false) == nullptr); assert (h1.typeless_dataPointer_impl(true) == nullptr); - TestHandle h2 (293847295, "bar", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h2 (293847295, "bar", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h2.setProxyDict (&testStore).isSuccess()); obj = std::make_unique<MyObj>(); MyObj* objptr = obj.get(); @@ -534,7 +537,7 @@ void test8() SG::sgkey_t sgkey = testStore.stringToKey ("fee", 293847295); testStore.m_kmap[sgkey] = testStore.proxy (293847296, "fee"); - TestHandle h3 (293847295, "fee", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h3 (293847295, "fee", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h3.setProxyDict (&testStore).isSuccess()); assert (h3.typeless_dataPointer_impl(false) == nullptr); assert (h3.typeless_dataPointer_impl(true) == nullptr); @@ -555,11 +558,11 @@ void test9() { std::cout << "test9\n"; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); std::cout << h1 << "\n"; assert (h1 == h1); - TestHandle h2 (293847295, "foe", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h2 (293847295, "foe", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1 != h2); } @@ -575,7 +578,7 @@ void test10() std::unique_ptr<MyObj> obj; MyObj* objptr = nullptr; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); obj = std::make_unique<MyObj>(); objptr = obj.get(); EXPECT_EXCEPTION (GaudiException, @@ -598,7 +601,9 @@ void test10() MyObj* fooptr = objptr; assert (newptr == fooptr); - TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Writer); + TestHandle h2 (293847295, "foo", Gaudi::DataHandle::Writer, + StoreID::storeName(StoreID::EVENT_STORE), + nullptr); assert (h2.setProxyDict (&testStore).isSuccess()); obj = std::make_unique<MyObj>(); objptr = obj.get(); @@ -636,7 +641,7 @@ void test10() false, true, store); assert (newptr == objptr); - TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h3 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h3.setProxyDict (&testStore).isSuccess()); obj = std::make_unique<MyObj>(); objptr = obj.get(); @@ -654,15 +659,15 @@ void test11() SGTest::TestStore store; - TestHandle h1 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1.get_impl(nullptr, false) == nullptr); assert (h1.get_impl(nullptr, true) == nullptr); - TestHandle h2 (293847295, "", Gaudi::DataHandle::Reader, "FooSvc"); + TestHandle h2 (293847295, "", Gaudi::DataHandle::Reader, "FooSvc", nullptr); assert (h2.get_impl(nullptr, false) == nullptr); assert (h2.get_impl(nullptr, true) == nullptr); - TestHandle h3 (293847295, "foo", Gaudi::DataHandle::Reader, "FooSvc"); + TestHandle h3 (293847295, "foo", Gaudi::DataHandle::Reader, "FooSvc", nullptr); EXPECT_EXCEPTION (GaudiException, h3.get_impl(nullptr, false)); assert (h3.setProxyDict (&store).isSuccess()); @@ -673,7 +678,9 @@ void test11() assert (h3.get_impl(nullptr, false) == foo); assert (h3.get_impl(nullptr, true) == foo); - TestHandle h4 (293847295, "foo", Gaudi::DataHandle::Reader); + TestHandle h4 (293847295, "foo", Gaudi::DataHandle::Reader, + StoreID::storeName(StoreID::EVENT_STORE), + nullptr); SGTest::TestStore store2; MyObj* foo2 = new MyObj; store2.record (foo2, "foo"); @@ -693,7 +700,7 @@ void test12() std::cout << "test12\n"; SGTest::TestStore testStore; - TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc"); + TestHandle h1 (293847295, "foo", Gaudi::DataHandle::Writer, "FooSvc", nullptr); assert (h1.symLink_impl (293847295, "bar").isFailure()); assert (h1.setProxyDict (&testStore).isSuccess()); assert (h1.symLink_impl (293847295, "bar").isFailure()); diff --git a/Control/StoreGate/test/WriteHandle_test.cxx b/Control/StoreGate/test/WriteHandle_test.cxx index 31e280c389a4..897c02e08b0c 100644 --- a/Control/StoreGate/test/WriteHandle_test.cxx +++ b/Control/StoreGate/test/WriteHandle_test.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ /** * @file StoreGate/test/WriteHandle_test.cxx @@ -169,6 +169,20 @@ void test1() k7.initialize().ignore(); EXPECT_EXCEPTION (SG::ExcUninitKey, SG::WriteHandle<MyObj> h7 (k7, ctx5)); } + + SG::WriteHandle<MyObj> h8 ("foo", ctx5); + assert (h8.clid() == MyCLID); + assert (h8.key() == "foo"); + assert (h8.storeHandle().name() == "StoreGateSvc"); + assert (h8.mode() == Gaudi::DataHandle::Writer); + assert (h8.store() == "TestStore"); + + SG::WriteHandle<MyObj> h9 ("foo", "OtherStore", ctx5); + assert (h9.clid() == MyCLID); + assert (h9.key() == "foo"); + assert (h9.storeHandle().name() == "OtherStore"); + assert (h9.mode() == Gaudi::DataHandle::Writer); + assert (h9.store() == "OtherStore_Impl"); } -- GitLab From 1058720829709bd8adcba25ddedba49d6cdd92f3 Mon Sep 17 00:00:00 2001 From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch> Date: Tue, 25 Mar 2025 17:24:00 +0100 Subject: [PATCH 44/44] VertexDecoratorAlg.cxx: resolved merge conflicts as suggested by Thomas Strebler --- .../src/VertexDecoratorAlg.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx index 16d1754bf72c..8377920d1352 100644 --- a/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx +++ b/InnerDetector/InDetRecTools/InDetGNNHardScatterSelection/src/VertexDecoratorAlg.cxx @@ -221,16 +221,29 @@ namespace InDetGNNHardScatterSelection dec_z_skew(*vertex) = z_skew; if (acc_deltaZ.isAvailable()) { + //protect against rare NaNs before assigning decorator: setting to 0 (-999 cause NaNs) + if (std::isnan(acc_deltaZ(*vertex))) { + ATH_MSG_WARNING("photon deltaPhi is NaN: setting to 0!"); + dec_photon_deltaz(*vertex) = 0; + } + else{ dec_photon_deltaz(*vertex) = acc_deltaZ(*vertex); + } } else{ - dec_photon_deltaz(*vertex) = -999; + dec_photon_deltaz(*vertex) = 0; } if (acc_deltaPhi.isAvailable()) { + if (std::isnan(acc_deltaPhi(*vertex))) { + ATH_MSG_WARNING("photon deltaPhi is NaN: setting to 0!"); + dec_photon_deltaPhi(*vertex) = 0; + } + else{ dec_photon_deltaPhi(*vertex) = acc_deltaPhi(*vertex); + } } else{ - dec_photon_deltaPhi(*vertex) = -999; + dec_photon_deltaPhi(*vertex) = 0; } // associate objects to vertices -- GitLab