 |
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");
88 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool reconstruction parameters:");
100 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool is configured to check ZDC or EM energy; ZDC-related ReadDecorHandleKey's will be initialized");
130 return StatusCode::SUCCESS;
163 ATH_MSG_WARNING(
"RPD decoding error found - abandoning RPD centroid reco!");
168 ATH_MSG_WARNING(
"ZDC decoding error found - abandoning RPD centroid reco!");
186 ? std::optional<SG::ConstAccessor<float>>(
"CalibEnergy" +
m_auxSuffix)
189 ? std::optional<SG::ConstAccessor<unsigned int>>(
"Status" +
m_auxSuffix)
192 ? std::optional<SG::ConstAccessor<float>>(
"FinalEnergy" +
m_auxSuffix)
195 ? std::optional<SG::ConstAccessor<unsigned int>>(
"Status" +
m_auxSuffix)
200 for (
auto const *
const zdcModule : moduleContainer) {
212 if (zdcModule->zdcChannel() < 0 ||
static_cast<unsigned int>(zdcModule->zdcChannel()) >
RPDUtils::nChannels - 1) {
213 ATH_MSG_ERROR(
"Invalid RPD channel found on side " <<
side <<
": channel number = " << zdcModule->zdcChannel());
216 auto const channel = zdcModule->zdcChannel();
217 auto const&
row = rowAcc(*zdcModule);
218 auto const& col = colAcc(*zdcModule);
242 for (
auto const *
const zdcSum: moduleSumContainer) {
421 for (
auto const *
const zdcSum: moduleSumContainer) {
425 centroidEventValidHandle(*zdcSum) =
static_cast<char>(
m_eventValid);
430 centroidStatusHandle(*zdcSum) =
static_cast<unsigned int>(
m_centroidStatus.at(
side).to_ulong());
446 if (moduleContainer.
empty()) {
448 return StatusCode::SUCCESS;
451 switch (
readAOD(moduleContainer, moduleSumContainer)) {
457 return StatusCode::FAILURE;
460 return StatusCode::SUCCESS;
479 return StatusCode::SUCCESS;
485 return StatusCode::FAILURE;
493 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
constexpr int ZDCSumsGlobalZDCSide
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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)
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