8#ifndef PANDORA_OBJECT_CREATION_H
9#define PANDORA_OBJECT_CREATION_H 1
17 class Algorithm;
class Pandora;
18 template <
typename Parameters,
typename Object>
class ObjectFactory;
19 template <
typename Parameters,
typename Object>
class PandoraObjectFactory;
34template <
typename PARAMETERS,
typename METADATA,
typename OBJECT>
393template <
typename PARAMETERS,
typename OBJECT>
Header file defining relevant internal typedefs, sort and string conversion functions.
Header file defining status codes and relevant preprocessor macros.
CaloHit fragment creation class.
const pandora::CaloHit * m_pOriginalCaloHit
The address of the original calo hit.
pandora::InputFloat m_weight
The weight to be assigned to the fragment.
pandora::InputCellGeometry m_cellGeometry
The cell geometry type, pointing or rectangular.
pandora::InputCartesianVector m_cellNormalVector
Unit normal to sampling layer, pointing outwards from the origin.
pandora::InputFloat m_electromagneticEnergy
The calibrated electromagnetic energy measure, units GeV.
pandora::InputUInt m_layer
The subdetector readout layer number.
pandora::InputFloat m_cellSize1
Cell size 1 [pointing: phi, rectangular: perpendicular to size 0 and thickness, units mm].
pandora::InputBool m_isDigital
Whether cell should be treated as digital.
pandora::InputFloat m_nCellInteractionLengths
Absorber material in front of cell, units interaction lengths.
pandora::InputHitType m_hitType
The type of calorimeter hit.
pandora::InputHitRegion m_hitRegion
Region of the detector in which the calo hit is located.
pandora::InputAddress m_pParentAddress
Address of the parent calo hit in the user framework.
pandora::InputBool m_isInOuterSamplingLayer
Whether cell is in one of the outermost detector sampling layers.
pandora::InputFloat m_mipEquivalentEnergy
The calibrated mip equivalent energy, units mip.
pandora::InputFloat m_hadronicEnergy
The calibrated hadronic energy measure, units GeV.
pandora::InputFloat m_inputEnergy
Corrected energy of calorimeter cell in user framework, units GeV.
pandora::InputFloat m_nCellRadiationLengths
Absorber material in front of cell, units radiation lengths.
pandora::InputFloat m_cellSize0
Cell size 0 [pointing: eta, rectangular: up in ENDCAP, along beam in BARREL, units mm].
pandora::InputCartesianVector m_positionVector
Position vector of center of calorimeter cell, units mm.
pandora::InputCartesianVector m_expectedDirection
Unit vector in direction of expected hit propagation.
pandora::InputFloat m_time
Time of (earliest) energy deposition in this cell, units ns.
pandora::InputFloat m_cellThickness
Cell thickness, units mm.
ClusterParameters class. To build a cluster must provide at least one hit (which may be isolated) or ...
pandora::InputTrackAddress m_pTrack
The address of the track seeding the cluster.
pandora::CaloHitList m_isolatedCaloHitList
The isolated calo hit(s) to include.
pandora::CaloHitList m_caloHitList
The calo hit(s) to include.
pandora::InputCartesianVector m_side2
Cartesian vector describing second side meeting vertex, units mm.
pandora::InputCartesianVector m_side1
Cartesian vector describing first side meeting vertex, units mm.
pandora::InputCartesianVector m_side3
Cartesian vector describing third side meeting vertex, units mm.
pandora::InputCartesianVector m_vertex
Cartesian coordinates of a gap vertex, units mm.
ConcentricGapParameters class.
pandora::InputFloat m_innerPhiCoordinate
Inner cylindrical polar phi coordinate (angle wrt cartesian x axis)
pandora::InputUInt m_outerSymmetryOrder
Order of symmetry of the outermost edge of gap.
pandora::InputFloat m_maxZCoordinate
Max cylindrical polar z coordinate, origin interaction point, units mm.
pandora::InputFloat m_innerRCoordinate
Inner cylindrical polar r coordinate, origin interaction point, units mm.
pandora::InputFloat m_outerRCoordinate
Outer cylindrical polar r coordinate, origin interaction point, units mm.
pandora::InputFloat m_outerPhiCoordinate
Outer cylindrical polar phi coordinate (angle wrt cartesian x axis)
pandora::InputFloat m_minZCoordinate
Min cylindrical polar z coordinate, origin interaction point, units mm.
pandora::InputUInt m_innerSymmetryOrder
Order of symmetry of the innermost edge of gap.
pandora::InputFloat m_widthX
The width in x, units mm.
pandora::InputFloat m_widthY
The width in y, units mm.
pandora::InputBool m_isDriftInPositiveX
Whether the electron drift is in the positive x direction.
pandora::InputFloat m_centerY
The center in y, units mm.
pandora::InputFloat m_centerZ
The center in z, units mm.
pandora::InputFloat m_centerX
The center in x, units mm.
pandora::InputFloat m_widthZ
The width in z, units mm.
pandora::InputFloat m_wireAngleW
The w wire angle to the vertical, units radians.
pandora::InputFloat m_wirePitchV
The v wire pitch, units mm.
pandora::InputUInt m_larTPCVolumeId
The lar tpc volume id, must uniquely specify a single lar tpc.
pandora::InputFloat m_wireAngleV
The v wire angle to the vertical, units radians.
pandora::InputFloat m_sigmaUVW
The u, v, w resolution, units mm.
pandora::InputFloat m_wirePitchU
The u wire pitch, units mm.
pandora::InputFloat m_wirePitchW
The w wire pitch, units mm.
pandora::InputFloat m_wireAngleU
The u wire angle to the vertical, units radians.
pandora::InputFloat m_closestDistanceToIp
Closest distance of the layer from the interaction point, units mm.
pandora::InputFloat m_nRadiationLengths
Absorber material in front of layer, units radiation lengths.
pandora::InputFloat m_nInteractionLengths
Absorber material in front of layer, units interaction lengths.
pandora::InputFloat m_lineEndZ
The line end z coordinate, units mm.
pandora::InputFloat m_lineStartX
The line start x coordinate, units mm.
pandora::InputFloat m_lineEndX
The line end x coordinate, units mm.
pandora::InputLineGapType m_lineGapType
The type of line gap, e.g. TPC wire-type gap (u, v, w), or drift-type gap.
pandora::InputFloat m_lineStartZ
The line start z coordinate, units mm.
SubDetectorParameters class.
pandora::InputFloat m_innerRCoordinate
Inner cylindrical polar r coordinate, origin interaction point, units mm.
pandora::InputString m_subDetectorName
The sub detector name, must uniquely specify a single sub detector.
pandora::InputUInt m_innerSymmetryOrder
Order of symmetry of the innermost edge of subdetector.
pandora::InputUInt m_outerSymmetryOrder
Order of symmetry of the outermost edge of subdetector.
pandora::InputSubDetectorType m_subDetectorType
The sub detector type, e.g. ECAL_BARREL, HCAL_ENDCAP, TPC, etc.
pandora::InputFloat m_innerPhiCoordinate
Inner cylindrical polar phi coordinate (angle wrt cartesian x axis)
pandora::InputFloat m_outerRCoordinate
Outer cylindrical polar r coordinate, origin interaction point, units mm.
pandora::InputFloat m_outerPhiCoordinate
Outer cylindrical polar phi coordinate (angle wrt cartesian x axis)
pandora::InputUInt m_nLayers
The number of layers in the detector section.
pandora::InputFloat m_outerZCoordinate
Outer cylindrical polar z coordinate, origin interaction point, units mm.
pandora::InputFloat m_innerZCoordinate
Inner cylindrical polar z coordinate, origin interaction point, units mm.
LayerParametersVector m_layerParametersVector
The vector of layer parameters for the detector section.
pandora::InputBool m_isMirroredInZ
Whether to construct a second subdetector, via reflection in z=0 plane.
MCParticleParameters class.
pandora::InputFloat m_energy
The energy of the MC particle, units GeV.
pandora::InputAddress m_pParentAddress
Address of the parent MC particle in the user framework.
pandora::InputCartesianVector m_momentum
The momentum of the MC particle, units GeV.
pandora::InputMCParticleType m_mcParticleType
The type of mc particle, e.g. vertex, 2D-projection, etc.
pandora::InputCartesianVector m_vertex
The production vertex of the MC particle, units mm.
pandora::InputCartesianVector m_endpoint
The endpoint of the MC particle, units mm.
pandora::InputInt m_particleId
The MC particle's ID (PDG code)
Object creation helper class.
static pandora::StatusCode Create(const pandora::Algorithm &algorithm, const Parameters ¶meters, const Object *&pObject, const pandora::ObjectFactory< Parameters, Object > &factory=pandora::PandoraObjectFactory< Parameters, Object >())
Create a new object from a user factory, receiving the address of the object created.
static pandora::StatusCode Create(const pandora::Pandora &pandora, const Parameters ¶meters, const pandora::ObjectFactory< Parameters, Object > &factory=pandora::PandoraObjectFactory< Parameters, Object >())
Create a new object from a user factory.
static pandora::StatusCode AlterMetadata(const pandora::Algorithm &algorithm, const Object *const pObject, const Metadata &metadata)
Alter the metadata information stored in an object.
virtual ~ObjectParameters()
ParticleFlowObjectCreation class.
pandora::VertexList m_vertexList
The vertices in the particle flow object.
pandora::ClusterList m_clusterList
The clusters in the particle flow object.
pandora::TrackList m_trackList
The tracks in the particle flow object.
ParticleFlowObjectMetadata class.
pandora::InputFloat m_mass
The particle flow object mass.
pandora::StringVector m_propertiesToRemove
The vector of pfo property names to remove.
pandora::InputInt m_particleId
The particle flow object id (PDG code)
pandora::InputFloat m_energy
The particle flow object energy.
pandora::PropertiesMap m_propertiesToAdd
The mapping from pfo property names to new values.
pandora::InputCartesianVector m_momentum
The particle flow object momentum.
pandora::InputInt m_charge
The particle flow object charge.
pandora::InputInt m_particleId
The PDG code of the tracked particle.
pandora::InputBool m_reachesCalorimeter
Whether the track actually reaches the calorimeter.
pandora::InputInt m_charge
The charge of the tracked particle.
pandora::InputFloat m_mass
The mass of the tracked particle, units GeV.
pandora::InputBool m_canFormPfo
Whether track should form a pfo, if it has an associated cluster.
pandora::InputBool m_canFormClusterlessPfo
Whether track should form a pfo, even if it has no associated cluster.
pandora::InputTrackState m_trackStateAtEnd
Track state at the end of the track, units mm and GeV.
pandora::InputTrackState m_trackStateAtStart
Track state at the start of the track, units mm and GeV.
pandora::InputFloat m_z0
The z coordinate at the 2D distance of closest approach, units mm.
pandora::InputCartesianVector m_momentumAtDca
Track momentum at the 2D distance of closest approach, units GeV.
pandora::InputBool m_isProjectedToEndCap
Whether the calorimeter projection is to an endcap.
pandora::InputFloat m_timeAtCalorimeter
The (sometimes projected) time at the calorimeter, units ns.
pandora::InputTrackState m_trackStateAtCalorimeter
The (sometimes projected) track state at the calorimeter, units mm and GeV.
pandora::InputFloat m_d0
The 2D impact parameter wrt (0,0), units mm.
pandora::InputAddress m_pParentAddress
Address of the parent track in the user framework.
pandora::InputCartesianVector m_position
The vertex position.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
ObjectFactory class responsible for extended pandora object creation.
PandoraObjectFactory class.
ParticleFlowObject class.
ObjectCreationHelper< ConcentricGapParameters, ObjectMetadata, pandora::ConcentricGap > ConcentricGap
ObjectCreationHelper< BoxGapParameters, ObjectMetadata, pandora::BoxGap > BoxGap
std::vector< LayerParameters > LayerParametersVector
ObjectCreationHelper< SubDetectorParameters, ObjectMetadata, pandora::SubDetector > SubDetector
TypedefHelper< CaloHitFragmentParameters, pandora::CaloHit > CaloHitFragment
ObjectCreationHelper< LineGapParameters, ObjectMetadata, pandora::LineGap > LineGap
ObjectCreationHelper< LArTPCParameters, ObjectMetadata, pandora::LArTPC > LArTPC
Type definition helper class.
MANAGED_CONTAINER< const Cluster * > ClusterList
std::vector< std::string > StringVector
MANAGED_CONTAINER< const CaloHit * > CaloHitList
MANAGED_CONTAINER< const Track * > TrackList
MANAGED_CONTAINER< const Vertex * > VertexList
std::map< std::string, float > PropertiesMap
StatusCode
The StatusCode enum.