ATLAS Offline Software
|
Associate from a VxCandidate to its perigee at primary vertex. More...
#include <TrackParticlePerigeeAtPVAssociationTool.h>
Public Types | |
typedef SingleAssociationTool< Types< Rec::TrackParticle, xAOD::TrackParticle >, Trk::TrackParameters > | Base |
Public Member Functions | |
TrackParticlePerigeeAtPVAssociationTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard Gaudi tool constructor. More... | |
virtual StatusCode | initialize () override |
virtual const Trk::TrackParameters * | get (const Rec::TrackParticle &p) override |
Return the target object. More... | |
virtual const Trk::TrackParameters * | get (const xAOD::TrackParticle &p) override |
Return the target object. More... | |
virtual void | releaseObject (const Trk::TrackParameters *p) override |
Release an object retrieved from the association. More... | |
virtual const void * | getUntyped (const void *p) |
Return the target object. 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 const Trk::TrackParameters * | get (const Types< Rec::TrackParticle, xAOD::TrackParticle > &p)=0 |
Return the target object. More... | |
virtual const std::type_info & | typeinfo () const |
Return the type of object retrieved by this tool. More... | |
virtual void | releaseObject (const typename SelectType< Trk::TrackParameters, 0 >::type *p) |
Release an object retrieved from the association. More... | |
virtual void | releaseObjectUntyped (const void *p) |
Release an object retrieved from the association. More... | |
virtual StatusCode | configureD3PD (D3PD::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::string | m_vxCandidate |
ToolHandle< Reco::ITrackToVertex > | m_trackToVertexTool { this, "TrackToVertexTool", "Reco::TrackToVertex", "" } |
SGKeyResolver | m_resolver |
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 from a VxCandidate to its perigee at primary vertex.
Definition at line 31 of file TrackParticlePerigeeAtPVAssociationTool.h.
typedef SingleAssociationTool<Types<Rec::TrackParticle, xAOD::TrackParticle>, Trk::TrackParameters> D3PD::TrackParticlePerigeeAtPVAssociationTool::Base |
Definition at line 35 of file TrackParticlePerigeeAtPVAssociationTool.h.
D3PD::TrackParticlePerigeeAtPVAssociationTool::TrackParticlePerigeeAtPVAssociationTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Standard Gaudi tool constructor.
type | The name of the tool type. |
name | The tool name. |
parent | The tool's Gaudi parent. |
Definition at line 27 of file TrackParticlePerigeeAtPVAssociationTool.cxx.
|
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::DRAssociationTool, D3PD::TrackParticleVertexAssociationTool, D3PD::egammaGenParticleAssociationTool, and D3PD::MuonGenParticleAssociationTool.
Definition at line 92 of file SingleAssociationToolImpl.cxx.
|
virtualinherited |
Configure during initialization: type-check.
tree | Our parent for tuple making. |
ti | Gives the type of the object being passed to getUntyped . |
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.
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::DRAssociationTool, D3PD::SingleAssociationTool< Types< T0 >, TO_T >, and D3PD::IdentityAssociationTool.
Definition at line 51 of file SingleAssociationToolImpl.cxx.
|
inherited |
Configure the parent tree.
tree | The parent IAddVariable instance. |
Definition at line 61 of file AddVariable.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 SingleAssociationToolImpl.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 . |
p | Source object, as a pointer to the type passed to configureD3PD . return Source object, as a pointer to the type given by typeinfoFrom . |
Definition at line 103 of file SingleAssociationToolImpl.cxx.
|
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::SingleAssociationTool< Types< T0 >, TO_T >, D3PD::SingleAssociationTool< FROM_T, TO_T >, and D3PD::IdentityAssociationTool.
|
overridevirtual |
Return the target object.
p | The source object for the association. |
Return the target of the association, or 0.
track | The source object for the association. |
Return the target of the association, or 0.
Definition at line 55 of file TrackParticlePerigeeAtPVAssociationTool.cxx.
|
pure virtualinherited |
Return the target object.
p | The source object for the association. |
Return the target of the association, or 0.
|
overridevirtual |
Return the target object.
p | The source object for the association. |
Return the target of the association, or 0.
track | The source object for the association. |
Return the target of the association, or 0.
Definition at line 93 of file TrackParticlePerigeeAtPVAssociationTool.cxx.
|
virtualinherited |
Return the target object.
p | The source object for the association. |
Return the target of the association, or 0. Should be of the type given by typeinfo
.
|
overridevirtual |
Definition at line 39 of file TrackParticlePerigeeAtPVAssociationTool.cxx.
|
overridevirtual |
Release an object retrieved from the association.
p | The object to release. |
Call this when you are done with the object returned by get()
. The default implementation is a no-op, but since the association dynamically allocates the object which it returned, this gives it a chance to free it.
Definition at line 127 of file TrackParticlePerigeeAtPVAssociationTool.cxx.
|
virtualinherited |
Release an object retrieved from the association.
p | The object to release. |
Call this when you are done with the object returned by get()
. 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 getUntyped()
. 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 |
Return the type of object retrieved by this tool.
|
privateinherited |
Property: the name of this block.
Definition at line 121 of file SingleAssociationToolImpl.h.
|
privateinherited |
Helper to convert source object pointers.
Definition at line 124 of file SingleAssociationToolImpl.h.
|
protectedinherited |
Metadata about the variables created by this object.
Definition at line 129 of file AddVariable.h.
|
privateinherited |
Parameter: source object prefix.
Definition at line 118 of file SingleAssociationToolImpl.h.
|
private |
Definition at line 81 of file TrackParticlePerigeeAtPVAssociationTool.h.
|
privateinherited |
Reference to the variable suffix.
Definition at line 137 of file AddVariable.h.
|
private |
Definition at line 77 of file TrackParticlePerigeeAtPVAssociationTool.h.
|
privateinherited |
Reference to the block name.
The parent IAddVariable
instance.
Definition at line 143 of file AddVariable.h.
|
private |
Definition at line 74 of file TrackParticlePerigeeAtPVAssociationTool.h.
|
staticprivateinherited |
Used to provide a default value for blockName.
Definition at line 41 of file AddVariable.h.