ATLAS Offline Software
|
Implementation of navigation and kinematics for CaloCluster and CaloTower. More...
#include <CaloEnergyCluster.h>
Public Member Functions | |
virtual | ~CaloEnergyCluster () |
Destructor. More... | |
virtual double | energy () const |
Return energy. More... | |
virtual double | getBasicEnergy () const |
Return uncalibrated energy. More... | |
virtual void | setBasicEnergy (double theEnergy) |
Set uncalibrated energy. More... | |
void | addCell (const CaloCellContainer *theContainer, const CaloCell *theCell, double weight) |
Add a cell with global kinematic update (slow) More... | |
void | addCell (const CaloCellContainer *theContainer, index_type theIndex, double weight) |
Add a cell with global kinematic update (fast) More... | |
virtual void | addUniqueCell (const CaloCellContainer *theContainer, index_type theIndex, double weight, size_t size_hint=0) |
Add a cell with global kinematic update (fast) More... | |
void | addUniqueCellNoKine (const CaloCellContainer *theContainer, index_type theIndex, double weight, size_t size_hint=0) |
Add a cell (very fast) More... | |
void | addUniqueCellNoKine (const CaloCellContainer *theContainer, index_type theIndex, IProxyDict *sg, double weight, size_t size_hint=0) |
Add a cell (very fast) More... | |
void | addUniqueCellNoKine (const ElementLink< CaloCellContainer > &theContainer, index_type theIndex, double weight, size_t size_hint=0) |
Add a cell (fastest) More... | |
void | reweightCell (const CaloCell *theCell, double weight) |
Reweight a cell with kinematic update. More... | |
void | reweightCell (const CaloCellContainer *theContainer, index_type &theIndex, double weight) |
Reweight a cell with kinematic update. More... | |
void | reweightCell (cell_iterator &iterCell, double weight) |
Reweight a cell with kinematic update. More... | |
void | removeCell (const CaloCell *theCell) |
Remove a cell with kinematic update. More... | |
void | removeCell (const CaloCellContainer *theContainer, index_type &theIndex) |
Remove a cell with kinematic update. More... | |
void | removeCells () |
Remove all cells without kinematic update. More... | |
double | getCellWeight (const CaloCell *theCell) const |
Retrieve the kinematic weight of a given cell. More... | |
double | getCellWeight (const CaloCellContainer *theContainer, index_type &theIndex) const |
Retrieve the kinematic weight of a given cell. More... | |
double | getCellWeight (cell_iterator &iterCell) const |
Retrieve the kinematic weight of a given cell. More... | |
const CaloCellContainer * | getCellContainer (const CaloCell *theCell) const |
Retrieve the pointer to the original cell container for a given cell. More... | |
bool | getCellIndex (const CaloCell *theCell, index_type &theIndex) const |
Retrieve the index of a given cell in the cell container. More... | |
cell_iterator | cell_begin () const |
Retrieve a STL-type begin() iterator for the cell store. More... | |
cell_iterator | cell_end () const |
Retrieve a STL-type end() iterator for the cell store. More... | |
unsigned int | getNumberOfCells () const |
Return the number of cells in the store. More... | |
void | setRecoStatus (CaloRecoStatus::StatusIndicator recStatus) |
Set the reconstruction status. More... | |
const CaloRecoStatus & | getRecoStatus () const |
Retrieve the reconstruction status. More... | |
virtual void | fillToken (INavigationToken &navToken) const |
virtual void | fillToken (INavigationToken &navToken, const std::any &parentParameter) const |
void | putElement (const CaloCellContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0) |
void | putElement (const CaloCellContainer *objectContainer, const external_index_type &theIndex, const double &objectParameter=double(), size_t sizeHint=0) |
void | insertElement (const CaloCellContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0) |
void | insertElement (const CaloCellContainer *objectContainer, const external_index_type &theIndex, const double &objectParameter=double(), size_t sizeHint=0) |
void | insertElement (const CaloCellContainer *objectContainer, const external_index_type &theIndex, IProxyDict *sg, const double &objectParameter=double(), size_t sizeHint=0) |
void | insertElement (const ElementLink< CaloCellContainer > &el, const double &objectParameter=double(), size_t sizeHint=0) |
void | reweight (const constituent_type *constituentObject, const double &objectParameter=double()) |
void | reweight (const CaloCellContainer *objectContainer, const external_index_type &theIndex, const double &objectParameter=double()) |
void | reweight (object_iter &objectIter, const double &objectParameter=double()) |
bool | remove (const constituent_type *aConstituent) |
bool | remove (const CaloCellContainer *objectContainer, const external_index_type &theIndex) |
bool | removeAll () |
bool | replace (const CaloCellContainer *newObjectContainer) |
replace old object container with a new container assumes that all objects have been or will be inserted to the new container More... | |
bool | contains (const constituent_type *aConstituent) const |
bool | contains (const CaloCellContainer *objectContainer, const external_index_type &theIndex) const |
virtual object_iter | begin () const |
virtual object_iter | end () const |
virtual unsigned int | size () const |
double | getParameter (const constituent_type *aConstituent) const |
double | getParameter (const CaloCellContainer *objectContainer, const external_index_type &theIndex) const |
double | getParameter (object_iter &theIter) const |
const CaloCellContainer * | getContainer (const constituent_type *aConstituent) const |
const CaloCellContainer * | getContainer (constituent_const_iter anIter) const |
const CaloCellContainer * | getContainer (object_iter objectIter) const |
bool | getIndex (const constituent_type *aConstituent, external_index_type &theIndex) const |
bool | getIndex (constituent_const_iter anIter, external_index_type &theIndex) const |
bool | getIndex (object_iter objectIter, external_index_type &theIndex) const |
virtual double | e () const |
get energy data member More... | |
virtual double | eta () const |
get eta data member More... | |
virtual double | phi () const |
get phi data member More... | |
virtual double | m () const |
get mass data member More... | |
virtual void | setE (double theE) |
set energy data member More... | |
virtual void | setEta (double theEta) |
set eta data member More... | |
virtual void | setPhi (double thePhi) |
set phi data member More... | |
virtual void | setM (double theM) |
set mass data member More... | |
virtual void | set4Mom (const I4Momentum &theI4Mom) |
set all 4-mom from another I4Momentum reference More... | |
virtual void | set4Mom (const I4Momentum *const theI4Mom) |
set all 4-mom from another I4Momentum pointer More... | |
virtual void | set4Mom (const CLHEP::HepLorentzVector &theHlv) |
set all 4-mom from a CLHEP HepLorentzVector More... | |
virtual const I4MomentumError * | errors () const |
Access to errors, if available; returns 0 if no errors. More... | |
virtual double | px () const |
x component of momentum More... | |
virtual double | py () const |
y component of momentum More... | |
virtual double | pz () const |
z component of momentum More... | |
virtual double | et () const |
transverse energy defined to be e*sin(theta) More... | |
virtual double | p () const |
magnitude of 3-momentum. More... | |
virtual double | p2 () const |
square of momentum magnitude More... | |
virtual double | m2 () const |
mass squared More... | |
virtual double | pt () const |
transverse momentum More... | |
virtual double | iPt () const |
inverse of transverse momentum More... | |
virtual double | rapidity () const |
rapidity More... | |
virtual double | cosPhi () const |
cosinus phi More... | |
virtual double | sinPhi () const |
sinus phi More... | |
virtual double | cotTh () const |
cottan theta More... | |
virtual double | cosTh () const |
cosinus theta More... | |
virtual double | sinTh () const |
sinus theta More... | |
virtual double | tanTh () const |
tan theta More... | |
virtual CLHEP::HepLorentzVector | hlv () const |
HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same More... | |
I4Momentum::Kind | kind () const |
tells what kind of P4XYZT this is More... | |
virtual std::ostream & | dump (std::ostream &out=std::cout) const |
Print I4Momentum content. More... | |
virtual AthenaBarCode_t | getAthenaBarCode () const |
virtual void | setAthenaBarCode (AthenaBarCode_t) |
virtual bool | hasSameAthenaBarCode (const IAthenaBarCode &) const |
virtual bool | hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const |
virtual AthenaBarCodeVersion_t | getVersion () const |
virtual void | newVersion () |
virtual void | setVersion (AthenaBarCodeVersion_t) |
Static Public Attributes | |
static const AthenaBarCode_t | UNDEFINEDBARCODE = (AthenaBarCode_t)(-1) |
static const AthenaBarCode_t | UNDEFINEDVERSION = UNDEFINEDBARCODE |
Protected Member Functions | |
CaloEnergyCluster () | |
Default constructor. More... | |
virtual void | updateKine (const CaloCell *theCell, double weight)=0 |
Interface to kinematic update implementation. More... | |
const constituent_coll & | getConstituents () const |
constituent_coll & | getConstituents () |
const constituent_coll * | getPtrToConstituents () const |
constituent_coll * | getPtrToConstituents () |
virtual const constituent_type * | getConstituentPtr (constituent_iter iter) const |
virtual const constituent_type * | getConstituentPtr (constituent_const_iter iter) const |
virtual double | getConstituentPar (constituent_iter iter) const |
virtual double | getConstituentPar (constituent_const_iter iter) const |
void | dumpStore () const |
Protected Attributes | |
CaloRecoStatus | m_status |
Calorimeter reconstruction status. More... | |
double | m_e |
double | m_eta |
double | m_phi |
double | m_m |
Private Member Functions | |
virtual void | apply (NavigationToken< constituent_type > &navToken) const |
virtual void | apply (NavigationToken< constituent_type, double > &navToken, const double &aParameter) const |
virtual void | toKidsAfterAccept (INavigationToken &navToken) const |
virtual void | toKidsAfterAccept (INavigationToken &navToken, const std::any &aParameter) const |
virtual void | toKidsAfterReject (INavigationToken &navToken) const |
virtual void | toKidsAfterReject (INavigationToken &navToken, const std::any &aParameter) const |
Private Attributes | |
constituent_coll | m_constituents |
Implementation of navigation and kinematics for CaloCluster and CaloTower.
The CaloEnergyCluster class provides all common implementations to manage and navigate a store of pointers to CaloCell s and their kinematic weight in a CaloCluster or CaloTower, together with data members, set and access methods for the global kinematics of these objects.
Definition at line 22 of file CaloEnergyCluster.h.
typedef Navigable<CaloCellContainer,double>::object_iter CaloEnergyCluster::cell_iterator |
Iterator type for cell store.
Extracted from the Navigable<CaloCellContainer,double> prescription. Is generally equal to the standard size_t.
Definition at line 43 of file CaloEnergyCluster.h.
Const pointer type for objects in the CaloCellContainer.
Generally expands to const CaloCell*.
Definition at line 32 of file CaloEnergyCluster.h.
|
inherited |
Definition at line 101 of file Navigable.h.
|
inherited |
Definition at line 103 of file Navigable.h.
|
inherited |
Definition at line 151 of file Navigable.h.
|
inherited |
Definition at line 102 of file Navigable.h.
|
inherited |
Definition at line 152 of file Navigable.h.
|
inherited |
Definition at line 150 of file Navigable.h.
|
inherited |
Definition at line 149 of file Navigable.h.
|
inherited |
Object container type.
Definition at line 110 of file Navigable.h.
|
inherited |
Definition at line 156 of file Navigable.h.
typedef Navigable<CaloCellContainer,double>::external_index_type CaloEnergyCluster::index_type |
Index type for CaloCellContainer.
Extracted from the Navigable<CaloCellContainer,double> prescription.
Definition at line 37 of file CaloEnergyCluster.h.
|
inherited |
Collection manager type.
Definition at line 114 of file Navigable.h.
|
inherited |
Definition at line 159 of file Navigable.h.
|
inherited |
\ brief Relational parameter type
Definition at line 112 of file Navigable.h.
|
inherited |
Enumerator | |
---|---|
P4EETAPHIM | |
P4IPTCOTTHPHIM | |
P4PTETAPHIM | |
P4PXPYPZE | |
UNKNOWN |
Definition at line 33 of file I4Momentum.h.
|
virtualdefault |
Destructor.
|
protected |
void CaloEnergyCluster::addCell | ( | const CaloCellContainer * | theContainer, |
const CaloCell * | theCell, | ||
double | weight | ||
) |
Add a cell with global kinematic update (slow)
theContainer | input pointer to a CaloCellContainer (unchanged) |
theCell | input pointer to a CaloCell (unchanged) |
weight | signal weight asociated with this cell |
Forces search of CaloCellContainer for index of CaloCell, i.e. can be slow.
Adding a cell usually changes the global kinematics. The concrete implementation is left to the updateKine method, which needs to be implemented by derived classes.
Adding cells without updating the global kinematics is also possible by using the corresponding putElement method in the Navigable<CaloCellContainer,double> base class.
Definition at line 27 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::addCell | ( | const CaloCellContainer * | theContainer, |
index_type | theIndex, | ||
double | weight | ||
) |
Add a cell with global kinematic update (fast)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | input pointer to a CaloCellContainer (unchanged) |
theIndex | input index of CaloCell in CaloCellConatiner (unchanged) |
weight | signal weight asociated with this cell |
Faster as index is already available, but has to rely on client to provide the correct (and valid) index.
Definition at line 49 of file CaloEnergyCluster.cxx.
|
virtual |
Add a cell with global kinematic update (fast)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | input pointer to a CaloCellContainer (unchanged) |
theIndex | input index of CaloCell in CaloCellConatiner (unchanged) |
weight | signal weight asociated with this cell |
size_hint | if non-zero, a hint about many cells are likely to be in the cluster. |
Faster as index is already available, but has to rely on client to provide the correct (and valid) index.
The caller also guarantees that the cell is not already in the cluster.
Definition at line 114 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::addUniqueCellNoKine | ( | const CaloCellContainer * | theContainer, |
index_type | theIndex, | ||
double | weight, | ||
size_t | size_hint = 0 |
||
) |
Add a cell (very fast)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | input pointer to a CaloCellContainer (unchanged) |
theIndex | input index of CaloCell in CaloCellConatiner (unchanged) |
weight | signal weight asociated with this cell |
client has to provide the correct (and valid) index.
The caller also guarantees that the cell is not already in the cluster.
The caller MUST update Kinematics by himself
Definition at line 125 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::addUniqueCellNoKine | ( | const CaloCellContainer * | theContainer, |
index_type | theIndex, | ||
IProxyDict * | sg, | ||
double | weight, | ||
size_t | size_hint = 0 |
||
) |
Add a cell (very fast)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | input pointer to a CaloCellContainer (unchanged) |
theIndex | input index of CaloCell in CaloCellConatiner (unchanged) |
sg | current event store instance |
weight | signal weight asociated with this cell |
client has to provide the correct (and valid) index.
The caller also guarantees that the cell is not already in the cluster.
The caller MUST update Kinematics by himself
Definition at line 136 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::addUniqueCellNoKine | ( | const ElementLink< CaloCellContainer > & | theContainer, |
index_type | theIndex, | ||
double | weight, | ||
size_t | size_hint = 0 |
||
) |
Add a cell (fastest)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | link pointing to some element of a CaloCellContainer (unchanged) The element index is ignored; this is only to identify the container. |
theIndex | input index of CaloCell in CaloCellConatiner (unchanged) |
sg | current event store instance |
weight | signal weight asociated with this cell |
client has to provide the correct (and valid) index.
The caller also guarantees that the cell is not already in the cluster.
Using this method avoids having to look up the container in the event store.
The caller MUST update Kinematics by himself
Definition at line 148 of file CaloEnergyCluster.cxx.
|
privatevirtualinherited |
|
privatevirtualinherited |
|
virtualinherited |
CaloEnergyCluster::cell_iterator CaloEnergyCluster::cell_begin | ( | ) | const |
Retrieve a STL-type begin() iterator for the cell store.
Definition at line 270 of file CaloEnergyCluster.cxx.
CaloEnergyCluster::cell_iterator CaloEnergyCluster::cell_end | ( | ) | const |
Retrieve a STL-type end() iterator for the cell store.
Definition at line 275 of file CaloEnergyCluster.cxx.
|
inherited |
|
inherited |
|
virtualinherited |
cosinus phi
Implements I4Momentum.
Reimplemented in CaloCell, and CaloVertexedCell.
Definition at line 54 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
cosinus theta
Implements I4Momentum.
Reimplemented in CaloCell, and CaloVertexedCell.
Definition at line 82 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
cottan theta
Implements I4Momentum.
Reimplemented in CaloCell.
Definition at line 77 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
|
protectedinherited |
|
inlinevirtualinherited |
get energy data member
Implements I4Momentum.
Reimplemented in CaloTower, and CaloCluster.
Definition at line 102 of file P4EEtaPhiM.h.
|
virtualinherited |
|
inlinevirtual |
|
virtualinherited |
Access to errors, if available; returns 0 if no errors.
Reimplemented from P4EEtaPhiMBase.
Definition at line 15 of file P4EEtaPhiM.cxx.
|
virtualinherited |
transverse energy defined to be e*sin(theta)
Implements I4Momentum.
Reimplemented in CaloCell.
Definition at line 106 of file P4EEtaPhiMBase.cxx.
|
inlinevirtualinherited |
get eta data member
Implements I4Momentum.
Reimplemented in CaloTower, and CaloCluster.
Definition at line 105 of file P4EEtaPhiM.h.
|
virtualinherited |
Implements INavigable.
|
virtualinherited |
Implements INavigable.
|
inlinevirtualinherited |
Reimplemented in Rec::TrackParticle, Analysis::ParticleShallowClone, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, and AthenaBarCodeBase.
Definition at line 67 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
inlinevirtual |
Return uncalibrated energy.
Reimplemented in CaloTower.
Definition at line 52 of file CaloEnergyCluster.h.
const CaloCellContainer * CaloEnergyCluster::getCellContainer | ( | const CaloCell * | theCell | ) | const |
Retrieve the pointer to the original cell container for a given cell.
theCell | pointer to the cell (unchanged) |
Returns 0 if cell not in store.
Definition at line 249 of file CaloEnergyCluster.cxx.
bool CaloEnergyCluster::getCellIndex | ( | const CaloCell * | theCell, |
index_type & | theIndex | ||
) | const |
Retrieve the index of a given cell in the cell container.
theCell | pointer to the cell (unchanged) |
theIndex | reference to a modifiable index variable |
Returns true
and a valid index if cell is found in store. If cell is not found, the value of the index is unchanged (typically 0 if initialized properly by client).
Note that the index refers to the index of the cell in the cell container, not the index of the cell in the local store.
Definition at line 257 of file CaloEnergyCluster.cxx.
double CaloEnergyCluster::getCellWeight | ( | cell_iterator & | iterCell | ) | const |
Retrieve the kinematic weight of a given cell.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
iterCell | iterator pointing to a cell |
Definition at line 243 of file CaloEnergyCluster.cxx.
Retrieve the kinematic weight of a given cell.
theCell | pointer to the cell (unchanged) |
Returns 0. if cell not in store.
Definition at line 223 of file CaloEnergyCluster.cxx.
double CaloEnergyCluster::getCellWeight | ( | const CaloCellContainer * | theContainer, |
index_type & | theIndex | ||
) | const |
Retrieve the kinematic weight of a given cell.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | pointer to cell container (unchanged) |
theIndex | index to cell in container (unchanged) |
Definition at line 233 of file CaloEnergyCluster.cxx.
|
protectedvirtualinherited |
|
protectedvirtualinherited |
|
protectedvirtualinherited |
|
protectedvirtualinherited |
|
inlineprotectedinherited |
Definition at line 291 of file Navigable.h.
|
inlineprotectedinherited |
Definition at line 290 of file Navigable.h.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
unsigned int CaloEnergyCluster::getNumberOfCells | ( | ) | const |
Return the number of cells in the store.
Definition at line 265 of file CaloEnergyCluster.cxx.
|
inherited |
|
inherited |
|
inherited |
|
inlineprotectedinherited |
Definition at line 296 of file Navigable.h.
|
inlineprotectedinherited |
Definition at line 294 of file Navigable.h.
const CaloRecoStatus & CaloEnergyCluster::getRecoStatus | ( | ) | const |
Retrieve the reconstruction status.
Definition at line 286 of file CaloEnergyCluster.cxx.
|
inlinevirtualinherited |
Reimplemented in Analysis::ParticleShallowClone, Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, and AthenaBarCodeBase.
Definition at line 85 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
inlinevirtualinherited |
Reimplemented in AthenaBarCodeBase, Rec::TrackParticle, Analysis::ParticleShallowClone, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, and ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >.
Definition at line 77 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
inlinevirtualinherited |
Reimplemented in AthenaBarCodeBase, Rec::TrackParticle, Analysis::ParticleShallowClone, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, and ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >.
Definition at line 81 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
virtualinherited |
HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same
Implements I4Momentum.
Reimplemented in CaloCluster.
Definition at line 134 of file P4EEtaPhiMBase.cxx.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
virtualinherited |
inverse of transverse momentum
Implements I4Momentum.
Definition at line 111 of file P4EEtaPhiMBase.cxx.
|
inlinevirtualinherited |
tells what kind of P4XYZT this is
Implements I4Momentum.
Definition at line 65 of file P4EEtaPhiMBase.h.
|
inlinevirtualinherited |
get mass data member
Implements I4Momentum.
Reimplemented in CaloTower, and CaloCluster.
Definition at line 111 of file P4EEtaPhiM.h.
|
virtualinherited |
|
inlinevirtualinherited |
Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.
Definition at line 89 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
virtualinherited |
magnitude of 3-momentum.
Special implementation from Frank Paige : if negative energy p is negative but eta and phi still the same.
Implements I4Momentum.
Definition at line 21 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
square of momentum magnitude
This p2() implementaion is derived from the (somewhat unusual) Frank Paige implementation used to calculate p() above. What we do is look at what would happen if we were to square the answer returned by Frank's algorithm:
(1) The "eSign" would square to +1 and disappear, (2) The sqrt would disappear leaving theE*theE-theM*theM (3) In the event that theM==0, this theE*theE would indeed still equal theE*theE-theM*theM, so we simply return this quantity.
Implements I4Momentum.
Definition at line 39 of file P4EEtaPhiMBase.cxx.
|
inlinevirtualinherited |
get phi data member
Implements I4Momentum.
Reimplemented in CaloTower, and CaloCluster.
Definition at line 108 of file P4EEtaPhiM.h.
|
virtualinherited |
|
inherited |
|
inherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
inherited |
|
inherited |
|
inlineinherited |
Definition at line 237 of file Navigable.h.
Remove a cell with kinematic update.
theCell | pointer to a CaloCell object (unchanged) |
Removes the cell pointed to by the input argument. The effect on the global kinematics is defined by the updateKine implementation in the derived classes.
The Navigable<CaloCellContainer,double> base class provides a remove method which can be used if no kinematic update is required.
Definition at line 160 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::removeCell | ( | const CaloCellContainer * | theContainer, |
index_type & | theIndex | ||
) |
Remove a cell with kinematic update.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | pointer to cell container (unchanged) |
theIndex | index to cell in container (unchanged) |
Definition at line 174 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::removeCells | ( | ) |
Remove all cells without kinematic update.
Definition at line 189 of file CaloEnergyCluster.cxx.
|
inherited |
replace old object container with a new container assumes that all objects have been or will be inserted to the new container
|
inherited |
|
inherited |
|
inherited |
void CaloEnergyCluster::reweightCell | ( | cell_iterator & | iterCell, |
double | weight | ||
) |
Reweight a cell with kinematic update.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
iterCell | input iterator referring to a cell (unchanged) |
weight | input new signal weight associated with this cell |
Changes the kinematic weight of a cell in the cluster. There is no check on the validity of the iterator.
Definition at line 214 of file CaloEnergyCluster.cxx.
Reweight a cell with kinematic update.
theCell | input pointer to a CaloCell object (unchanged) |
weight | input new signal weight associated with this cell |
Changes the kinematic weight of a cell in the cluster. No action if cell not in cluster. In particular, the cell is not added.
Definition at line 195 of file CaloEnergyCluster.cxx.
void CaloEnergyCluster::reweightCell | ( | const CaloCellContainer * | theContainer, |
index_type & | theIndex, | ||
double | weight | ||
) |
Reweight a cell with kinematic update.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
theContainer | input pointer to a CaloCellContainer object (unchanged) |
theIndex | input index of a CaloCell in CaloCellContainer (unchanged) |
weight | input new signal weight associated with this cell |
Changes the kinematic weight of a cell in the cluster. No action if not a valid pointer.
Definition at line 203 of file CaloEnergyCluster.cxx.
|
inlinevirtualinherited |
set all 4-mom from a CLHEP HepLorentzVector
Reimplemented from P4EEtaPhiMBase.
Reimplemented in CaloCluster.
Definition at line 139 of file P4EEtaPhiM.h.
|
inlinevirtualinherited |
set all 4-mom from another I4Momentum reference
Reimplemented from P4EEtaPhiMBase.
Reimplemented in CaloCluster.
Definition at line 126 of file P4EEtaPhiM.h.
|
inlinevirtualinherited |
set all 4-mom from another I4Momentum pointer
Reimplemented from P4EEtaPhiMBase.
Reimplemented in CaloCluster.
Definition at line 134 of file P4EEtaPhiM.h.
|
inlinevirtualinherited |
Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.
Definition at line 71 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
inlinevirtual |
Set uncalibrated energy.
theEnergy | basic energy signal |
Reimplemented in CaloTower.
Definition at line 58 of file CaloEnergyCluster.h.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
void CaloEnergyCluster::setRecoStatus | ( | CaloRecoStatus::StatusIndicator | recStatus | ) |
Set the reconstruction status.
Definition at line 280 of file CaloEnergyCluster.cxx.
|
inlinevirtualinherited |
Reimplemented in Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.
Definition at line 93 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
virtualinherited |
sinus phi
Implements I4Momentum.
Reimplemented in CaloCell, and CaloVertexedCell.
Definition at line 59 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
sinus theta
Implements I4Momentum.
Reimplemented in CaloCell, and CaloVertexedCell.
Definition at line 87 of file P4EEtaPhiMBase.cxx.
|
virtualinherited |
|
virtualinherited |
|
privatevirtualinherited |
|
privatevirtualinherited |
|
privatevirtualinherited |
|
privatevirtualinherited |
|
protectedpure virtual |
Interface to kinematic update implementation.
Implemented in CaloTower.
|
privateinherited |
Definition at line 345 of file Navigable.h.
|
protectedinherited |
Definition at line 75 of file P4EEtaPhiM.h.
|
protectedinherited |
Definition at line 76 of file P4EEtaPhiM.h.
|
protectedinherited |
Definition at line 78 of file P4EEtaPhiM.h.
|
protectedinherited |
Definition at line 77 of file P4EEtaPhiM.h.
|
protected |
Calorimeter reconstruction status.
Definition at line 325 of file CaloEnergyCluster.h.
|
staticinherited |
Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.
|
staticinherited |
Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.