From ab5fc6873428e2889e779d6944f6bd9c19d2759f Mon Sep 17 00:00:00 2001 From: Christian Nass <christian.nass@cern.ch> Date: Mon, 15 Jun 2020 18:27:12 +0200 Subject: [PATCH] Include conf2toConfigurable idea --- .../TrigBjetHypo/src/TrigBtagFexMT.cxx | 226 ------------------ .../TrigBjetHypo/src/TrigBtagFexMT.h | 113 --------- .../TrigEDMConfig/python/TriggerEDMRun3.py | 22 +- .../Bjet/BjetFlavourTaggingConfiguration.py | 29 +-- .../HLTMenuConfig/Bjet/BjetSequenceSetup.py | 44 +++- 5 files changed, 44 insertions(+), 390 deletions(-) delete mode 100755 Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.cxx delete mode 100755 Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.h diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.cxx deleted file mode 100755 index e8c89d74bba1..000000000000 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.cxx +++ /dev/null @@ -1,226 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -// ************************************************ -// -// NAME: TrigBtagFexMT.cxx -// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo -// -// ************************************************ - -#include "src/TrigBtagFexMT.h" - -// ONLINE INFRASTRUCTURE -#include "TrigSteeringEvent/TrigRoiDescriptor.h" - -// EDM - -#include "xAODBase/IParticle.h" - -#include "xAODJet/Jet.h" -#include "xAODJet/JetContainer.h" - -#include "xAODTracking/TrackParticleContainer.h" - -#include "xAODTracking/Vertex.h" -#include "xAODTracking/VertexContainer.h" -#include "xAODTracking/VertexAuxContainer.h" - -#include "xAODBTagging/BTagging.h" -#include "xAODBTagging/BTaggingContainer.h" -#include "xAODBTagging/BTaggingAuxContainer.h" - -#include "xAODBTagging/BTagVertex.h" -#include "xAODBTagging/BTagVertexContainer.h" -#include "xAODBTagging/BTagVertexAuxContainer.h" - -#include "BTagging/BTagTrackAssociation.h" -#include "BTagging/BTagSecVertexing.h" -#include "BTagging/BTagTool.h" - -#include "StoreGate/ReadDecorHandle.h" - -// ----------------------------------------------------------------------------------------------------------------- - - -TrigBtagFexMT::TrigBtagFexMT(const std::string& name, ISvcLocator* pSvcLocator) : - AthAlgorithm(name, pSvcLocator) { -} - - -// ----------------------------------------------------------------------------------------------------------------- - -TrigBtagFexMT::~TrigBtagFexMT() {} - -// ----------------------------------------------------------------------------------------------------------------- - -StatusCode TrigBtagFexMT::initialize() { - - // Get message service - ATH_MSG_INFO( "Initializing TrigBtagFexMT, version " << PACKAGE_VERSION ); - - // declareProperty overview - ATH_MSG_DEBUG( "declareProperty review:" ); - /* - ATH_MSG_DEBUG( " " << m_useBeamSpotFlag ); - ATH_MSG_DEBUG( " " << m_TaggerBaseNames ); - ATH_MSG_DEBUG( " " << m_JetContainerKey ); - ATH_MSG_DEBUG( " " << m_VertexContainerKey ); - ATH_MSG_DEBUG( " " << m_BackUpVertexContainerKey ); - ATH_MSG_DEBUG( " " << m_TrackParticleContainerKey ); - ATH_MSG_DEBUG( " " << m_outputBTaggingContainerKey ); - ATH_MSG_DEBUG( " " << m_outputVertexContainerKey ); - ATH_MSG_DEBUG( " " << m_outputBtagVertexContainerKey ); - */ - - ATH_MSG_DEBUG( "Initialising ReadHandleKeys" ); - ATH_CHECK( m_JetContainerKey.initialize() ); - ATH_CHECK( m_VertexContainerKey.initialize() ); - ATH_CHECK( m_trkContainerKey.initialize() ); - ATH_CHECK( m_d0ContainerKey.initialize() ); - ATH_CHECK( m_z0SinThetaContainerKey.initialize() ); - ATH_CHECK( m_d0UncertaintyContainerKey.initialize() ); - ATH_CHECK( m_z0SinThetaUncertaintyContainerKey.initialize() ); - ATH_CHECK( m_trackposContainerKey.initialize() ); - ATH_CHECK( m_trackmomContainerKey.initialize() ); - - ATH_CHECK( m_BTaggingContainerKey.initialize() ); - // ATH_CHECK( m_outputBtagVertexContainerKey.initialize() ); - // ATH_CHECK( m_outputVertexContainerKey.initialize() ); - - - return StatusCode::SUCCESS; -} - - -// ----------------------------------------------------------------------------------------------------------------- - -StatusCode TrigBtagFexMT::execute() { - ATH_MSG_DEBUG( "Executing " << name() << "... " ); - - const EventContext& ctx = getContext(); - - // Test retrieval of JetContainer - ATH_MSG_DEBUG( "Attempting to retrieve JetContainer with key " << m_JetContainerKey.key() ); - SG::ReadHandle< xAOD::JetContainer > jetContainerHandle = SG::makeHandle< xAOD::JetContainer >( m_JetContainerKey,ctx ); - CHECK( jetContainerHandle.isValid() ); - const xAOD::JetContainer *jetContainer = jetContainerHandle.get(); - ATH_MSG_DEBUG( "Retrieved " << jetContainer->size() << " jets" ); - - for ( const xAOD::Jet* jet : *jetContainer ) { - ATH_MSG_DEBUG( " BTAGFEX: ** pt=" << jet->pt() << " eta=" << jet->eta() << " phi=" << jet->phi() ); - } - - - // Test retrieval of Track Particles - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_trkContainerKey.key() ); - SG::ReadHandle< xAOD::TrackParticleContainer > trkContainerHandle = SG::makeHandle< xAOD::TrackParticleContainer >( m_trkContainerKey,ctx ); - CHECK( trkContainerHandle.isValid() ); - const xAOD::TrackParticleContainer *trkContainer = trkContainerHandle.get(); - ATH_MSG_DEBUG("Retrieved " << trkContainerHandle->size() << " Tracks"); - - for ( const xAOD::TrackParticle *trk : *trkContainer ) - ATH_MSG_DEBUG( " *** pt=" << trk->p4().Et() * 1e-3 << - " eta=" << trk->eta() << - " phi=" << trk->phi() << - " d0=" << trk->d0() << - " z0=" << trk->z0() ); - - - - // Test retrieval of properties decorated in BTagTrackAugmenterAlg - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_d0ContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, float > trkContainer_d0_Handle ( m_d0ContainerKey,ctx ); - CHECK( trkContainer_d0_Handle.isValid() ); - ATH_MSG_DEBUG("trkContainerHandle->size(): " << trkContainerHandle->size() << " trkContainer_d0_Handle->size(): " << trkContainer_d0_Handle->size() ); - for ( long unsigned int i=0; i< trkContainer_d0_Handle->size(); i++) - ATH_MSG_DEBUG("Track " << i <<": d0 =" << trkContainer_d0_Handle(i)); - - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_z0SinThetaContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, float > trkContainer_z0SinTheta_Handle ( m_z0SinThetaContainerKey,ctx ); - CHECK( trkContainer_z0SinTheta_Handle.isValid() ); - for ( long unsigned int i=0; i< trkContainer_z0SinTheta_Handle->size(); i++) - ATH_MSG_DEBUG("Track " << i <<": z0SinTheta =" << trkContainer_z0SinTheta_Handle(i)); - - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_d0UncertaintyContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, float > trkContainer_d0Uncertainty_Handle ( m_d0UncertaintyContainerKey,ctx ); - CHECK( trkContainer_d0Uncertainty_Handle.isValid() ); - for ( long unsigned int i=0; i< trkContainer_d0Uncertainty_Handle->size(); i++) - ATH_MSG_DEBUG("Track " << i << ": d0Uncertainty =" << trkContainer_d0Uncertainty_Handle(i)); - - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_z0SinThetaUncertaintyContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, float > trkContainer_z0SinThetaUncertainty_Handle ( m_z0SinThetaUncertaintyContainerKey,ctx ); - CHECK( trkContainer_z0SinThetaUncertainty_Handle.isValid() ); - for ( long unsigned int i=0; i< trkContainer_z0SinThetaUncertainty_Handle->size(); i++) - ATH_MSG_DEBUG("Track " << i << ": z0SinThetaUncertainty =" << trkContainer_z0SinThetaUncertainty_Handle(i)); - - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_trackposContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, std::vector< float > > trkContainer_trackpos_Handle ( m_trackposContainerKey,ctx ); - CHECK( trkContainer_trackpos_Handle.isValid() ); - for ( long unsigned int i=0; i< trkContainer_trackpos_Handle->size(); i++){ - ATH_MSG_DEBUG("Track " << i << ": Displacement (x,y,z) = "); - for (auto pos: trkContainer_trackpos_Handle(i)){ - ATH_MSG_DEBUG( pos << ' '); - } - } - - ATH_MSG_DEBUG( "Attempting to retrieve TrackParticleContainer with key " << m_trackmomContainerKey.key() ); - SG::ReadDecorHandle< xAOD::TrackParticleContainer, std::vector< float > > trkContainer_trackmom_Handle ( m_trackmomContainerKey,ctx ); - CHECK( trkContainer_trackmom_Handle.isValid() ); - for ( long unsigned int i=0; i< trkContainer_trackmom_Handle->size(); i++){ - ATH_MSG_DEBUG("Track " << i << ": Momentum = "); - for (auto mom: trkContainer_trackmom_Handle(i)){ - ATH_MSG_DEBUG( mom << ' '); - } - } - - // Test retrieval of VertexContainer - ATH_MSG_DEBUG( "Attempting to retrieve VertexContainer with key " << m_VertexContainerKey.key() ); - SG::ReadHandle< xAOD::VertexContainer > vxContainerHandle = SG::makeHandle< xAOD::VertexContainer >( m_VertexContainerKey, ctx ); - CHECK( vxContainerHandle.isValid() ); - const xAOD::VertexContainer* vxContainer = vxContainerHandle.get(); - ATH_MSG_DEBUG( "Retrieved " << vxContainer->size() <<" vertices..." ); - for ( const xAOD::Vertex *pv : *vxContainer ) { - ATH_MSG_DEBUG( " ** PV x=" << pv->x()<< " y=" << pv->y() << " z=" << pv->z() ); - } -/* - // Test retrieval of B-Tagging container - ATH_MSG_DEBUG( "Attempting to retrieve B-Tagging container with key " << m_BTaggingContainerKey.key() ); - SG::ReadHandle< xAOD::BTaggingContainer > btaggingHandle = SG::makeHandle< xAOD::BTaggingContainer >( m_BTaggingContainerKey,ctx ); - CHECK( btaggingHandle.isValid() ); - const xAOD::BTaggingContainer* btaggingContainer = btaggingHandle.get(); - ATH_MSG_DEBUG( "Exiting with " << btaggingContainer->size() <<" btagging objects" ); - - xAOD::BTagging *toAdd = new xAOD::BTagging(); - outputBtagging->push_back( toAdd ); - - SG::WriteHandle< xAOD::BTaggingContainer > btaggingHandle = SG::makeHandle( m_outputBTaggingContainerKey,ctx ); - CHECK( btaggingHandle.record( std::move( outputBtagging ),std::move( outputBtaggingAux ) ) ); - ATH_MSG_DEBUG( "Exiting with " << btaggingHandle->size() << " btagging objects" ); -*/ - return StatusCode::SUCCESS; -} - - -// ----------------------------------------------------------------------------------------------------------------- - - -StatusCode TrigBtagFexMT::finalize() { - ATH_MSG_INFO( "Finalizing TrigBtagFex" ); - return StatusCode::SUCCESS; -} - -const xAOD::Vertex* TrigBtagFexMT::getPrimaryVertex(const xAOD::VertexContainer* vertexContainer) { - // vertex types are listed on L328 of - // https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTracking/trunk/xAODTracking/TrackingPrimitives.h - - for( auto vtx_itr : *vertexContainer ) { - if(vtx_itr->vertexType() != xAOD::VxType::VertexType::PriVtx) { continue; } - return vtx_itr; - } - ATH_MSG_WARNING( "No primary vertex found." ); - return nullptr; -} - - diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.h b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.h deleted file mode 100755 index 405c15eff2f6..000000000000 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFexMT.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration -*/ - -// ************************************************ -// -// NAME: TrigBtagFexMT.h -// PACKAGE: Trigger/TrigHypothesis/TrigBjetHypo -// -// AUTHOR: Carlo Varni -// EMAIL: carlo.varni@ge.infn.it -// -// ************************************************ - -#ifndef TRIGBTAGFEX_MT_H -#define TRIGBTAGFEX_MT_H - -#include <vector> -#include <string> - -#include "AthenaBaseComps/AthAlgorithm.h" -#include "GaudiKernel/ToolHandle.h" - -#include "TrigInterfaces/FexAlgo.h" - -#include "TrigBjetHypo/TrigBjetTagger.h" -#include "TrigBjetHypo/TuningLikelihood.h" -#include "TrigBjetHypo/TrigBjetDataHelper.h" - -#include "TrigTrackJetFinderTool/ITrigTrackJetFinderTool.h" -#include "VxSecVertex/VxSecVertexInfo.h" - -#include "StoreGate/ReadDecorHandleKey.h" - -namespace Analysis { - class IBTagTool; - class IBTagTrackAssociation; - class IBTagSecVertexing; -} - -/** - * @brief FEX class for the b-jet weight construction using offline tools - * - * @author Jeff Hetherly <jhetherly @ mail.smu.edu> - * - * This is the base feature extraction class for the HLT b-jet slice. - * It computes jet light/charm/beauty probabilities using offline b-tagging tools. - */ - - -class TrigBtagFexMT: public AthAlgorithm { - public: - /** @brief For monitoring purposes the TrigBjetTagger class has been declared as friend */ - friend class TrigBjetTagger; - - /** @brief Constructor */ - TrigBtagFexMT(const std::string&, ISvcLocator*); - /** @brief Destructor */ - ~TrigBtagFexMT(); - - StatusCode initialize(); - StatusCode finalize(); - StatusCode execute(); - - private: - const xAOD::Vertex* getPrimaryVertex(const xAOD::VertexContainer* vertexContainer); - - private: -// // TOOLS -// /** @brief Offline BTag tool */ -// PublicToolHandle< Analysis::IBTagTool > m_bTagTool {this,"BTagTool","Analysis/IBTagTool","Offline BTag tool"}; -// /** @brief Offline TrackAssociation tool */ -// PublicToolHandle< Analysis::IBTagTrackAssociation > m_bTagTrackAssocTool {this,"BTagTrackAssocTool","Analysis/BTagTrackAssociation","Offline TrackAssociation tool"}; -// /** @brief Offline SecondaryVertexing tool */ -// PublicToolHandle< Analysis::IBTagSecVertexing > m_bTagSecVtxTool {this,"BTagSecVertexing","Analysis/BTagSecVertexing","Offline SecondaryVertexing tool"}; - - // DATA - /** @brief List of xAOD tagger basenames */ - Gaudi::Property< std::vector< std::string > > m_TaggerBaseNames {this,"TaggerBaseNames",std::vector< std::string >(),"List of xAOD tagger basenames"}; - - // PROPERTIES - /** @brief Switch for offline tools */ - Gaudi::Property< bool > m_setupOfflineTools {this,"setupOfflineTools",false,"Switch for offline tools"}; - /** @brief to check the beam spot flag status and start track selection accordingly. */ - Gaudi::Property< bool > m_useBeamSpotFlag {this,"UseBeamSpotFlag",false,"check the beam spot flag status and start track selection accordingly"}; - /** @brief Use backup algorithm for retrieving Prim Vtx. */ - Gaudi::Property< bool > m_usePriVtxKeyBackup {this,"UsePriVtxKeyBackup",true,"Use backup algorithm for retrieving Prim Vtx"}; - - - // ////////////////////// - // //* for monitoring *// - // ////////////////////// - - private: - SG::ReadHandleKey< xAOD::JetContainer > m_JetContainerKey {this,"JetKey","SplitJet","Key for input jets"}; - SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey {this,"PriVtxKey","xPrimVx","Key of primary vertexes"}; - // SG::ReadHandleKey< xAOD::VertexContainer > m_BackUpVertexContainerKey {this,"PriVtxKeyBackup","EFHistoPrmVtx","Back-Up Key of primary vertexes"}; - SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trkContainerKey {this,"TracksKey","tracks__COLL","Key for track particle container"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_d0ContainerKey {this,"d0Key","d0Key","Key for Particles d0 value"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_z0SinThetaContainerKey {this,"z0SinThetaKey","z0SinThetaKey","Key for Particles z0SinTheta value"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_d0UncertaintyContainerKey {this,"d0UncertaintyKey","d0UncertaintyKey","Key for Particles d0Uncertainty value"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_z0SinThetaUncertaintyContainerKey {this,"z0SinThetaUncertaintyKey","z0SinThetaUncertaintyKey","Key for Particles z0SinThetaUncertainty value"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_trackposContainerKey {this,"trackposKey","trackposKey","Key for Track Displacement"}; - SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_trackmomContainerKey {this,"trackmomKey","trackmomKey","Key for Track Momentum"}; - - - SG::ReadHandleKey< xAOD::BTaggingContainer > m_BTaggingContainerKey {this,"BTaggingKey","Undefined","Btagging Container Key"}; - // SG::WriteHandleKey< xAOD::VertexContainer > m_outputVertexContainerKey {this,"OutputVtxKey","HLT_BjetVertexFex","Output Vertex Container Key"}; - // SG::WriteHandleKey< xAOD::BTagVertexContainer > m_outputBtagVertexContainerKey {this,"OutputBtagVtxKey","HLT_BjetSecondaryVertexFex","Output Btag Vertex Container Key"}; -}; - -#endif - diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index fb25b0aa4566..fb8617abf789 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -376,30 +376,24 @@ TriggerHLTListRun3 = [ # FIXME: add vertex tracks # bjet jets - ('xAOD::JetContainer#HLT_GSCJet', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - ('xAOD::JetAuxContainer#HLT_GSCJetAux.btaggingLink', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), + ('xAOD::JetContainer#HLT_bJets', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), + ('xAOD::JetAuxContainer#HLT_bJetsAux.btaggingLink', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), # vertex for b-jets ('xAOD::VertexContainer#HLT_EFHistoPrmVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), ('xAOD::VertexAuxContainer#HLT_EFHistoPrmVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), # secvertex for b-jets - ('xAOD::VertexContainer#HLT_BTagging_AntiKt4EMTopoSecVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - ('xAOD::VertexAuxContainer#HLT_BTagging_AntiKt4EMTopoSecVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), - #('xAOD::VertexContainer#HLT_BTagging_AntiKt4EMPFlowSecVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - #('xAOD::VertexAuxContainer#HLT_BTagging_AntiKt4EMPFlowSecVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), + ('xAOD::VertexContainer#HLT_BTagging_SecVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), + ('xAOD::VertexAuxContainer#HLT_BTagging_SecVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), # btagvertex for b-jets - ('xAOD::BTagVertexContainer#HLT_BTagging_AntiKt4EMTopoJFVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - ('xAOD::BTagVertexAuxContainer#HLT_BTagging_AntiKt4EMTopoJFVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), - #('xAOD::BTagVertexContainer#HLT_BTagging_AntiKt4EMPFlowJFVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - #('xAOD::BTagVertexAuxContainer#HLT_BTagging_AntiKt4EMPFlowJFVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), + ('xAOD::BTagVertexContainer#HLT_BTagging_JFVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), + ('xAOD::BTagVertexAuxContainer#HLT_BTagging_JFVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), # bjet b-tagging - ('xAOD::BTaggingContainer#HLT_BTagging_AntiKt4EMTopo', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - ('xAOD::BTaggingAuxContainer#HLT_BTagging_AntiKt4EMTopoAux.'+BTagVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), - #('xAOD::BTaggingContainer#HLT_BTagging_AntiKt4EMPFlow', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), - #('xAOD::BTaggingAuxContainer#HLT_BTagging_AntiKt4EMPFlowAux.'+BTagVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), + ('xAOD::BTaggingContainer#HLT_BTagging', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'), + ('xAOD::BTaggingAuxContainer#HLT_BTaggingAux.'+BTagVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'), # MinBias diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py index 51a17dc978cc..13123e7ed9ac 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetFlavourTaggingConfiguration.py @@ -35,9 +35,9 @@ def getFlavourTagging( inputJets, inputVertex, inputTracks ): acc.merge(JetParticleAssociationAlgCfg(ConfigFlags, inputJets.replace("Jets",""), inputTracks, 'BTagTrackToJetAssociatorBB', **kwargs)) del kwargs['Release'] - btagname = "HLT_BTagging_AntiKt4EMTopo" - btagname_JFVtx = btagname + "JFVtx" - btagname_SecVtx = btagname + "SecVtx" + btagname = "HLT_BTagging" + btagname_JFVtx = btagname + "_JFVtx" + btagname_SecVtx = btagname + "_SecVtx" btagname_jetLink = btagname + ".jetLink" SecVertexingAndAssociators = {'JetFitter':'BTagTrackToJetAssociator','SV1':'BTagTrackToJetAssociator'} @@ -46,7 +46,7 @@ def getFlavourTagging( inputJets, inputVertex, inputTracks ): raise RuntimeError( v + ' is not configured') acc.merge(JetSecVtxFindingAlgCfg(ConfigFlags, inputJets.replace("Jets",""), inputVertex, k, v)) JetSecVertexingAlg = JetSecVertexingAlgCfg(ConfigFlags, inputJets.replace("Jets",""), inputVertex, k, v) - SecVertexingAlg = JetSecVertexingAlg.getEventAlgo(inputJets.replace("Jets","").lower() + "_" + k.lower() + "_secvtx") #If inputJets.replace("Jets","") is used in JetSecVertexingAlgCfg; Have to change it here aswell + SecVertexingAlg = JetSecVertexingAlg.getEventAlgo(inputJets.replace("Jets","").lower() + "_" + k.lower() + "_secvtx") if k == "JetFitter": SecVertexingAlg.BTagJFVtxCollectionName = recordable( btagname_JFVtx ) elif k == "SV1": @@ -54,7 +54,7 @@ def getFlavourTagging( inputJets, inputVertex, inputTracks ): acc.merge(JetSecVertexingAlg) JetBTaggingAlg = JetBTaggingAlgCfg(ConfigFlags, JetCollection = inputJets.replace("Jets",""), PrimaryVertexCollectionName=inputVertex, TaggerList = ConfigFlags.BTagging.TrigTaggersList, SetupScheme = "Trig", SVandAssoc = SecVertexingAndAssociators, **kwargs) - BTaggingAlg = JetBTaggingAlg.getEventAlgo((ConfigFlags.BTagging.OutputFiles.Prefix + inputJets.replace("Jets","") + ConfigFlags.BTagging.GeneralToolSuffix).lower()) #Defined in JetBTaggingAlgConfig.py; Ends up to be "btagging_hlt_inview" + BTaggingAlg = JetBTaggingAlg.getEventAlgo((ConfigFlags.BTagging.OutputFiles.Prefix + inputJets.replace("Jets","") + ConfigFlags.BTagging.GeneralToolSuffix).lower()) #Defined in JetBTaggingAlgConfig.py; Ends up to be "btagging_hlt_bjets" BTaggingAlg.BTaggingCollectionName = recordable( btagname ) BTaggingAlg.BTagJFVtxCollectionName = btagname_JFVtx BTaggingAlg.BTagSVCollectionName = btagname_SecVtx @@ -62,24 +62,5 @@ def getFlavourTagging( inputJets, inputVertex, inputTracks ): acc.merge(JetBTaggingAlg) - #from TrigBjetHypo.TrigBjetHypoConf import TrigBtagFexMT - #Analysis__TrigBtagFexMT=CompFactory.Analysis.TrigBtagFexMT - #bTagFex = Analysis__TrigBtagFexMT( "TrigBtagFexMT" ) - #bTagFex.JetKey = inputJets - #bTagFex.PriVtxKey = inputVertex - #bTagFex.TracksKey = inputTracks - #bTagFex.d0Key = inputTracks + ".btagIp_d0" - #bTagFex.z0SinThetaKey = inputTracks + ".btagIp_d0Uncertainty" - #bTagFex.d0UncertaintyKey = inputTracks + ".btagIp_z0SinTheta" - #bTagFex.z0SinThetaUncertaintyKey = inputTracks + ".btagIp_z0SinThetaUncertainty" - #bTagFex.trackposKey = inputTracks + ".btagIp_trackDisplacement" - #bTagFex.trackmomKey = inputTracks + ".btagIp_trackMomentum" - #bTagFex.BTaggingKey = "HLT_BTagging_AntiKt4EMTopo" - - #from TrigBjetHypo.TrigBtagFexMTConfig import TrigBtagFexMT_OnlineMonitoring - #bTagFex.MonTool = TrigBtagFexMT_OnlineMonitoring() - #acc.addEventAlgo(bTagFex) - - return [acc,btagname] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py index 80cc51a6731b..a78a03f0558c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bjet/BjetSequenceSetup.py @@ -6,7 +6,6 @@ from AthenaCommon.CFElements import seqAND from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, InViewReco from TrigEDMConfig.TriggerEDMRun3 import recordable from AthenaConfiguration.ComponentFactory import CompFactory -from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable #from AthenaCommon.Constants import DEBUG @@ -33,10 +32,8 @@ def bJetStep2Sequence(): from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm from ViewAlgs.ViewAlgsConf import ViewCreatorCentredOnJetWithPVConstraintROITool InputMakerAlg = EventViewCreatorAlgorithm( "IMBJet_step2" ) - #InputMakerAlg = CompFactory.EventViewCreatorAlgorithm( "IMBJet_step2" ) # newRoITool = ViewCreatorCentredOnJetWithPVConstraintROITool() - #newRoITool = CompFactory.ViewCreatorCentredOnJetWithPVConstraintROITool() newRoITool.RoisWriteHandleKey = recordable( outputRoIName ) newRoITool.VertexReadHandleKey = prmVtxKey newRoITool.PrmVtxLink = prmVtxKey.replace( "HLT_","" ) @@ -51,7 +48,7 @@ def bJetStep2Sequence(): InputMakerAlg.ViewFallThrough = True # BJet specific InputMakerAlg.PlaceJetInView = True - InputMakerAlg.InViewJets = recordable( "HLT_GSCJet" ) # Temporary name, To converge on this in the next future + InputMakerAlg.InViewJets = recordable( "HLT_bJets" ) # InputMakerAlg.ViewNodeName = "bJetBtagSequence" @@ -72,16 +69,31 @@ def bJetStep2Sequence(): from TriggerMenuMT.HLTMenuConfig.Bjet.BjetFlavourTaggingConfiguration import getFlavourTagging acc_flavourTaggingAlgs,bTaggingContainerName = getFlavourTagging( inputJets=InputMakerAlg.InViewJets, inputVertex=prmVtxKey, inputTracks=PTTrackParticles[0] ) - inViewReco = InViewReco("bJetBtagSequence", viewMaker= InputMakerAlg) - #inViewReco = InViewReco("bJetBtagSequence") - #inViewReco = InViewReco("bJetBtagSequence", viewMaker= conf2toConfigurable(InputMakerAlg)) - inViewReco.addRecoAlg(secondStageAlgs) - inViewReco.mergeReco(acc_flavourTaggingAlgs) - acc_flavourTaggingAlgs.wasMerged() - inViewReco.wasMerged() +#======================This is running on Release 22.0.11, but not after Gaudi2 updates=================== +# inViewReco = InViewReco("bJetBtagSequence", viewMaker=InputMakerAlg) +# inViewReco.addRecoAlg(secondStageAlgs) +# inViewReco.mergeReco(acc_flavourTaggingAlgs) +# acc_flavourTaggingAlgs.wasMerged() +# inViewReco.wasMerged() +# Configurable.configurableRun3Behavior=0 + +#======================This is a new idea, since the function "conf2toConfigurable" was added recently, but is crashing when converting ATLASExtrapolator===== Configurable.configurableRun3Behavior=0 + from AthenaCommon.CFElements import findAllAlgorithms + from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable + AllFlavourTaggingAlgs = [] + for alg in findAllAlgorithms(acc_flavourTaggingAlgs.getSequence("AthAlgSeq")): + AllFlavourTaggingAlgs.append(conf2toConfigurable(alg)) + + bJetBtagSequence = seqAND( "bJetBtagSequence", secondStageAlgs + AllFlavourTaggingAlgs ) + InputMakerAlg.ViewNodeName = "bJetBtagSequence" + + # Sequence + BjetAthSequence = seqAND( "BjetAthSequence_step2",[InputMakerAlg,bJetBtagSequence] ) +#============================================================================================================= + from TrigBjetHypo.TrigBjetHypoConf import TrigBjetBtagHypoAlgMT hypo = TrigBjetBtagHypoAlgMT( "TrigBjetBtagHypoAlg" ) # keys @@ -97,8 +109,14 @@ def bJetStep2Sequence(): hypo.MonTool = TrigBjetOnlineMonitoring() from TrigBjetHypo.TrigBjetBtagHypoTool import TrigBjetBtagHypoToolFromDict - return MenuSequence( Sequence = inViewReco.sequence(), - Maker = inViewReco.inputMaker(), +# return MenuSequence( Sequence = inViewReco.sequence(), +# Maker = inViewReco.inputMaker(), + return MenuSequence( Sequence = BjetAthSequence, + Maker = InputMakerAlg, Hypo = hypo, HypoToolGen = TrigBjetBtagHypoToolFromDict) + + + + -- GitLab