ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
met::ORMETMakerAlg Class Reference

#include <ORMETMakerAlg.h>

Inheritance diagram for met::ORMETMakerAlg:
Collaboration diagram for met::ORMETMakerAlg:

Public Member Functions

 ORMETMakerAlg (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor with parameters: More...
 
virtual ~ORMETMakerAlg ()
 Destructor: More...
 
virtual StatusCode initialize () override
 Athena algorithm's Hooks. More...
 
virtual StatusCode execute () override
 
virtual StatusCode finalize () override
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

std::string m_softclname
 
std::string m_softtrkname
 
SG::ReadHandleKey< xAOD::ElectronContainerm_ElectronContainerKey
 
SG::ReadHandleKey< xAOD::PhotonContainerm_PhotonContainerKey
 
SG::ReadHandleKey< xAOD::TauJetContainerm_TauJetContainerKey
 
SG::ReadHandleKey< xAOD::MuonContainerm_MuonContainerKey
 
SG::ReadHandleKey< xAOD::JetContainerm_JetContainerKey
 
SG::ReadHandleKey< xAOD::MissingETContainerm_CoreMetKey
 
SG::WriteHandleKey< xAOD::MissingETContainerm_metKey
 
SG::ReadHandleKey< xAOD::MissingETAssociationMapm_metMapKey
 
bool m_doTruthLep
 
ToolHandle< IMETMakerm_metmaker
 Athena configured tools. More...
 
ToolHandle< CP::IMuonSelectionToolm_muonSelTool
 
ToolHandle< IAsgElectronLikelihoodToolm_elecSelLHTool
 
ToolHandle< IAsgPhotonIsEMSelectorm_photonSelIsEMTool
 
ToolHandle< TauAnalysisTools::ITauSelectionToolm_tauSelTool
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

 ORMETMakerAlg ()
 Default constructor: More...
 
virtual bool accept (const xAOD::Electron *el) final
 
virtual bool accept (const xAOD::Photon *ph) final
 
virtual bool accept (const xAOD::TauJet *tau) final
 
virtual bool accept (const xAOD::Muon *muon) final
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::string m_soft
 
SG::ReadHandleKey< xAOD::MissingETAssociationMapm_ORMetMapKey
 
SG::WriteHandleKey< xAOD::PFOContainerm_chargedPFOContainerWriteHandleKey {this,"PFOChargedOutputName","OverlapRemovedCHSChargedParticleFlowObjects","WriteHandleKey for charged PFO"}
 
SG::WriteHandleKey< xAOD::PFOContainerm_neutralPFOContainerWriteHandleKey {this,"PFONeutralOutputName","OverlapRemovedCHSNeutralParticleFlowObjects","WriteHandleKey for charged PFO"}
 
SG::WriteHandleKey< xAOD::PFOContainerm_PFOContainerWriteHandleKey {this,"PFOOutputName","OverlapRemovedCHSParticleFlowObjects","WriteHandleKey for PFO"}
 
SG::ReadHandleKey< xAOD::PFOContainerm_inPFOKey {this, "InPFOKey", "", "ReadHandleKey for modified PFlow Objects"}
 
SG::WriteHandleKey< xAOD::PFOContainerm_outPFOKey {this, "OutPFOKey", "", "WriteHandleKey for modified PFlow Objects"}
 
bool m_doRetrieveORconstit
 
bool m_retainMuonConstit
 
bool m_doORMet
 
double m_electronPT
 
double m_muonPT
 
double m_photonPT
 
double m_tauPT
 
double m_electronETA
 
double m_muonETA
 
double m_photonETA
 
double m_tauETA
 
bool m_useUnmatched
 
bool m_doJVT
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 43 of file ORMETMakerAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ORMETMakerAlg() [1/2]

met::ORMETMakerAlg::ORMETMakerAlg ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Constructor with parameters:

Definition at line 34 of file ORMETMakerAlg.cxx.

36  : METMakerAlg(name, pSvcLocator)
37  {
38  declareProperty("ORMETMapName", m_ORMetMapKey = "ORMETAssoc" );
39  declareProperty( "DoRetrieveORconstit", m_doRetrieveORconstit = false );
40  declareProperty( "RetainMuonConstit", m_retainMuonConstit = false );
41  declareProperty( "DoORMet", m_doORMet = false );
42  //pT thresholds
43  declareProperty("ElectronPT", m_electronPT = 10000, "pT for electrons");
44  declareProperty("MuonPT", m_muonPT = 10000, "pT for muons");
45  declareProperty("PhotonPT", m_photonPT = 10000, "pT for photons");
46  declareProperty("TauPT", m_tauPT = 10000, "pT for photons");
47  //eta thresholds
48  declareProperty("ElectronETA", m_electronETA = 2.47, "eta for electrons");
49  declareProperty("MuonETA", m_muonETA = 2.7, "eta for muons");
50  declareProperty("PhotonETA", m_photonETA = 2.47, "eta for photons");
51  declareProperty("TauETA", m_tauETA = 2.47, "eta for photons");
52 
53  declareProperty("UseUnmatched", m_useUnmatched = true, "Include or reject egamma with unmatched clusters");
54  declareProperty("DoJVT", m_doJVT = false);
55  declareProperty("Soft", m_soft = "Clus");
56 
57 
58  }

◆ ~ORMETMakerAlg()

met::ORMETMakerAlg::~ORMETMakerAlg ( )
virtualdefault

Destructor:

◆ ORMETMakerAlg() [2/2]

met::ORMETMakerAlg::ORMETMakerAlg ( )
private

Default constructor:

Member Function Documentation

◆ accept() [1/4]

bool met::ORMETMakerAlg::accept ( const xAOD::Electron el)
finalprivatevirtual

Reimplemented from met::METMakerAlg.

Definition at line 351 of file ORMETMakerAlg.cxx.

351  {
352  if( fabs(el->eta())>m_electronETA || el->pt()<m_electronPT) return false;
353  return static_cast<bool> (m_elecSelLHTool->accept(el));
354  }

◆ accept() [2/4]

bool met::ORMETMakerAlg::accept ( const xAOD::Muon muon)
finalprivatevirtual

Reimplemented from met::METMakerAlg.

Definition at line 346 of file ORMETMakerAlg.cxx.

346  {
347  if( mu->pt()<m_muonPT && fabs(mu->eta())>m_muonETA) return false;
348  return static_cast<bool>(m_muonSelTool->accept(*mu));
349  }

◆ accept() [3/4]

bool met::ORMETMakerAlg::accept ( const xAOD::Photon ph)
finalprivatevirtual

Reimplemented from met::METMakerAlg.

Definition at line 356 of file ORMETMakerAlg.cxx.

356  {
357  if( !(ph->author()&20) || fabs(ph->eta())>m_photonETA || ph->pt()<m_photonPT) return false;
358  return static_cast<bool> (m_photonSelIsEMTool->accept(ph));
359  }

◆ accept() [4/4]

bool met::ORMETMakerAlg::accept ( const xAOD::TauJet tau)
finalprivatevirtual

Reimplemented from met::METMakerAlg.

Definition at line 361 of file ORMETMakerAlg.cxx.

361  {
362  return static_cast<bool>(m_tauSelTool->accept( *tau ));
363  }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode met::ORMETMakerAlg::execute ( )
overridevirtual

MET

Jets

Electrons

Photons

Taus

Muons

PFOs for OR constituents

Reimplemented from met::METMakerAlg.

Definition at line 89 of file ORMETMakerAlg.cxx.

89  {
90  ATH_MSG_VERBOSE("Executing " << name() << "...");
91  // Create a MissingETContainer with its aux store
92  auto ctx = getContext();
93  auto metHandle= SG::makeHandle (m_metKey,ctx);
94  ATH_CHECK( metHandle.record (std::make_unique<xAOD::MissingETContainer>(), std::make_unique<xAOD::MissingETAuxContainer>()) );
95  xAOD::MissingETContainer* newMet=metHandle.ptr();
96 
97 
99  if (!metMap.isValid()) {
100  ATH_MSG_WARNING("Unable to retrieve MissingETAssociationMap: " << m_metMapKey.key());
101  return StatusCode::FAILURE;
102  }
103 
104  MissingETAssociationHelper metHelper(&(*metMap));
105 
107  if (m_doORMet && !ORMetMap.isValid()) {
108  ATH_MSG_WARNING("Unable to retrieve MissingETAssociationMap: " << m_ORMetMapKey.key());
109  return StatusCode::FAILURE;
110  }
111 
112 
113  MissingETAssociationHelper ORMetHelper((m_doORMet ? &(*ORMetMap) : nullptr));
114 
115  // Retrieve containers ***********************************************
116 
119  if (!coreMet.isValid()) {
120  ATH_MSG_WARNING("Unable to retrieve MissingETContainer: " << m_CoreMetKey.key());
121  return StatusCode::FAILURE;
122  }
123 
126  if (!Jets.isValid()) {
127  ATH_MSG_WARNING("Unable to retrieve JetContainer: " << Jets.key());
128  return StatusCode::FAILURE;
129  }
130 
133  if (!Electrons.isValid()) {
134  ATH_MSG_WARNING("Unable to retrieve ElectronContainer: " << Electrons.key());
135  return StatusCode::FAILURE;
136  }
137 
140  if (!Gamma.isValid()) {
141  ATH_MSG_WARNING("Unable to retrieve GammaContainer: " << Gamma.key());
142  return StatusCode::FAILURE;
143  }
144 
147  if (!TauJets.isValid()) {
148  ATH_MSG_WARNING("Unable to retrieve TauJetContainer: " << TauJets.key());
149  return StatusCode::FAILURE;
150  }
151 
154  if (!Muons.isValid()) {
155  ATH_MSG_WARNING("Unable to retrieve MuonContainer: " << Muons.key());
156  return StatusCode::FAILURE;
157  }
158 
160  SG::ReadHandle<xAOD::PFOContainer> PFOs("CHSParticleFlowObjects");
161  if (!PFOs.isValid() && m_doRetrieveORconstit ) {
162  ATH_MSG_WARNING("Unable to retrieve PFOContainer: " << PFOs.key());
163  return StatusCode::FAILURE;
164  }
165 
166  // Select and flag objects for final MET building ***************************
167 
170  // Electrons
173  for(const auto *const el : *Electrons) {
174  if(accept(el)) {
175  metElectrons.push_back(el);
176 
177  }
178  }
179  if( m_metmaker->rebuildMET("RefEle", xAOD::Type::Electron, newMet,
180  metElectrons.asDataVector(),
181  metHelper, objScale).isFailure() ) {
182  ATH_MSG_WARNING("Failed to build electron term.");
183  }
184  ATH_MSG_DEBUG("Selected " << metElectrons.size() << " MET electrons. "
185  << acc_constitObjLinks(*(*newMet)["RefEle"]).size() << " are non-overlapping.");
186  }
187 
188  // Photons
189  if(!m_PhotonContainerKey.empty()) {
191  for(const auto *const ph : *Gamma) {
192  if(accept(ph)) {
193  metPhotons.push_back(ph);
194  }
195  }
196  if( m_metmaker->rebuildMET("RefGamma", xAOD::Type::Photon, newMet,
197  metPhotons.asDataVector(),
198  metHelper, objScale).isFailure() ) {
199  ATH_MSG_WARNING("Failed to build photon term.");
200  }
201  ATH_MSG_DEBUG("Selected " << metPhotons.size() << " MET photons. "
202  << acc_constitObjLinks(*(*newMet)["RefGamma"]).size() << " are non-overlapping.");
203  }
204 
205  // Taus
206  if(!m_TauJetContainerKey.empty()) {
208  for(const auto *const tau : *TauJets) {
209  if(accept(tau)) {
210  metTaus.push_back(tau);
211  }
212  }
213  if( m_metmaker->rebuildMET("RefTau", xAOD::Type::Tau, newMet,
214  metTaus.asDataVector(),
215  metHelper, objScale).isFailure() ){
216  ATH_MSG_WARNING("Failed to build tau term.");
217  }
218  ATH_MSG_DEBUG("Selected " << metTaus.size() << " MET taus. "
219  << acc_constitObjLinks(*(*newMet)["RefTau"]).size() << " are non-overlapping.");
220  }
221 
222  // Muons
224  if(!m_MuonContainerKey.empty()) {
225  for(const auto *const mu : *Muons) {
226  if(accept(mu)) {
227  metMuons.push_back(mu);
228  }
229  }
230 
232 
234  if( m_metmaker->rebuildMET("Muons", xAOD::Type::Muon, newMet,
235  metMuons.asDataVector(),
236  ORMetHelper, objScale).isFailure() ) {
237  ATH_MSG_WARNING("Failed to build muon term.");
238  }
239  } else {
240  if( m_metmaker->rebuildMET("Muons", xAOD::Type::Muon, newMet,
241  metMuons.asDataVector(),
242  metHelper, objScale).isFailure() ) {
243  ATH_MSG_WARNING("Failed to build muon term.");
244  }
245  }
246  ATH_MSG_DEBUG("Selected " << metMuons.size() << " MET muons. "
247  << acc_constitObjLinks(*(*newMet)["Muons"]).size() << " are non-overlapping.");
248  }
249 
250  if (m_doRetrieveORconstit) {
251 
252  /*** Fill overlapRemovedPFlowObjects ***/
254  ATH_CHECK(PFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(SG::VIEW_ELEMENTS)));
255 
256  ATH_MSG_DEBUG("Retrieve OR constituents");
258  for(const auto *const pfo : *PFOs) {met_PFO.push_back(pfo);}
259 
260  const xAOD::PFOContainer *OR_pfos;
261 
262  if (!metMuons.empty() && m_retainMuonConstit) {ATH_CHECK(m_metmaker->retrieveOverlapRemovedConstituents(met_PFO.asDataVector(),metHelper, &OR_pfos, true, metMuons.asDataVector()));}
263  else {ATH_CHECK(m_metmaker->retrieveOverlapRemovedConstituents(met_PFO.asDataVector(),metHelper, &OR_pfos, false));}
264 
265  *PFOContainerWriteHandle=*OR_pfos;
266 
267  /**** If want to write CHScharged/neutralOverlapRemovedPFlowObjects container to AOD ****
268  SG::WriteHandle<xAOD::PFOContainer> PFOContainerWriteHandle(m_PFOContainerWriteHandleKey,ctx);
269  ATH_CHECK(PFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(SG::VIEW_ELEMENTS)));
270  //cPFO
271  SG::ReadHandle<xAOD::PFOContainer> cPFOs("CHSChargedParticleFlowObjects");
272  if (!cPFOs.isValid()) {
273  ATH_MSG_WARNING("Unable to retrieve PFOContainer: " << cPFOs.key());
274  return StatusCode::FAILURE;
275  }
276  //nPFO
277  SG::ReadHandle<xAOD::PFOContainer> nPFOs("CHSNeutralParticleFlowObjects");
278  if (!nPFOs.isValid()) {
279  ATH_MSG_WARNING("Unable to retrieve PFOContainer: " << nPFOs.key());
280  return StatusCode::FAILURE;
281  }
282  SG::WriteHandle<xAOD::PFOContainer> chargedPFOContainerWriteHandle(m_chargedPFOContainerWriteHandleKey,ctx);
283  SG::WriteHandle<xAOD::PFOContainer> neutralPFOContainerWriteHandle(m_neutralPFOContainerWriteHandleKey,ctx);
284  ATH_CHECK(chargedPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>()));
285  ATH_CHECK(neutralPFOContainerWriteHandle.record(std::make_unique<xAOD::PFOContainer>(),std::make_unique<xAOD::PFOAuxContainer>()));
286 
287 
288  ConstDataVector<PFOContainer> met_cPFO(SG::VIEW_ELEMENTS);
289  for(const auto& pfo : *cPFOs) {met_cPFO.push_back(pfo);}
290  ConstDataVector<PFOContainer> met_nPFO(SG::VIEW_ELEMENTS);
291  for(const auto& pfo : *nPFOs) {met_nPFO.push_back(pfo);}
292 
293  xAOD::PFOContainer* or_cPFO = chargedPFOContainerWriteHandle.ptr();
294  xAOD::PFOContainer* or_nPFO = neutralPFOContainerWriteHandle.ptr();
295 
296  if (metMuons.size()>0 && m_retainMuonConstit) {ATH_CHECK(m_metmaker->retrieveOverlapRemovedConstituents(met_cPFO.asDataVector(), met_nPFO.asDataVector(),metHelper,or_cPFO,or_nPFO,true, metMuons.asDataVector()));}
297  else {ATH_CHECK(m_metmaker->retrieveOverlapRemovedConstituents(met_cPFO.asDataVector(), met_nPFO.asDataVector(),metHelper,or_cPFO,or_nPFO,false));}
298 
299  (*PFOContainerWriteHandle).assign((*neutralPFOContainerWriteHandle).begin(), (*neutralPFOContainerWriteHandle).end());
300  (*PFOContainerWriteHandle).insert((*PFOContainerWriteHandle).end(),
301  (*chargedPFOContainerWriteHandle).begin(),
302  (*chargedPFOContainerWriteHandle).end());***/
303 
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");}
305 
306  }
307 
308  m_doJVT= (m_soft != "Clus");
309  if (m_doORMet) {
310  if( m_metmaker->rebuildJetMET("RefJet", (m_soft=="Clus" ? m_softclname : m_softtrkname), newMet,
311  Jets.cptr(), coreMet.cptr(), ORMetHelper, m_doJVT ).isFailure() ) {
312  ATH_MSG_WARNING("Failed to build jet and soft terms.");
313  }
314  ATH_MSG_DEBUG("Of " << Jets.cptr()->size() << " jets, "
315  << acc_constitObjLinks(*(*newMet)["RefJet"]).size() << " are non-overlapping, "
316  << acc_constitObjLinks(*(*newMet)[(m_soft=="Clus" ? m_softclname : m_softtrkname)]).size() << " are soft");
317  } else {
318  if( m_metmaker->rebuildJetMET("RefJet", (m_soft=="Clus" ? m_softclname : m_softtrkname), newMet,
319  Jets.cptr(), coreMet.cptr(), metHelper, m_doJVT ).isFailure() ) {
320  ATH_MSG_WARNING("Failed to build jet and soft terms.");
321  }
322  ATH_MSG_DEBUG("Of " << Jets.cptr()->size() << " jets, "
323  << acc_constitObjLinks(*(*newMet)["RefJet"]).size() << " are non-overlapping, "
324  << acc_constitObjLinks(*(*newMet)[(m_soft=="Clus" ? m_softclname : m_softtrkname)]).size() << " are soft");
325  }
326 
327 
328  ATH_CHECK( buildMETSum("Final"+m_soft,
329  newMet,
330  (m_soft=="Clus")? (*newMet)["SoftClus"]->source() : (*newMet)["PVSoftTrk"]->source())
331  );
332 
333  xAOD::MissingET* metSum = (*newMet)["Final"+m_soft];
334  ATH_MSG_DEBUG("MET sum = " << 0.001 * metSum->met() << " GeV");
335  ATH_MSG_DEBUG("MET jet = " << 0.001 * (*newMet)["RefJet"]->met() << " GeV");
336  ATH_MSG_DEBUG("MET mu = " << 0.001 * (*newMet)["Muons"]->met() << " GeV");
337  ATH_MSG_DEBUG("MET el = " << 0.001 * (*newMet)["RefEle"]->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");
340  ATH_MSG_DEBUG("MET soft = " << 0.001 * (*newMet)["Soft"+m_soft]->met() << " GeV");
341 
342  return StatusCode::SUCCESS;
343  }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode met::ORMETMakerAlg::finalize ( )
overridevirtual

Reimplemented from met::METMakerAlg.

Definition at line 82 of file ORMETMakerAlg.cxx.

82  {
83  ATH_MSG_INFO ("Finalizing " << name() << "...");
84  return StatusCode::SUCCESS;
85  }

◆ initialize()

StatusCode met::ORMETMakerAlg::initialize ( )
overridevirtual

Athena algorithm's Hooks.

Reimplemented from met::METMakerAlg.

Definition at line 66 of file ORMETMakerAlg.cxx.

66  {
67 
69  ATH_MSG_INFO("Initializing " << name() << "...");
70  ATH_MSG_INFO("Retrieving tools...");
71 
72  ATH_CHECK(m_ORMetMapKey.initialize());
76 
77  return StatusCode::SUCCESS;
78  }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_chargedPFOContainerWriteHandleKey

SG::WriteHandleKey<xAOD::PFOContainer> met::ORMETMakerAlg::m_chargedPFOContainerWriteHandleKey {this,"PFOChargedOutputName","OverlapRemovedCHSChargedParticleFlowObjects","WriteHandleKey for charged PFO"}
private

Definition at line 73 of file ORMETMakerAlg.h.

◆ m_CoreMetKey

SG::ReadHandleKey<xAOD::MissingETContainer> met::METMakerAlg::m_CoreMetKey
protectedinherited

Definition at line 77 of file METMakerAlg.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doJVT

bool met::ORMETMakerAlg::m_doJVT
private

Definition at line 98 of file ORMETMakerAlg.h.

◆ m_doORMet

bool met::ORMETMakerAlg::m_doORMet
private

Definition at line 83 of file ORMETMakerAlg.h.

◆ m_doRetrieveORconstit

bool met::ORMETMakerAlg::m_doRetrieveORconstit
private

Definition at line 81 of file ORMETMakerAlg.h.

◆ m_doTruthLep

bool met::METMakerAlg::m_doTruthLep
protectedinherited

Definition at line 83 of file METMakerAlg.h.

◆ m_elecSelLHTool

ToolHandle<IAsgElectronLikelihoodTool> met::METMakerAlg::m_elecSelLHTool
protectedinherited

Definition at line 89 of file METMakerAlg.h.

◆ m_ElectronContainerKey

SG::ReadHandleKey<xAOD::ElectronContainer> met::METMakerAlg::m_ElectronContainerKey
protectedinherited

Definition at line 71 of file METMakerAlg.h.

◆ m_electronETA

double met::ORMETMakerAlg::m_electronETA
private

Definition at line 91 of file ORMETMakerAlg.h.

◆ m_electronPT

double met::ORMETMakerAlg::m_electronPT
private

Definition at line 86 of file ORMETMakerAlg.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_inPFOKey

SG::ReadHandleKey<xAOD::PFOContainer> met::ORMETMakerAlg::m_inPFOKey {this, "InPFOKey", "", "ReadHandleKey for modified PFlow Objects"}
private

Definition at line 78 of file ORMETMakerAlg.h.

◆ m_JetContainerKey

SG::ReadHandleKey<xAOD::JetContainer> met::METMakerAlg::m_JetContainerKey
protectedinherited

Definition at line 75 of file METMakerAlg.h.

◆ m_metKey

SG::WriteHandleKey<xAOD::MissingETContainer> met::METMakerAlg::m_metKey
protectedinherited

Definition at line 79 of file METMakerAlg.h.

◆ m_metmaker

ToolHandle<IMETMaker> met::METMakerAlg::m_metmaker
protectedinherited

Athena configured tools.

Definition at line 86 of file METMakerAlg.h.

◆ m_metMapKey

SG::ReadHandleKey<xAOD::MissingETAssociationMap> met::METMakerAlg::m_metMapKey
protectedinherited

Definition at line 80 of file METMakerAlg.h.

◆ m_MuonContainerKey

SG::ReadHandleKey<xAOD::MuonContainer> met::METMakerAlg::m_MuonContainerKey
protectedinherited

Definition at line 74 of file METMakerAlg.h.

◆ m_muonETA

double met::ORMETMakerAlg::m_muonETA
private

Definition at line 92 of file ORMETMakerAlg.h.

◆ m_muonPT

double met::ORMETMakerAlg::m_muonPT
private

Definition at line 87 of file ORMETMakerAlg.h.

◆ m_muonSelTool

ToolHandle<CP::IMuonSelectionTool> met::METMakerAlg::m_muonSelTool
protectedinherited

Definition at line 88 of file METMakerAlg.h.

◆ m_neutralPFOContainerWriteHandleKey

SG::WriteHandleKey<xAOD::PFOContainer> met::ORMETMakerAlg::m_neutralPFOContainerWriteHandleKey {this,"PFONeutralOutputName","OverlapRemovedCHSNeutralParticleFlowObjects","WriteHandleKey for charged PFO"}
private

Definition at line 74 of file ORMETMakerAlg.h.

◆ m_ORMetMapKey

SG::ReadHandleKey<xAOD::MissingETAssociationMap> met::ORMETMakerAlg::m_ORMetMapKey
private

Definition at line 71 of file ORMETMakerAlg.h.

◆ m_outPFOKey

SG::WriteHandleKey<xAOD::PFOContainer> met::ORMETMakerAlg::m_outPFOKey {this, "OutPFOKey", "", "WriteHandleKey for modified PFlow Objects"}
private

Definition at line 79 of file ORMETMakerAlg.h.

◆ m_PFOContainerWriteHandleKey

SG::WriteHandleKey<xAOD::PFOContainer> met::ORMETMakerAlg::m_PFOContainerWriteHandleKey {this,"PFOOutputName","OverlapRemovedCHSParticleFlowObjects","WriteHandleKey for PFO"}
private

Definition at line 75 of file ORMETMakerAlg.h.

◆ m_PhotonContainerKey

SG::ReadHandleKey<xAOD::PhotonContainer> met::METMakerAlg::m_PhotonContainerKey
protectedinherited

Definition at line 72 of file METMakerAlg.h.

◆ m_photonETA

double met::ORMETMakerAlg::m_photonETA
private

Definition at line 93 of file ORMETMakerAlg.h.

◆ m_photonPT

double met::ORMETMakerAlg::m_photonPT
private

Definition at line 88 of file ORMETMakerAlg.h.

◆ m_photonSelIsEMTool

ToolHandle<IAsgPhotonIsEMSelector> met::METMakerAlg::m_photonSelIsEMTool
protectedinherited

Definition at line 90 of file METMakerAlg.h.

◆ m_retainMuonConstit

bool met::ORMETMakerAlg::m_retainMuonConstit
private

Definition at line 82 of file ORMETMakerAlg.h.

◆ m_soft

std::string met::ORMETMakerAlg::m_soft
private

Definition at line 69 of file ORMETMakerAlg.h.

◆ m_softclname

std::string met::METMakerAlg::m_softclname
protectedinherited

Definition at line 67 of file METMakerAlg.h.

◆ m_softtrkname

std::string met::METMakerAlg::m_softtrkname
protectedinherited

Definition at line 68 of file METMakerAlg.h.

◆ m_tauETA

double met::ORMETMakerAlg::m_tauETA
private

Definition at line 94 of file ORMETMakerAlg.h.

◆ m_TauJetContainerKey

SG::ReadHandleKey<xAOD::TauJetContainer> met::METMakerAlg::m_TauJetContainerKey
protectedinherited

Definition at line 73 of file METMakerAlg.h.

◆ m_tauPT

double met::ORMETMakerAlg::m_tauPT
private

Definition at line 89 of file ORMETMakerAlg.h.

◆ m_tauSelTool

ToolHandle<TauAnalysisTools::ITauSelectionTool> met::METMakerAlg::m_tauSelTool
protectedinherited

Definition at line 91 of file METMakerAlg.h.

◆ m_useUnmatched

bool met::ORMETMakerAlg::m_useUnmatched
private

Definition at line 97 of file ORMETMakerAlg.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
met::METMakerAlg::m_softclname
std::string m_softclname
Definition: METMakerAlg.h:67
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
met::METMakerAlg::m_photonSelIsEMTool
ToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMTool
Definition: METMakerAlg.h:90
MissingETBase::UsageHandler::PhysicsObject
@ PhysicsObject
Physics object based.
Definition: MissingETCompositionBase.h:187
MissingETBase::UsageHandler::TruthParticle
@ TruthParticle
Truth particle based.
Definition: MissingETCompositionBase.h:189
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
met::ORMETMakerAlg::m_chargedPFOContainerWriteHandleKey
SG::WriteHandleKey< xAOD::PFOContainer > m_chargedPFOContainerWriteHandleKey
Definition: ORMETMakerAlg.h:73
met::ORMETMakerAlg::m_muonPT
double m_muonPT
Definition: ORMETMakerAlg.h:87
met::METMakerAlg::METMakerAlg
METMakerAlg()
Default constructor:
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::Egamma_v1::author
uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const
Get author.
Definition: Egamma_v1.cxx:166
met::METMakerAlg::m_PhotonContainerKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
Definition: METMakerAlg.h:72
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
VP1PartSpect::Gamma
@ Gamma
Definition: VP1PartSpectFlags.h:22
met::ORMETMakerAlg::m_soft
std::string m_soft
Definition: ORMETMakerAlg.h:69
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
met::ORMETMakerAlg::m_tauETA
double m_tauETA
Definition: ORMETMakerAlg.h:94
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
met::ORMETMakerAlg::accept
virtual bool accept(const xAOD::Electron *el) final
Definition: ORMETMakerAlg.cxx:351
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
met::METMakerAlg::m_tauSelTool
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
Definition: METMakerAlg.h:91
met::ORMETMakerAlg::m_PFOContainerWriteHandleKey
SG::WriteHandleKey< xAOD::PFOContainer > m_PFOContainerWriteHandleKey
Definition: ORMETMakerAlg.h:75
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
python.TriggerEDMRun2.PFOs
PFOs
Definition: TriggerEDMRun2.py:70
met::buildMETSum
StatusCode buildMETSum(const std::string &totalName, xAOD::MissingETContainer *metCont)
Definition: METHelpers.cxx:64
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:270
met::ORMETMakerAlg::m_electronETA
double m_electronETA
Definition: ORMETMakerAlg.h:91
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
met
Definition: IMETSignificance.h:24
met::ORMETMakerAlg::m_ORMetMapKey
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_ORMetMapKey
Definition: ORMETMakerAlg.h:71
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
met::METMakerAlg::m_elecSelLHTool
ToolHandle< IAsgElectronLikelihoodTool > m_elecSelLHTool
Definition: METMakerAlg.h:89
met::ORMETMakerAlg::m_doRetrieveORconstit
bool m_doRetrieveORconstit
Definition: ORMETMakerAlg.h:81
met::METMakerAlg::m_softtrkname
std::string m_softtrkname
Definition: METMakerAlg.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
met::METMakerAlg::m_metKey
SG::WriteHandleKey< xAOD::MissingETContainer > m_metKey
Definition: METMakerAlg.h:79
met::METMakerAlg::m_TauJetContainerKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_TauJetContainerKey
Definition: METMakerAlg.h:73
met::ORMETMakerAlg::m_photonETA
double m_photonETA
Definition: ORMETMakerAlg.h:93
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
met::METMakerAlg::m_metMapKey
SG::ReadHandleKey< xAOD::MissingETAssociationMap > m_metMapKey
Definition: METMakerAlg.h:80
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
met::ORMETMakerAlg::m_tauPT
double m_tauPT
Definition: ORMETMakerAlg.h:89
met::ORMETMakerAlg::m_doJVT
bool m_doJVT
Definition: ORMETMakerAlg.h:98
met::ORMETMakerAlg::m_useUnmatched
bool m_useUnmatched
Definition: ORMETMakerAlg.h:97
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
met::METMakerAlg::initialize
virtual StatusCode initialize() override
Athena algorithm's Hooks.
Definition: METMakerAlg.cxx:70
met::METMakerAlg::m_MuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
Definition: METMakerAlg.h:74
met::METMakerAlg::m_CoreMetKey
SG::ReadHandleKey< xAOD::MissingETContainer > m_CoreMetKey
Definition: METMakerAlg.h:77
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
MissingETBase::UsageHandler::Policy
Policy
Policies on usage checks.
Definition: MissingETCompositionBase.h:182
met::ORMETMakerAlg::m_retainMuonConstit
bool m_retainMuonConstit
Definition: ORMETMakerAlg.h:82
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
met::METMakerAlg::m_muonSelTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Definition: METMakerAlg.h:88
met::ORMETMakerAlg::m_electronPT
double m_electronPT
Definition: ORMETMakerAlg.h:86
MissingETBase::UsageHandler::OnlyTrack
@ OnlyTrack
Track based only.
Definition: MissingETCompositionBase.h:185
met::ORMETMakerAlg::m_neutralPFOContainerWriteHandleKey
SG::WriteHandleKey< xAOD::PFOContainer > m_neutralPFOContainerWriteHandleKey
Definition: ORMETMakerAlg.h:74
xAOD::MissingETAssociationHelper
Definition: MissingETAssociationHelper.h:26
met::ORMETMakerAlg::m_muonETA
double m_muonETA
Definition: ORMETMakerAlg.h:92
met::METMakerAlg::m_doTruthLep
bool m_doTruthLep
Definition: METMakerAlg.h:83
xAOD::Photon
Photon_v1 Photon
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Photon.h:17
Muon
struct TBPatternUnitContext Muon
met::ORMETMakerAlg::m_photonPT
double m_photonPT
Definition: ORMETMakerAlg.h:88
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition: ConstDataVector.h:76
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
met::METMakerAlg::m_JetContainerKey
SG::ReadHandleKey< xAOD::JetContainer > m_JetContainerKey
Definition: METMakerAlg.h:75
xAOD::Egamma_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: Egamma_v1.cxx:65
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
xAOD::Egamma_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: Egamma_v1.cxx:70
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
met::METMakerAlg::m_ElectronContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
Definition: METMakerAlg.h:71
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::MissingET_v1::met
float met() const
Returns .
met::METMakerAlg::m_metmaker
ToolHandle< IMETMaker > m_metmaker
Athena configured tools.
Definition: METMakerAlg.h:86
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
met::ORMETMakerAlg::m_doORMet
bool m_doORMet
Definition: ORMETMakerAlg.h:83