ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
DerivationFramework::HadronOriginDecorator Class Reference

#include <HadronOriginDecorator.h>

Inheritance diagram for DerivationFramework::HadronOriginDecorator:
Collaboration diagram for DerivationFramework::HadronOriginDecorator:

Public Member Functions

 HadronOriginDecorator (const std::string &t, const std::string &n, const IInterface *p)
 
 ~HadronOriginDecorator ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
virtual StatusCode addBranches () const
 

Private Attributes

std::string m_TruthEventName
 
ToolHandle< DerivationFramework::HadronOriginClassifierm_Tool
 

Detailed Description

Definition at line 25 of file HadronOriginDecorator.h.

Constructor & Destructor Documentation

◆ HadronOriginDecorator()

DerivationFramework::HadronOriginDecorator::HadronOriginDecorator ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 11 of file HadronOriginDecorator.cxx.

11  :
12  base_class(t,n,p),
13  m_Tool("")
14  {
15 
16  declareProperty("ToolName",m_Tool);
17  declareProperty("TruthEventName",m_TruthEventName="TruthParticles");
18  }

◆ ~HadronOriginDecorator()

DerivationFramework::HadronOriginDecorator::~HadronOriginDecorator ( )

Definition at line 20 of file HadronOriginDecorator.cxx.

20 {}

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::HadronOriginDecorator::addBranches ( ) const
virtual

Definition at line 37 of file HadronOriginDecorator.cxx.

37  {
38  const xAOD::TruthParticleContainer* xTruthParticleContainer = nullptr;
39  if (evtStore()->retrieve(xTruthParticleContainer,m_TruthEventName).isFailure()) {
40  ATH_MSG_WARNING("could not retrieve TruthParticleContainer " <<m_TruthEventName);
41  return StatusCode::FAILURE;
42  }
43 
44  std::map<const xAOD::TruthParticle*, DerivationFramework::HadronOriginClassifier::HF_id> hadronMap=m_Tool->GetOriginMap();
45 
46  for(xAOD::TruthParticleContainer::const_iterator PItr = xTruthParticleContainer->begin(); PItr!=xTruthParticleContainer->end(); ++PItr){
47  int flavortype=6;
48  if(hadronMap.find((*PItr))!=hadronMap.end()){
49  flavortype= static_cast<int>(hadronMap[(*PItr)]);
50  }
51  SG::AuxElement::Decorator< int > decoration("TopHadronOriginFlag");
52  decoration(**PItr) = flavortype;
53  }
54 
55  return StatusCode::SUCCESS;
56  }

◆ finalize()

StatusCode DerivationFramework::HadronOriginDecorator::finalize ( )

Definition at line 33 of file HadronOriginDecorator.cxx.

33  {
34  return StatusCode::SUCCESS;
35  }

◆ initialize()

StatusCode DerivationFramework::HadronOriginDecorator::initialize ( )

Definition at line 22 of file HadronOriginDecorator.cxx.

22  {
23  ATH_MSG_INFO("Initialize " );
24 
25  if(m_Tool.retrieve().isFailure()){
26  ATH_MSG_ERROR("unable to retrieve the tool " <<m_Tool);
27  return StatusCode::FAILURE;
28  }
29 
30  return StatusCode::SUCCESS;
31  }

Member Data Documentation

◆ m_Tool

ToolHandle<DerivationFramework::HadronOriginClassifier> DerivationFramework::HadronOriginDecorator::m_Tool
private

Definition at line 41 of file HadronOriginDecorator.h.

◆ m_TruthEventName

std::string DerivationFramework::HadronOriginDecorator::m_TruthEventName
private

Definition at line 40 of file HadronOriginDecorator.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
DerivationFramework::HadronOriginDecorator::m_TruthEventName
std::string m_TruthEventName
Definition: HadronOriginDecorator.h:40
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::HadronOriginDecorator::m_Tool
ToolHandle< DerivationFramework::HadronOriginClassifier > m_Tool
Definition: HadronOriginDecorator.h:41
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
beamspotman.n
n
Definition: beamspotman.py:731
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.