34 Tile::MAX_ROS - 1, Tile::MAX_DRAWER, Tile::MAX_CHAN);
36 return StatusCode::SUCCESS;
52 <<
" BCID = " << eventInfo->
bcid()
55 const std::vector<xAOD::EventInfo::StreamTag>& evtStreamTags = eventInfo->
streamTags();
56 if (!evtStreamTags.empty()) {
57 msg(MSG::DEBUG) <<
" stream name/type:";
58 for (
const auto& evtStreamTag : evtStreamTags) {
59 msg(MSG::DEBUG) <<
" " << evtStreamTag.name() <<
"/" << evtStreamTag.type();
81 ATH_CHECK( rawChannelContainer.isValid() );
85 bool recalibrate(
false);
87 ATH_MSG_VERBOSE(
" RawChannel Units is = " << rawChannelUnit <<
" => recalibrating in ADC counts" );
92 if (rawChannelCollection->empty() )
continue;
94 if (rawChannelCollection->getLvl1Type() != lvl1TriggerType) {
95 ATH_MSG_DEBUG(
"Level1 Trigger Type in Tile raw channels [0x" << std::hex
96 << rawChannelCollection->getLvl1Type() <<
"] != [0x"
97 << lvl1TriggerType << std::dec <<
"] from the event info");
101 HWIdentifier adc_id = rawChannelCollection->front()->adc_HWID();
105 int partition = ros - 1;
107 unsigned int nBadOrDisconnectedChannels = 0;
109 if (
m_cabling->isDisconnected(ros, drawer, channel)) {
110 ++nBadOrDisconnectedChannels;
115 if (rawChannelCollection->size() < nRequiredChannels) {
116 ATH_MSG_DEBUG(
"Number of Tile channels with digits [" << rawChannelCollection->size()
117 <<
"] less than expected [" << nRequiredChannels <<
"]");
123 int fragId = rawChannelCollection->identify();
130 adc_id = rawChannel->adc_HWID();
134 if (adc !=
m_gain)
continue;
141 if (checkDQ && !(dqStatus->
isAdcDQgood(ros, drawer, channel, adc))) {
151 if (badChannels->getAdcStatus(adc_id).isBad()) {
156 float amplitude = rawChannel->amplitude();
158 amplitude = emScale->calibrateChannel(drawerIdx, channel, adc, amplitude,
170 fill(
"TileRawChanNoiseMonExecuteTime", timer);
172 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Handle class for reading from StoreGate.
const ServiceHandle< StoreGateSvc > & detStore() const
bool msgLvl(const MSG::Level lvl) const
virtual StatusCode initialize() override
initialize
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
Declare a monitored scalar variable.
const_pointer_type cptr()
Static class providing several utility functions and constants.
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
static const unsigned int MAX_CHAN
Number of channels in drawer.
Condition object to keep Tile DCS status from DB.
bool isStatusBad(unsigned int ros, unsigned int drawer) const
Return true if given Tile drawer considered as bad by summary drawer states per LVPS otherwise return...
Class that holds Data Quality fragment information and provides functions to extract the data quality...
bool isAdcDQgood(int partition, int drawer, int ch, int gain) const
returns status of single ADC returns False if there are any errors
virtual StatusCode initialize() override
initialize
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Gaudi::Property< int > m_gain
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
const TileHWID * m_tileHWID
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Gaudi::Property< bool > m_checkDCS
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
const TileCablingService * m_cabling
Gaudi::Property< std::vector< unsigned int > > m_triggerTypes
std::vector< std::vector< std::vector< int > > > m_ampGroups
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Gaudi::Property< std::vector< int > > m_fragIDsToIgnoreDMUerrors
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
Gaudi::Property< bool > m_ignoreDisconnectedChannels
uint32_t lumiBlock() const
The current event's luminosity block number.
uint32_t bcid() const
The bunch crossing ID of the event.
uint16_t level1TriggerType() const
The Level-1 trigger type.
const std::vector< StreamTag > & streamTags() const
Get the streams that the event was put in.
uint32_t runNumber() const
The current event's run number.
uint64_t eventNumber() const
The current event's event number.
Generic monitoring tool for athena components.
std::vector< V > buildToolMap(const ToolHandleArray< GenericMonitoringTool > &tools, const std::string &baseName, int nHist)
Builds an array of indices (base case)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
EventInfo_v1 EventInfo
Definition of the latest event info version.
void fill(H5::Group &out_file, size_t iterations)