 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef INDET_DEFECTSEMULATORBASE_H
5 #define INDET_DEFECTSEMULATORBASE_H
7 #include "GaudiKernel/ServiceHandle.h"
9 #include "GaudiKernel/ITHistSvc.h"
20 #include <string_view>
54 std::tuple<TH2 *,TH2 *, TH1 *>
findHist(
unsigned int n_rows,
unsigned int n_cols)
const;
57 {
this,
"HistSvc",
"THistSvc"};
59 {
this,
"HistogramGroupName",
"",
"Histogram group name or empty to disable histogramming"};
62 {
this,
"ModulePatterns", {},
63 "Integer ranges to select: (0-1) barrel/end-cap range, (2-3) layer, (4-5) eta index range, (6-7) phi index range, "
64 "(8-9) module number of columns or strips, (10) both sides (0,1), (11) all rows (0,1)" };
67 {
this,
"NoiseProbability",0.,
"Probability for a cell to produce a spurious hit per module pattern"};
69 {
this,
"NoiseShape",{},
"Shape of noise distribution (e.g. used for Pixel tot distribution or strip time bin distribution."};
77 static const std::array<std::string_view,kNHistTypes>
s_histNames;
78 static const std::array<std::string_view,kNHistTypes>
s_histTitles;
94 {
this,
"TrackingGeometryTool",
"ActsTrackingGeometryTool"};
ServiceHandle< ITHistSvc > m_histSvc
virtual StatusCode finalize() override
Common base class for the specializations of the DefectsEmulatorAlg template.
std::atomic< std::size_t > m_totalRDOs
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
std::array< std::vector< TH2 * >, 2 > m_hist ATLAS_THREAD_SAFE
virtual bool setModuleData(const ActsDetectorElement &acts_detector_element, ModuleIdentifierMatchUtil::ModuleData_t &module_data) const =0
Set the module data for matching for the given detector element.
Gaudi::Property< std::vector< std::vector< double > > > m_noiseShape
An algorithm that can be simultaneously executed in multiple threads.
static const std::array< std::string_view, kNHistTypes > s_histNames
std::vector< unsigned int > m_dimPerHist ATLAS_THREAD_SAFE
std::array< int, ModuleIdentifierMatchUtil::kAllRows/2 > ModuleData_t
DefectsEmulatorBase(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::vector< float > > m_noiseProbability
std::vector< TH1 * > m_noiseShapeHist ATLAS_THREAD_SAFE
std::vector< std::vector< float > > m_noiseShapeCummulative
::StatusCode StatusCode
StatusCode definition for legacy code.
bool m_histogrammingEnabled
static const std::array< std::string_view, kNHistTypes > s_histTitles
std::atomic< std::size_t > m_splitRDOs
std::atomic< std::size_t > m_totalNoise
Gaudi::Property< std::vector< std::vector< int > > > m_modulePattern
ServiceHandle< IAthRNGSvc > m_rndmSvc
Gaudi::Property< std::string > m_histogramGroupName
StatusCode initializeBase(unsigned int wafer_hash_max)
std::atomic< std::size_t > m_rejectedRDOs
std::tuple< TH2 *, TH2 *, TH1 * > findHist(unsigned int n_rows, unsigned int n_cols) const
Get rejected hits and noise histograms for a certain module design.
std::vector< unsigned short > m_noiseParamIdx