  | 
  
    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."};
 
   76    static const std::array<std::string_view,kNHistTypes> 
s_histNames;
 
   77    static const std::array<std::string_view,kNHistTypes> 
s_histTitles;
 
   93       {
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