diff --git a/Event/xAOD/xAODBTagging/CMakeLists.txt b/Event/xAOD/xAODBTagging/CMakeLists.txt index 9cf5cafbfac512d40ee18d4ff9f4dbdb25d50808..75a556824ac185ae4a77f517bf490a935befdfa8 100644 --- a/Event/xAOD/xAODBTagging/CMakeLists.txt +++ b/Event/xAOD/xAODBTagging/CMakeLists.txt @@ -10,7 +10,7 @@ find_package( xAODUtilities ) atlas_add_library( xAODBTagging xAODBTagging/*.h xAODBTagging/versions/*.h Root/*.cxx PUBLIC_HEADERS xAODBTagging - LINK_LIBRARIES AthContainers AthLinks xAODBase xAODCore xAODTracking + LINK_LIBRARIES AthContainers AthLinks xAODBase xAODCore xAODTracking xAODJet CxxUtils ) atlas_add_xaod_smart_pointer_dicts( diff --git a/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx b/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx new file mode 100644 index 0000000000000000000000000000000000000000..24fa834946b459b7d5f2b9a85cb6bd5614493f8f --- /dev/null +++ b/Event/xAOD/xAODBTagging/Root/BTaggingUtilities.cxx @@ -0,0 +1,27 @@ + +#include "xAODBTagging/BTaggingUtilities.h" + +using namespace xAOD; + +const xAOD::BTagging* BTaggingUtilities::getBTagging( const SG::AuxElement& auxElement, + const std::string& linkName ) { + const SG::AuxElement::Accessor< ElementLink< xAOD::BTaggingContainer > > btagAcc( linkName ); + + if ( btagAcc.isAvailable( auxElement ) && btagAcc( auxElement ).isValid() ) + return *( btagAcc( auxElement ) ); + + return nullptr; +} + +const ElementLink< xAOD::BTaggingContainer >& BTaggingUtilities::getBTaggingLink( const SG::AuxElement& auxElement, + const std::string& linkName ) { + const SG::AuxElement::Accessor< ElementLink< xAOD::BTaggingContainer > > btagAcc( linkName ); + return btagAcc( auxElement ); +} + +void BTaggingUtilities::setBTaggingLink( const SG::AuxElement& auxElement, + const ElementLink< xAOD::BTaggingContainer >& el, + const std::string& linkName ) { + const SG::AuxElement::Decorator< ElementLink< xAOD::BTaggingContainer > > btagDec( linkName ); + btagDec( auxElement ) = el; +} diff --git a/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingUtilities.h b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingUtilities.h new file mode 100644 index 0000000000000000000000000000000000000000..5dbe2d0defe491b035ff36cf57244f3d94c24c7e --- /dev/null +++ b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingUtilities.h @@ -0,0 +1,17 @@ +#ifndef XAODBTAGGING_UTILITIES_H +#define XAODBTAGGING_UTILITIES_H + +#include "AthContainers/AuxElement.h" +#include "xAODBTagging/BTaggingContainer.h" + +namespace xAOD::BTaggingUtilities { + const xAOD::BTagging* getBTagging( const SG::AuxElement&, + const std::string& linkName="btaggingLink" ); + const ElementLink< xAOD::BTaggingContainer >& getBTaggingLink( const SG::AuxElement&, + const std::string& linkName="btaggingLink" ); + void setBTaggingLink( const SG::AuxElement&, + const ElementLink< xAOD::BTaggingContainer >&, + const std::string& linkName="btaggingLink" ); +} // namespace xAOD::BTaggingUtilities + +#endif diff --git a/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTaggingContainer_v1.h b/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTaggingContainer_v1.h index 9d61b40e4b321648e15ea0e0dd18646769c6ac7c..e8c4742e7fbe10363c22a2f515d90281180420b5 100644 --- a/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTaggingContainer_v1.h +++ b/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTaggingContainer_v1.h @@ -1,7 +1,7 @@ // Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // $Id: BTaggingContainer_v1.h 631475 2014-11-27 11:53:05Z filthaut $ @@ -15,7 +15,7 @@ #include "xAODBTagging/versions/BTagging_v1.h" namespace xAOD { - /// The container is a simple typedef for now + // The container is a simple typedef for now typedef DataVector< xAOD::BTagging_v1 > BTaggingContainer_v1; } diff --git a/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTagging_v1.h b/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTagging_v1.h index 08d6fc251246711f1c783f6e4d97625b7e9da20d..342ffe4c378178f7b7eed4d9e8b80cb6cca57cff 100644 --- a/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTagging_v1.h +++ b/Event/xAOD/xAODBTagging/xAODBTagging/versions/BTagging_v1.h @@ -16,6 +16,7 @@ #include "xAODBTagging/BTaggingEnums.h" #include "xAODTracking/TrackParticleContainer.h" #include "xAODTracking/VertexContainer.h" +#include "xAODJet/JetContainer.h" #include "xAODBTagging/BTagVertexContainer.h" // STL include(s): diff --git a/Event/xAOD/xAODJet/CMakeLists.txt b/Event/xAOD/xAODJet/CMakeLists.txt index 1e14f3ca880e9b78dad0aaa69137366716958e3a..2584ca215cb29b9ba01140d066c9e5dce6aadee0 100644 --- a/Event/xAOD/xAODJet/CMakeLists.txt +++ b/Event/xAOD/xAODJet/CMakeLists.txt @@ -17,7 +17,7 @@ endif() set( extra_srcs ) if( NOT SIMULATIONBASE AND NOT GENERATIONBASE ) set( extra_srcs Root/JetTrigAuxContainer*.cxx ) - set( extra_libs xAODBTagging xAODPFlow xAODTrigger ) + set( extra_libs xAODPFlow xAODTrigger ) endif() # External dependencies: diff --git a/Event/xAOD/xAODJet/Root/Jet_v1.cxx b/Event/xAOD/xAODJet/Root/Jet_v1.cxx index a571e2bc1c5d795d37969894b3239fa3cda6efe2..091050fe7e35ccc03a04bf5e2e23f9818c52520a 100644 --- a/Event/xAOD/xAODJet/Root/Jet_v1.cxx +++ b/Event/xAOD/xAODJet/Root/Jet_v1.cxx @@ -259,40 +259,6 @@ namespace xAOD { void Jet_v1::setInputType(JetInput::Type t) {inputAcc(*this)=t;} -#if !defined(SIMULATIONBASE) and !defined(GENERATIONBASE) - static const SG::AuxElement::Accessor< ElementLink< BTaggingContainer > > - btagAcc1( "btagging" ); - static const SG::AuxElement::Accessor< ElementLink< BTaggingContainer > > - btagAcc2( "btaggingLink" ); - - /// Access to btagging objects - const BTagging* Jet_v1::btagging() const { - - if( btagAcc1.isAvailable( *this ) && btagAcc1( *this ).isValid() ) { - return *( btagAcc1( *this ) ); - } else if( btagAcc2.isAvailable( *this ) && btagAcc2( *this ).isValid() ) { - return *( btagAcc2( *this ) ); - } - return nullptr; - } - - const ElementLink< BTaggingContainer >& Jet_v1::btaggingLink() const { - - if( btagAcc1.isAvailable( *this ) ) { - return btagAcc1( *this ); - } - return btagAcc2( *this ); - } - - /// Access to btagging objects - void Jet_v1::setBTaggingLink( const ElementLink< BTaggingContainer >& el ) { - - // When we create a new object, we always set the link with the new name: - btagAcc2( *this ) = el; - return; - } -#endif // not SIMULATIONBASE or GENERATIONBASE - // void Jet_v1::toPersistent() { // No longer needed, as this is done by the POOL converter for the aux container diff --git a/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h b/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h index 612098c0f8924bd1eefedcf9b693173a18ff2279..750807591fbcbeff30e8e17e26b35660df02f0ff 100644 --- a/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h +++ b/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h @@ -16,9 +16,6 @@ // xAOD include(s): #include "xAODBase/IParticle.h" #include "xAODBase/IParticleContainer.h" -#if !defined(SIMULATIONBASE) and !defined(GENERATIONBASE) -#include "xAODBTagging/BTaggingContainer.h" -#endif // not SIMULATIONBASE or GENERATIONBASE // Local include(s): //#include "xAODJet/JetConstituentIterator.h" @@ -236,14 +233,6 @@ namespace xAOD { /// Set number by enum template<class T> void setAttribute( AttributeID type, const T& value ); -#if !defined(SIMULATIONBASE) and !defined(GENERATIONBASE) - /// Access to the associated btagging object - const BTagging* btagging() const; - /// Access to the associated btagging object - const ElementLink< BTaggingContainer >& btaggingLink() const; - /// Access to btagging objects - void setBTaggingLink( const ElementLink< BTaggingContainer>& el ); -#endif // not SIMULATIONBASE or GENERATIONBASE /// @} //////////////////////////////////////////////////////// diff --git a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.h b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.h index 998c7bdddda74c7e1695e1f3b1ebfdae89dacde5..e231cfff6dca572112ed55f9dfaf6bdcf732cba9 100755 --- a/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.h +++ b/InnerDetector/InDetMonitoring/InDetGlobalMonitoring/src/InDetGlobalTrackMonTool.h @@ -35,6 +35,7 @@ #include "PixelGeoModel/IBLParameterSvc.h" #include "xAODJet/JetContainer.h" #include "xAODTracking/VertexContainer.h" +#include "xAODTracking/TrackParticleContainer.h" //Detector Managers #include "AtlasDetDescr/AtlasDetectorID.h" diff --git a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/AssociationUtils/AltMuJetOverlapTool.h b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/AssociationUtils/AltMuJetOverlapTool.h index b5e5a0e3fa0e2c3b4a91f2866d01193a0033ec05..dd675f15971bb266b346e76572a5d2bd29146f5b 100644 --- a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/AssociationUtils/AltMuJetOverlapTool.h +++ b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/AssociationUtils/AltMuJetOverlapTool.h @@ -8,6 +8,7 @@ // EDM includes #include "xAODMuon/MuonContainer.h" #include "xAODJet/JetContainer.h" +#include "xAODTracking/VertexContainer.h" // Local includes #include "AssociationUtils/IOverlapTool.h" diff --git a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/CMakeLists.txt index dc11e1707c193ef4d9d8b405e47ae3cc5111ebec..87d7ca34c8b2074f0aaf99d60210fc2193f8a34e 100644 --- a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/CMakeLists.txt +++ b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/CMakeLists.txt @@ -19,6 +19,7 @@ atlas_depends_on_subdirs( Event/xAOD/xAODBase Event/xAOD/xAODEgamma Event/xAOD/xAODJet + Event/xAOD/xAODBTagging Event/xAOD/xAODMuon Event/xAOD/xAODTau Event/xAOD/xAODTracking @@ -40,7 +41,7 @@ atlas_add_library( AssociationUtilsLib AssociationUtils/*.h Root/*.cxx PUBLIC_HEADERS AssociationUtils INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODBase xAODEgamma xAODJet + LINK_LIBRARIES ${ROOT_LIBRARIES} AsgTools xAODBase xAODEgamma xAODJet xAODBTagging xAODMuon xAODTau xAODTracking AthContainers AthLinks AnaAlgorithmLib PRIVATE_LINK_LIBRARIES CxxUtils FourMomUtils ) @@ -61,7 +62,7 @@ if( XAOD_STANDALONE ) util/OverlapRemovalTester.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} xAODRootAccess - xAODEventInfo xAODEgamma xAODMuon xAODJet xAODTau xAODEgamma + xAODEventInfo xAODEgamma xAODMuon xAODJet xAODBTagging xAODTau xAODEgamma AssociationUtilsLib ) endif() diff --git a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/ORToolBoxTestAlg.cxx b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/ORToolBoxTestAlg.cxx index d809185dc1c4140c494a5e23df22697982ce88fc..878a8b4d050d322d37da78c03d14da8c1da68ec3 100644 --- a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/ORToolBoxTestAlg.cxx +++ b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/ORToolBoxTestAlg.cxx @@ -5,6 +5,8 @@ #include "ORToolBoxTestAlg.h" #include "AssociationUtils/OverlapRemovalDefs.h" #include "AssociationUtils/OverlapRemovalInit.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" namespace { @@ -105,7 +107,8 @@ bool ORToolBoxTestAlg::selectObject<xAOD::Jet>(const xAOD::Jet& jet) static ort::inputDecorator_t bJetDec(m_flags.bJetLabel); bJetDec(jet) = false; double mv2c10 = 0.; - if(jet.btagging()->MVx_discriminant("MV2c10", mv2c10)){ + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); + if(btag->MVx_discriminant("MV2c10", mv2c10)){ if(mv2c10 > -0.1416) bJetDec(jet) = true; } else ATH_MSG_WARNING("BTag info unavailable!"); diff --git a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/OverlapRemovalTestAlg.cxx b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/OverlapRemovalTestAlg.cxx index 10c7203dc19c255483fba5cd13d4c96bcbd45e7b..4b0a5abcdd5e7c80bb37a69683f82d1d232fced0 100644 --- a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/OverlapRemovalTestAlg.cxx +++ b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/src/OverlapRemovalTestAlg.cxx @@ -6,6 +6,7 @@ // Local includes #include "AssociationUtils/OverlapRemovalDefs.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "OverlapRemovalTestAlg.h" namespace @@ -112,7 +113,7 @@ bool OverlapRemovalTestAlg::selectObject<xAOD::Jet>(const xAOD::Jet& jet) static ort::inputDecorator_t bJetDec(m_bJetLabel); bJetDec(jet) = false; double mv2c10 = 0.; - auto btag = jet.btagging(); + auto btag = xAOD::BTaggingUtilities::getBTagging( jet ); if(btag && btag->MVx_discriminant("MV2c10", mv2c10)){ if(mv2c10 > -0.1416) bJetDec(jet) = true; } diff --git a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/util/OverlapRemovalTester.cxx b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/util/OverlapRemovalTester.cxx index ee0db33e22db8d051df6352de0f6f1547e61f960..6834b04e9f52b5a323460c8d6bc98e03549aba79 100644 --- a/PhysicsAnalysis/AnalysisCommon/AssociationUtils/util/OverlapRemovalTester.cxx +++ b/PhysicsAnalysis/AnalysisCommon/AssociationUtils/util/OverlapRemovalTester.cxx @@ -37,6 +37,8 @@ #include "xAODJet/JetContainer.h" #include "xAODTau/TauJetContainer.h" #include "xAODEgamma/PhotonContainer.h" +#include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" // Local includes #include "AssociationUtils/OverlapRemovalInit.h" @@ -93,7 +95,8 @@ template<> void selectObjects<xAOD::JetContainer> selectDec(*jet) = pass; // Label bjets double mv2c10 = 0.; - if(!jet->btagging()->MVx_discriminant("MV2c10", mv2c10)) + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); + if(!btag->MVx_discriminant("MV2c10", mv2c10)) throw std::runtime_error("MV2c10 unavailable"); // This is the 85% efficiency working point bJetDec(*jet) = (mv2c10 > -0.1416); diff --git a/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/CMakeLists.txt index 95407b2491ae76020321dc597904b29aa0e13cf4..c4817c3c307ed54fc28b7d2c159510597e7b6d64 100644 --- a/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/CMakeLists.txt +++ b/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/CMakeLists.txt @@ -14,6 +14,7 @@ if( XAOD_STANDALONE ) Control/AthToolSupport/AsgTools Event/EventPrimitives Event/xAOD/xAODJet + Event/xAOD/xAODTracking Event/xAOD/xAODTruth PhysicsAnalysis/MCTruthClassifier Reconstruction/Jet/JetInterface @@ -28,6 +29,7 @@ else() Control/AthToolSupport/AsgTools Event/EventPrimitives Event/xAOD/xAODJet + Event/xAOD/xAODTracking Event/xAOD/xAODTruth GaudiKernel PhysicsAnalysis/MCTruthClassifier @@ -44,14 +46,14 @@ if( XAOD_STANDALONE ) atlas_add_library( ParticleJetToolsLib ParticleJetTools/*.h Root/*.cxx src/*.cxx PUBLIC_HEADERS ParticleJetTools - LINK_LIBRARIES AsgTools EventPrimitives xAODJet xAODTruth + LINK_LIBRARIES AsgTools EventPrimitives xAODJet xAODTracking xAODTruth JetInterface MCTruthClassifierLib JetRecLib AsgDataHandlesLib PRIVATE_LINK_LIBRARIES AthContainers TruthUtils ) else() atlas_add_library( ParticleJetToolsLib ParticleJetTools/*.h Root/*.cxx src/*.cxx PUBLIC_HEADERS ParticleJetTools - LINK_LIBRARIES AsgTools EventPrimitives xAODJet xAODTruth GaudiKernel + LINK_LIBRARIES AsgTools EventPrimitives xAODJet xAODTracking xAODTruth GaudiKernel JetInterface MCTruthClassifierLib JetRecLib AsgDataHandlesLib PRIVATE_LINK_LIBRARIES AthAnalysisBaseCompsLib AthContainers TruthUtils ) endif() diff --git a/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/Root/JetParticleAssociation.cxx b/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/Root/JetParticleAssociation.cxx index 6cf71c83ad9df201e371c0b8fe4b502f1acb8b89..49f28af9b1b85a397e602f6acd0bb4f41f2378c0 100644 --- a/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/Root/JetParticleAssociation.cxx +++ b/PhysicsAnalysis/AnalysisCommon/ParticleJetTools/Root/JetParticleAssociation.cxx @@ -5,6 +5,7 @@ // author: cpollard@cern.ch #include "ParticleJetTools/JetParticleAssociation.h" +#include "xAODTracking/TrackParticleContainer.h" using namespace std; using namespace xAOD; diff --git a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODJetRetriever.cxx b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODJetRetriever.cxx index d01966b3f9b2ce698e6272180c83ae6830e15858..956dea6642515da219392f438f12e385b6c199db 100755 --- a/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODJetRetriever.cxx +++ b/PhysicsAnalysis/AnalysisEventDisplay/xAODJiveXML/src/xAODJetRetriever.cxx @@ -8,6 +8,7 @@ #include "xAODCaloEvent/CaloCluster.h" #include "xAODTracking/TrackParticle.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "xAODJet/JetAttributes.h" #include "TrkTrack/Track.h" @@ -278,7 +279,7 @@ namespace JiveXML { pz.push_back(DataType((*jetItr)->pz()/GeV)); // bjet tagger values - const xAOD::BTagging *bTagJet = (*jetItr)->btagging(); + const xAOD::BTagging *bTagJet = xAOD::BTaggingUtilities::getBTagging( **jetItr ); bTagName.push_back( DataType( "default" )); diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/CMakeLists.txt b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/CMakeLists.txt index 99162375f2b8b8d08180ee2ab9c3e0a9733e2ecf..3ce221e99d5e1ae37901f929145a3d81c0365a8a 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/CMakeLists.txt +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/CMakeLists.txt @@ -10,7 +10,7 @@ find_package( ROOT COMPONENTS Core RIO ) atlas_add_component( DerivationFrameworkFlavourTag src/*.cxx src/components/*.cxx - LINK_LIBRARIES AthenaBaseComps FlavorTagDiscriminants GaudiKernel xAODJet xAODTracking ) + LINK_LIBRARIES AthenaBaseComps FlavorTagDiscriminants GaudiKernel xAODJet xAODTracking xAODBTagging ) # Install files from the package: atlas_install_python_modules( python/*.py ) @@ -20,9 +20,9 @@ atlas_install_joboptions( share/*.py ) atlas_add_executable( test_btagging util/test-btagging.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} xAODJet xAODRootAccess ) + LINK_LIBRARIES ${ROOT_LIBRARIES} xAODJet xAODTracking xAODBTagging xAODRootAccess ) atlas_add_executable( test_jet_links util/test-jet-links.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} xAODJet xAODRootAccess ) + LINK_LIBRARIES ${ROOT_LIBRARIES} xAODJet xAODTracking xAODBTagging xAODRootAccess ) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/util/test-btagging.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/util/test-btagging.cxx index 680ce2b91ae69fe907f87845bd468e43e0e43501..aeda1774b7d4fbb4d70e48f2d644d57daa43f876 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/util/test-btagging.cxx +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkFlavourTag/util/test-btagging.cxx @@ -2,6 +2,8 @@ #include "xAODRootAccess/tools/ReturnCheck.h" #include "xAODRootAccess/TEvent.h" #include "xAODJet/JetContainer.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "TFile.h" #include "TTree.h" @@ -49,7 +51,7 @@ int main (int argc, char *argv[]) { const xAOD::JetContainer *jets = nullptr; RETURN_CHECK( APP_NAME, event.retrieve(jets, jets_name) ); for (const xAOD::Jet *const jet : *jets) { - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging *btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (!btag) { nbad++; } else { diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/JetMSVAugmentation.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/JetMSVAugmentation.cxx index cdcf54bcbdcaf0b479d27cb5ca0b5864c7e18a62..7832270c621747a2cd16394d33310be858b0a509 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/JetMSVAugmentation.cxx +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/JetMSVAugmentation.cxx @@ -10,6 +10,7 @@ #include "xAODBTagging/SecVtxHelper.h" #include "xAODTracking/Vertex.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" namespace DerivationFramework { @@ -76,7 +77,7 @@ StatusCode JetMSVAugmentation::addBranches() const{ for(auto jet : *jets){ - const xAOD::BTagging* bjet = jet->btagging(); + const xAOD::BTagging* bjet = xAOD::BTaggingUtilities::getBTagging( *jet ); if(!bjet){ ATH_MSG_WARNING("btagging information not available" ); diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/SV1TrackThinning.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/SV1TrackThinning.cxx index 0fd97a64a608b21e77126cfda6a7c5ae14f5d534..6e7ea245b93c12ee55b536cb31e95256aa2d75f1 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/SV1TrackThinning.cxx +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTop/src/SV1TrackThinning.cxx @@ -14,6 +14,7 @@ #include "xAODJet/JetContainer.h" #include "xAODTracking/TrackParticleContainer.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "StoreGate/ThinningHandle.h" #include "GaudiKernel/ThreadLocalContext.h" #include <vector> @@ -113,7 +114,7 @@ StatusCode DerivationFramework::SV1TrackThinning::doThinning() const // ... jets if (m_selectionString=="") { // check all jets as user didn't provide a selection string for (xAOD::JetContainer::const_iterator jetIt=importedJets->begin(); jetIt!=importedJets->end(); ++jetIt) { - const xAOD::BTagging* btag = (*jetIt)->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( **jetIt ); const std::vector< ElementLink<xAOD::TrackParticleContainer> >& SV1_trackParticleLinks = btag->SV1_TrackParticleLinks(); @@ -125,7 +126,7 @@ StatusCode DerivationFramework::SV1TrackThinning::doThinning() const } } else { // check only jets passing user selection string for (std::vector<const xAOD::Jet*>::iterator jetIt = jetToCheck.begin(); jetIt!=jetToCheck.end(); ++jetIt) { - const xAOD::BTagging* btag = (*jetIt)->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( **jetIt ); const std::vector< ElementLink<xAOD::TrackParticleContainer> >& SV1_trackParticleLinks = btag->SV1_TrackParticleLinks(); diff --git a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx index 0f5bcd812db056264d80cda2d81d57eb27c48bd0..42b609192924f0c8e76df7788d74db1970b102f7 100755 --- a/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx +++ b/PhysicsAnalysis/JetMissingEtID/JetMissingEtTagTools/src/JetMissingEtTagTool.cxx @@ -22,6 +22,8 @@ Purpose : create a collection of JetMissingEtJetTag #include "xAODEgamma/PhotonContainer.h" #include "xAODMuon/MuonContainer.h" #include "xAODTau/TauJetContainer.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "xAODMissingET/MissingET.h" #include "xAODMissingET/MissingETContainer.h" @@ -471,8 +473,8 @@ StatusCode JetMetTagTool::execute(TagFragmentCollection& jetMissingEtTagColl, co /** B-tagging using selection tools*/ /** B-tagging */ - const xAOD::BTagging* btag = selectedJet->btagging(); - if (bool(btag)) { + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *selectedJet ); + if ( btag ) { if ( m_FixedCutBEff_60->accept( selectedJet ) ) pid |= 1 << 12; // MV2c20 @ 60% if ( m_FixedCutBEff_70->accept( selectedJet ) ) pid |= 1 << 13; // MV2c20 @ 70% if ( m_FixedCutBEff_85->accept( selectedJet ) ) pid |= 1 << 14; // MV2c20 @ 85% @@ -507,7 +509,7 @@ StatusCode JetMetTagTool::execute(TagFragmentCollection& jetMissingEtTagColl, co if (jetP4.pt() > 100.0 * CLHEP::GeV) ij100++; - const xAOD::BTagging* btag = selectedJet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *selectedJet ); if (bool(btag)) { double mvx; btag->MVx_discriminant("MV2c20", mvx); diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/CMakeLists.txt b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/CMakeLists.txt index 0cf8ec9ebb0c0a1e492da90a5017563007568938..680b210e9d5272147b3c0d5f22cf9f02463e4721 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/CMakeLists.txt +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/CMakeLists.txt @@ -24,7 +24,9 @@ atlas_depends_on_subdirs( Event/xAOD/xAODBase Event/xAOD/xAODMuon Event/xAOD/xAODJet + Event/xAOD/xAODBTagging Event/xAOD/xAODEventInfo + Event/xAOD/xAODTracking PRIVATE Tools/PathResolver ) @@ -51,7 +53,7 @@ atlas_add_library( FlavorTagDiscriminants Root/VRJetOverlapDecorator.cxx INCLUDE_DIRS ${LWTNN_INCLUDE_DIRS} PUBLIC_HEADERS FlavorTagDiscriminants - LINK_LIBRARIES AsgTools xAODBase xAODJet xAODMuon xAODEventInfo PathResolver + LINK_LIBRARIES AsgTools xAODBase xAODJet xAODBTagging xAODTracking xAODMuon xAODEventInfo PathResolver JetInterface ${LWTNN_LIBRARIES}) diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagJetAugmenter.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagJetAugmenter.h index e289a503dea913848d08b9d7339c32e07176436c..f38011af602b7492db5e478d45f8cc2e490262c6 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagJetAugmenter.h +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagJetAugmenter.h @@ -9,6 +9,7 @@ #include "FlavorTagDiscriminants/ftagfloat_t.h" // ATLAS things +#include "xAODBTagging/BTagging.h" #include "xAODJet/Jet.h" #include "xAODEventInfo/EventInfo.h" diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2.h index e150d0c4edd7046f4343435bdc2151513d2c5ab0..d5c2e02e809405a2aea4bc89dc91d64f4dac9814 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2.h +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2.h @@ -13,6 +13,8 @@ // EDM includes #include "xAODJet/Jet.h" +#include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" // external libraries #include "lwtnn/lightweight_network_config.hh" @@ -121,7 +123,7 @@ namespace FlavorTagDiscriminants { { } NamedVar operator()(const xAOD::Jet& jet) const { - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); if (!btag) throw std::runtime_error("can't find btagging object"); T ret_value = m_getter(*btag); bool is_default = m_default_flag(*btag); @@ -151,7 +153,7 @@ namespace FlavorTagDiscriminants { { } NamedVar operator()(const xAOD::Jet& jet) const { - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); if (!btag) throw std::runtime_error("can't find btagging object"); T ret_value = m_getter(*btag); if constexpr (std::is_floating_point<T>::value) { diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/customGetter.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/customGetter.h index 16d4d7b77f522f246f73d02b8755746babdd9c7d..0dbadded29143668dd16cfb6d3335d8f754c6310 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/customGetter.h +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/customGetter.h @@ -10,6 +10,7 @@ // EDM includes #include "xAODJet/Jet.h" +#include "xAODTracking/TrackParticle.h" #include <functional> #include <string> diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagJetAugmenter.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagJetAugmenter.cxx index 8fc4249730fb7dbf44b0e781768a64f4b404cdd6..cc9ce31eb716f0e20b2b7bfbb1cfc5a0206b538d 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagJetAugmenter.cxx +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagJetAugmenter.cxx @@ -8,6 +8,7 @@ #include <cstddef> #include "xAODJet/Jet.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "TVector3.h" @@ -206,7 +207,7 @@ void BTagJetAugmenter::augmentIpRatios(const xAOD::BTagging& btag) { void BTagJetAugmenter::augmentBtagJes(const xAOD::Jet &target, const xAOD::Jet &uncalib) { - const xAOD::BTagging* btag_ptr = target.btagging(); + const xAOD::BTagging* btag_ptr = xAOD::BTaggingUtilities::getBTagging( target ); if (!btag_ptr) throw std::runtime_error("No b-tagging object found!"); const xAOD::BTagging& btag = *btag_ptr; @@ -217,7 +218,7 @@ void BTagJetAugmenter::augmentBtagJes(const xAOD::Jet &target, } void BTagJetAugmenter::augment(const xAOD::Jet &jet) { - const xAOD::BTagging* btag_ptr = jet.btagging(); + const xAOD::BTagging *btag_ptr = xAOD::BTaggingUtilities::getBTagging( jet ); if (!btag_ptr) throw std::runtime_error("No b-tagging object found!"); const xAOD::BTagging& btag = *btag_ptr; diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagMuonAugmenter.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagMuonAugmenter.cxx index cb56e99eedfb2b8a983bc1f0381b22fd8a857004..81a2fb6996361d57495203827d4dd0ff3e688e9c 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagMuonAugmenter.cxx +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagMuonAugmenter.cxx @@ -6,6 +6,7 @@ #include "xAODMuon/MuonContainer.h" #include "FlavorTagDiscriminants/BTagMuonAugmenter.h" #include "FlavorTagDiscriminants/BTagTrackIpAccessor.h" +#include "xAODBTagging/BTaggingUtilities.h" namespace FlavorTagDiscriminants { @@ -67,7 +68,7 @@ namespace FlavorTagDiscriminants { ElementLink<xAOD::MuonContainer> muon_link; - const xAOD::BTagging &btag = *jet.btagging(); + const xAOD::BTagging &btag = *xAOD::BTaggingUtilities::getBTagging( jet ); // Find associated combined muon closest to jet axis (like legacy SMT) std::vector<ElementLink<xAOD::MuonContainer> > assocMuons; diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagTrackIpAccessor.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagTrackIpAccessor.cxx index 95a76bc481c1171df47641435f888b717af2af87..0436c99c6ad4ff2f7e3050a2c2a736c63cd9f8f7 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagTrackIpAccessor.cxx +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/BTagTrackIpAccessor.cxx @@ -3,6 +3,7 @@ */ #include "FlavorTagDiscriminants/BTagTrackIpAccessor.h" +#include "xAODBTagging/BTaggingUtilities.h" #include <cmath> #include <cstddef> @@ -101,7 +102,7 @@ void BTagTrackIpAccessor::augment_with_ip(const xAOD::TrackParticle &track, cons } void BTagTrackIpAccessor::augment_with_grades(const xAOD::TrackParticle &track, const xAOD::Jet &jet) { int ip3d_grade = -1; - const xAOD::BTagging &btagging = *jet.btagging(); + const xAOD::BTagging &btagging = *xAOD::BTaggingUtilities::getBTagging( jet ); const std::vector<ElementLink<xAOD::TrackParticleContainer> > ip3d_tracks = m_ip3d_trackParticleLinks(btagging); for (std::size_t ip3d_track_index = 0; ip3d_track_index < ip3d_tracks.size(); ++ip3d_track_index) { if (&track == *(ip3d_tracks.at(ip3d_track_index))) { diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/DL2.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/DL2.cxx index c1ea9db0120bc4cc1f32270148cf319965b287bc..0ca1b9650a4eedb34e76a2cbc0a6d6153eee2166 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/DL2.cxx +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/DL2.cxx @@ -7,6 +7,8 @@ #include "lwtnn/LightweightGraph.hh" #include "lwtnn/NanReplacer.hh" +#include "xAODBTagging/BTaggingUtilities.h" + namespace { // This is a workaround because a lot of our builds still don't // support C++17. It's meant to look just as ugly as it is. @@ -162,7 +164,8 @@ namespace FlavorTagDiscriminants { // the second argument to compute(...) is for sequences auto out_vals = m_graph->compute(nodes, seqs, dec.first); for (const auto& node: dec.second) { - node.second(*jet.btagging(), out_vals.at(node.first)); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); + node.second(*btag, out_vals.at(node.first)); } } } @@ -193,7 +196,7 @@ namespace FlavorTagDiscriminants { { } Tracks TracksFromJet::operator()(const xAOD::Jet& jet) const { - const xAOD::BTagging *btagging = jet.btagging(); + const xAOD::BTagging *btagging = xAOD::BTaggingUtilities::getBTagging( jet ); if (!btagging) throw std::runtime_error("can't find btagging object"); std::vector<std::pair<double, const xAOD::TrackParticle*>> tracks; for (const auto &link : m_trackAssociator(*btagging)) { diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/HbbTag.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/HbbTag.cxx index f2acff73d034e0887f130754c878c5782fe717ec..e4662caa63445f822b0d1360c8fb2727b59d5045 100644 --- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/HbbTag.cxx +++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/Root/HbbTag.cxx @@ -7,7 +7,8 @@ // EDM includes #include "xAODJet/Jet.h" - +#include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" // atlas utilities #include "PathResolver/PathResolver.h" @@ -142,7 +143,7 @@ namespace { template <typename T> std::pair<std::string, double> BTagPairGetter<T>::operator()(const xAOD::Jet& jet) { - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); if (!btag) throw std::runtime_error("can't find btagging object"); return {m_key, m_getter(*btag)}; } diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/BTagHighLevelAugmenterAlg.h b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/BTagHighLevelAugmenterAlg.h index 1b1d75a873ade6f7df4cf7f7cec2ad22b46bea49..e8603f23f14756b9c0023a338a587333f0b75c83 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/BTagHighLevelAugmenterAlg.h +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/BTagHighLevelAugmenterAlg.h @@ -8,6 +8,7 @@ // ATLAS things #include "AthenaBaseComps/AthAlgorithm.h" #include "xAODJet/JetContainer.h" +#include "xAODBTagging/BTaggingContainer.h" #include "xAODBTagging/BTagging.h" #include "xAODEventInfo/EventInfo.h" #include "StoreGate/ReadDecorHandle.h" diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetBTaggerTool.h b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetBTaggerTool.h index 293b5ccd12ed2e0706e74663510ce4b91084a248..022702470bad1842d79ef714ff791753ed5d14cd 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetBTaggerTool.h +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetBTaggerTool.h @@ -13,6 +13,7 @@ #include "AsgTools/AsgTool.h" #include "JetInterface/IJetModifier.h" #include "BTagging/IJetBTaggerTool.h" +#include "xAODBTagging/BTaggingContainer.h" #include "GaudiKernel/ToolHandle.h" #include "StoreGate/ReadHandleKey.h" diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetSecVtxFindingAlg.h b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetSecVtxFindingAlg.h index 4ea468b731134faf852ae63b3d004eaba3df69c5..3bb059ee21f6c97e7240568080fdf090265fac70 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetSecVtxFindingAlg.h +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/BTagging/JetSecVtxFindingAlg.h @@ -16,6 +16,8 @@ #include "StoreGate/ReadHandleKey.h" #include "StoreGate/WriteHandleKey.h" +#include "xAODTracking/VertexContainer.h" + namespace InDet { class ISecVertexInJetFinder; } diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/BTagTrackAssociation.cxx b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/BTagTrackAssociation.cxx index 3c3b82922f03c3e4784ec650ade371991584af6f..b6c6d8a28f3d267b738b77c7b4b292be138b3223 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/BTagTrackAssociation.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/BTagTrackAssociation.cxx @@ -9,6 +9,7 @@ #include "xAODBTagging/BTagging.h" #include "xAODBTagging/BTaggingContainer.h" #include "xAODBTagging/BTaggingAuxContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "xAODJet/Jet.h" @@ -110,7 +111,7 @@ namespace Analysis { if ( m_TracksToTagList.size() ) { for (const std::string& trackColName : m_TracksToTagList) { for (const xAOD::Jet* jet : *theJets) { - xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>(jet->btagging()); + xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>(xAOD::BTaggingUtilities::getBTagging( *jet )); if (!tagInfo) { ATH_MSG_FATAL("The pointer from Jet to BTagging object is invalid"); @@ -168,7 +169,7 @@ namespace Analysis { // non-const pointer to the BTagging object like that. That would keep // const-correctness intact, as StoreGate could tell us whether it's allowed // to modify the BTagging object or not. - xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>((*jetIter)->btagging()); + xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>(xAOD::BTaggingUtilities::getBTagging( **jetIter )); if (!tagInfo) { ATH_MSG_FATAL("The pointer from Jet to BTagging object is invalid"); return StatusCode::FAILURE; @@ -213,7 +214,7 @@ namespace Analysis { // then store them in the BTagging objects. Note that for this to work, the ElementLink from Jet to BTagging object must exist unsigned int i = 0; for (jetcollection_t::iterator jetIter = theJets->begin(); jetIter != theJets->end(); ++jetIter) { - xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>((*jetIter)->btagging()); + xAOD::BTagging* tagInfo = const_cast<xAOD::BTagging*>(xAOD::BTaggingUtilities::getBTagging( **jetIter )); std::vector< ElementLink< xAOD::MuonContainer > > associationLinks; for (std::vector<const xAOD::Muon*>::const_iterator muonIter = assocs[i]->begin(); muonIter != assocs[i]->end(); ++muonIter) { ElementLink<xAOD::MuonContainer> EL; diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/JetSecVtxFindingAlg.cxx b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/JetSecVtxFindingAlg.cxx index 7f1ac927e0ec7978ff905cc9e3f36558fc827251..8ed783c4947f0fd8e6c9e4d9a041508ac5d94211 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/JetSecVtxFindingAlg.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/src/JetSecVtxFindingAlg.cxx @@ -2,13 +2,14 @@ Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ -#include "BTagging/JetSecVtxFindingAlg.h" - //general interface for secondary vertex finders #include "InDetRecToolInterfaces/ISecVertexInJetFinder.h" #include "VxSecVertex/VxSecVKalVertexInfo.h" #include "VxSecVertex/VxJetFitterVertexInfo.h" - +#include "xAODTracking/TrackParticleContainer.h" + +#include "BTagging/JetSecVtxFindingAlg.h" + #include "StoreGate/ReadDecorHandle.h" #include "StoreGate/ReadHandle.h" diff --git a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitorAlgorithm.cxx b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitorAlgorithm.cxx index b32bbbae40a013808ecb261a0059be9fa3494cc1..b37aebe00911a6ead6960d30c6f9b4d60d22a70b 100755 --- a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitorAlgorithm.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitorAlgorithm.cxx @@ -8,6 +8,7 @@ #include "xAODJet/JetContainer.h" #include "xAODJet/JetAttributes.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "xAODEventInfo/EventInfo.h" #include "xAODEgamma/ElectronContainer.h" #include "xAODMuon/MuonContainer.h" @@ -836,7 +837,7 @@ double JetTagMonitorAlgorithm::getMVweight(const xAOD::Jet *jet) const { ATH_MSG_DEBUG("retrieving MV2c10/DL1* weight"); - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (!btag) return 0; diff --git a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx index feaef044feb3b78cdc61a26c47e1d02afbda46aa..ac42a610521481e505d3396439ebc8181743087d 100755 --- a/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagMonitoring/src/JetTagMonitoring.cxx @@ -4,6 +4,7 @@ #include "xAODJet/JetAttributes.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "JetTagMonitoring.h" @@ -1248,7 +1249,7 @@ void JetTagMonitoring::fillTrackInJetHistograms(const xAOD::Jet *jet) { void JetTagMonitoring::fillBtagHistograms(const xAOD::Jet *jet, bool fill_top_histos) { // added by SARA (just moved already existing code into this function for better readibility) - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (!btag) return; @@ -1290,7 +1291,7 @@ void JetTagMonitoring::fillDetailedHistograms(const xAOD::Jet *jet, Jet_t taggab ATH_MSG_DEBUG("in fillDetailedHistograms()"); //* get detailed information *// - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (not btag){ ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillDetailedHistograms; filling these histograms will be skipped"); @@ -1435,7 +1436,7 @@ void JetTagMonitoring::fillBadTrackBits(const std::bitset<17> failedCuts, double void JetTagMonitoring::fillGoodJetHistos(const xAOD::Jet *jet) { - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (not btag){ ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillGoodJetHistos; filling these histograms will be skipped"); return; @@ -1552,7 +1553,7 @@ void JetTagMonitoring::fillSuspectJetHistos(const xAOD::Jet *jet) { m_track_selector_suspect->Fill(jet->eta(), jet->phi(), 1.); - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (not btag){ ATH_MSG_WARNING("btag pointer is null in JetTagMonitoring::fillSuspectJetHistos; filling these histograms will be skipped"); return; diff --git a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingEfficiencyTool.cxx b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingEfficiencyTool.cxx index 09e35d185560173d128a72c85b799d3490b6b3c1..7082d2dd9803c302c004c12d2f65fe2188034bf2 100644 --- a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingEfficiencyTool.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingEfficiencyTool.cxx @@ -4,6 +4,7 @@ #include "xAODBTaggingEfficiency/BTaggingEfficiencyTool.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "CalibrationDataInterface/CalibrationDataInterfaceROOT.h" #include "CalibrationDataInterface/CalibrationDataVariables.h" #include "CalibrationDataInterface/CalibrationDataContainer.h" @@ -985,7 +986,7 @@ BTaggingEfficiencyTool::fillVariables( const xAOD::Jet & jet, CalibrationDataVar x.jetAuthor = m_jetAuthor; //bool weightOK = true; if (m_isContinuous) { - const xAOD::BTagging* tagInfo = jet.btagging(); + const xAOD::BTagging* tagInfo = xAOD::BTaggingUtilities::getBTagging( jet ); if (!tagInfo) return false; // x.jetTagWeight = (tagInfo->*m_getTagWeight)(); // For now, we defer the tag weight computation to the selection tool only in the case of DL1* (this is likely to be revisited) diff --git a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx index ef4fdd408f9f4125ef24a1b2c57561c375778e05..6d4310cbb62a0696a2812c75e663f9df4f7855d2 100644 --- a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx @@ -4,6 +4,7 @@ #include "xAODBTaggingEfficiency/BTaggingSelectionTool.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "CalibrationDataInterface/CalibrationDataInterfaceROOT.h" #include "CalibrationDataInterface/CalibrationDataVariables.h" #include "CalibrationDataInterface/CalibrationDataContainer.h" @@ -222,7 +223,7 @@ CorrectionCode BTaggingSelectionTool::getTaggerWeight( const xAOD::Jet& jet, dou else if ( taggerName.find("MV2") != string::npos ){ - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); if ((!btag) || (!btag->MVx_discriminant(taggerName, tagweight))){ if(m_ErrorOnTagWeightFailure){ @@ -243,7 +244,7 @@ CorrectionCode BTaggingSelectionTool::getTaggerWeight( const xAOD::Jet& jet, dou double dl1_pc(-10.); double dl1_pu(-10.); - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); if ((!btag)){ ATH_MSG_ERROR("Failed to retrieve the BTagging information"); @@ -372,7 +373,8 @@ asg::AcceptData BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const { double weight_mv2c100(-10.); double weight_mv2cl100(-10.); - const xAOD::BTagging* btag = jet.btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( jet ); + if ((!btag)){ ATH_MSG_ERROR("Failed to retrieve the BTagging information"); diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/src/ExKtbbTag.cxx b/PhysicsAnalysis/JetTagging/JetTagTools/src/ExKtbbTag.cxx index dffd4e4b68362faa6e5b96b9f917c35d8ce7635f..e6d2f803b6d19390f93215f951eeaaf7336d33da 100644 --- a/PhysicsAnalysis/JetTagging/JetTagTools/src/ExKtbbTag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagTools/src/ExKtbbTag.cxx @@ -250,8 +250,9 @@ bool ExKtbbTag::CalculateInputVariables(xAOD::Jet& jetToTag, xAOD::BTagging* BTa // validity check if(ExKtSubJets.size() == 2){ - const xAOD::BTagging* bjet_LeadExKtSubJet = ExKtSubJets[0]->btagging(); - const xAOD::BTagging* bjet_SubLeadExKtSubJet = ExKtSubJets[1]->btagging(); + const xAOD::BTagging* bjet_LeadExKtSubJet = xAOD::BTaggingUtilities::getBTagging( *ExKtSubJets[0] ); + const xAOD::BTagging* bjet_SubLeadExKtSubJet = xAOD::BTaggingUtilities::getBTagging( *ExKtSubJets[1] ); + if( (!bjet_LeadExKtSubJet) || (!bjet_SubLeadExKtSubJet) ){ ATH_MSG_ERROR("Exclusive kt subjet is not well b-tagged!"); diff --git a/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/BTaggingValidationPlots.cxx b/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/BTaggingValidationPlots.cxx index 6aa99006acad5336140a2307fa53f92d490f083e..4c38270bde1c21cb7551a239badad5d8104918cf 100644 --- a/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/BTaggingValidationPlots.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/BTaggingValidationPlots.cxx @@ -3,7 +3,8 @@ */ #include "BTaggingValidationPlots.h" -#include "ParticleJetTools/JetFlavourInfo.h" +#include "ParticleJetTools/JetFlavourInfo.h" +#include "xAODBTagging/BTaggingUtilities.h" using CLHEP::GeV; namespace JetTagDQA{ @@ -138,7 +139,7 @@ namespace JetTagDQA{ else jet->getAttribute("TruthLabelID",label); //ANDREA --- Store tracking quantities - const xAOD::BTagging* bjet = jet->btagging(); + const xAOD::BTagging* bjet = xAOD::BTaggingUtilities::getBTagging( *jet ); std::vector< ElementLink< xAOD::TrackParticleContainer > > assocTracks = bjet->auxdata<std::vector<ElementLink<xAOD::TrackParticleContainer> > >("BTagTrackToJetAssociator"); for (unsigned int iT=0; iT<assocTracks.size(); iT++) { if (!assocTracks.at(iT).isValid()) continue; diff --git a/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/PhysValBTag.cxx b/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/PhysValBTag.cxx index a1f53d839c293c833a319f944bdeae002f720dfe..a2f7d7f3e5e2f1fc39e0acf90d0c994bcfce2a23 100644 --- a/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/PhysValBTag.cxx +++ b/PhysicsAnalysis/JetTagging/JetTagValidation/JetTagDQA/src/PhysValBTag.cxx @@ -20,7 +20,7 @@ #include "xAODTracking/TrackParticle.h" #include "xAODTracking/Vertex.h" #include "xAODBTagging/BTagging.h" -//#include "../../Event/xAOD/xAODBTagging/xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "AthenaBaseComps/AthCheckMacros.h" #include "ParticleJetTools/JetFlavourInfo.h" @@ -166,7 +166,7 @@ namespace JetTagDQA { //std::cout << "number of processed jet: " << njets << std::endl; //btagging - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); int label(1000); //double dR(1000); diff --git a/PhysicsAnalysis/PhysicsValidation/PhysValMonitoring/src/PhysValExample.cxx b/PhysicsAnalysis/PhysicsValidation/PhysValMonitoring/src/PhysValExample.cxx index c19296cbcdb547eed100077d4574facc3be890d1..0e5f79a9eca40468eb84cc22c7452c634365dd90 100644 --- a/PhysicsAnalysis/PhysicsValidation/PhysValMonitoring/src/PhysValExample.cxx +++ b/PhysicsAnalysis/PhysicsValidation/PhysValMonitoring/src/PhysValExample.cxx @@ -28,6 +28,7 @@ #include "xAODTracking/Vertex.h" #include "xAODEventInfo/EventInfo.h" #include "xAODBTagging/BTagging.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "RecEvent/RecoTimingObj.h" @@ -133,7 +134,7 @@ namespace PhysVal { ATH_CHECK(evtStore()->retrieve(jets, m_jetName)); for (auto jet : *jets) { m_jetPlots.fill(jet); - const xAOD::BTagging* btag = jet->btagging(); + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *jet ); if (btag && btag->IP3D_loglikelihoodratio() > 1.2) ++nbtag; } m_jetPlots.fill(); diff --git a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/JetTrackFilterTool.cxx b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/JetTrackFilterTool.cxx index e4d1aaa85a8ddfe92b60c35ee1178a7636389e0e..1bb818c1cfb5698148dcd0a6f11cf17701887f0b 100644 --- a/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/JetTrackFilterTool.cxx +++ b/PhysicsAnalysis/TrackingID/InDetTrackSystematicsTools/Root/JetTrackFilterTool.cxx @@ -3,6 +3,7 @@ */ #include "InDetTrackSystematicsTools/JetTrackFilterTool.h" +#include "xAODTracking/TrackParticleContainer.h" #include "FourMomUtils/xAODP4Helpers.h" diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtTool.h b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtTool.h index 28c36046b0f889823e85df119e5b3b3118b24568..479f898a88418c4f3cd1493977f4aec8f1cf3076 100644 --- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtTool.h +++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtTool.h @@ -24,6 +24,7 @@ // EDM includes #include "xAODJet/JetContainer.h" +#include "xAODTracking/VertexContainer.h" #include "xAODMissingET/MissingETContainer.h" #include "xAODCaloEvent/CaloCluster.h" #include "JetInterface/IJetDecorator.h" diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtToolBDT.h b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtToolBDT.h index b955e7fa86bf9553022261b7c5390d30bb7eb5a9..300f7db52b4f5ec0d197cd94b7ca622a9be858da 100644 --- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtToolBDT.h +++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetForwardJvtToolBDT.h @@ -28,6 +28,7 @@ // EDM includes #include "xAODEventInfo/EventInfo.h" #include "xAODJet/JetContainer.h" +#include "xAODTracking/VertexContainer.h" #include "xAODMissingET/MissingETContainer.h" #include "xAODCaloEvent/CaloCluster.h" #include "xAODCaloEvent/CaloClusterContainer.h" diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetOriginCorrectionTool.h b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetOriginCorrectionTool.h index cd288e4c6feb0f802e04d3bb2443397550dd3b95..b4c2149de52a1d03924abbbdc112e1c3122a6d1d 100644 --- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetOriginCorrectionTool.h +++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetOriginCorrectionTool.h @@ -30,6 +30,7 @@ #include "AsgDataHandles/WriteDecorHandleKey.h" #include "xAODEventInfo/EventInfo.h" #include "xAODJet/JetContainer.h" +#include "xAODTracking/VertexContainer.h" class JetOriginCorrectionTool : public asg::AsgTool, virtual public IJetDecorator { diff --git a/Reconstruction/Jet/JetReclustering/README.md b/Reconstruction/Jet/JetReclustering/README.md index eef94443ab6de4a92d0642c3655d014851cf728f..e43444f948bd0f4d211f0d1fd55be6be7a49e2cb 100644 --- a/Reconstruction/Jet/JetReclustering/README.md +++ b/Reconstruction/Jet/JetReclustering/README.md @@ -291,7 +291,7 @@ for(auto jet: *in_jets){ continue; } subjet = static_cast<const xAOD::Jet*>(constit->rawConstituent()); - btag = subjet->btagging(); + btag = xAOD::BTaggingUtilities::getBTagging( *subjet ); if(btag) Info("execute()", "btagging: %0.2f", btag->MV1_discriminant()); diff --git a/Reconstruction/Jet/JetSubStructureUtils/CMakeLists.txt b/Reconstruction/Jet/JetSubStructureUtils/CMakeLists.txt index 420a1da5a99cd2f67b7574672e9a232c99ae2b00..26a2764f95cdfa9df7c0b45f7047f55f41df9e21 100644 --- a/Reconstruction/Jet/JetSubStructureUtils/CMakeLists.txt +++ b/Reconstruction/Jet/JetSubStructureUtils/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_add_library( JetSubStructureUtils INCLUDE_DIRS ${FASTJET_INCLUDE_DIRS} ${FASTJETCONTRIB_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} LINK_LIBRARIES ${FASTJET_LIBRARIES} ${FASTJETCONTRIB_LIBRARIES} - xAODJet xAODMuon MuonSelectorToolsLib + xAODJet xAODTracking xAODBTagging xAODMuon MuonSelectorToolsLib PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} PathResolver ) # Install files from the package: diff --git a/Reconstruction/Jet/JetSubStructureUtils/Root/BoostedXbbTag.cxx b/Reconstruction/Jet/JetSubStructureUtils/Root/BoostedXbbTag.cxx index 5c9f92e4b4547799b424786292101b5c7112db62..b33b5e487c03c33104c71241dc69c8536c210008 100644 --- a/Reconstruction/Jet/JetSubStructureUtils/Root/BoostedXbbTag.cxx +++ b/Reconstruction/Jet/JetSubStructureUtils/Root/BoostedXbbTag.cxx @@ -8,6 +8,8 @@ #include "PathResolver/PathResolver.h" #endif +#include "xAODBTagging/BTaggingUtilities.h" + // root includes #include <TSystem.h> #include <TFile.h> @@ -452,7 +454,8 @@ int BoostedXbbTag::result(const xAOD::Jet& jet, std::string algorithm_name, cons // MV2c10 double mv2c10(FLT_MIN); - if(!trackJet->btagging()->MVx_discriminant("MV2c10", mv2c10)){ + const xAOD::BTagging* btag = xAOD::BTaggingUtilities::getBTagging( *trackJet ); + if(!btag->MVx_discriminant("MV2c10", mv2c10)){ if(m_verbose) printf("<%s>: Could not retrieve the MV2c10 discriminant.\r\n", APP_NAME); return -9; } diff --git a/Reconstruction/Jet/JetSubStructureUtils/Root/Charge.cxx b/Reconstruction/Jet/JetSubStructureUtils/Root/Charge.cxx index 0a5fc00270dccb3859cb0bc71c476599951a3633..844aacd64c2942ea7c63f849f82e119957a62856 100644 --- a/Reconstruction/Jet/JetSubStructureUtils/Root/Charge.cxx +++ b/Reconstruction/Jet/JetSubStructureUtils/Root/Charge.cxx @@ -3,6 +3,7 @@ */ #include "JetSubStructureUtils/Charge.h" +#include "xAODTracking/TrackParticle.h" using namespace std; using namespace JetSubStructureUtils; diff --git a/Reconstruction/MET/METUtilities/METUtilities/METSystematicsTool.h b/Reconstruction/MET/METUtilities/METUtilities/METSystematicsTool.h index 3cd07106f014c39d433285c24ef50c34377a6238..6f46c200b59f7ee20d24132d7239ba7d4ce0aa5f 100644 --- a/Reconstruction/MET/METUtilities/METUtilities/METSystematicsTool.h +++ b/Reconstruction/MET/METUtilities/METUtilities/METSystematicsTool.h @@ -23,6 +23,8 @@ class TH1D; #include "TRandom3.h" +#include "xAODTracking/VertexContainer.h" + #include "xAODMissingET/MissingETContainer.h" #include "xAODMissingET/MissingETAssociationMap.h" #include "xAODMissingET/MissingETAssociationHelper.h" diff --git a/Reconstruction/TrackCaloClusterRec/TrackCaloClusterRecValidation/src/CalibrationNtupleMakerTool.cxx b/Reconstruction/TrackCaloClusterRec/TrackCaloClusterRecValidation/src/CalibrationNtupleMakerTool.cxx index 970fa1863c59c0fcee90b81e1507b9d699e8b8e8..2928274daaef5f4e2a33f4df8e9bfd3a21da6b8d 100644 --- a/Reconstruction/TrackCaloClusterRec/TrackCaloClusterRecValidation/src/CalibrationNtupleMakerTool.cxx +++ b/Reconstruction/TrackCaloClusterRec/TrackCaloClusterRecValidation/src/CalibrationNtupleMakerTool.cxx @@ -15,6 +15,8 @@ #include "xAODParticleEvent/IParticleLink.h" #include "xAODParticleEvent/IParticleLinkContainer.h" +#include "xAODTracking/VertexContainer.h" + // Gaudi #include "GaudiKernel/ITHistSvc.h" #include "GaudiKernel/SystemOfUnits.h" diff --git a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETBaseTool.h b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETBaseTool.h index 86624e0ef87199fc745a20ee91c1833e3b1e833b..ea1dcd599af241b1dbaae5cba99bd9c8081aa984 100644 --- a/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETBaseTool.h +++ b/Trigger/TrigAlgorithms/TrigEFMissingET/TrigEFMissingET/EFMissingETBaseTool.h @@ -26,6 +26,7 @@ tools must implement the execute(...) method. #include "xAODCaloEvent/CaloClusterContainer.h" #include "xAODTrigMissingET/TrigMissingET.h" #include "xAODJet/JetContainer.h" +#include "xAODTracking/VertexContainer.h" #include "xAODMuon/MuonContainer.h" #include <vector> diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx index 33df86aa1da84eb0323623ec4c22700d982daf18..1ab92da1add8e4ee679895755c094a9134d9b8f1 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx @@ -30,6 +30,7 @@ #include "xAODBTagging/BTagging.h" #include "xAODBTagging/BTaggingContainer.h" #include "xAODBTagging/BTaggingAuxContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" #include "xAODBTagging/BTagVertex.h" #include "xAODBTagging/BTagVertexContainer.h" @@ -270,7 +271,7 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT:: // Link the BTagging object to the jet for track association ElementLink< xAOD::BTaggingContainer> linkBTagger; linkBTagger.toContainedElement(*trigBTaggingContainer, trigBTagging); - jet->setBTaggingLink(linkBTagger); + xAOD::BTaggingUtilities::setBTaggingLink( *jet,linkBTagger ); std::vector<xAOD::Jet*> jetsList; jetsList.push_back(jet); diff --git a/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt b/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt index 2492091c766e34b720a2d4279856ffc306e0963f..e716a981c3bee8716d830534d49fac86f3c47c73 100644 --- a/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt +++ b/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt @@ -20,7 +20,7 @@ if(NOT BUILDVP1LIGHT) VP1AODSystems/*.h src/*.h src/*.cxx PUBLIC_HEADERS VP1AODSystems PRIVATE_INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} - LINK_LIBRARIES xAODMuon xAODEgamma xAODTracking GaudiKernel VP1Base StoreGateLib + LINK_LIBRARIES xAODMuon xAODEgamma xAODTracking xAODBTagging GaudiKernel VP1Base StoreGateLib Qt5::Core Qt5::Gui PRIVATE_LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives EventPrimitives xAODBase xAODCaloEvent xAODJet xAODMissingET PathResolver TrkExInterfaces @@ -31,7 +31,7 @@ else() src/*.h VP1AODSystems/*.h src/*cxx PUBLIC_HEADERS VP1AODSystems PRIVATE_INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} - LINK_LIBRARIES xAODMuon xAODEgamma xAODTracking VP1Base + LINK_LIBRARIES xAODMuon xAODEgamma xAODTracking xAODBTagging VP1Base Qt5::Core Qt5::Gui PRIVATE_LINK_LIBRARIES ${COIN3D_LIBRARIES} GeoPrimitives EventPrimitives xAODBase xAODCaloEvent xAODJet xAODMissingET PathResolver TrkExInterfaces xAODEventInfo diff --git a/graphics/VP1/VP1Systems/VP1AODSystems/src/IParticleHandle_Jet.cxx b/graphics/VP1/VP1Systems/VP1AODSystems/src/IParticleHandle_Jet.cxx index 55fb437bea832ac128a8930659330eecca7e606a..99576a4ef3611e66009aee2bc07be146010a179a 100644 --- a/graphics/VP1/VP1Systems/VP1AODSystems/src/IParticleHandle_Jet.cxx +++ b/graphics/VP1/VP1Systems/VP1AODSystems/src/IParticleHandle_Jet.cxx @@ -43,6 +43,9 @@ #define SYSTEM_OF_UNITS Gaudi::Units // --> 'Gaudi::Units::cm' #endif +#include "xAODTracking/VertexContainer.h" +#include "xAODBTagging/BTaggingContainer.h" +#include "xAODBTagging/BTaggingUtilities.h" //____________________________________________________________________ class IParticleHandle_Jet::Imp { @@ -718,8 +721,8 @@ double IParticleHandle_Jet::getBTaggingWeight(std::string tagger) { double weight = 0.0; - const xAOD::BTagging * myBTag = nullptr; - myBTag = m_d->m_jet->btagging(); + const xAOD::BTagging * myBTag = nullptr; + myBTag = xAOD::BTaggingUtilities::getBTagging( *m_d->m_jet ); if (myBTag == nullptr) { VP1Msg::messageWarningRed("It was not possible to access the pointer to b-tagging info, for the selected collection! Returning 'weight': 0.0"); //("It was not possible to access the tagger '"+ tagger +"' for the selected collection: " + m_d->m_jet->getInputType() + m_d->m_jet->getAlgorithmType() );