![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
36 return StatusCode::FAILURE;
44 return StatusCode::SUCCESS;
52 return StatusCode::SUCCESS;
64 ATH_MSG_INFO(
"Found corresponding cell-link container with size " << cclptr->
size());
67 ATH_MSG_INFO(
"Did not find corresponding cell-link container");
70 for (
const auto itr: *clustercontainer) {
72 (*m_out) <<
"Kinematics :" << std::endl;
73 (*m_out) <<
"E=" << cluster.
e() <<
", eta=" << cluster.
eta() <<
", phi=" << cluster.
phi() <<
", m=" << cluster.
m() <<
", pt=" << cluster.
pt() << std::endl;
74 (*m_out) <<
"Eta0=" << cluster.
eta0() <<
", Phi0=" << cluster.
phi0() << std::endl;
76 (*m_out) <<
"TLorentzVector :" << std::endl;
78 (*m_out) <<
" p4.E=" << p4.E() <<
", x=" << p4.X() <<
", y=" << p4.Y() <<
", z=" << p4.Z() <<
", m=" << p4.M() <<
", pt=" << p4.Pt() << std::endl;
80 (*m_out) <<
"Sampling variables :" << std::endl;
84 (*m_out) <<
" Sampling #" <<
s <<
": E=" << cluster.
eSample(
s) <<
", eta=" << cluster.
etaSample(
s) <<
", phi=" << cluster.
phiSample(
s) << std::endl;
104 constexpr
auto allMoments=std::to_array<const char*>({
"FIRST_PHI",
"FIRST_ETA",
"SECOND_R",
"SECOND_LAMBDA",
"DELTA_PHI",
"DELTA_THETA",
"DELTA_ALPHA",
"CENTER_X",
"CENTER_Y",
"CENTER_Z",
"CENTER_MAG",
"CENTER_LAMBDA",
"LATERAL",
"LONGITUDINAL",
"ENG_FRAC_EM",
"ENG_FRAC_MAX",
"ENG_FRAC_CORE",
"FIRST_ENG_DENS",
"SECOND_ENG_DENS",
"ISOLATION",
"ENG_BAD_CELLS",
"N_BAD_CELLS",
"N_BAD_CELLS_CORR",
"BAD_CELLS_CORR_E",
"BADLARQ_FRAC",
"ENG_POS",
"SIGNIFICANCE",
"CELL_SIGNIFICANCE",
"CELL_SIG_SAMPLING",
"AVG_LAR_Q",
"AVG_TILE_Q",
"EM_PROBABILITY",
"HAD_WEIGHT",
"OOC_WEIGHT",
"DM_WEIGHT",
"TILE_CONFIDENCE_LEVEL",
"VERTEX_FRACTION",
"NVERTEX_FRACTION",
"ENG_CALIB_TOT",
"ENG_CALIB_OUT_L",
"ENG_CALIB_OUT_M",
"ENG_CALIB_OUT_T",
"ENG_CALIB_DEAD_L",
"ENG_CALIB_DEAD_M",
"ENG_CALIB_DEAD_T",
"ENG_CALIB_EMB0",
"ENG_CALIB_EME0",
"ENG_CALIB_TILEG3",
"ENG_CALIB_DEAD_TOT",
"ENG_CALIB_DEAD_EMB0",
"ENG_CALIB_DEAD_TILE0",
"ENG_CALIB_DEAD_TILEG3",
"ENG_CALIB_DEAD_EME0",
"ENG_CALIB_DEAD_HEC0",
"ENG_CALIB_DEAD_FCAL",
"ENG_CALIB_DEAD_LEAKAGE",
"ENG_CALIB_DEAD_UNCLASS",
"ENG_CALIB_FRAC_EM",
"ENG_CALIB_FRAC_HAD",
"ENG_CALIB_FRAC_REST",
"ENERGY_Truth"});
105 (*m_out) <<
"Cluster Moments" << std::endl;
106 for (
const auto& momName : allMoments) {
108 if (
a.isAvailable(cluster)) {
109 float v =
a(cluster);
110 (*m_out) <<
" " << momName <<
": " <<
v << std::endl;
115 if (
a.isAvailable(cluster)) {
116 (*m_out) <<
"Bad Channel data: " << std::endl;
118 (*m_out) <<
" eta=" << bc.eta() <<
", phi=" << bc.phi() <<
", layer=" << bc.layer() <<
", word=" << bc.badChannel() << std::endl;
122 (*m_out) <<
"Cell-links:" << std::endl;
128 for (;lnk_it!=lnk_it_e;++lnk_it) {
130 (*m_out) <<
" ID=" << std::hex <<
cell->ID() << std::dec <<
", E=" <<
cell->e() <<
", weight=" << lnk_it.
weight() << std::endl;
134 (*
m_out) <<
" No Cell Links found" << std::endl;
138 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
flt_t phi0() const
Returns raw of cluster seed.
virtual double phi() const
The azimuthal angle ( ) of the particle.
Container class for CaloCellLink.
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_containerName
The key for the output xAOD::CaloClusterContainer.
Helper class to provide type-safe access to aux data.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual double m() const
The invariant mass of the particle.
const_iterator begin() const
const begin method
const std::string & key() const
Return the StoreGate ID for the referenced object.
weight_t weight() const
Accessor for weight associated to this cell.
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
virtual StatusCode finalize()
Bookkeeping of cells that make up a cluster Simplified replacement for CaloCellLink,...
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Description of a calorimeter cluster.
virtual double eta() const
The pseudorapidity ( ) of the particle.
::StatusCode StatusCode
StatusCode definition for legacy code.
#define CHECK(...)
Evaluate an expression and check for errors.
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
virtual FourMom_t p4() const
The full 4-momentum of the particle.
virtual double pt() const
The transverse momentum ( ) of the particle (negative for negative-energy clusters)
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
const CaloClusterBadChannelList & badChannelList() const
Helpers for checking error return status codes and reporting errors.
virtual StatusCode execute()
Function executing the algorithm.
const_iterator end() const
const end method
flt_t eta0() const
Returns raw of cluster seed.
float eSample(const CaloSample sampling) const
Data object for each calorimeter readout cell.
ClusterDumper(const std::string &name, ISvcLocator *svcLoc)
Regular algorithm constructor.
virtual StatusCode initialize()
Function initialising the algorithm.
bool hasSampling(const CaloSample s) const
Checks if certain smapling contributes to cluster.
const_iterator to loop over cells belonging to a cluster
size_type size() const noexcept
Returns the number of elements in the collection.
virtual double e() const
The total energy of the particle.