11#ifndef METUTILITIES_COLUMNAR_MET_METMAKER_H
12#define METUTILITIES_COLUMNAR_MET_METMAKER_H 1
71 virtual StatusCode
initialize() override final;
85 columnar::MetAssociationHelper<> helper,
96 columnar::MetAssociationHelper<> helper,
109 columnar::MetAssociationHelper<> helper,
122 bool doJetJVT)
const override final;
130 columnar::MetAssociationHelper<> helper,
131 bool doJetJVT)
const;
140 bool doJetJVT)
const override final;
147 columnar::MetAssociationHelper<> helper,
148 bool doJetJVT)
const;
159 bool tracksForHardJets = false,
165 columnar::MetAssociationHelper<> helper,
166 columnar::OptMutableMetId metSoftClus,
168 columnar::OptMutableMetId metSoftTrk,
171 bool tracksForHardJets = false,
181 bool doJetJVT)
const override final;
188 columnar::MetAssociationHelper<> helper,
189 bool doJetJVT)
const;
196 bool doJetJVT)
const override final;
200 columnar::MetAssociationHelper<> helper,
203 bool doJetJVT)
const;
211 columnar::MetAssociationHelper<> helper,
ElementLink implementation for ROOT usage.
Property holding a SG store/key/clid from which a ReadHandle is made.
a special "accessor" that allows to do the MET term lookup by name
a special "decorator" for decorating the weight an object contributes to a MET term
double m_jetMinWeightedPt
Gaudi::Property< std::string > m_inputPreselectionName
bool m_skipSystematicJetSelection
columnar::MetHelpers::MapLookupAccessor< columnar::ContainerId::mutableMet > m_outputMetMapAcc
void callEvents(columnar::EventContextRange events) const override
Gaudi::Property< std::string > m_columnarJetKey
bool acceptTrack(const xAOD::TrackParticle *trk, const xAOD::Vertex *vx) const
columnar::MetHelpers::ObjectWeightDecorator< columnar::ContainerId::mutableMet, columnar::ContainerId::jet > m_jetOutputMetWeightDecSoft
columnar::JetAccessor< float > m_acc_width
columnar::JetAccessor< std::vector< int > > m_acc_trkN
float m_missObjWarningPtThreshold
std::optional< columnar::ParticleAccessor< char > > m_inputPreselectionAcc
double m_customCenJetPtCut
columnar::Met1Accessor< std::string > m_inputMetNameAcc
columnar::ElectronAccessor< columnar::ObjectColumn > m_electronsHandle
columnar::MetAssocationAccessors m_assocAcc
virtual ~ColumnarMETMaker()
Destructor:
virtual StatusCode markInvisible(const xAOD::IParticleContainer *collection, xAOD::MissingETAssociationHelper &helper, xAOD::MissingETContainer *metCont) const override final
virtual StatusCode initialize() override final
Dummy implementation of the initialisation function.
columnar::MetHelpers::MetMomentumAccessors< columnar::ContainerId::mutableMet > m_outputMetMomAcc
columnar::Met1Accessor< columnar::ObjectColumn > m_inputMetHandle
columnar::ColumnAccessor< columnar::ContainerId::metAssociation, columnar::ObjectColumn > m_metAssocHandle
columnar::ParticleAccessor< columnar::RetypeColumn< xAOD::Muon::MuonType, std::uint16_t > > m_inputMuonTypeAcc
columnar::MutableMetAccessor< std::string > m_outputMetNameAcc
double m_customFwdJetPtCut
columnar::JetAccessor< float > m_acc_emf
std::optional< columnar::MetHelpers::InputMomentumAccessors< columnar::ContainerId::jet > > m_jetConstitScaleMomFixedAcc
columnar::MetHelpers::MapLookupAccessor< columnar::ContainerId::met1 > m_inputMetMapAcc
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkseltool
columnar::JetAccessor< columnar::ObjectColumn > m_jetsHandle
columnar::MutableMetAccessor< columnar::ObjectColumn > m_outputMetHandle
ColumnarMETMaker(const std::string &name)
Constructor with parameters:
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 final
std::string m_jetJvtMomentName
Gaudi::Property< bool > m_columnarDoJetJVT
columnar::JetAccessor< std::vector< float > > m_acc_trksumpt
columnar::MetHelpers::ObjectTypeAccessor< columnar::ContainerId::particle > m_inputObjTypeAcc
columnar::Met1Accessor< MissingETBase::Types::bitmask_t > m_inputMetSourceAcc
Gaudi::Property< std::string > m_columnarTermName
columnar::MetHelpers::MetMomentumAccessors< columnar::ContainerId::met1 > m_inputMetMomAcc
SG::ReadHandleKey< xAOD::VertexContainer > m_PVkey
std::string m_jetConstitScaleMom
columnar::JetAccessor< std::vector< float > > m_acc_sampleE
virtual StatusCode rebuildJetMET(const std::string &metJetKey, const std::string &softClusKey, const std::string &softTrkKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETContainer *metCoreCont, xAOD::MissingETAssociationHelper &helper, bool doJetJVT) const override final
columnar::MetHelpers::InputMomentumAccessors m_inputMomAcc
columnar::MuonAccessor< columnar::ObjectColumn > m_muonsHandle
columnar::MetHelpers::ObjectWeightDecorator m_outputMetWeightDecRegular
columnar::JetAccessor< float > m_acc_psf
bool m_doRemoveElecTrksEM
const xAOD::Vertex * getPV() const
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainer
columnar::PhotonAccessor< columnar::ObjectColumn > m_photonsHandle
columnar::ParticleAccessor< columnar::ObjectColumn > m_particlesHandle
ColumnarMETMaker()
Default constructor:
Gaudi::Property< unsigned > m_columnarOperation
ToolHandle< IAsgSelectionTool > m_JvtTool
columnar::ElectronAccessor< columnar::RetypeColumn< double, float > > m_electronPtAcc
std::string m_jetSelection
std::optional< columnar::MetHelpers::InputMomentumAccessors< columnar::ContainerId::jet > > m_jetConstitScaleMomAcc
std::string m_jetRejectionDec
bool m_doSetMuonJetEMScale
std::string m_customJvtWP
Gaudi::Property< std::string > m_columnarSoftClusKey
std::optional< columnar::JetAccessor< char > > m_acc_jetRejectionDec
double m_muIDPTJetPtRatioMuOlap
columnar::MetHelpers::InputMomentumAccessors< columnar::ContainerId::jet > m_jetMomAcc
Gaudi::Property< unsigned > m_columnarParticleType
columnar::MetHelpers::ObjectWeightDecorator< columnar::ContainerId::mutableMet, columnar::ContainerId::jet > m_jetOutputMetWeightDecRegular
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 final
Class providing the definition of the 4-vector interface.
General namespace for MET EDM software.
AccessorTemplate< CI, CT, ColumnAccessMode::input, CM > ColumnAccessor
AccessorTemplate< ContainerId::electron, CT, ColumnAccessMode::input, CM > ElectronAccessor
AccessorTemplate< ContainerId::photon, CT, ColumnAccessMode::input, CM > PhotonAccessor
AccessorTemplate< ContainerId::jet, CT, ColumnAccessMode::input, CM > JetAccessor
ObjectRange< ContainerId::eventContext > EventContextRange
AccessorTemplate< ContainerId::particle, CT, ColumnAccessMode::input, CM > ParticleAccessor
AccessorTemplate< ContainerId::mutableMet, CT, ColumnAccessMode::input, CM > MutableMetAccessor
AccessorTemplate< ContainerId::met1, CT, ColumnAccessMode::input, CM > Met1Accessor
AccessorTemplate< ContainerId::muon, CT, ColumnAccessMode::input, CM > MuonAccessor
ElementLink< xAOD::IParticleContainer > obj_link_t
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
MissingET_v1 MissingET
Version control by type defintion.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
MissingETContainer_v1 MissingETContainer
JetContainer_v1 JetContainer
Definition of the current "jet container version".
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
a special accessor for the MET momentum
an accessor that allows to access the xAOD object type of an input object