 |
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");
39 std::string
const& containerName,
41 std::string
const&
key,
42 bool const addSuffix =
true
44 std::string
sgkey = containerName +
key;
48 readHandleKey =
sgkey;
104 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool reconstruction parameters:");
116 ATH_MSG_DEBUG(
"RpdSubtractCentroidTool is configured to check ZDC or EM energy; ZDC-related ReadDecorHandleKey's will be initialized");
171 return StatusCode::SUCCESS;
204 ATH_MSG_WARNING(
"RPD decoding error found - abandoning RPD centroid reco!");
209 ATH_MSG_WARNING(
"ZDC decoding error found - abandoning RPD centroid reco!");
224 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, float>> zdcModuleCalibEnergyHandle;
225 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, unsigned int>> zdcModuleStatusHandle;
226 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, float>> zdcFinalEnergyHandle;
227 std::optional<SG::ReadDecorHandle<xAOD::ZdcModuleContainer, unsigned int>> zdcStatusHandle;
237 for (
auto const zdcModule : moduleContainer) {
249 if (zdcModule->zdcChannel() < 0 ||
static_cast<unsigned int>(zdcModule->zdcChannel()) >
RPDUtils::nChannels - 1) {
250 ATH_MSG_ERROR(
"Invalid RPD channel found on side " <<
side <<
": channel number = " << zdcModule->zdcChannel());
253 unsigned int const channel = zdcModule->zdcChannel();
254 auto const&
row = rowHandle(*zdcModule);
255 auto const& col = colHandle(*zdcModule);
279 for (
auto const zdcSum: moduleSumContainer) {
458 for (
auto const zdcSum: moduleSumContainer) {
462 centroidEventValidHandle(*zdcSum) =
static_cast<char>(
m_eventValid);
467 centroidStatusHandle(*zdcSum) =
static_cast<unsigned int>(
m_centroidStatus.at(
side).to_ulong());
483 if (moduleContainer.
empty()) {
485 return StatusCode::SUCCESS;
488 switch (
readAOD(moduleContainer, moduleSumContainer)) {
494 return StatusCode::FAILURE;
497 return StatusCode::SUCCESS;
516 return StatusCode::SUCCESS;
522 return StatusCode::FAILURE;
530 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.
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)
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)
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