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

#include <trackIsolationDecorator.h>

Inheritance diagram for DerivationFramework::trackIsolationDecorator:
Collaboration diagram for DerivationFramework::trackIsolationDecorator:

Public Member Functions

 trackIsolationDecorator (const std::string &t, const std::string &n, const IInterface *p)
 Constructor with parameters. More...
 
 ~trackIsolationDecorator ()
 Destructor. More...
 
StatusCode initialize ()
 
StatusCode finalize ()
 
virtual StatusCode addBranches () const
 

Private Attributes

std::string m_containerName
 
std::string m_prefix
 
ToolHandle< xAOD::ITrackIsolationToolm_trackIsolationTool
 Athena configured tools. More...
 
std::vector< xAOD::Iso::IsolationTypem_ptconeTypes
 
std::vector< int > m_ptcones
 
xAOD::TrackCorrection m_trkCorrList
 
std::vector< SG::AuxElement::Decorator< float > * > m_decorators
 

Detailed Description

Author
chris.nosp@m.toph.nosp@m.er.yo.nosp@m.ung@.nosp@m.cern..nosp@m.ch

Definition at line 24 of file trackIsolationDecorator.h.

Constructor & Destructor Documentation

◆ trackIsolationDecorator()

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

Constructor with parameters.

Definition at line 18 of file trackIsolationDecorator.cxx.

20  :
21  base_class(t, n, p),
24 {
25  declareProperty("TrackIsolationTool", m_trackIsolationTool);
26  declareProperty("TargetContainer", m_containerName = "InDetTrackParticles");
27  declareProperty("ptcones", m_ptcones);
28  declareProperty("Prefix", m_prefix="");
29 }

◆ ~trackIsolationDecorator()

DerivationFramework::trackIsolationDecorator::~trackIsolationDecorator ( )

Destructor.

Definition at line 32 of file trackIsolationDecorator.cxx.

32  {
33 }

Member Function Documentation

◆ addBranches()

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

Loop over tracks

track isolation

Definition at line 71 of file trackIsolationDecorator.cxx.

72 {
73  // retrieve container
74  const xAOD::IParticleContainer* toDecorate = 0;
75  if(evtStore()->retrieve(toDecorate, m_containerName).isFailure()) {
76  ATH_MSG_FATAL( "Unable to retrieve " << m_containerName );
77  return StatusCode::FAILURE;
78  }
79 
81  for(auto particle : *toDecorate) {
82 
84  xAOD::TrackIsolation resultTrack;
85  if (m_trackIsolationTool->trackIsolation(resultTrack, *particle, m_ptconeTypes, m_trkCorrList)){
86  for(unsigned int i=0; i<m_ptcones.size(); i++){
87 // (*(m_decorators[static_cast<int>(m_ptcones[i])]))(*particle) = resultTrack.ptcones.at(i);
88  (*(m_decorators[m_ptcones[i]]))(*particle) = resultTrack.ptcones.at(i);
89  }
90  }else{
91  ATH_MSG_WARNING("Failed to apply the track isolation for a particle");
92  }
93 
94  }
95 
96  return StatusCode::SUCCESS;
97 }

◆ finalize()

StatusCode DerivationFramework::trackIsolationDecorator::finalize ( )

delete the decorators

proxyLoaders and SGxAODProxyLoader are not deleted.

Definition at line 59 of file trackIsolationDecorator.cxx.

60 {
61  ATH_MSG_VERBOSE("finalize() ...");
62 
64  for(auto d: m_decorators) {if(d) delete d;}
65 
67 
68  return StatusCode::SUCCESS;
69 }

◆ initialize()

StatusCode DerivationFramework::trackIsolationDecorator::initialize ( )

create decorator list

Definition at line 36 of file trackIsolationDecorator.cxx.

37 {
38  ATH_MSG_VERBOSE("initialize() ...");
39 
40  // load the matching tool
41  if( ! m_trackIsolationTool.empty() ) {
42  CHECK( m_trackIsolationTool.retrieve() );
43  ATH_MSG_INFO( "Successfully retrived the TrackIsolationTool!" );
44  }
45 
46  m_trkCorrList.trackbitset.set(static_cast<unsigned int>(xAOD::Iso::coreTrackPtr));
47 
49  m_ptconeTypes.clear();
50  for(auto c: m_ptcones){
52  m_decorators[c] = new SG::AuxElement::Decorator< float >(m_prefix+xAOD::Iso::toCString(t));
53  m_ptconeTypes.push_back(t);
54  }
55 
56  return StatusCode::SUCCESS;
57 }

Member Data Documentation

◆ m_containerName

std::string DerivationFramework::trackIsolationDecorator::m_containerName
private

Definition at line 40 of file trackIsolationDecorator.h.

◆ m_decorators

std::vector< SG::AuxElement::Decorator< float >* > DerivationFramework::trackIsolationDecorator::m_decorators
private

Definition at line 50 of file trackIsolationDecorator.h.

◆ m_prefix

std::string DerivationFramework::trackIsolationDecorator::m_prefix
private

Definition at line 41 of file trackIsolationDecorator.h.

◆ m_ptcones

std::vector< int > DerivationFramework::trackIsolationDecorator::m_ptcones
private

Definition at line 47 of file trackIsolationDecorator.h.

◆ m_ptconeTypes

std::vector<xAOD::Iso::IsolationType> DerivationFramework::trackIsolationDecorator::m_ptconeTypes
private

Definition at line 46 of file trackIsolationDecorator.h.

◆ m_trackIsolationTool

ToolHandle<xAOD::ITrackIsolationTool> DerivationFramework::trackIsolationDecorator::m_trackIsolationTool
private

Athena configured tools.

Definition at line 44 of file trackIsolationDecorator.h.

◆ m_trkCorrList

xAOD::TrackCorrection DerivationFramework::trackIsolationDecorator::m_trkCorrList
private

Definition at line 48 of file trackIsolationDecorator.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
hist_file_dump.d
d
Definition: hist_file_dump.py:143
xAOD::Iso::coreTrackPtr
@ coreTrackPtr
tracks pointer
Definition: Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationCorrection.h:66
xAOD::TrackCorrection::trackbitset
Iso::IsolationTrackCorrectionBitset trackbitset
Definition: IsolationCommon.h:19
DerivationFramework::trackIsolationDecorator::m_ptconeTypes
std::vector< xAOD::Iso::IsolationType > m_ptconeTypes
Definition: trackIsolationDecorator.h:46
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
DerivationFramework::trackIsolationDecorator::m_prefix
std::string m_prefix
Definition: trackIsolationDecorator.h:41
DerivationFramework::trackIsolationDecorator::m_ptcones
std::vector< int > m_ptcones
Definition: trackIsolationDecorator.h:47
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition: IsolationType.h:26
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
xAOD::TrackIsolation
Definition: IsolationCommon.h:33
DerivationFramework::trackIsolationDecorator::m_decorators
std::vector< SG::AuxElement::Decorator< float > * > m_decorators
Definition: trackIsolationDecorator.h:50
DerivationFramework::trackIsolationDecorator::m_trackIsolationTool
ToolHandle< xAOD::ITrackIsolationTool > m_trackIsolationTool
Athena configured tools.
Definition: trackIsolationDecorator.h:44
xAOD::TrackIsolation::ptcones
std::vector< float > ptcones
Definition: IsolationCommon.h:36
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
DerivationFramework::trackIsolationDecorator::m_containerName
std::string m_containerName
Definition: trackIsolationDecorator.h:40
xAOD::Iso::numIsolationTypes
@ numIsolationTypes
Definition: IsolationType.h:118
DerivationFramework::trackIsolationDecorator::m_trkCorrList
xAOD::TrackCorrection m_trkCorrList
Definition: trackIsolationDecorator.h:48
python.compressB64.c
def c
Definition: compressB64.py:93