|
ATLAS Offline Software
|
Go to the documentation of this file.
31 return StatusCode::FAILURE;
36 return StatusCode::FAILURE;
44 std::vector<std::string>
partitionName = {
"LBA",
"LBC",
"EBA",
"EBC"};
70 return StatusCode::SUCCESS;
76 for (
unsigned int i = 0;
i < muRcvDigitsCollection->
size();
i++){
77 const std::vector<float> &samplesX = muRcvDigitsCollection->
at(
i)->
samples();
78 float pedestalX = samplesX[0];
80 for (
unsigned int j = 0; j < muRcvDigitsCollection->
size(); j++){
81 const std::vector<float> &samplesY = muRcvDigitsCollection->
at(j)->
samples();
82 float pedestalY = samplesY[0];
103 if (rawChannelCollection->empty() )
continue;
105 int fragId = rawChannelCollection->identify();
106 int drawer = fragId & 0x3F;
107 int ros = fragId >> 8;
112 HWIdentifier adc_id = rawChannel->adc_HWID();
114 float energy = rawChannel->amplitude();
118 int channelTMDB = (*it).second;
137 if (muRcvRawChannelCollection->empty() )
continue;
139 int fragId = muRcvRawChannelCollection->identify();
140 int drawer = fragId & 0x3F;
141 int ros = fragId >> 8;
145 for (
const TileRawChannel* muRcvRawChannel : *muRcvRawChannelCollection) {
146 HWIdentifier adc_id = muRcvRawChannel->adc_HWID();
148 float amplitude = muRcvRawChannel->amplitude();
163 <<
": energy [MeV] = " <<
energy);
179 if (muRcvDigitsCollection->empty() )
continue;
181 int fragId = muRcvDigitsCollection->identify();
182 int drawer = fragId & 0x3F;
183 int ros = fragId >> 8;
187 for (
const TileDigits* muRcvDigits : *muRcvDigitsCollection) {
188 HWIdentifier adc_id = muRcvDigits->adc_HWID();
196 std::vector<float> samples = muRcvDigits->samples();
197 unsigned int nSamples = samples.size();
198 std::vector<int> sampleNumbers(
nSamples, 0);
199 std::iota(sampleNumbers.begin(), sampleNumbers.end(), 0);
206 float peakPosition =
std::distance(samples.begin(), std::max_element(samples.begin(), samples.end()));
207 peakPositions[
partition].push_back(peakPosition);
214 <<
": peak position = " << peakPosition);
240 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
unsigned constexpr int nChannels
std::reference_wrapper< const std::map< int, int > > m_cellTMDB[Tile::MAX_ROS - 1]
SG::ReadHandleKey< TileRawChannelContainer > m_muRcvRawChannelContainerKey
ToolHandle< ITileCondToolTMDB > m_tileCondToolTMDB
void fillNoiseHistograms(const TileDigitsCollection *muRcvDigitsCollection, const int drawer, const int partition) const
std::vector< int > m_peakGroups
const TileHWID * m_tileHWID
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
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.
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
std::vector< std::vector< std::vector< std::vector< int > > > > m_chanChannelNoiseGroups
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
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.
static const unsigned int MAX_ROS
Number of ROSs
const std::vector< float > & samples() const
virtual bool isValid() override final
Can the handle be successfully dereferenced?
std::vector< std::vector< std::vector< int > > > m_chanPeakPosGroups
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
std::vector< int > m_energyGroups
SG::ReadHandleKey< TileDigitsContainer > m_muRcvDigitsContainerKey
virtual StatusCode initialize() override
initialize
std::vector< std::vector< std::vector< int > > > m_pulseGroups
static std::string getDrawerString(unsigned int ros, unsigned int drawer)
Return the drawer name, e.g.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
virtual StatusCode initialize() override
initialize
std::vector< std::vector< std::vector< int > > > m_calibErrorGroups
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
std::vector< std::vector< std::vector< int > > > m_chanEnergyGroups
const T * at(size_type n) const
Access an element, as an rvalue.
Declare a monitored scalar variable.
Handle class for reading from StoreGate.
std::vector< V > buildToolMap(ToolHandleArray< GenericMonitoringTool > tools, const std::string &baseName, int nHist)
Builds an array of indices (base case)
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Gaudi::Property< std::vector< float > > m_pulseEnergyRange
const TileCablingService * m_cabling
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Property< std::vector< float > > m_energyRange