Loading [MathJax]/extensions/tex2jax.js
 |
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;
83 if (cluster.hasSampling(
s)) {
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;
117 for (
const auto& bc : cluster.badChannelList()) {
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)
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)
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.
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.
::StatusCode StatusCode
StatusCode definition for legacy code.
#define CHECK(...)
Evaluate an expression and check for errors.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Helpers for checking error return status codes and reporting errors.
virtual StatusCode execute()
Function executing the algorithm.
const_iterator end() const
const end method
Data object for each calorimeter readout cell.
ClusterDumper(const std::string &name, ISvcLocator *svcLoc)
Regular algorithm constructor.
virtual StatusCode initialize()
Function initialising the algorithm.
const_iterator to loop over cells belonging to a cluster
size_type size() const noexcept
Returns the number of elements in the collection.