ATLAS Offline Software
Loading...
Searching...
No Matches
D3PD::ElectronJetDRAssociator Class Reference

For every electron find jets in a cone and store lifetime, signed IP, and PTRel of relation. More...

#include <ElectronJetDRAssociator.h>

Inheritance diagram for D3PD::ElectronJetDRAssociator:
Collaboration diagram for D3PD::ElectronJetDRAssociator:

Public Types

typedef MultiAssociationTool< xAOD::Electron, xAOD::JetBase

Public Member Functions

 ElectronJetDRAssociator (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Gaudi tool constructor.
virtual StatusCode initialize () override
 Standard Gaudi initialize method.
virtual StatusCode configureD3PD (IAddVariable *tree, const std::type_info &ti) override
 Configure during initialization: type-check.
virtual StatusCode reset (const xAOD::Electron &eg) override
 Start the iteration for a new association.
virtual const xAOD::Jetnext () override
 Return a pointer to the next element in the association.
virtual StatusCode book () final
 Create any needed tuple variables.
virtual const std::type_info & fromTypeinfo () const
 Return the std::type_info for the source of the association.
virtual StatusCode resetUntyped (const void *p)
 Start the iteration for a new association.
virtual const std::type_info & elementTypeinfo () const
 Return the element type for the target of the association.
virtual const void * nextUntyped ()
 Return a pointer to the next element in the association.
virtual void releaseElementUntyped (const void *p)
 Release an object retrieved from the association.
virtual void releaseElement (const TO_T *p)
 Release an object retrieved from the association.
 MultiAssociationToolImpl (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Gaudi tool constructor.
StatusCode configureD3PD (IAddVariable *tree)
 Configure the parent tree.
virtual StatusCode addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
 Add a variable to the tuple.
template<class T>
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring="")
 Make the template implementation from IAddVariable visible.
template<class T, class U>
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval)
 Make the template implementation from IAddVariable visible.
virtual StatusCode addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)
 Add a variable to the tuple.
template<class T>
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
 Add a variable to the tuple.
template<class T, class U>
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval)
 Add a variable to the tuple.

Protected Member Functions

const void * doConversion (const void *p)
 Helper to convert pointers to source objects.
StatusCode configureMulti (D3PD::IAddVariable *tree, const std::type_info &ti, const std::vector< const std::type_info * > &tis, size_t &which)
 Configure during initialization: type-check.

Protected Attributes

ObjectMetadata m_metadata
 Metadata about the variables created by this object.

Private Member Functions

StatusCode findReducedPt (const xAOD::Electron *eg, const xAOD::Jet *j, float &reducedPt)
 Find the pT of the jet with electron removed.
StatusCode findSignedIPAndPTRelEleJetPair (const xAOD::Electron *eg, const xAOD::Jet *j0, float &signedIP, float &PTRel)
 Find the signed impact parameter and PTRel of EG's track relative to the beamspot.

Private Attributes

std::string m_targetLabel
 Property: Target label for the getter for the jets to which to associate.
std::string m_vertexContainerName
 Property: Vertex container name.
double m_drcut
 Property: DR cut between electrons and jets.
ToolHandle< Trk::ITrackToVertexIPEstimatorm_trackToVertexIPEstimator { this, "TrackToVertexIPEstimator", "Trk::TrackToVertexIPEstimator", "" }
 Property: Tool for the estimation of the IPs to the vertex.
ToolHandle< ICollectionGetterRegistryToolm_registry
 Property: The ICollectionGetterRegistryTool instance.
ICollectionGetterToolm_target
 Getter defining the collection within which to index.
const xAOD::Electronm_eg
float * m_dr
 Variable: DR between electron and jet.
float * m_signedIP
 Variable: Signed impact parameter between electron and jet.
float * m_ptrel
 Variable: Relative Pt between electron and jet.
unsigned int * m_jetSize
 Variable: Number of jet constituents.
float * m_reducedPt
 Variable: Jet pT with electron removed.
std::string m_prefix
 Parameter: source object prefix.
std::string m_blockName
 Property: the name of this block.
TypeConverter m_inputConverter
 Helper to convert source object pointers.
const std::string & m_suffix
 Reference to the variable suffix.
IAddVariablem_tree
 Reference to the block name.

Static Private Attributes

static const std::string s_emptyString
 Used to provide a default value for blockName.

Detailed Description

For every electron find jets in a cone and store lifetime, signed IP, and PTRel of relation.

Definition at line 42 of file ElectronJetDRAssociator.h.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ ElectronJetDRAssociator()

D3PD::ElectronJetDRAssociator::ElectronJetDRAssociator ( const std::string & type,
const std::string & name,
const IInterface * parent )

Standard Gaudi tool constructor.

Parameters
typeThe name of the tool type.
nameThe tool name.
parentThe tool's Gaudi parent.

Definition at line 36 of file ElectronJetDRAssociator.cxx.

39 : Base (type, name, parent),
40 m_target(0),
41 m_eg(0)
42{
43 declareProperty ("Target", m_targetLabel,
44 "Target label for the getter for the jets to which"
45 " to associate.");
46
47 declareProperty ("VertexContainerName",
48 m_vertexContainerName = "VxPrimaryCandidate",
49 "Primary vertex container name");
50
51 declareProperty ("DRCut", m_drcut = 0.7,
52 "DR cut between electrons and jets");
53
54 declareProperty ("CollectionGetterRegistry", m_registry,
55 "The ICollectionGetterRegistryTool instance.");
56
57 book().ignore(); // Avoid coverity warnings.
58}
ToolHandle< ICollectionGetterRegistryTool > m_registry
Property: The ICollectionGetterRegistryTool instance.
ICollectionGetterTool * m_target
Getter defining the collection within which to index.
double m_drcut
Property: DR cut between electrons and jets.
virtual StatusCode book() final
Create any needed tuple variables.
MultiAssociationTool< xAOD::Electron, xAOD::Jet > Base
std::string m_vertexContainerName
Property: Vertex container name.
std::string m_targetLabel
Property: Target label for the getter for the jets to which to associate.

Member Function Documentation

◆ addDimensionedVariable() [1/3]

StatusCode D3PD::AddVariable::addDimensionedVariable ( const std::string & name,
const std::type_info & ti,
void *& ptr,
const std::string & dim,
const std::string & docstring = "",
const void * defval = 0 )
virtualinherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
typeThe type of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

Implements D3PD::IAddVariable.

Definition at line 123 of file AddVariable.cxx.

129{
130 if (!m_tree) {
131 // Called from constructor --- just initialize pointer.
132 ptr = 0;
133 return StatusCode::SUCCESS;
134 }
135
136 CHECK( m_metadata.addDimensionedVariable( m_prefix + name + m_suffix,
137 ti, ptr, dim,
138 docstring, defval ) );
139 return m_tree->addDimensionedVariable (m_prefix + name + m_suffix,
140 ti, ptr, dim,
141 docstring, defval);
142}
#define CHECK(...)
Evaluate an expression and check for errors.
ObjectMetadata m_metadata
Metadata about the variables created by this object.
const std::string & m_prefix
Reference to the variable prefix.
const std::string & m_suffix
Reference to the variable suffix.
IAddVariable * m_tree
Reference to the block name.
void * ptr(T *p)
Definition SGImplSvc.cxx:74

◆ addDimensionedVariable() [2/3]

template<class T, class U>
StatusCode D3PD::IAddVariable::addDimensionedVariable ( const std::string & name,
T *& ptr,
const std::string & dim,
const std::string & docstring,
const U & defval )
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

◆ addDimensionedVariable() [3/3]

template<class T>
StatusCode D3PD::IAddVariable::addDimensionedVariable ( const std::string & name,
T *& ptr,
const std::string & dim,
const std::string & docstring = "" )
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.

If called from the constructor, the only effect is to clear ptr.

◆ addVariable() [1/3]

StatusCode D3PD::AddVariable::addVariable ( const std::string & name,
const std::type_info & ti,
void *& ptr,
const std::string & docstring = "",
const void * defval = 0 )
virtualinherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
typeThe type of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

Implements D3PD::IAddVariable.

Definition at line 85 of file AddVariable.cxx.

90{
91 if (!m_tree) {
92 // Called from constructor --- just initialize pointer.
93 ptr = 0;
94 return StatusCode::SUCCESS;
95 }
96
97 CHECK( m_metadata.addVariable( m_prefix + name + m_suffix,
98 ti, ptr, docstring, defval ) );
99 return m_tree->addVariable (m_prefix + name + m_suffix,
100 ti, ptr, docstring, defval);
101}

◆ addVariable() [2/3]

template<class T, class U>
StatusCode D3PD::IAddVariable::addVariable ( const std::string & name,
T *& ptr,
const std::string & docstring,
const U & defval )
inherited

Make the template implementation from IAddVariable visible.

◆ addVariable() [3/3]

template<class T>
StatusCode D3PD::IAddVariable::addVariable ( const std::string & name,
T *& ptr,
const std::string & docstring = "" )
inherited

Make the template implementation from IAddVariable visible.

◆ book()

StatusCode D3PD::ElectronJetDRAssociator::book ( )
finalvirtual

Create any needed tuple variables.

This is called at the start of the first event.

Reimplemented from D3PD::MultiAssociationToolImpl.

Definition at line 158 of file ElectronJetDRAssociator.cxx.

159{
160 CHECK( addVariable( "dr" , m_dr,
161 "DR between electron and associated jet.") );
162 CHECK( addVariable( "signedIP" , m_signedIP,
163 "Signed impact parameter between electron and jet.") );
164 CHECK( addVariable( "ptrel", m_ptrel,
165 "Relative Pt between electron and jet.") );
166 CHECK( addVariable( "jetSize", m_jetSize,
167 "Number of jet constituents.") );
168 CHECK( addVariable( "reducedPt", m_reducedPt,
169 "Jet Pt with electron removed.") );
170 CHECK( Base::book() );
171 return StatusCode::SUCCESS;
172}
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
float * m_ptrel
Variable: Relative Pt between electron and jet.
float * m_reducedPt
Variable: Jet pT with electron removed.
unsigned int * m_jetSize
Variable: Number of jet constituents.
float * m_dr
Variable: DR between electron and jet.
float * m_signedIP
Variable: Signed impact parameter between electron and jet.

◆ configureD3PD() [1/2]

StatusCode D3PD::AddVariable::configureD3PD ( IAddVariable * tree)
inherited

Configure the parent tree.

Parameters
treeThe parent IAddVariable instance.

Definition at line 61 of file AddVariable.cxx.

62{
63 m_tree = tree;
64 m_metadata.clear();
65 return StatusCode::SUCCESS;
66}
TChain * tree

◆ configureD3PD() [2/2]

StatusCode D3PD::ElectronJetDRAssociator::configureD3PD ( IAddVariable * tree,
const std::type_info & ti )
overridevirtual

Configure during initialization: type-check.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to resetUntyped.

configureD3PD should check that the type of the object coming as input (to getUntyped) is compatible with what it expects, and raise an error otherwise.

Reimplemented from D3PD::MultiAssociationToolImpl.

Definition at line 81 of file ElectronJetDRAssociator.cxx.

83{
84 CHECK( m_registry.retrieve() );
85 CHECK( m_registry->get (m_targetLabel, this, m_target) );
87 return StatusCode::SUCCESS;
88}
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti)

◆ configureMulti()

StatusCode D3PD::MultiAssociationToolImpl::configureMulti ( D3PD::IAddVariable * tree,
const std::type_info & ti,
const std::vector< const std::type_info * > & tis,
size_t & which )
protectedinherited

Configure during initialization: type-check.

Alternate implementation for the case where we have to choose among multiple possible input types.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to getUntyped.
tisList of possible input types that we can accept.
[out]whichIndex of the accepted type.

configureMulti should check that the type of the object coming as input (to getUntyped) is compatible with what it expects, and raise an error otherwise.

Definition at line 74 of file MultiAssociationToolImpl.cxx.

78{
80 CHECK( m_inputConverter.init (ti, tis, which) );
81 return StatusCode::SUCCESS;
82}
StatusCode configureD3PD(IAddVariable *tree)
Configure the parent tree.
TypeConverter m_inputConverter
Helper to convert source object pointers.

◆ doConversion()

const void * D3PD::MultiAssociationToolImpl::doConversion ( const void * p)
protectedinherited

Helper to convert pointers to source objects.

Parameters
pSource object, as a pointer to the type passed to configureD3PD. return Source object, as a pointer to the type given by fromTypeinfo.

Definition at line 104 of file MultiAssociationToolImpl.cxx.

105{
106 if (!p) return 0;
107 const void* pp = m_inputConverter.convertUntyped (p);
108 if (!pp) {
109 REPORT_MESSAGE (MSG::WARNING)
110 << "Pointer conversion from " << m_inputConverter.srcName() << " to "
111 << m_inputConverter.dstName() << "failed.";
112 return 0;
113 }
114 return pp;
115}
#define REPORT_MESSAGE(LVL)
Report a message.

◆ elementTypeinfo()

template<typename TO_T>
virtual const std::type_info & D3PD::MultiAssociationToolTo< TO_T >::elementTypeinfo ( ) const
virtualinherited

Return the element type for the target of the association.

I.e., nextUntyped returns a pointer to this type.

Reimplemented in D3PD::MultiAssociationTool< Types< T0 >, Types< U0 > >.

◆ findReducedPt()

StatusCode D3PD::ElectronJetDRAssociator::findReducedPt ( const xAOD::Electron * eg,
const xAOD::Jet * j,
float & reducedPt )
private

Find the pT of the jet with electron removed.

Parameters
egThe egamma object to analyze.
jThe jet under consideration.
[out]reducedPtJet Pt calculated after subtraction of electron momentum.
egThe egamma object to analyze.
jThe jet under consideration. @reducedPt[out] Jet Pt calculated after subtraction of electron momentum.

Definition at line 181 of file ElectronJetDRAssociator.cxx.

184{
185 reducedPt=-9999.;
186
187 if ( !eg || !j )
188 return StatusCode::SUCCESS;
189
190 const xAOD::TrackParticle* track = eg->trackParticle();
191 if (!track) {
192 // Could legitimately be 0 for forward electrons...
193 return StatusCode::SUCCESS;
194 }
195
196 float px = j->px() - track->p4().Px();
197 float py = j->py() - track->p4().Py();
198 reducedPt = hypot (px, py);
199
200 return StatusCode::SUCCESS;
201}
float py() const
The y-component of the jet's momentum.
Definition Jet_v1.cxx:94
float px() const
The x-component of the jet's momentum.
Definition Jet_v1.cxx:90
TrackParticle_v1 TrackParticle
Reference the current persistent version:

◆ findSignedIPAndPTRelEleJetPair()

StatusCode D3PD::ElectronJetDRAssociator::findSignedIPAndPTRelEleJetPair ( const xAOD::Electron * eg,
const xAOD::Jet * j0,
float & signedIP,
float & PTRel )
private

Find the signed impact parameter and PTRel of EG's track relative to the beamspot.

Find the impact parameter of EG's track relative to the beamspot.

Parameters
egThe egamma object to analyze.
signedIP[out]Transverse impact parameter wrt the beamspot.
PTRel[out]Longitudinal impact parameter wrt the beamspot.
egThe egamma object to analyze.
d0beam[out]Transverse impact parameter wrt the beamspot.
z0beam[out]Longitudinal impact parameter wrt the beamspot.

Definition at line 211 of file ElectronJetDRAssociator.cxx.

215{
216 signedIP=-9999;
217 PTRel =-9999;
218
219 if( j0==0 )
220 return StatusCode::SUCCESS;
221
222 const xAOD::TrackParticle* track = eg->trackParticle();
223 if (!track) {
224 // Could legitimately be 0 for forward electrons...
225 return StatusCode::SUCCESS;
226 }
227
228 PTRel= track->p4().Perp (j0->p4().Vect());
229
230 CLHEP::Hep3Vector jetDirection( (j0)->px(), (j0)->py(), (j0)->pz());
231 CLHEP::Hep3Vector unit = jetDirection.unit();
232
234 return StatusCode::SUCCESS;
235
236 const xAOD::Vertex* vx = 0;
237 {
238 const xAOD::VertexContainer * vxcontainer = nullptr;
239 if ( evtStore()->retrieve(vxcontainer, m_vertexContainerName).isFailure() )
240 REPORT_MESSAGE (MSG::WARNING)
241 << "Vertex container " << m_vertexContainerName
242 << " not found in StoreGate!";
243 else if (!vxcontainer->empty())
244 vx = vxcontainer->front();
245 }
246
247 if (!vx) {
248 REPORT_MESSAGE (MSG::WARNING)
249 << "No vertex found.";
250 return StatusCode::SUCCESS;
251 }
252
253 signedIP = m_trackToVertexIPEstimator->get2DLifetimeSignOfTrack
254 (track->perigeeParameters(), unit, *vx);
255
256 return StatusCode::SUCCESS;
257}
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
Property: Tool for the estimation of the IPs to the vertex.
const T * front() const
Access the first element in the collection as an rvalue.
bool empty() const noexcept
Returns true if the collection is empty.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition Jet_v1.cxx:71
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.

◆ fromTypeinfo()

virtual const std::type_info & D3PD::MultiAssociationTool< xAOD::Electron, xAOD::Jet >::fromTypeinfo ( ) const
virtualinherited

Return the std::type_info for the source of the association.

Implements D3PD::MultiAssociationToolImpl.

◆ initialize()

StatusCode D3PD::ElectronJetDRAssociator::initialize ( )
overridevirtual

Standard Gaudi initialize method.

Definition at line 64 of file ElectronJetDRAssociator.cxx.

65{
67 CHECK( Base::initialize() );
68 return StatusCode::SUCCESS;
69}

◆ MultiAssociationToolImpl()

template<typename TO_T>
D3PD::MultiAssociationToolImpl::MultiAssociationToolImpl ( const std::string & type,
const std::string & name,
const IInterface * parent )
inherited

Standard Gaudi tool constructor.

Parameters
typeThe name of the tool type.
nameThe tool name.
parentThe tool's Gaudi parent.

Definition at line 54 of file MultiAssociationToolImpl.cxx.

33{
34 declareProperty ("Prefix", m_prefix = "",
35 "Tuple variable prefix for this block.");
36 declareProperty ("BlockName", m_blockName = this->name(),
37 "The name of this block.");
38}
AddVariable(const std::string &prefix, const std::string &blockName=s_emptyString)
Constructor.
std::string m_blockName
Property: the name of this block.
Helper for MultiAssociationTool.

◆ next()

const xAOD::Jet * D3PD::ElectronJetDRAssociator::next ( )
overridevirtual

Return a pointer to the next element in the association.

Return 0 when the association has been exhausted.

Implements D3PD::MultiAssociationToolTo< TO_T >.

Definition at line 109 of file ElectronJetDRAssociator.cxx.

110{
111 if (!m_target) return 0;
112
113 const xAOD::CaloCluster * clus= m_eg->caloCluster();
114 if (!clus){
115 ATH_MSG_WARNING("No cluster from the electron found!");
116 return 0;
117 }
118
119 while (const xAOD::Jet* myjet = m_target->next<xAOD::Jet>()) {
120
121 float dr = hypot (clus->p4().DeltaPhi(myjet->p4()),
122 myjet->eta() - clus->etaBE(2));
123 ATH_MSG_DEBUG("The value of DR between Electron and Jet is dr= "<<dr);
124 if (dr < m_drcut) {
125 float signedIP=-9999.9;
126 float PTRel=-9999.9;
127 float reducedPt=-9999.9;
128 ATH_MSG_DEBUG("CATA egamma pt clus " << clus->et() );
130 signedIP, PTRel ).isFailure() )
131 {
132 continue;
133 }
134 if ( findReducedPt ( m_eg, myjet, reducedPt ).isFailure() )
135 {
136 continue;
137 }
138
139 *m_signedIP = signedIP;
140 *m_ptrel = PTRel;
141 *m_dr = dr;
142 *m_jetSize = myjet->numConstituents();
143 *m_reducedPt = reducedPt;
144
145 return myjet;
146 }
147 }
148
149 return 0;
150}
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
StatusCode findSignedIPAndPTRelEleJetPair(const xAOD::Electron *eg, const xAOD::Jet *j0, float &signedIP, float &PTRel)
Find the signed impact parameter and PTRel of EG's track relative to the beamspot.
StatusCode findReducedPt(const xAOD::Electron *eg, const xAOD::Jet *j, float &reducedPt)
Find the pT of the jet with electron removed.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
Jet_v1 Jet
Definition of the current "jet version".
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.

◆ nextUntyped()

template<typename TO_T>
virtual const void * D3PD::MultiAssociationToolTo< TO_T >::nextUntyped ( )
virtualinherited

Return a pointer to the next element in the association.

Return 0 when the association has been exhausted.

Reimplemented in D3PD::MultiAssociationTool< Types< T0 >, Types< U0 > >.

◆ releaseElement()

template<typename TO_T>
virtual void D3PD::MultiAssociationToolTo< TO_T >::releaseElement ( const TO_T * p)
virtualinherited

Release an object retrieved from the association.

Parameters
pThe object to release.

Call this when you are done with the object returned by next(). The default implementation is a no-op, but if the association dynamically allocated the object which it returned, this gives it a chance to free it.

Reimplemented in D3PD::MultiAssociationTool< Types< T0 >, Types< U0 > >.

◆ releaseElementUntyped()

template<typename TO_T>
virtual void D3PD::MultiAssociationToolTo< TO_T >::releaseElementUntyped ( const void * p)
virtualinherited

Release an object retrieved from the association.

Parameters
pThe object to release.

Call this when you are done with the object returned by nextUntyped(). The default implementation is a no-op, but if the association dynamically allocated the object which it returned, this gives it a chance to free it.

Reimplemented in D3PD::MultiAssociationTool< Types< T0 >, Types< U0 > >.

◆ reset()

StatusCode D3PD::ElectronJetDRAssociator::reset ( const xAOD::Electron & eg)
overridevirtual

Start the iteration for a new association.

Parameters
pThe object from which to associate.

Implements D3PD::MultiAssociationTool< xAOD::Electron, xAOD::Jet >.

Definition at line 95 of file ElectronJetDRAssociator.cxx.

96{
97 m_eg = &eg;
98 if (m_target)
99 CHECK( m_target->reset (true) );
100 return StatusCode::SUCCESS;
101}

◆ resetUntyped()

virtual StatusCode D3PD::MultiAssociationTool< xAOD::Electron, xAOD::Jet >::resetUntyped ( const void * p)
virtualinherited

Start the iteration for a new association.

Parameters
pThe object from which to associate.

Member Data Documentation

◆ m_blockName

std::string D3PD::MultiAssociationToolImpl::m_blockName
privateinherited

Property: the name of this block.

Definition at line 122 of file MultiAssociationToolImpl.h.

◆ m_dr

float* D3PD::ElectronJetDRAssociator::m_dr
private

Variable: DR between electron and jet.

Definition at line 146 of file ElectronJetDRAssociator.h.

◆ m_drcut

double D3PD::ElectronJetDRAssociator::m_drcut
private

Property: DR cut between electrons and jets.

Definition at line 129 of file ElectronJetDRAssociator.h.

◆ m_eg

const xAOD::Electron* D3PD::ElectronJetDRAssociator::m_eg
private

Definition at line 143 of file ElectronJetDRAssociator.h.

◆ m_inputConverter

TypeConverter D3PD::MultiAssociationToolImpl::m_inputConverter
privateinherited

Helper to convert source object pointers.

Definition at line 125 of file MultiAssociationToolImpl.h.

◆ m_jetSize

unsigned int* D3PD::ElectronJetDRAssociator::m_jetSize
private

Variable: Number of jet constituents.

Definition at line 155 of file ElectronJetDRAssociator.h.

◆ m_metadata

ObjectMetadata D3PD::AddVariable::m_metadata
protectedinherited

Metadata about the variables created by this object.

Definition at line 129 of file AddVariable.h.

◆ m_prefix

std::string D3PD::MultiAssociationToolImpl::m_prefix
privateinherited

Parameter: source object prefix.

Definition at line 119 of file MultiAssociationToolImpl.h.

◆ m_ptrel

float* D3PD::ElectronJetDRAssociator::m_ptrel
private

Variable: Relative Pt between electron and jet.

Definition at line 152 of file ElectronJetDRAssociator.h.

◆ m_reducedPt

float* D3PD::ElectronJetDRAssociator::m_reducedPt
private

Variable: Jet pT with electron removed.

Definition at line 158 of file ElectronJetDRAssociator.h.

◆ m_registry

ToolHandle<ICollectionGetterRegistryTool> D3PD::ElectronJetDRAssociator::m_registry
private

Property: The ICollectionGetterRegistryTool instance.

Definition at line 136 of file ElectronJetDRAssociator.h.

◆ m_signedIP

float* D3PD::ElectronJetDRAssociator::m_signedIP
private

Variable: Signed impact parameter between electron and jet.

Definition at line 149 of file ElectronJetDRAssociator.h.

◆ m_suffix

const std::string& D3PD::AddVariable::m_suffix
privateinherited

Reference to the variable suffix.

Definition at line 137 of file AddVariable.h.

◆ m_target

ICollectionGetterTool* D3PD::ElectronJetDRAssociator::m_target
private

Getter defining the collection within which to index.

Definition at line 140 of file ElectronJetDRAssociator.h.

◆ m_targetLabel

std::string D3PD::ElectronJetDRAssociator::m_targetLabel
private

Property: Target label for the getter for the jets to which to associate.

Definition at line 123 of file ElectronJetDRAssociator.h.

◆ m_trackToVertexIPEstimator

ToolHandle< Trk::ITrackToVertexIPEstimator > D3PD::ElectronJetDRAssociator::m_trackToVertexIPEstimator { this, "TrackToVertexIPEstimator", "Trk::TrackToVertexIPEstimator", "" }
private

Property: Tool for the estimation of the IPs to the vertex.

Definition at line 132 of file ElectronJetDRAssociator.h.

133{ this, "TrackToVertexIPEstimator", "Trk::TrackToVertexIPEstimator", "" };

◆ m_tree

IAddVariable* D3PD::AddVariable::m_tree
privateinherited

Reference to the block name.

The parent IAddVariable instance.

Definition at line 143 of file AddVariable.h.

◆ m_vertexContainerName

std::string D3PD::ElectronJetDRAssociator::m_vertexContainerName
private

Property: Vertex container name.

Definition at line 126 of file ElectronJetDRAssociator.h.

◆ s_emptyString

const std::string D3PD::AddVariable::s_emptyString
staticprivateinherited

Used to provide a default value for blockName.

Definition at line 41 of file AddVariable.h.


The documentation for this class was generated from the following files: