|
ATLAS Offline Software
|
Go to the documentation of this file.
31 declareProperty(
"ExcessiveSubtrUnderflowFrac",
m_forceMaximumNegativeSubtrAmpFrac,
"If any RPD channel subtracted amplitude is negative and its fraction of subtracted amplitude sum is greater than or equal to this number, the centroid is invalid; per side");
33 declareProperty(
"UseCalibDecorations",
m_forceUseCalibDecorations,
"If true, use RPD channel sum/max ADC decorations with output calibration factors applied during reconstruction, else use decorations with raw values");
103 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool reconstruction parameters:");
115 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool is configured to check ZDC or EM energy; ZDC-related ReadDecorHandleKey's will be initialized");
170 return StatusCode::SUCCESS;
203 ATH_MSG_WARNING(
"RPD decoding error found - abandoning RPD centroid reco!");
208 ATH_MSG_WARNING(
"ZDC decoding error found - abandoning RPD centroid reco!");
223 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, float>> zdcModuleCalibEnergyHandle;
224 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, unsigned int>> zdcModuleStatusHandle;
225 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, float>> zdcFinalEnergyHandle;
226 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, unsigned int>> zdcStatusHandle;
236 for (
auto const& zdcModule : moduleContainer) {
248 if (zdcModule->zdcChannel() < 0 ||
static_cast<unsigned int>(zdcModule->zdcChannel()) >
RPDUtils::nChannels - 1) {
249 ATH_MSG_ERROR(
"Invalid RPD channel found on side " <<
side <<
": channel number = " << zdcModule->zdcChannel());
252 unsigned int const channel = zdcModule->zdcChannel();
253 auto const&
row = rowHandle(*zdcModule);
254 auto const&
col = colHandle(*zdcModule);
278 for (
auto const& zdcSum: moduleSumContainer) {
457 for (
auto const& zdcSum: moduleSumContainer) {
461 centroidEventValidHandle(*zdcSum) =
static_cast<char>(
m_eventValid);
466 centroidStatusHandle(*zdcSum) =
static_cast<unsigned int>(
m_centroidStatus.at(
side).to_ulong());
482 if (moduleContainer.
empty()) {
484 return StatusCode::SUCCESS;
487 switch (
readAOD(moduleContainer, moduleSumContainer)) {
493 return StatusCode::FAILURE;
496 return StatusCode::SUCCESS;
515 return StatusCode::SUCCESS;
521 return StatusCode::FAILURE;
529 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
std::string vecToString(std::vector< T > const &v)
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
unsigned constexpr int nChannels
constexpr std::initializer_list< unsigned int > sides
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
constexpr int ZDCSumsGlobalZDCSide
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Handle class for reading a decoration on an object.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
::StatusCode StatusCode
StatusCode definition for legacy code.
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Handle class for adding a decoration to an object.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
@ ForwardDet
The forward detectors.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
unsigned constexpr int sideA
unsigned constexpr int nCols
unsigned constexpr int ZDCModuleZDCType
unsigned constexpr int ZDCModuleEMModule
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
#define ATH_MSG_WARNING(x)
unsigned constexpr int sideC
bool isEventFlagBitSet(EventFlagSubDet subDet, size_t bit) const
Check one particular bit of one particular sub-detector.
unsigned constexpr int nRows
unsigned int ZDCSideToSideIndex(int const ZDCSide)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Define enumerations for event-level ZDC data.
bool empty() const noexcept
Returns true if the collection is empty.
void helpZero(Range &v) requires(std
unsigned constexpr int ZDCModuleRPDType