Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
DefectsEmulatorCondAlgBase.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef INDET_DEFECTSEMULATORCONDALGBASE_H
8 #define INDET_DEFECTSEMULATORCONDALGBASE_H
9 
11 
14 
15 #include "GaudiKernel/ServiceHandle.h"
16 
18 #include "PixelEmulatedDefects.h"
20 #include "GaudiKernel/ITHistSvc.h"
21 
22 #include "TH2.h"
23 namespace CLHEP {
24  class HepRandomEngine;
25 }
26 namespace InDet {
32  {
33  public:
34  DefectsEmulatorCondAlgBase(const std::string& name, ISvcLocator* pSvcLocator);
35  virtual ~DefectsEmulatorCondAlgBase() override = default;
36 
37  virtual StatusCode finalize() override;
38 
39  protected:
40  StatusCode initializeBase(unsigned int n_masks, unsigned int wafer_hash_max);
41  StatusCode initializeProbabilities(unsigned int n_masks);
43 
44  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""};
45 
46  Gaudi::Property<std::vector<std::vector<int> > > m_modulePattern
47  {this,"ModulePatterns", {},
48  "Integer ranges to select: (0-1) barrel/end-cap range, (2-3) layer, (4-5) eta index range, (6-7) phi index range, "
49  "(8-9) module number of columns or strips, (10) both sides (0,1), (11) all rows (0,1)" };
50  Gaudi::Property<std::vector<std::vector<double> > > m_defectProbability
51  {this,"DefectProbabilities", {},
52  "Defect probabilities per module pattern: defect module, defect strip." };
53  Gaudi::Property<std::vector<std::vector<double> > > m_nDefectFractionsPerPattern
54  {this,"NDefectFractionsPerPattern", {},
55  "List of fractions per pattern for exactly 1 to n defects under the codition that there is a defect, where -1. marks the"
56  "end of this lists, before the fractions for the next mask start." };
57  Gaudi::Property<std::vector<std::vector<double> > > m_cornerDefectParamsPerPattern
58  {this,"CornerDefectParamsPerPattern", {},
59  "Set of corner defect parameters (probability, x-intersection pos min, max, y-intersection pos min, max, sagitta minm max). "
60  "per module pattern. " };
61  Gaudi::Property<std::vector<std::vector<double> > > m_cornerDefectNCornerFractionsPerPattern
62  {this,"NCornerDefectFractionsPerPattern", {},
63  "List of fractions per pattern for exactly 1 to 4 corner defects under the codition that there is a defect." };
64 
65  std::vector<std::vector<std::vector<float> > > m_perPatternAndMaskFractions;
66  std::vector<std::vector<float> > m_perPatternCornerDefectNCornerCummulativeProb;
67 
68  // Properties to add a checker board like pattern to the defects
69  // for debugging
70  Gaudi::Property<bool> m_oddRowToggle
71  {this, "OddRowToggle", false};
72  Gaudi::Property<bool> m_oddColToggle
73  {this, "OddColToggle", false};
74  Gaudi::Property<bool> m_checkerBoardToggle
75  {this, "CheckerBoardDefects", false};
76  Gaudi::Property<unsigned int> m_maxAttempts
77  {this, "MaxRandomPositionAttempts", 10};
78 
79  ServiceHandle<ITHistSvc> m_histSvc{this,"HistSvc","THistSvc"};
80  Gaudi::Property<std::string> m_histogramGroupName
81  {this,"HistogramGroupName","", "Histogram group name or empty to disable histogramming"};
82  Gaudi::Property<bool> m_fillHistogramsPerPattern
83  {this, "FillHistogramsPerPattern", false, "If true, histogram per module defects etc. separately per pattern."};
84  Gaudi::Property<bool> m_fillEtaPhiHistogramsPerPattern
85  {this, "FillEtaPhiHistogramsPerPattern", false, "If true, histogram per eta, phi amd z, R are filled separately per pattern."};
86 
87  std::string m_rngName;
88 
92  kNProb
93  };
94 
104  };
105 
108  StatusCode checkProbabilities(unsigned int n_probabilities) const;
109 
115  double totalProbability(const std::vector<unsigned int> &module_pattern_idx, unsigned int prob_idx) const {
116  double total_prob=0;
117  for (unsigned int pattern_i : module_pattern_idx) {
118  assert( prob_idx < m_defectProbability.value().at(pattern_i).size() );
119  total_prob += m_defectProbability.value()[pattern_i][prob_idx];
120  }
121  return total_prob;
122  }
130  void makeCumulativeProbabilityDist(std::vector<unsigned int> &module_pattern_idx,
131  unsigned int prob_idx,
132  std::vector<double> &cumulative_prob) const {
133  cumulative_prob.clear();
134  double total_prob=0.f;
135  for (unsigned int pattern_i : module_pattern_idx) {
136  assert( prob_idx < m_defectProbability.value().at(pattern_i).size() );
137  total_prob += m_defectProbability.value()[pattern_i][prob_idx];
138  cumulative_prob.push_back(total_prob);
139  }
140  }
141 
142  enum ECounts {
149  kNCounts
150  };
151 
152  // Get number of cell, and group defects and return total number of defects.
153  // @param rndmEngine random engine which will be used to throw the random number of defects.
154  // @param module_pattern_idx list of pattern indices which match the module.
155  // @param n_masks the number of defect categories e.g. individual pixel, core-column, chip defect.
156  // @param n_cels the number cells per module e.g. total number of pixel or strips.
157  // @param n_mask_defects output array of number of defects per category.
158  // @return total number of defects i.e. the sum of the number of defects per category.
159  // n_mask_defects will be resized to n_masks and filled with number of defects per category, where the first element
160  // will be the number of individual cell defects.
161  unsigned int throwNumberOfDefects(CLHEP::HepRandomEngine *rndmEngine,
162  const std::vector<unsigned int> &module_pattern_idx,
163  unsigned int n_masks,
164  unsigned int n_cells,
165  std::vector<unsigned int> &n_mask_defects) const;
166 
167  // Print a message summarizing the defect generation
168  // @param n_masks number of masks.
169  // @param n_error number of modules with wrong module design.
170  // @param n_defects total the total number of generated defects.
171  // @param counts more detailed count per mask which is e.g. pixels, core-columns, chips.
172  void printSummaryOfDefectGeneration(unsigned int n_masks,
173  unsigned int n_error,
174  unsigned int n_defects_total,
175  const std::vector<std::array<unsigned int,kNCounts> > &counts) const;
176 
177  // Get histogram index and matrix type id for a certain matrix for a certain module pattern.
178  // calls during execute must be protected by m_histMutex and must not be called if histogramming is
179  // disabled.
180  // will return histogram index, and matrix type id
181  // usage:
182  // <verb>
183  // auto [histogram_index, type_id] = findHist(pattern_i, n_rows, n_cols);
184  // m_hist[pattern_i][histogram_index] or m_nGroupDefectHistspattern_i][histogram_index]
185  // </verb>
186  std::pair<unsigned int, unsigned int> findHist(unsigned int pattern_i, unsigned int n_rows, unsigned int n_cols) const;
187  void histogramDefectModule(unsigned int module_pattern_i, unsigned int hist_pattern_i, unsigned int id_hash, const Amg::Vector3D &center) const;
188  // fill per module histograms
189  // @param module_pattern_i the pattern index for which to histogram the position
190  // @param pattern_hist_i module pattern index or zero if there is only one set of histograms for all patterns
191  // @param matrix_histogram_index an index which is unique for each matrix type defined by the number of rows and columns
192  // @param module_i the ID hash
193  // @param n_masks the number of maskes defined int the module helper e.g. all pixels, core-columns, chips
194  // @param n_mask_defects the number of created defects per mask for the given module
195  // @param center global position of the module
196  // Will fill the number of defects per module and matrix type ID per hash ID histograms. Must not be called
197  // if histogramming is disabled.
198  void fillPerModuleHistograms(unsigned int module_pattern_i,
199  unsigned int pattern_hist_i,
200  unsigned int matrix_histogram_index,
201  unsigned int matrix_index,
202  unsigned int module_i,
203  unsigned int n_masks,
204  const std::vector<unsigned int> &n_mask_defects,
205  const Amg::Vector3D &center) const;
206 
207 
208  std::vector<std::string> m_groupDefectHistNames; // must be filled with one name per nask except for the first one
209  std::vector<unsigned int> m_maxNGroupDefects; // max number of group defects for histograms; one element per nask starting from the second maske
211  // during execute the following may only be accessed when m_histMutex is locked
212  mutable std::vector<unsigned int> m_matrixTypeId ATLAS_THREAD_SAFE;
213  mutable std::vector<std::vector<unsigned int> > m_dimPerHist ATLAS_THREAD_SAFE;
214 
215  mutable std::vector< std::vector< TH2 *> > m_hist ATLAS_THREAD_SAFE;
216  mutable std::vector< std::vector<std::vector< TH1 *> > > m_groupDefectHists ATLAS_THREAD_SAFE;
217  mutable std::vector< std::vector< TH2 *> > m_moduleHist ATLAS_THREAD_SAFE;
218 
222  kNPosHists
223  };
224  mutable std::array<std::vector<TH2 *>,kNPosHists> m_defectModuleEtaPhiHist ATLAS_THREAD_SAFE;
225  mutable std::array<std::vector<TH2 *>,kNPosHists> m_defectModuleEtaLayerHist ATLAS_THREAD_SAFE;
226 
232  };
233 
234  mutable std::atomic<unsigned int> m_modulesWithoutDefectParameters {};
235 
237  };
238 }
239 #endif
InDet::DefectsEmulatorCondAlgBase::m_rngName
std::string m_rngName
Definition: DefectsEmulatorCondAlgBase.h:87
InDet::DefectsEmulatorCondAlgBase
Conditions algorithms for emulating ITK pixel defects.
Definition: DefectsEmulatorCondAlgBase.h:32
InDet::DefectsEmulatorCondAlgBase::m_oddRowToggle
Gaudi::Property< bool > m_oddRowToggle
Definition: DefectsEmulatorCondAlgBase.h:71
InDet::DefectsEmulatorCondAlgBase::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: DefectsEmulatorCondAlgBase.h:44
InDet::DefectsEmulatorCondAlgBase::kMaxDefectsPerModule
@ kMaxDefectsPerModule
Definition: DefectsEmulatorCondAlgBase.h:148
InDet::DefectsEmulatorCondAlgBase::m_nDefectFractionsPerPattern
Gaudi::Property< std::vector< std::vector< double > > > m_nDefectFractionsPerPattern
Definition: DefectsEmulatorCondAlgBase.h:54
InDet::DefectsEmulatorCondAlgBase::m_checkerBoardToggle
Gaudi::Property< bool > m_checkerBoardToggle
Definition: DefectsEmulatorCondAlgBase.h:75
InDet::DefectsEmulatorCondAlgBase::findHist
std::pair< unsigned int, unsigned int > findHist(unsigned int pattern_i, unsigned int n_rows, unsigned int n_cols) const
Definition: DefectsEmulatorCondAlgBase.cxx:267
InDet::DefectsEmulatorCondAlgBase::kDefectModulePos
@ kDefectModulePos
Definition: DefectsEmulatorCondAlgBase.h:220
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::array< std::vector< TH2 * >, kNPosHists > m_defectModuleEtaPhiHist ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:224
InDet::DefectsEmulatorCondAlgBase::initializeCornerDefects
StatusCode initializeCornerDefects()
Definition: DefectsEmulatorCondAlgBase.cxx:414
InDet::DefectsEmulatorCondAlgBase::throwNumberOfDefects
unsigned int throwNumberOfDefects(CLHEP::HepRandomEngine *rndmEngine, const std::vector< unsigned int > &module_pattern_idx, unsigned int n_masks, unsigned int n_cells, std::vector< unsigned int > &n_mask_defects) const
Definition: DefectsEmulatorCondAlgBase.cxx:189
InDet::DefectsEmulatorCondAlgBase::m_oddColToggle
Gaudi::Property< bool > m_oddColToggle
Definition: DefectsEmulatorCondAlgBase.h:73
InDet::DefectsEmulatorCondAlgBase::totalProbability
double totalProbability(const std::vector< unsigned int > &module_pattern_idx, unsigned int prob_idx) const
Compute the total probability using the probabilities associated to the given list of patterns.
Definition: DefectsEmulatorCondAlgBase.h:115
InDet::DefectsEmulatorCondAlgBase::~DefectsEmulatorCondAlgBase
virtual ~DefectsEmulatorCondAlgBase() override=default
InDet::DefectsEmulatorCondAlgBase::kModuleDefectProb
@ kModuleDefectProb
Definition: DefectsEmulatorCondAlgBase.h:90
InDet::DefectsEmulatorCondAlgBase::DefectsEmulatorCondAlgBase
DefectsEmulatorCondAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition: DefectsEmulatorCondAlgBase.cxx:17
InDet::DefectsEmulatorCondAlgBase::m_histogramGroupName
Gaudi::Property< std::string > m_histogramGroupName
Definition: DefectsEmulatorCondAlgBase.h:81
InDet::DefectsEmulatorCondAlgBase::kNElements
@ kNElements
Definition: DefectsEmulatorCondAlgBase.h:143
InDet::DefectsEmulatorCondAlgBase::m_perPatternAndMaskFractions
std::vector< std::vector< std::vector< float > > > m_perPatternAndMaskFractions
Definition: DefectsEmulatorCondAlgBase.h:65
InDet::DefectsEmulatorCondAlgBase::m_histSvc
ServiceHandle< ITHistSvc > m_histSvc
Definition: DefectsEmulatorCondAlgBase.h:79
InDet::DefectsEmulatorCondAlgBase::m_fillEtaPhiHistogramsPerPattern
Gaudi::Property< bool > m_fillEtaPhiHistogramsPerPattern
Definition: DefectsEmulatorCondAlgBase.h:85
InDet::DefectsEmulatorCondAlgBase::EPosHistType
EPosHistType
Definition: DefectsEmulatorCondAlgBase.h:219
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::vector< std::vector< TH2 * > > m_hist ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:215
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
InDet::DefectsEmulatorCondAlgBase::m_perPatternCornerDefectNCornerCummulativeProb
std::vector< std::vector< float > > m_perPatternCornerDefectNCornerCummulativeProb
Definition: DefectsEmulatorCondAlgBase.h:66
InDet::DefectsEmulatorCondAlgBase::kNCounts
@ kNCounts
Definition: DefectsEmulatorCondAlgBase.h:149
InDet::DefectsEmulatorCondAlgBase::m_defectProbability
Gaudi::Property< std::vector< std::vector< double > > > m_defectProbability
Definition: DefectsEmulatorCondAlgBase.h:51
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::vector< std::vector< unsigned int > > m_dimPerHist ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:213
InDet::DefectsEmulatorCondAlgBase::m_histMutex
std::mutex m_histMutex
Definition: DefectsEmulatorCondAlgBase.h:210
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::vector< std::vector< TH2 * > > m_moduleHist ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:217
InDet::DefectsEmulatorCondAlgBase::printSummaryOfDefectGeneration
void printSummaryOfDefectGeneration(unsigned int n_masks, unsigned int n_error, unsigned int n_defects_total, const std::vector< std::array< unsigned int, kNCounts > > &counts) const
Definition: DefectsEmulatorCondAlgBase.cxx:234
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::DefectsEmulatorCondAlgBase::histogramDefectModule
void histogramDefectModule(unsigned int module_pattern_i, unsigned int hist_pattern_i, unsigned int id_hash, const Amg::Vector3D &center) const
Definition: DefectsEmulatorCondAlgBase.cxx:461
InDet::DefectsEmulatorCondAlgBase::kNCornerDefectParams
@ kNCornerDefectParams
Definition: DefectsEmulatorCondAlgBase.h:103
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
InDet::DefectsEmulatorCondAlgBase::ECornerDefectParams
ECornerDefectParams
Definition: DefectsEmulatorCondAlgBase.h:95
InDet::DefectsEmulatorCondAlgBase::kCornerDefectkSagitta
@ kCornerDefectkSagitta
Definition: DefectsEmulatorCondAlgBase.h:102
InDet::DefectsEmulatorCondAlgBase::initializeProbabilities
StatusCode initializeProbabilities(unsigned int n_masks)
Definition: DefectsEmulatorCondAlgBase.cxx:344
InDet::DefectsEmulatorCondAlgBase::kNDefects
@ kNDefects
Definition: DefectsEmulatorCondAlgBase.h:144
InDet::DefectsEmulatorCondAlgBase::finalize
virtual StatusCode finalize() override
Definition: DefectsEmulatorCondAlgBase.cxx:181
InDet::DefectsEmulatorCondAlgBase::kCornerDefectkWidthRowDirectionOffset
@ kCornerDefectkWidthRowDirectionOffset
Definition: DefectsEmulatorCondAlgBase.h:99
InDet::DefectsEmulatorCondAlgBase::m_modulePattern
Gaudi::Property< std::vector< std::vector< int > > > m_modulePattern
Definition: DefectsEmulatorCondAlgBase.h:47
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::array< std::vector< TH2 * >, kNPosHists > m_defectModuleEtaLayerHist ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:225
InDet::DefectsEmulatorCondAlgBase::kCornerDefectWidthColumnDirection
@ kCornerDefectWidthColumnDirection
Definition: DefectsEmulatorCondAlgBase.h:98
InDet::DefectsEmulatorCondAlgBase::m_cornerDefectNCornerFractionsPerPattern
Gaudi::Property< std::vector< std::vector< double > > > m_cornerDefectNCornerFractionsPerPattern
Definition: DefectsEmulatorCondAlgBase.h:62
ReadCondHandleKey.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
InDet::DefectsEmulatorCondAlgBase::kNMaxRtriesExceeded
@ kNMaxRtriesExceeded
Definition: DefectsEmulatorCondAlgBase.h:146
InDet::DefectsEmulatorCondAlgBase::kMatrixTypeId
@ kMatrixTypeId
Definition: DefectsEmulatorCondAlgBase.h:228
InDet::DefectsEmulatorCondAlgBase::kCornerDefectProb
@ kCornerDefectProb
Definition: DefectsEmulatorCondAlgBase.h:96
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
InDet::DefectsEmulatorCondAlgBase::m_fillHistogramsPerPattern
Gaudi::Property< bool > m_fillHistogramsPerPattern
Definition: DefectsEmulatorCondAlgBase.h:83
InDet::DefectsEmulatorCondAlgBase::kNProb
@ kNProb
Definition: DefectsEmulatorCondAlgBase.h:92
SiDetectorElementCollection.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
PixelEmulatedDefects.h
InDet::DefectsEmulatorCondAlgBase::kNPosHists
@ kNPosHists
Definition: DefectsEmulatorCondAlgBase.h:222
InDet::DefectsEmulatorCondAlgBase::checkProbabilities
StatusCode checkProbabilities(unsigned int n_probabilities) const
Consistency check of module patterns, probabilities.
Definition: DefectsEmulatorCondAlgBase.cxx:159
InDet::DefectsEmulatorCondAlgBase::kNPerModuleHistTypes
@ kNPerModuleHistTypes
Definition: DefectsEmulatorCondAlgBase.h:231
InDet::DefectsEmulatorCondAlgBase::initializeBase
StatusCode initializeBase(unsigned int n_masks, unsigned int wafer_hash_max)
Definition: DefectsEmulatorCondAlgBase.cxx:21
InDet::DefectsEmulatorCondAlgBase::kCornerDefectkWidthRowDirection
@ kCornerDefectkWidthRowDirection
Definition: DefectsEmulatorCondAlgBase.h:100
InDet::DefectsEmulatorCondAlgBase::kCornerDefectWidthColumnDirectionOffset
@ kCornerDefectWidthColumnDirectionOffset
Definition: DefectsEmulatorCondAlgBase.h:97
InDet::DefectsEmulatorCondAlgBase::m_histogrammingEnabled
bool m_histogrammingEnabled
Definition: DefectsEmulatorCondAlgBase.h:236
InDet::DefectsEmulatorCondAlgBase::kModulesWithDefectsPos
@ kModulesWithDefectsPos
Definition: DefectsEmulatorCondAlgBase.h:221
InDet::DefectsEmulatorCondAlgBase::kNModulesWithDefects
@ kNModulesWithDefects
Definition: DefectsEmulatorCondAlgBase.h:147
InDet::DefectsEmulatorCondAlgBase::kCornerDefectkSagittaOffset
@ kCornerDefectkSagittaOffset
Definition: DefectsEmulatorCondAlgBase.h:101
InDet::DefectsEmulatorCondAlgBase::m_maxNGroupDefects
std::vector< unsigned int > m_maxNGroupDefects
Definition: DefectsEmulatorCondAlgBase.h:209
InDet::DefectsEmulatorCondAlgBase::kNRetries
@ kNRetries
Definition: DefectsEmulatorCondAlgBase.h:145
InDet::DefectsEmulatorCondAlgBase::ECounts
ECounts
Definition: DefectsEmulatorCondAlgBase.h:142
InDet::DefectsEmulatorCondAlgBase::m_maxAttempts
Gaudi::Property< unsigned int > m_maxAttempts
Definition: DefectsEmulatorCondAlgBase.h:77
InDet::DefectsEmulatorCondAlgBase::makeCumulativeProbabilityDist
void makeCumulativeProbabilityDist(std::vector< unsigned int > &module_pattern_idx, unsigned int prob_idx, std::vector< double > &cumulative_prob) const
Create a cumulative distribution from the referenced set of probabilities.
Definition: DefectsEmulatorCondAlgBase.h:130
InDet::DefectsEmulatorCondAlgBase::m_modulesWithoutDefectParameters
std::atomic< unsigned int > m_modulesWithoutDefectParameters
Definition: DefectsEmulatorCondAlgBase.h:234
InDet::DefectsEmulatorCondAlgBase::EProbabilities
EProbabilities
Definition: DefectsEmulatorCondAlgBase.h:89
InDet::DefectsEmulatorCondAlgBase::kDefectCell
@ kDefectCell
Definition: DefectsEmulatorCondAlgBase.h:230
InDet::DefectsEmulatorCondAlgBase::kCellDefectProb
@ kCellDefectProb
Definition: DefectsEmulatorCondAlgBase.h:91
InDet::DefectsEmulatorCondAlgBase::EPerModuleHistType
EPerModuleHistType
Definition: DefectsEmulatorCondAlgBase.h:227
InDet::DefectsEmulatorCondAlgBase::m_cornerDefectParamsPerPattern
Gaudi::Property< std::vector< std::vector< double > > > m_cornerDefectParamsPerPattern
Definition: DefectsEmulatorCondAlgBase.h:58
InDet::DefectsEmulatorCondAlgBase::m_groupDefectHistNames
std::vector< std::string > m_groupDefectHistNames
Definition: DefectsEmulatorCondAlgBase.h:208
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::vector< unsigned int > m_matrixTypeId ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:212
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >
InDet::DefectsEmulatorCondAlgBase::kDefectModule
@ kDefectModule
Definition: DefectsEmulatorCondAlgBase.h:229
InDet::DefectsEmulatorCondAlgBase::ATLAS_THREAD_SAFE
std::vector< std::vector< std::vector< TH1 * > > > m_groupDefectHists ATLAS_THREAD_SAFE
Definition: DefectsEmulatorCondAlgBase.h:216
InDet::DefectsEmulatorCondAlgBase::fillPerModuleHistograms
void fillPerModuleHistograms(unsigned int module_pattern_i, unsigned int pattern_hist_i, unsigned int matrix_histogram_index, unsigned int matrix_index, unsigned int module_i, unsigned int n_masks, const std::vector< unsigned int > &n_mask_defects, const Amg::Vector3D &center) const
Definition: DefectsEmulatorCondAlgBase.cxx:476