|
ATLAS Offline Software
|
Go to the documentation of this file.
34 ORMETMakerAlg::ORMETMakerAlg(
const std::string&
name,
35 ISvcLocator* pSvcLocator )
77 return StatusCode::SUCCESS;
84 return StatusCode::SUCCESS;
92 auto ctx = getContext();
94 ATH_CHECK( metHandle.record (std::make_unique<xAOD::MissingETContainer>(), std::make_unique<xAOD::MissingETAuxContainer>()) );
101 return StatusCode::FAILURE;
109 return StatusCode::FAILURE;
121 return StatusCode::FAILURE;
126 if (!
Jets.isValid()) {
128 return StatusCode::FAILURE;
135 return StatusCode::FAILURE;
140 if (!
Gamma.isValid()) {
142 return StatusCode::FAILURE;
149 return StatusCode::FAILURE;
154 if (!
Muons.isValid()) {
156 return StatusCode::FAILURE;
163 return StatusCode::FAILURE;
173 for(
const auto *
const el : *Electrons) {
181 metHelper, objScale).isFailure() ) {
184 ATH_MSG_DEBUG(
"Selected " << metElectrons.size() <<
" MET electrons. "
185 << acc_constitObjLinks(*(*newMet)[
"RefEle"]).
size() <<
" are non-overlapping.");
191 for(
const auto *
const ph : *
Gamma) {
198 metHelper, objScale).isFailure() ) {
201 ATH_MSG_DEBUG(
"Selected " << metPhotons.size() <<
" MET photons. "
202 << acc_constitObjLinks(*(*newMet)[
"RefGamma"]).
size() <<
" are non-overlapping.");
208 for(
const auto *
const tau : *TauJets) {
215 metHelper, objScale).isFailure() ){
219 << acc_constitObjLinks(*(*newMet)[
"RefTau"]).
size() <<
" are non-overlapping.");
225 for(
const auto *
const mu : *
Muons) {
236 ORMetHelper, objScale).isFailure() ) {
242 metHelper, objScale).isFailure() ) {
246 ATH_MSG_DEBUG(
"Selected " << metMuons.size() <<
" MET muons. "
247 << acc_constitObjLinks(*(*newMet)[
"Muons"]).
size() <<
" are non-overlapping.");
265 *PFOContainerWriteHandle=*OR_pfos;
304 for (
auto tmp_constit : *PFOContainerWriteHandle){
ATH_MSG_VERBOSE(
"ORMETMaker constit with index " << tmp_constit->index() <<
", charge " << tmp_constit->charge()<<
" pT " << tmp_constit->pt() <<
" in OverlapRemovedCHSParticleFlowObjects");}
315 << acc_constitObjLinks(*(*newMet)[
"RefJet"]).
size() <<
" are non-overlapping, "
323 << acc_constitObjLinks(*(*newMet)[
"RefJet"]).
size() <<
" are non-overlapping, "
335 ATH_MSG_DEBUG(
"MET jet = " << 0.001 * (*newMet)[
"RefJet"]->
met() <<
" GeV");
338 ATH_MSG_DEBUG(
"MET ph = " << 0.001 * (*newMet)[
"RefGamma"]->
met() <<
" GeV");
339 ATH_MSG_DEBUG(
"MET tau = " << 0.001 * (*newMet)[
"RefTau"]->
met() <<
" GeV");
342 return StatusCode::SUCCESS;
Electron_v1 Electron
Definition of the current "egamma version".
ToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMTool
@ PhysicsObject
Physics object based.
@ TruthParticle
Truth particle based.
const_pointer_type cptr()
Dereference the pointer.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
SG::WriteHandleKey< xAOD::PFOContainer > m_chargedPFOContainerWriteHandleKey
virtual ~ORMETMakerAlg()
Destructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const
Get author.
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Helper class to provide constant type-safe access to aux data.
#define ATH_MSG_VERBOSE(x)
virtual bool accept(const xAOD::Electron *el) final
bool empty() const
Test if the key is blank.
const DV * asDataVector() const
Return a pointer to this object, as a const DataVector.
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
virtual StatusCode initialize() override
Athena algorithm's Hooks.
SG::WriteHandleKey< xAOD::PFOContainer > m_PFOContainerWriteHandleKey
StatusCode buildMETSum(const std::string &totalName, xAOD::MissingETContainer *metCont)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_ORMetMapKey
virtual StatusCode finalize() override
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelLHTool
bool m_doRetrieveORconstit
std::string m_softtrkname
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteHandleKey< xAOD::MissingETContainer > m_metKey
Class describing a tau jet.
SG::ReadHandleKey< xAOD::TauJetContainer > m_TauJetContainerKey
Principal data object for Missing ET.
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_metMapKey
virtual StatusCode initialize() override
Athena algorithm's Hooks.
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadHandleKey< xAOD::MissingETContainer > m_CoreMetKey
Policy
Policies on usage checks.
Container for xAOD::MissingET_v1 objects.
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
virtual StatusCode execute() override
@ OnlyTrack
Track based only.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
SG::WriteHandleKey< xAOD::PFOContainer > m_neutralPFOContainerWriteHandleKey
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
Photon_v1 Photon
Definition of the current "egamma version".
struct TBPatternUnitContext Muon
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
DataVector adapter that acts like it holds const pointers.
SG::ReadHandleKey< xAOD::JetContainer > m_JetContainerKey
virtual double pt() const override final
The transverse momentum ( ) of the particle.
@ Tau
The object is a tau (jet)
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
float met() const
Returns .
ToolHandle< IMETMaker > m_metmaker
Athena configured tools.