![]() |
ATLAS Offline Software
|
! More...
#include <CaloTower_v1.h>
Public Types | |
| enum | { INVALIDINDEX =-1 } |
Public Member Functions | |
| CaloTower_v1 () | |
| Default constructor. | |
| ~CaloTower_v1 () | |
| Destructor. | |
| void | reset () |
| Reset function. | |
| void | addEnergy (double energy) |
| Add energy. | |
| void | setEnergy (double energy) |
| Sets the energy. | |
Implementations of the other @c IParticle interface methods | |
| virtual Type::ObjectType | type () const |
object type - presently Type::Other (FIXME) | |
Functions for getting and setting user properties | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED T & | auxdata (const std::string &name, const std::string &clsname="") |
| Fetch an aux data variable, as a non-const reference. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED const T & | auxdata (const std::string &name, const std::string &clsname="") const |
| Fetch an aux data variable, as a const reference. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailable (const std::string &name, const std::string &clsname="") const |
| Check if a user property is available for reading or not. | |
| template<class T> | |
| XAOD_AUXDATA_DEPRECATED bool | isAvailableWritable (const std::string &name, const std::string &clsname="") const |
| Check if a user property is available for writing or not. | |
Private Member Functions | |
Set accessors to persistent data | |
| float & | f_ref_e () |
| Reference to modifiable energy store. | |
Get accessors to persistent data | |
| float | f_val_e () const |
| Accessor for energy. | |
Kinematic accessors (@c IParticle interface) | |
| typedef IParticle::FourMom_t | FourMom_t |
| Definition of the 4-momentum type. | |
| typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > | GenVecFourMom_t |
| Base 4 Momentum type for calo. | |
| virtual double | pt () const |
| transverse momentum \( p_{\mathrm{T}} \) | |
| virtual double | eta () const |
| pseudorapidity \( \eta \)$ | |
| virtual double | phi () const |
| azimuth \( \phi \) | |
| virtual double | rapidity () const |
| rapidity \( y \) | |
| virtual double | m () const |
| mass \( m = 0 \) (by convention) | |
| virtual double | e () const |
| energy \( E \) | |
| GenVecFourMom_t | genvecP4 () const |
| Four-momentum representation: GenVector. | |
| virtual FourMom_t | p4 () const |
| Four-momentum representation. | |
!
Object representing calorimeter signal towers.
This object represents calorimeter energy towers located on a regular grid in azimuth and pseudorapidity. The grid is associated with the xAOD::CaloTowerContainer_v1. Due to the minimalistic underlying storage model, xAOD::CaloTower_v1 objects are only completely described if allocated in its container.
Kinematic features of calorimeter towers are (1) they are massless, and (2) their direction is given by the center of the \( (\eta,\phi) \) bin they represent. This means that \( (\eta,\phi) \) for any given shower never changes, only its energy content is dynamic.
The full four-momentum of the calorimeter tower is calculated from its energy and direction
\[ \left(E,\eta,\phi\right) \mapsto \left(E=p,p_{x},p_{y},p_{z}\right) \]
Formally, this can be considered a massless pseudoparticle. If the net energy of the tower is negative, no physically meaningful four-momentum can be constructed (see below), rather the tower is represented by \( (0.,0., 0., 0.) \).
Negative energy towers cannot provide a four-momentum, but still contain valuable data. The direction \( ( \eta, \phi ) \) are independent of the value and sign of the tower energy, as towers are located at a fixed location in this space. The tower energy is provided independent of its sign as well. This means the xAOD::CaloTower_v1::e(), xAOD::CaloTower_v1::eta(), and xAOD::CaloTower_v1::phi() methods return correct information. In addition, the xAOD::CaloTower_v1::m() and xAOD::CaloTower_v1::rapidity() methods provide meaningful information as well, with rapidity \( y = \eta \) due to tower mass \( m = 0 \).
Definition at line 17 of file CaloTower_v1.h.
Definition of the 4-momentum type.
Definition at line 58 of file CaloTower_v1.h.
| typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > xAOD::CaloTower_v1::GenVecFourMom_t |
Base 4 Momentum type for calo.
Definition at line 61 of file CaloTower_v1.h.
| anonymous enum |
| xAOD::CaloTower_v1::CaloTower_v1 | ( | ) |
Default constructor.
Constructs empty xAOD::CaloTower_v1 object.
Definition at line 14 of file CaloTower_v1.cxx.
| xAOD::CaloTower_v1::~CaloTower_v1 | ( | ) |
| void xAOD::CaloTower_v1::addEnergy | ( | double | energy | ) |
Add energy.
| [in] | energy | value added to tower energy |
Definition at line 22 of file CaloTower_v1.cxx.
|
inlineinherited |
Fetch an aux data variable, as a non-const reference.
This function provides an easy way for users to decorate objects with auxiliary data.
Take note that this function is slow. Should not be used inside time-critical code.
Definition at line 98 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
inlineinherited |
Fetch an aux data variable, as a const reference.
This function provides an easy way for users to retrieve auxiliary decorations from an object.
Take note that this function is slow. Should not be used inside time-critical code.
Definition at line 118 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
virtual |
|
virtual |
pseudorapidity \( \eta \)$
Implements xAOD::IParticle.
Definition at line 38 of file CaloTower_v1.cxx.
|
inlineprivate |
Reference to modifiable energy store.
Definition at line 87 of file CaloTower_v1.h.
|
inlineprivate |
Accessor for energy.
Definition at line 89 of file CaloTower_v1.h.
| xAOD::CaloTower_v1::GenVecFourMom_t xAOD::CaloTower_v1::genvecP4 | ( | ) | const |
Four-momentum representation: GenVector.
Definition at line 79 of file CaloTower_v1.cxx.
|
inlineinherited |
Check if a user property is available for reading or not.
This function should be used to check if a user property which may or may not exist, is set on the object.
Definition at line 135 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
inlineinherited |
Check if a user property is available for writing or not.
This function can be used to check whether it will be possible to set a user property on the object.
Definition at line 152 of file Event/xAOD/xAODBase/xAODBase/IParticle.h.
|
virtual |
mass \( m = 0 \) (by convention)
Implements xAOD::IParticle.
Definition at line 50 of file CaloTower_v1.cxx.
|
virtual |
Four-momentum representation.
Implements xAOD::IParticle.
Definition at line 58 of file CaloTower_v1.cxx.
|
virtual |
|
virtual |
transverse momentum \( p_{\mathrm{T}} \)
Implements xAOD::IParticle.
Definition at line 52 of file CaloTower_v1.cxx.
|
virtual |
| void xAOD::CaloTower_v1::reset | ( | ) |
Reset function.
Sets the tower energy to zero. Indices/directions associated with this object are not changed.
Definition at line 30 of file CaloTower_v1.cxx.
| void xAOD::CaloTower_v1::setEnergy | ( | double | energy | ) |
Sets the energy.
| [in] | energy | value to which the tower energy will be set to |
Definition at line 26 of file CaloTower_v1.cxx.
|
virtual |
object type - presently Type::Other (FIXME)
Implements xAOD::IParticle.
Definition at line 55 of file CaloTower_v1.cxx.