ATLAS Offline Software
|
Associate all particles within a DR cut. More...
#include <TruthParticleParentAssociationTool.h>
Public Types | |
typedef MultiAssociationTool< xAOD::TruthParticle > | Base |
Public Member Functions | |
TruthParticleParentAssociationTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard Gaudi tool constructor. More... | |
virtual StatusCode | initialize () |
Standard Gaudi initialize method. More... | |
virtual StatusCode | reset (const xAOD::TruthParticle &p) |
Start the iteration for a new association. More... | |
virtual const xAOD::TruthParticle * | next () |
Return a pointer to the next element in the association. More... | |
virtual const std::type_info & | fromTypeinfo () const |
Return the std::type_info for the source of the association. More... | |
virtual const std::type_info & | fromTypeinfo () const =0 |
Return the std::type_info for the source of the association. More... | |
virtual StatusCode | resetUntyped (const void *p) |
Start the iteration for a new association. More... | |
virtual const std::type_info & | elementTypeinfo () const |
Return the element type for the target of the association. More... | |
virtual const void * | nextUntyped () |
Return a pointer to the next element in the association. More... | |
virtual void | releaseElementUntyped (const void *p) |
Release an object retrieved from the association. More... | |
virtual void | releaseElement (const xAOD::TruthParticle *p) |
Release an object retrieved from the association. More... | |
MultiAssociationToolImpl (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard Gaudi tool constructor. More... | |
virtual StatusCode | configureD3PD (IAddVariable *tree, const std::type_info &ti) |
Configure during initialization: type-check. More... | |
StatusCode | configureD3PD (IAddVariable *tree) |
Configure the parent tree. More... | |
virtual StatusCode | book () |
Create any needed tuple variables. More... | |
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. More... | |
template<class T > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring="") |
Make the template implementation from IAddVariable visible. More... | |
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. More... | |
virtual StatusCode | addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)=0 |
Make the template implementation from IAddVariable visible. More... | |
template<class T > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring="") |
Add a variable to the tuple. More... | |
template<class T , class U > | |
StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval) |
Add a variable to the tuple. More... | |
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. More... | |
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. More... | |
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. More... | |
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)=0 |
Add a variable to the tuple. More... | |
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. More... | |
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. More... | |
Protected Member Functions | |
const void * | doConversion (const void *p) |
Helper to convert pointers to source objects. More... | |
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. More... | |
Protected Attributes | |
ObjectMetadata | m_metadata |
Metadata about the variables created by this object. More... | |
Private Attributes | |
std::vector< const xAOD::TruthParticle * > | m_parents |
Vector of parent pointers. More... | |
unsigned int | m_i |
Current index. More... | |
std::string | m_prefix |
Parameter: source object prefix. More... | |
std::string | m_blockName |
Property: the name of this block. More... | |
TypeConverter | m_inputConverter |
Helper to convert source object pointers. More... | |
const std::string & | m_suffix |
Reference to the variable suffix. More... | |
IAddVariable * | m_tree |
Reference to the block name. More... | |
Static Private Attributes | |
static const std::string | s_emptyString |
Used to provide a default value for blockName. More... | |
Associate all particles within a DR cut.
This is a multiple association tool. Given an TruthParticle
object return all of its parents.
Definition at line 35 of file TruthParticleParentAssociationTool.h.
Definition at line 39 of file TruthParticleParentAssociationTool.h.
|
virtualinherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer 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.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer 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
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer 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
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
defval | Pointer 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
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
dim | Dimension for the variable. (Presently unimplemented!) |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
virtualinherited |
Add a variable to the tuple.
name | The name of the variable. |
type | The type of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
defval | Pointer 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.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
defval | Pointer 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
.
|
inherited |
Make the template implementation from IAddVariable
visible.
|
inherited |
Add a variable to the tuple.
name | The name of the variable. |
ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill() . |
docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr
.
|
virtualinherited |
Create any needed tuple variables.
This is called at the start of the first event. The default implementation is a no-op.
Reimplemented in D3PD::ElectronJetDRAssociator, and D3PD::VertexTrackParticleAssociationTool.
Definition at line 92 of file MultiAssociationToolImpl.cxx.
|
inherited |
Configure the parent tree.
tree | The parent IAddVariable instance. |
Definition at line 61 of file AddVariable.cxx.
|
virtualinherited |
Configure during initialization: type-check.
tree | Our parent for tuple making. |
ti | Gives 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 in D3PD::ElectronJetDRAssociator, and D3PD::MultiAssociationTool< Types< T0 >, TO_T >.
Definition at line 51 of file MultiAssociationToolImpl.cxx.
|
protectedinherited |
Configure during initialization: type-check.
Alternate implementation for the case where we have to choose among multiple possible input types.
tree | Our parent for tuple making. | |
ti | Gives the type of the object being passed to getUntyped . | |
tis | List of possible input types that we can accept. | |
[out] | which | Index 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.
Helper to convert pointers to source objects.
p | Source 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.
|
virtualinherited |
Return the element type for the target of the association.
I.e., nextUntyped
returns a pointer to this type.
|
virtualinherited |
Return the std::type_info
for the source of the association.
|
pure virtualinherited |
Return the std::type_info
for the source of the association.
Implemented in D3PD::MultiAssociationTool< Types< T0 >, TO_T >, and D3PD::MultiAssociationTool< FROM_T, TO_T >.
|
virtual |
Standard Gaudi initialize method.
Definition at line 40 of file TruthParticleParentAssociationTool.cxx.
|
inherited |
Standard Gaudi tool constructor.
type | The name of the tool type. |
name | The tool name. |
parent | The tool's Gaudi parent. |
Definition at line 39 of file MultiAssociationToolImpl.cxx.
|
virtual |
Return a pointer to the next element in the association.
Return 0 when the association has been exhausted.
Implements D3PD::MultiAssociationToolTo< xAOD::TruthParticle >.
Definition at line 73 of file TruthParticleParentAssociationTool.cxx.
|
virtualinherited |
Return a pointer to the next element in the association.
Return 0 when the association has been exhausted.
|
virtualinherited |
Release an object retrieved from the association.
p | The 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.
|
virtualinherited |
Release an object retrieved from the association.
p | The 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.
|
virtual |
Start the iteration for a new association.
p | The object from which to associate. |
Implements D3PD::MultiAssociationTool< xAOD::TruthParticle >.
Definition at line 51 of file TruthParticleParentAssociationTool.cxx.
|
virtualinherited |
Start the iteration for a new association.
p | The object from which to associate. |
|
privateinherited |
Property: the name of this block.
Definition at line 122 of file MultiAssociationToolImpl.h.
|
private |
Current index.
Definition at line 77 of file TruthParticleParentAssociationTool.h.
|
privateinherited |
Helper to convert source object pointers.
Definition at line 125 of file MultiAssociationToolImpl.h.
|
protectedinherited |
Metadata about the variables created by this object.
Definition at line 129 of file AddVariable.h.
|
private |
Vector of parent pointers.
Definition at line 74 of file TruthParticleParentAssociationTool.h.
|
privateinherited |
Parameter: source object prefix.
Definition at line 119 of file MultiAssociationToolImpl.h.
|
privateinherited |
Reference to the variable suffix.
Definition at line 137 of file AddVariable.h.
|
privateinherited |
Reference to the block name.
The parent IAddVariable
instance.
Definition at line 143 of file AddVariable.h.
|
staticprivateinherited |
Used to provide a default value for blockName.
Definition at line 41 of file AddVariable.h.