Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
46 return StatusCode::FAILURE;
49 std::vector<std::string>
partitionName = {
"LBA",
"LBC",
"EBA",
"EBC"};
62 return StatusCode::SUCCESS;
70 std::vector<int> drawers[Tile::MAX_ROS - 1];
71 std::vector<int>
channels[Tile::MAX_ROS - 1];
72 std::vector<float> pedestals[Tile::MAX_ROS - 1];
73 std::vector<float> amplitudes[Tile::MAX_ROS - 1];
74 std::vector<float> hfns[Tile::MAX_ROS - 1];
75 static constexpr
int TMDB_MAX_CHANNEL = 8;
76 std::vector<float> cellPedestals[Tile::MAX_ROS - 1][TMDB_MAX_CHANNEL];
77 std::vector<float> cellHFNs[Tile::MAX_ROS - 1][TMDB_MAX_CHANNEL];
78 std::vector<float> cellAmplitudes[Tile::MAX_ROS - 1][TMDB_MAX_CHANNEL];
86 int fragId = digitsCollection->
identify();
87 unsigned int drawer = (fragId & 0x3F);
88 unsigned int ros = fragId >> 8;
91 for (
const TileDigits* tile_digits : *digitsCollection) {
93 HWIdentifier adc_id = tile_digits->adc_HWID();
95 std::vector<float> digits = tile_digits->samples();
97 double mean_samp = 0.0;
98 double rms_samp = 0.0;
99 unsigned int n_digits = digits.size();
101 for (
double digit : digits) {
110 double ped = digits[0];
113 mean_samp /= n_digits;
114 rms_samp = rms_samp / n_digits - mean_samp * mean_samp;
115 rms_samp = (rms_samp > 0.0) ? sqrt(rms_samp * n_digits / (n_digits - 1)) : 0.0;
120 auto min_max = std::minmax_element(digits.begin(), digits.end());
121 float min_digit = *min_max.first;
122 float max_digit = *min_max.second;
123 float amplitude = max_digit - min_digit;
124 amplitudes[
partition].push_back(amplitude);
170 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
std::vector< std::vector< int > > m_cellHFNGroups
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
const TileHWID * m_tileHWID
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
TileTMDBDigitsMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< std::vector< int > > m_cellPedGroups
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
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.
Base class for Athena Monitoring Algorithms.
virtual ~TileTMDBDigitsMonitorAlgorithm()
virtual std::vector< IdentifierHash > GetAllCurrentHashes() const override final
Returns a collection of all hashes availiable in this IDC.
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
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.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
std::vector< int > m_hfnGroups
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
virtual StatusCode initialize() override
initialize
virtual const T * indexFindPtr(IdentifierHash hashId) const override final
return pointer on the found entry or null if out of range using hashed index - fast version,...
std::vector< std::vector< int > > m_cellAmpGroups
Gaudi::Property< std::vector< int > > m_nChannels
std::vector< int > m_ampGroups
Handle class for reading from StoreGate.
virtual StatusCode initialize() override
initialize
std::vector< int > m_pedGroups