12#ifndef METUTILITIES_MET_METNETSIG_H
13#define METUTILITIES_MET_METNETSIG_H
37class METNetSigHandler;
64 virtual StatusCode
rebuildMET(
const std::string& metKey,
72 virtual StatusCode
rebuildJetMET(
const std::string& metJetKey,
73 const std::string& softTrkKey,
78 bool doJetJVT =
false)
const override;
82 float& met_x,
float& met_y,
float& sigma_x,
float& sigma_y )
const;
100 virtual StatusCode
rebuildJetMET(
const std::string& metJetKey,
101 const std::string& softClusKey,
102 const std::string& softTrkKey,
107 bool doJetJVT )
const override;
118 bool tracksForHardJets =
false,
119 std::vector<const xAOD::IParticle*>* softConst = 0 )
const override;
123 const std::string& softTrkKey,
128 bool doJetJVT )
const override;
136 bool doJetJVT )
const override;
147 Gaudi::Property<std::string>
m_netSigLocation{
this,
"NetworkLocation",
"",
"Location of NN file to use for METNetSig"};
156 ToolHandle<IMETMaker>
m_metmaker_loose{
this,
"METMakerLoose",
"",
"METMaker for Loose WP. Do not configure manually except for expert usage." };
157 ToolHandle<IMETMaker>
m_metmaker_tight{
this,
"METMakerTight",
"",
"METMaker for Tight WP. Do not configure manually except for expert usage." };
158 ToolHandle<IMETMaker>
m_metmaker_tghtr{
this,
"METMakerTighter",
"",
"METMaker for Tighter WP. Do not configure manually except for expert usage." };
159 ToolHandle<IMETMaker>
m_metmaker_tenac{
this,
"METMakerTenacious",
"",
"METMaker for Tenacious WP. Do not configure manually except for expert usage." };
163 StatusCode
addMETTerm(
const std::string& WP_name,
xAOD::MissingET*
met, std::vector<std::string>& name_vec, std::vector<float>& val_vec )
const;
164 StatusCode
addInputValue(
const std::string& var_name,
float value,std::vector<std::string>& name_vec, std::vector<float>& val_vec )
const;
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< std::string > m_netSigLocation
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainerKey
ToolHandle< IMETMaker > m_metmaker_loose
StatusCode addMETTerm(const std::string &WP_name, xAOD::MissingET *met, std::vector< std::string > &name_vec, std::vector< float > &val_vec) const
ToolHandle< IMETMaker > m_metmaker_tenac
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerKey
virtual StatusCode initialize() override
Athena algtool's initialize.
StatusCode copyMETContainer(xAOD::MissingETContainer *new_container, const xAOD::MissingETContainer *old_container) const
ToolHandle< IMETMaker > m_metmaker_tight
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
virtual StatusCode rebuildTrackMET(const std::string &metJetKey, const std::string &softTrkKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETContainer *metCoreCont, xAOD::MissingETAssociationHelper &helper, bool doJetJVT) const override
Unsuported method inherited from METMaker. Please do not use.
virtual StatusCode rebuildJetMET(const std::string &metJetKey, const std::string &softTrkKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETContainer *metCoreCont, xAOD::MissingETAssociationHelper &helper, bool doJetJVT=false) const override
Adds multiple jet definitions to seperate MET containers and creates the collection of input features...
virtual StatusCode evaluateNNMETSig(xAOD::MissingETContainer *metCont, float &met_x, float &met_y, float &sigma_x, float &sigma_y) const
Uses ONNX runtime to propagate the input features created in rebuildJetMET through the trained networ...
std::unique_ptr< METNetSigHandler > m_metnetsighandler
virtual ~METNetSig() override
Destructor.
virtual StatusCode markInvisible(const xAOD::IParticleContainer *collection, xAOD::MissingETAssociationHelper &helper, xAOD::MissingETContainer *metCont) const override
Unsuported method inherited from METMaker. Please do not use.
StatusCode addMETFinal(const std::string &WP_name, xAOD::MissingETContainer *met_container, std::vector< std::string > &name_vec, std::vector< float > &val_vec) const
virtual StatusCode rebuildMET(const std::string &metKey, xAOD::Type::ObjectType metType, xAOD::MissingETContainer *metCont, const xAOD::IParticleContainer *collection, xAOD::MissingETAssociationHelper &helper, MissingETBase::UsageHandler::Policy objScale) const override
Adds a collection of objects to the core MET container, must be done for photons, elections and muons...
ToolHandle< IMETMaker > m_metmaker_tghtr
StatusCode addInputValue(const std::string &var_name, float value, std::vector< std::string > &name_vec, std::vector< float > &val_vec) const
METNetSig(const std::string &name)
Constructor.
Policy
Policies on usage checks.
ObjectType
Type of objects that have a representation in the xAOD EDM.
MissingET_v1 MissingET
Version control by type defintion.
MissingETContainer_v1 MissingETContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.