![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
32 const int nDigitizers = 8;
39 Tile::MAX_ROS - 1, Tile::MAX_DRAWER, nDigitizers);
43 return StatusCode::SUCCESS;
59 fill(
"TileRawChanTimeMonExecuteTime",
timer);
60 return StatusCode::SUCCESS;
63 std::vector<int> drawers[Tile::MAX_ROS - 1];
64 std::vector<int>
channels[Tile::MAX_ROS - 1];
65 std::vector<double> channelTimes[Tile::MAX_ROS - 1];
66 std::vector<double> channelUncorrectedTimes[Tile::MAX_ROS - 1];
67 std::vector<double> channelAmplitudes[Tile::MAX_ROS - 1];
83 if (rawChannelCollection->empty() )
continue;
85 HWIdentifier adc_id = rawChannelCollection->front()->adc_HWID();
93 adc_id = rawChannel->adc_HWID();
125 channelTimes[
partition].push_back(rawChannel->time());
126 channelUncorrectedTimes[
partition].push_back(rawChannel->uncorrTime());
128 float amplitude = rawChannel->amplitude();
130 channelAmplitudes[
partition].push_back(amplitude);
134 float partitionTime[4] = {0};
138 double averagePartitionTime = 0.0;
141 for (
unsigned int channelIdx = 0; channelIdx <
channels[
partition].size(); ++ channelIdx) {
146 averagePartitionTime +=
times[channelIdx];
151 averagePartitionTime /= nChannels;
155 [averagePartitionTime] (
double time) {return time - averagePartitionTime;});
159 static const int channel2digitizer[48] = {7, 7, 7, 7, 7, 7,
187 for (
unsigned int channelIdx = 0; channelIdx <
channels[
partition].size(); ++ channelIdx) {
199 int partition1 = partitionPair.first;
200 int partition2 = partitionPair.second;
205 fill(
"TileRawChanTimeMonExecuteTime",
timer);
207 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
std::vector< int > m_amplitudeGroups
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
std::string find(const std::string &s)
return a remapped string
std::vector< std::vector< std::vector< int > > > m_digiTimeLBGroups
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
#define ATH_MSG_VERBOSE(x)
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...
const TileCablingService * m_cabling
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
std::vector< int > m_timeLBGroups
def timer(name, disabled=False)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Gaudi::Property< std::vector< std::pair< int, int > > > m_partitionTimeDifferencePairs
float calibrateChannel(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT rawDataUnitIn, TileRawChannelUnit::UNIT rawDataUnitOut) const
Calibrate a Tile channel.
Class that holds Data Quality fragment information and provides functions to extract the data quality...
int adc(const HWIdentifier &id) const
extract adc field from HW identifier
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
std::vector< int > m_uncorrTimeGroups
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
std::vector< int > m_timeGroups
uint32_t lumiBlock() const
The current event's luminosity block number.
std::vector< int > m_timeDiffLBGroups
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
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
const TileHWID * m_tileHWID
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
StatusCode initialize(bool used=true)
Class describing the basic event information.
const TileBchStatus & getAdcStatus(const HWIdentifier adc_id) const
Return Tile ADC status.
virtual StatusCode initialize() override
initialize
bool isDisconnected(int ros, int drawer, int channel) const
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
def time(flags, cells_name, *args, **kw)
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
uint16_t level1TriggerType() const
The Level-1 trigger type.
Condition object to keep Tile DCS status from DB.
Gaudi::Property< std::vector< double > > m_energyThresholds
Gaudi::Property< bool > m_checkDCS
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Gaudi::Property< std::vector< unsigned int > > m_triggerTypes
Declare a monitored scalar variable.
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
Handle class for reading from StoreGate.
Gaudi::Property< std::vector< double > > m_partitionTimeCorrection
const_pointer_type cptr()