Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::CaloHit Class Reference

CaloHit class. More...

#include "CaloHit.h"

Collaboration diagram for pandora::CaloHit:

Public Member Functions

const CartesianVectorGetPositionVector () const
 Get the position vector of center of calorimeter cell, units mm.
 
float GetX0 () const
 For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.
 
const CartesianVectorGetExpectedDirection () const
 Get the unit vector in direction of expected hit propagation.
 
const CartesianVectorGetCellNormalVector () const
 Get the unit vector normal to the sampling layer, pointing outwards from the origin.
 
CellGeometry GetCellGeometry () const
 Get the cell geometry.
 
float GetCellSize0 () const
 Get the cell size 0 [pointing: eta, rectangular: up in ENDCAP, along beam in BARREL, units mm].
 
float GetCellSize1 () const
 Get the cell size 1 [pointing: phi, rectangular: perpendicular to size 0 and thickness, units mm].
 
float GetCellThickness () const
 Get the thickness of cell, units mm.
 
float GetNCellRadiationLengths () const
 Get the absorber material in front of cell, units radiation lengths.
 
float GetNCellInteractionLengths () const
 Get the absorber material in front of cell, units interaction lengths.
 
float GetInputEnergy () const
 Get the corrected energy of the calorimeter cell, units GeV, as supplied by the user.
 
float GetTime () const
 Get the time of (earliest) energy deposition in this cell, units ns.
 
bool IsDigital () const
 Whether cell should be treated as digital.
 
HitType GetHitType () const
 Get the calorimeter hit type.
 
HitRegion GetHitRegion () const
 Get the region of the detector in which the calo hit is located.
 
unsigned int GetLayer () const
 Get the subdetector readout layer number.
 
unsigned int GetPseudoLayer () const
 Get pseudo layer for the calo hit.
 
bool IsInOuterSamplingLayer () const
 Whether cell is in one of the outermost detector sampling layers.
 
float GetMipEquivalentEnergy () const
 Get the calibrated mip equivalent energy.
 
float GetElectromagneticEnergy () const
 Get the calibrated electromagnetic energy measure.
 
float GetHadronicEnergy () const
 Get the calibrated hadronic energy measure.
 
float GetCellLengthScale () const
 Get the typical length scale of cell, units mm.
 
bool IsPossibleMip () const
 Whether the calo hit is flagged as a possible mip hit.
 
bool IsIsolated () const
 Whether the calo hit is flagged as isolated.
 
float GetWeight () const
 Get the calo hit weight, which may not be unity if the hit has been fragmented.
 
const MCParticleWeightMapGetMCParticleWeightMap () const
 Get mc particle weight map for the calo hit.
 
const void * GetParentAddress () const
 Get the address of the parent calo hit in the user framework.
 
void GetCellCorners (CartesianPointVector &cartesianPointVector) const
 Get the list of cartesian coordinates for the cell corners.
 
bool operator< (const CaloHit &rhs) const
 operator< sorting by position, then energy
 

Protected Member Functions

 CaloHit (const object_creation::CaloHit::Parameters &parameters)
 Constructor.
 
 CaloHit (const object_creation::CaloHitFragment::Parameters &parameters)
 Weighted copy constructor.
 
virtual ~CaloHit ()
 Destructor.
 
StatusCode AlterMetadata (const object_creation::CaloHit::Metadata &metadata)
 Alter the metadata information stored in a calo hit.
 
StatusCode SetPseudoLayer (const unsigned int pseudoLayer)
 Set the mc pseudo layer for the calo hit.
 
void SetMCParticleWeightMap (const MCParticleWeightMap &mcParticleWeightMap)
 Set the mc particles associated with the calo hit.
 
void RemoveMCParticles ()
 Remove the mc particles associated with the calo hit.
 
float CalculateCellLengthScale () const
 Calculate the typical length scale of the cell, units mm.
 
void GetRectangularCellCorners (CartesianPointVector &cartesianPointVector) const
 Get the list of cartesian coordinates for rectangular cell corners.
 
void GetPointingCellCorners (CartesianPointVector &cartesianPointVector) const
 Get the list of cartesian coordinates for pointing cell corners.
 
bool IsAvailable () const
 Whether the calo hit is available to be added to a cluster (access this function via PandoraContentAPI)
 
void SetAvailability (bool isAvailable)
 Set availability of calo hit to be added to a cluster.
 

Protected Attributes

CartesianVector m_positionVector
 Position vector of center of calorimeter cell, units mm.
 
float m_x0
 For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.
 
const CartesianVector m_expectedDirection
 Unit vector in direction of expected hit propagation.
 
const CartesianVector m_cellNormalVector
 Unit normal to the sampling layer, pointing outwards from the origin.
 
const CellGeometry m_cellGeometry
 The cell geometry type, pointing or rectangular.
 
const float m_cellSize0
 Cell size 0 [pointing: pseudo rapidity, eta, rectangular: up in ENDCAP, along beam in BARREL, units mm].
 
const float m_cellSize1
 Cell size 1 [pointing: azimuthal angle, phi, rectangular: perpendicular to size 0 and thickness, units mm].
 
const float m_cellThickness
 Thickness of cell, units mm.
 
const float m_nCellRadiationLengths
 Absorber material in front of cell, units radiation lengths.
 
const float m_nCellInteractionLengths
 Absorber material in front of cell, units interaction lengths.
 
const float m_time
 Time of (earliest) energy deposition in this cell, units ns.
 
const float m_inputEnergy
 Corrected energy of calorimeter cell in user framework, units GeV.
 
const float m_mipEquivalentEnergy
 The calibrated mip equivalent energy, units mip.
 
const float m_electromagneticEnergy
 The calibrated electromagnetic energy measure, units GeV.
 
const float m_hadronicEnergy
 The calibrated hadronic energy measure, units GeV.
 
const bool m_isDigital
 Whether cell should be treated as digital (implies constant cell energy)
 
const HitType m_hitType
 The type of calorimeter hit.
 
const HitRegion m_hitRegion
 Region of the detector in which the calo hit is located.
 
const unsigned int m_layer
 The subdetector readout layer number.
 
InputUInt m_pseudoLayer
 The pseudo layer to which the calo hit has been assigned.
 
const bool m_isInOuterSamplingLayer
 Whether cell is in one of the outermost detector sampling layers.
 
float m_cellLengthScale
 Typical length scale [pointing: measured at cell mid-point, rectangular: std::sqrt(cellSize0 * cellSize1), units mm ].
 
bool m_isPossibleMip
 Whether the calo hit is a possible mip hit.
 
bool m_isIsolated
 Whether the calo hit is isolated.
 
bool m_isAvailable
 Whether the calo hit is available to be added to a cluster.
 
float m_weight
 The calo hit weight, which may not be unity if the hit has been fragmented.
 
MCParticleWeightMap m_mcParticleWeightMap
 The mc particle weight map.
 
const void * m_pParentAddress
 The address of the parent calo hit in the user framework.
 

Friends

class CaloHitMetadata
 
class CaloHitManager
 
class InputObjectManager< CaloHit >
 
class PandoraObjectFactory< object_creation::CaloHit::Parameters, object_creation::CaloHit::Object >
 
class PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >
 

Detailed Description

CaloHit class.

Definition at line 25 of file CaloHit.h.

Constructor & Destructor Documentation

◆ CaloHit() [1/2]

pandora::CaloHit::CaloHit ( const object_creation::CaloHit::Parameters parameters)
protected

Constructor.

Parameters
parametersthe calo hit parameters

Definition at line 52 of file CaloHit.cc.

Here is the call graph for this function:

◆ CaloHit() [2/2]

pandora::CaloHit::CaloHit ( const object_creation::CaloHitFragment::Parameters parameters)
protected

Weighted copy constructor.

Parameters
parametersthe calo hit fragmentation parameters

Definition at line 85 of file CaloHit.cc.

◆ ~CaloHit()

pandora::CaloHit::~CaloHit ( )
protectedvirtual

Destructor.

Definition at line 121 of file CaloHit.cc.

Member Function Documentation

◆ AlterMetadata()

StatusCode pandora::CaloHit::AlterMetadata ( const object_creation::CaloHit::Metadata metadata)
protected

Alter the metadata information stored in a calo hit.

Parameters
metaDatathe metadata (only populated metadata fields will be propagated to the object)

Definition at line 127 of file CaloHit.cc.

Here is the caller graph for this function:

◆ CalculateCellLengthScale()

float pandora::CaloHit::CalculateCellLengthScale ( ) const
protected

Calculate the typical length scale of the cell, units mm.

Returns
the typical length scale of cell

Definition at line 171 of file CaloHit.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCellCorners()

void pandora::CaloHit::GetCellCorners ( CartesianPointVector cartesianPointVector) const

Get the list of cartesian coordinates for the cell corners.

Parameters
cartesianPointVectorto receive the cartesian coordinates of the cell corners

Definition at line 16 of file CaloHit.cc.

Here is the call graph for this function:

◆ GetCellGeometry()

CellGeometry pandora::CaloHit::GetCellGeometry ( ) const
inline

Get the cell geometry.

Returns
the cell geometry

Definition at line 378 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetCellLengthScale()

float pandora::CaloHit::GetCellLengthScale ( ) const
inline

Get the typical length scale of cell, units mm.

Returns
the typical length scale of cell

Definition at line 497 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetCellNormalVector()

const CartesianVector & pandora::CaloHit::GetCellNormalVector ( ) const
inline

Get the unit vector normal to the sampling layer, pointing outwards from the origin.

Returns
the normal vector

Definition at line 371 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetCellSize0()

float pandora::CaloHit::GetCellSize0 ( ) const
inline

Get the cell size 0 [pointing: eta, rectangular: up in ENDCAP, along beam in BARREL, units mm].

Returns
the cell size 0

Definition at line 385 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetCellSize1()

float pandora::CaloHit::GetCellSize1 ( ) const
inline

Get the cell size 1 [pointing: phi, rectangular: perpendicular to size 0 and thickness, units mm].

Returns
the cell size 1

Definition at line 392 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetCellThickness()

float pandora::CaloHit::GetCellThickness ( ) const
inline

Get the thickness of cell, units mm.

Returns
the thickness of cell

Definition at line 399 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetElectromagneticEnergy()

float pandora::CaloHit::GetElectromagneticEnergy ( ) const
inline

Get the calibrated electromagnetic energy measure.

Returns
the calibrated electromagnetic energy

Definition at line 483 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetExpectedDirection()

const CartesianVector & pandora::CaloHit::GetExpectedDirection ( ) const
inline

Get the unit vector in direction of expected hit propagation.

Returns
the expected direction

Definition at line 364 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetHadronicEnergy()

float pandora::CaloHit::GetHadronicEnergy ( ) const
inline

Get the calibrated hadronic energy measure.

Returns
the calibrated hadronic energy

Definition at line 490 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetHitRegion()

HitRegion pandora::CaloHit::GetHitRegion ( ) const
inline

Get the region of the detector in which the calo hit is located.

Returns
the detector region

Definition at line 448 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetHitType()

HitType pandora::CaloHit::GetHitType ( ) const
inline

Get the calorimeter hit type.

Returns
the calorimeter hit type

Definition at line 441 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetInputEnergy()

float pandora::CaloHit::GetInputEnergy ( ) const
inline

Get the corrected energy of the calorimeter cell, units GeV, as supplied by the user.

Returns
the corrected energy of the calorimeter cell

Definition at line 420 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetLayer()

unsigned int pandora::CaloHit::GetLayer ( ) const
inline

Get the subdetector readout layer number.

Returns
the subdetector readout layer number

Definition at line 455 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetMCParticleWeightMap()

const MCParticleWeightMap & pandora::CaloHit::GetMCParticleWeightMap ( ) const
inline

Get mc particle weight map for the calo hit.

Returns
the mc particle weight map

Definition at line 525 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetMipEquivalentEnergy()

float pandora::CaloHit::GetMipEquivalentEnergy ( ) const
inline

Get the calibrated mip equivalent energy.

Returns
the calibrated mip equivalent energy

Definition at line 476 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetNCellInteractionLengths()

float pandora::CaloHit::GetNCellInteractionLengths ( ) const
inline

Get the absorber material in front of cell, units interaction lengths.

Returns
the absorber material in front of cell in interaction lengths

Definition at line 413 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetNCellRadiationLengths()

float pandora::CaloHit::GetNCellRadiationLengths ( ) const
inline

Get the absorber material in front of cell, units radiation lengths.

Returns
the absorber material in front of cell in radiation lengths

Definition at line 406 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetParentAddress()

const void * pandora::CaloHit::GetParentAddress ( ) const
inline

Get the address of the parent calo hit in the user framework.

Definition at line 532 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetPointingCellCorners()

void pandora::CaloHit::GetPointingCellCorners ( CartesianPointVector cartesianPointVector) const
protected

Get the list of cartesian coordinates for pointing cell corners.

Parameters
cartesianPointVectorto receive the cartesian coordinates of the cell corners

Definition at line 221 of file CaloHit.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPositionVector()

const CartesianVector & pandora::CaloHit::GetPositionVector ( ) const
inline

Get the position vector of center of calorimeter cell, units mm.

Returns
the position vector

Definition at line 350 of file CaloHit.h.

◆ GetPseudoLayer()

unsigned int pandora::CaloHit::GetPseudoLayer ( ) const
inline

Get pseudo layer for the calo hit.

Returns
the pseudo layer

Definition at line 462 of file CaloHit.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetRectangularCellCorners()

void pandora::CaloHit::GetRectangularCellCorners ( CartesianPointVector cartesianPointVector) const
protected

Get the list of cartesian coordinates for rectangular cell corners.

Parameters
cartesianPointVectorto receive the cartesian coordinates of the cell corners

Definition at line 196 of file CaloHit.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTime()

float pandora::CaloHit::GetTime ( ) const
inline

Get the time of (earliest) energy deposition in this cell, units ns.

Returns
the time of (earliest) energy deposition in this cell

Definition at line 427 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetWeight()

float pandora::CaloHit::GetWeight ( ) const
inline

Get the calo hit weight, which may not be unity if the hit has been fragmented.

Returns
the calo hit weight

Definition at line 511 of file CaloHit.h.

Here is the caller graph for this function:

◆ GetX0()

float pandora::CaloHit::GetX0 ( ) const
inline

For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.

Returns
the x-coordinate shift

Definition at line 357 of file CaloHit.h.

◆ IsAvailable()

bool pandora::CaloHit::IsAvailable ( ) const
inlineprotected

Whether the calo hit is available to be added to a cluster (access this function via PandoraContentAPI)

Returns
boolean

Definition at line 539 of file CaloHit.h.

Here is the caller graph for this function:

◆ IsDigital()

bool pandora::CaloHit::IsDigital ( ) const
inline

Whether cell should be treated as digital.

Returns
boolean

Definition at line 434 of file CaloHit.h.

Here is the caller graph for this function:

◆ IsInOuterSamplingLayer()

bool pandora::CaloHit::IsInOuterSamplingLayer ( ) const
inline

Whether cell is in one of the outermost detector sampling layers.

Returns
boolean

Definition at line 469 of file CaloHit.h.

Here is the caller graph for this function:

◆ IsIsolated()

bool pandora::CaloHit::IsIsolated ( ) const
inline

Whether the calo hit is flagged as isolated.

Returns
boolean

Definition at line 518 of file CaloHit.h.

Here is the caller graph for this function:

◆ IsPossibleMip()

bool pandora::CaloHit::IsPossibleMip ( ) const
inline

Whether the calo hit is flagged as a possible mip hit.

Returns
boolean

Definition at line 504 of file CaloHit.h.

Here is the caller graph for this function:

◆ operator<()

bool pandora::CaloHit::operator< ( const CaloHit rhs) const

operator< sorting by position, then energy

Parameters
rhsthe object for comparison
Returns
boolean

Definition at line 34 of file CaloHit.cc.

Here is the call graph for this function:

◆ RemoveMCParticles()

void pandora::CaloHit::RemoveMCParticles ( )
protected

Remove the mc particles associated with the calo hit.

Definition at line 164 of file CaloHit.cc.

◆ SetAvailability()

void pandora::CaloHit::SetAvailability ( bool  isAvailable)
inlineprotected

Set availability of calo hit to be added to a cluster.

Parameters
isAvailablethe calo hit availability

Definition at line 546 of file CaloHit.h.

◆ SetMCParticleWeightMap()

void pandora::CaloHit::SetMCParticleWeightMap ( const MCParticleWeightMap mcParticleWeightMap)
protected

Set the mc particles associated with the calo hit.

Parameters
mcParticleWeightMapthe mc particle weight map

Definition at line 157 of file CaloHit.cc.

◆ SetPseudoLayer()

StatusCode pandora::CaloHit::SetPseudoLayer ( const unsigned int  pseudoLayer)
protected

Set the mc pseudo layer for the calo hit.

Parameters
pseudoLayerthe pseudo layer

Definition at line 147 of file CaloHit.cc.

Friends And Related Symbol Documentation

◆ CaloHitManager

friend class CaloHitManager
friend

Definition at line 342 of file CaloHit.h.

◆ CaloHitMetadata

friend class CaloHitMetadata
friend

Definition at line 341 of file CaloHit.h.

◆ InputObjectManager< CaloHit >

friend class InputObjectManager< CaloHit >
friend

Definition at line 342 of file CaloHit.h.

◆ PandoraObjectFactory< object_creation::CaloHit::Parameters, object_creation::CaloHit::Object >

◆ PandoraObjectFactory< object_creation::CaloHitFragment::Parameters, object_creation::CaloHitFragment::Object >

Member Data Documentation

◆ m_cellGeometry

const CellGeometry pandora::CaloHit::m_cellGeometry
protected

The cell geometry type, pointing or rectangular.

Definition at line 316 of file CaloHit.h.

◆ m_cellLengthScale

float pandora::CaloHit::m_cellLengthScale
protected

Typical length scale [pointing: measured at cell mid-point, rectangular: std::sqrt(cellSize0 * cellSize1), units mm ].

Definition at line 333 of file CaloHit.h.

◆ m_cellNormalVector

const CartesianVector pandora::CaloHit::m_cellNormalVector
protected

Unit normal to the sampling layer, pointing outwards from the origin.

Definition at line 315 of file CaloHit.h.

◆ m_cellSize0

const float pandora::CaloHit::m_cellSize0
protected

Cell size 0 [pointing: pseudo rapidity, eta, rectangular: up in ENDCAP, along beam in BARREL, units mm].

Definition at line 317 of file CaloHit.h.

◆ m_cellSize1

const float pandora::CaloHit::m_cellSize1
protected

Cell size 1 [pointing: azimuthal angle, phi, rectangular: perpendicular to size 0 and thickness, units mm].

Definition at line 318 of file CaloHit.h.

◆ m_cellThickness

const float pandora::CaloHit::m_cellThickness
protected

Thickness of cell, units mm.

Definition at line 319 of file CaloHit.h.

◆ m_electromagneticEnergy

const float pandora::CaloHit::m_electromagneticEnergy
protected

The calibrated electromagnetic energy measure, units GeV.

Definition at line 325 of file CaloHit.h.

◆ m_expectedDirection

const CartesianVector pandora::CaloHit::m_expectedDirection
protected

Unit vector in direction of expected hit propagation.

Definition at line 314 of file CaloHit.h.

◆ m_hadronicEnergy

const float pandora::CaloHit::m_hadronicEnergy
protected

The calibrated hadronic energy measure, units GeV.

Definition at line 326 of file CaloHit.h.

◆ m_hitRegion

const HitRegion pandora::CaloHit::m_hitRegion
protected

Region of the detector in which the calo hit is located.

Definition at line 329 of file CaloHit.h.

◆ m_hitType

const HitType pandora::CaloHit::m_hitType
protected

The type of calorimeter hit.

Definition at line 328 of file CaloHit.h.

◆ m_inputEnergy

const float pandora::CaloHit::m_inputEnergy
protected

Corrected energy of calorimeter cell in user framework, units GeV.

Definition at line 323 of file CaloHit.h.

◆ m_isAvailable

bool pandora::CaloHit::m_isAvailable
protected

Whether the calo hit is available to be added to a cluster.

Definition at line 336 of file CaloHit.h.

◆ m_isDigital

const bool pandora::CaloHit::m_isDigital
protected

Whether cell should be treated as digital (implies constant cell energy)

Definition at line 327 of file CaloHit.h.

◆ m_isInOuterSamplingLayer

const bool pandora::CaloHit::m_isInOuterSamplingLayer
protected

Whether cell is in one of the outermost detector sampling layers.

Definition at line 332 of file CaloHit.h.

◆ m_isIsolated

bool pandora::CaloHit::m_isIsolated
protected

Whether the calo hit is isolated.

Definition at line 335 of file CaloHit.h.

◆ m_isPossibleMip

bool pandora::CaloHit::m_isPossibleMip
protected

Whether the calo hit is a possible mip hit.

Definition at line 334 of file CaloHit.h.

◆ m_layer

const unsigned int pandora::CaloHit::m_layer
protected

The subdetector readout layer number.

Definition at line 330 of file CaloHit.h.

◆ m_mcParticleWeightMap

MCParticleWeightMap pandora::CaloHit::m_mcParticleWeightMap
protected

The mc particle weight map.

Definition at line 338 of file CaloHit.h.

◆ m_mipEquivalentEnergy

const float pandora::CaloHit::m_mipEquivalentEnergy
protected

The calibrated mip equivalent energy, units mip.

Definition at line 324 of file CaloHit.h.

◆ m_nCellInteractionLengths

const float pandora::CaloHit::m_nCellInteractionLengths
protected

Absorber material in front of cell, units interaction lengths.

Definition at line 321 of file CaloHit.h.

◆ m_nCellRadiationLengths

const float pandora::CaloHit::m_nCellRadiationLengths
protected

Absorber material in front of cell, units radiation lengths.

Definition at line 320 of file CaloHit.h.

◆ m_positionVector

CartesianVector pandora::CaloHit::m_positionVector
protected

Position vector of center of calorimeter cell, units mm.

Definition at line 312 of file CaloHit.h.

◆ m_pParentAddress

const void* pandora::CaloHit::m_pParentAddress
protected

The address of the parent calo hit in the user framework.

Definition at line 339 of file CaloHit.h.

◆ m_pseudoLayer

InputUInt pandora::CaloHit::m_pseudoLayer
protected

The pseudo layer to which the calo hit has been assigned.

Definition at line 331 of file CaloHit.h.

◆ m_time

const float pandora::CaloHit::m_time
protected

Time of (earliest) energy deposition in this cell, units ns.

Definition at line 322 of file CaloHit.h.

◆ m_weight

float pandora::CaloHit::m_weight
protected

The calo hit weight, which may not be unity if the hit has been fragmented.

Definition at line 337 of file CaloHit.h.

◆ m_x0

float pandora::CaloHit::m_x0
protected

For LArTPC usage, the x-coordinate shift associated with a drift time t0 shift, units mm.

Definition at line 313 of file CaloHit.h.


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