CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SimG4HGCalValidation Class Reference
Inheritance diagram for SimG4HGCalValidation:
SimProducer Observer< const BeginOfEvent *> Observer< const G4Step *> SimWatcher

Public Member Functions

void beginRun (edm::EventSetup const &) override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
void registerConsumes (edm::ConsumesCollector) override
 
 SimG4HGCalValidation (const edm::ParameterSet &p)
 
 ~SimG4HGCalValidation () override
 
- Public Member Functions inherited from SimProducer
const SimProduceroperator= (const SimProducer &)=delete
 
void registerProducts (edm::ProducesCollector producesCollector)
 
 SimProducer ()
 
 SimProducer (const SimProducer &)=delete
 
- Public Member Functions inherited from SimWatcher
bool isMT () const
 
const SimWatcheroperator= (const SimWatcher &)=delete
 
 SimWatcher ()
 
 SimWatcher (const SimWatcher &)=delete
 
virtual ~SimWatcher ()
 
- Public Member Functions inherited from Observer< const BeginOfEvent *>
 Observer ()
 
void slotForUpdate (const BeginOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const G4Step *>
 Observer ()
 
void slotForUpdate (const G4Step * iT)
 
virtual ~Observer ()
 

Private Member Functions

void clear ()
 
void init ()
 
void layerAnalysis (PHGCalValidInfo &)
 
const SimG4HGCalValidationoperator= (const SimG4HGCalValidation &)
 
 SimG4HGCalValidation (const SimG4HGCalValidation &)
 
void update (const BeginOfEvent *evt) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const G4Step *step) override
 This routine will be called when the appropriate signal arrives. More...
 

Private Attributes

unsigned int count_
 
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > ddconsToken_
 
std::vector< unsigned int > dets_
 
std::vector< int > detTypes_
 
double edepEE_
 
double edepHEB_
 
double edepHEF_
 
std::vector< HGCalNumberingScheme * > hgcalNumbering_
 
std::vector< double > hgcEEedep_
 
std::vector< double > hgcHEBedep_
 
std::vector< double > hgcHEFedep_
 
std::vector< unsigned int > hgchitDets_
 
std::vector< unsigned int > hgchitIndex_
 
std::vector< double > hgchitX_
 
std::vector< double > hgchitY_
 
std::vector< double > hgchitZ_
 
std::vector< HGCNumberingScheme * > hgcNumbering_
 
std::string labelLayer_
 
int levelT1_
 
int levelT2_
 
std::vector< std::string > names_
 
std::vector< std::string > nameXs_
 
std::vector< int > subdet_
 
std::vector< int > types_
 
int verbosity_
 

Additional Inherited Members

- Protected Member Functions inherited from SimProducer
template<class T >
void produces ()
 
template<class T >
void produces (const std::string &instanceName)
 
- Protected Member Functions inherited from SimWatcher
void setMT (bool val)
 

Detailed Description

Definition at line 51 of file SimG4HGCalValidation.cc.

Constructor & Destructor Documentation

◆ SimG4HGCalValidation() [1/2]

SimG4HGCalValidation::SimG4HGCalValidation ( const edm::ParameterSet p)

Definition at line 98 of file SimG4HGCalValidation.cc.

References detTypes_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), dqmdumpme::k, labelLayer_, names_, AlCaHLTBitMon_ParallelJobs::p, AlCaHLTBitMon_QueryRunRegistry::string, types_, and verbosity_.

98  : levelT1_(999), levelT2_(999), count_(0) {
99  edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("SimG4HGCalValidation");
100  names_ = m_Anal.getParameter<std::vector<std::string> >("Names");
101  types_ = m_Anal.getParameter<std::vector<int> >("Types");
102  detTypes_ = m_Anal.getParameter<std::vector<int> >("DetTypes");
103  labelLayer_ = m_Anal.getParameter<std::string>("LabelLayerInfo");
104  verbosity_ = m_Anal.getUntrackedParameter<int>("Verbosity", 0);
105 
106  produces<PHGCalValidInfo>(labelLayer_);
107 
108  if (verbosity_ > 0) {
109  edm::LogVerbatim("ValidHGCal") << "HGCalTestAnalysis:: Initialised as "
110  << "observer of begin events and of G4step "
111  << "with Parameter values: \n\tLabel : " << labelLayer_ << " and with "
112  << names_.size() << " detectors";
113  for (unsigned int k = 0; k < names_.size(); ++k)
114  edm::LogVerbatim("ValidHGCal") << " [" << k << "] " << names_[k] << " Type " << types_[k] << " DetType "
115  << detTypes_[k];
116  }
117 }
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::vector< int > detTypes_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > names_
std::vector< int > types_

◆ ~SimG4HGCalValidation()

SimG4HGCalValidation::~SimG4HGCalValidation ( )
override

Definition at line 119 of file SimG4HGCalValidation.cc.

References hgcalNumbering_, hgcNumbering_, and contentValuesFiles::number.

119  {
120  for (auto number : hgcNumbering_)
121  delete number;
122  for (auto number : hgcalNumbering_)
123  delete number;
124 }
std::vector< HGCalNumberingScheme * > hgcalNumbering_
std::vector< HGCNumberingScheme * > hgcNumbering_

◆ SimG4HGCalValidation() [2/2]

SimG4HGCalValidation::SimG4HGCalValidation ( const SimG4HGCalValidation )
private

Member Function Documentation

◆ beginRun()

void SimG4HGCalValidation::beginRun ( edm::EventSetup const &  es)
overridevirtual

Reimplemented from SimWatcher.

Definition at line 172 of file SimG4HGCalValidation.cc.

References ddconsToken_, dets_, detTypes_, Exception, edm::EventSetup::getHandle(), hgcalNumbering_, hgcEEedep_, hgcHEBedep_, hgcHEFedep_, hgcNumbering_, mps_fire::i, edm::ESHandleBase::isValid(), hgcalTopologyTester_cfi::layers, HGCalDDDConstants::layers(), levelT1_, levelT2_, HGCalDDDConstants::levelTop(), nameXs_, subdet_, HGCalDDDConstants::tileTrapezoid(), types_, verbosity_, and HGCalDDDConstants::waferHexagon6().

172  {
173  for (unsigned int type = 0; type < types_.size(); ++type) {
174  int layers(0);
175  int detType = detTypes_[type];
177  if (hdc.isValid()) {
178  levelT1_ = hdc->levelTop(0);
179  levelT2_ = hdc->levelTop(1);
180  if (hdc->tileTrapezoid()) {
181  types_[type] = -1;
182  hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type], ""));
183  } else if (hdc->waferHexagon6()) {
184  types_[type] = 1;
185  hgcNumbering_.emplace_back(new HGCNumberingScheme(*hdc, nameXs_[type]));
186  } else {
187  types_[type] = 0;
188  hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameXs_[type], ""));
189  }
190  layers = hdc->layers(false);
191  } else {
192  edm::LogError("ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type];
193  throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type] << "\n";
194  }
195  if (detType == 0) {
196  for (int i = 0; i < layers; ++i)
197  hgcEEedep_.emplace_back(0);
198  } else if (detType == 1) {
199  for (int i = 0; i < layers; ++i)
200  hgcHEFedep_.emplace_back(0);
201  } else {
202  for (int i = 0; i < layers; ++i)
203  hgcHEBedep_.emplace_back(0);
204  }
205  if (verbosity_ > 0)
206  edm::LogVerbatim("ValidHGCal") << "[" << type << "]: " << nameXs_[type] << " det " << dets_[type] << " subdet "
207  << subdet_[type] << " with " << layers << " layers";
208  }
209 }
Log< level::Info, true > LogVerbatim
std::vector< int > subdet_
std::vector< HGCalNumberingScheme * > hgcalNumbering_
std::vector< std::string > nameXs_
Log< level::Error, false > LogError
bool waferHexagon6() const
std::vector< int > detTypes_
std::vector< unsigned int > dets_
unsigned int layers(bool reco) const
bool tileTrapezoid() const
std::vector< double > hgcHEFedep_
bool isValid() const
Definition: ESHandle.h:44
std::vector< HGCNumberingScheme * > hgcNumbering_
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > ddconsToken_
std::vector< double > hgcHEBedep_
Detector
Definition: DetId.h:24
std::vector< int > types_
std::vector< double > hgcEEedep_
int levelTop(int ind=0) const

◆ clear()

void SimG4HGCalValidation::clear ( void  )
private

Definition at line 344 of file SimG4HGCalValidation.cc.

References hgchitDets_, hgchitIndex_, hgchitX_, hgchitY_, and hgchitZ_.

Referenced by update().

344  {
345  hgchitDets_.erase(hgchitDets_.begin(), hgchitDets_.end());
346  hgchitIndex_.erase(hgchitIndex_.begin(), hgchitIndex_.end());
347  hgchitX_.erase(hgchitX_.begin(), hgchitX_.end());
348  hgchitY_.erase(hgchitY_.begin(), hgchitY_.end());
349  hgchitZ_.erase(hgchitZ_.begin(), hgchitZ_.end());
350 }
std::vector< unsigned int > hgchitIndex_
std::vector< double > hgchitY_
std::vector< double > hgchitZ_
std::vector< unsigned int > hgchitDets_
std::vector< double > hgchitX_

◆ init()

void SimG4HGCalValidation::init ( )
private

◆ layerAnalysis()

void SimG4HGCalValidation::layerAnalysis ( PHGCalValidInfo product)
private

Definition at line 331 of file SimG4HGCalValidation.cc.

References edepEE_, edepHEB_, edepHEF_, PHGCalValidInfo::fillhgcHits(), PHGCalValidInfo::fillhgcLayers(), hgcEEedep_, hgcHEBedep_, hgcHEFedep_, hgchitDets_, hgchitIndex_, hgchitX_, hgchitY_, hgchitZ_, and verbosity_.

Referenced by produce().

331  {
332  if (verbosity_ > 0)
333  edm::LogVerbatim("ValidHGCal") << "\n ===>>> SimG4HGCalValidation: Energy "
334  << "deposit\n at EE : " << std::setw(6) << edepEE_ / CLHEP::MeV
335  << "\n at HEF: " << std::setw(6) << edepHEF_ / CLHEP::MeV
336  << "\n at HEB: " << std::setw(6) << edepHEB_ / CLHEP::MeV;
337 
338  //Fill HGC Variables
341 }
std::vector< unsigned int > hgchitIndex_
Log< level::Info, true > LogVerbatim
std::vector< double > hgchitY_
std::vector< double > hgchitZ_
void fillhgcLayers(const double edepEE, const double edepHEF, const double edepHEB, const std::vector< double > &eedep, const std::vector< double > &hefdep, const std::vector< double > &hebdep)
std::vector< unsigned int > hgchitDets_
std::vector< double > hgcHEFedep_
std::vector< double > hgcHEBedep_
std::vector< double > hgcEEedep_
void fillhgcHits(const std::vector< unsigned int > &hitdets, const std::vector< unsigned int > &hitindex, const std::vector< double > &hitvtxX, const std::vector< double > &hitvtxY, const std::vector< double > &hitvtxZ)
std::vector< double > hgchitX_

◆ operator=()

const SimG4HGCalValidation& SimG4HGCalValidation::operator= ( const SimG4HGCalValidation )
private

◆ produce()

void SimG4HGCalValidation::produce ( edm::Event e,
const edm::EventSetup  
)
overridevirtual

Implements SimProducer.

Definition at line 166 of file SimG4HGCalValidation.cc.

References MillePedeFileConverter_cfg::e, labelLayer_, layerAnalysis(), and eostools::move().

166  {
167  std::unique_ptr<PHGCalValidInfo> productLayer(new PHGCalValidInfo);
168  layerAnalysis(*productLayer);
169  e.put(std::move(productLayer), labelLayer_);
170 }
void layerAnalysis(PHGCalValidInfo &)
def move(src, dest)
Definition: eostools.py:511

◆ registerConsumes()

void SimG4HGCalValidation::registerConsumes ( edm::ConsumesCollector  cc)
overridevirtual

Reimplemented from SimWatcher.

Definition at line 126 of file SimG4HGCalValidation.cc.

References edm::BeginRun, ddconsToken_, dets_, detTypes_, edm::ConsumesCollector::esConsumes(), Exception, DetId::Forward, ForwardEmpty, DetId::HGCalEE, DetId::HGCalHSc, DetId::HGCalHSi, HGCEE, HGCHEB, HGCHEF, hfnoseParametersInitialization_cfi::nameX, nameXs_, subdet_, and types_.

126  {
127  for (unsigned int type = 0; type < types_.size(); ++type) {
128  int detType = detTypes_[type];
129  G4String nameX = "HGCal";
130  if (types_[type] <= 1) {
131  if (types_[type] == 0) {
133  if (detType == 0)
134  dets_.emplace_back((int)(DetId::HGCalEE));
135  else if (detType == 1)
136  dets_.emplace_back((int)(DetId::HGCalHSi));
137  else
138  dets_.emplace_back((int)(DetId::HGCalHSc));
139  } else {
140  dets_.emplace_back((unsigned int)(DetId::Forward));
141  if (detType == 0)
142  subdet_.emplace_back((int)(ForwardSubdetector::HGCEE));
143  else if (detType == 1)
144  subdet_.emplace_back((int)(ForwardSubdetector::HGCHEF));
145  else
146  subdet_.emplace_back((int)(ForwardSubdetector::HGCHEB));
147  }
148  if (detType == 0)
149  nameX = "HGCalEESensitive";
150  else if (detType == 1)
151  nameX = "HGCalHESiliconSensitive";
152  else
153  nameX = "HGCalHEScintillatorSensitive";
154  nameXs_.emplace_back(nameX);
155  ddconsToken_.emplace_back(
157  edm::LogVerbatim("ValidHGCal") << "Defines ESGetToken for type " << type << ":" << dets_.back() << ":"
158  << subdet_.back() << ":" << nameX;
159  } else {
160  edm::LogError("ValidHGCal") << "Wrong Type " << types_[type];
161  throw cms::Exception("Unknown", "ValidHGCal") << "Wrong Type " << types_[type] << "\n";
162  }
163  }
164 }
Log< level::Info, true > LogVerbatim
std::vector< int > subdet_
std::vector< std::string > nameXs_
Log< level::Error, false > LogError
std::vector< int > detTypes_
std::vector< unsigned int > dets_
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > ddconsToken_
std::vector< int > types_

◆ update() [1/2]

void SimG4HGCalValidation::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent *>.

Definition at line 212 of file SimG4HGCalValidation.cc.

References clear(), count_, edepEE_, edepHEB_, edepHEF_, hgcEEedep_, hgcHEBedep_, hgcHEFedep_, mps_fire::i, iev, and verbosity_.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

212  {
213  int iev = (*evt)()->GetEventID();
214  if (verbosity_ > 0)
215  edm::LogVerbatim("ValidHGCal") << "SimG4HGCalValidation: =====> Begin "
216  << "event = " << iev;
217 
218  ++count_;
219  edepEE_ = edepHEF_ = edepHEB_ = 0.;
220 
221  //HGCal variables
222  for (unsigned int i = 0; i < hgcEEedep_.size(); i++)
223  hgcEEedep_[i] = 0.;
224  for (unsigned int i = 0; i < hgcHEFedep_.size(); i++)
225  hgcHEFedep_[i] = 0.;
226  for (unsigned int i = 0; i < hgcHEBedep_.size(); i++)
227  hgcHEBedep_[i] = 0.;
228 
229  //Cache reset
230  clear();
231 }
Log< level::Info, true > LogVerbatim
std::vector< double > hgcHEFedep_
std::vector< double > hgcHEBedep_
HitContainer const *__restrict__ TkSoA const *__restrict__ Quality const *__restrict__ CAHitNtupletGeneratorKernelsGPU::HitToTuple const *__restrict__ int32_t int32_t int iev
std::vector< double > hgcEEedep_

◆ update() [2/2]

void SimG4HGCalValidation::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step *>.

Definition at line 234 of file SimG4HGCalValidation.cc.

References TauDecayModes::dec, dets_, detTypes_, edepEE_, edepHEB_, edepHEF_, spr::find(), hgcalNumbering_, hgcEEedep_, hgcHEBedep_, hgcHEFedep_, hgchitDets_, hgchitIndex_, hgchitX_, hgchitY_, hgchitZ_, hgcNumbering_, dqmdumpme::k, phase1PixelTopology::layer, levelT1_, levelT2_, callgraph::module, Skims_PA_cff::name, names_, subdet_, types_, verbosity_, and mps_merge::weight.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

234  {
235  if (aStep != nullptr) {
236  G4VPhysicalVolume* curPV = aStep->GetPreStepPoint()->GetPhysicalVolume();
237  const G4String& name = curPV->GetName();
238  G4VSensitiveDetector* curSD = aStep->GetPreStepPoint()->GetSensitiveDetector();
239  if (verbosity_ > 1)
240  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::Step in " << name << " at "
241  << aStep->GetPreStepPoint()->GetPosition();
242 
243  // Only for Sensitive detector
244  if (curSD != nullptr) {
245  int type(-1);
246  for (unsigned int k = 0; k < names_.size(); ++k) {
247  if (name.find(names_[k].c_str()) != std::string::npos) {
248  type = k;
249  break;
250  }
251  }
252  int detType = (type >= 0) ? detTypes_[type] : -1;
253  if (verbosity_ > 0)
254  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::In SD " << name << " type " << type << ":" << detType;
255 
256  // Right type of SD
257  if (type >= 0) {
258  //Get the 32-bit index of the hit cell
259  const G4TouchableHistory* touchable =
260  static_cast<const G4TouchableHistory*>(aStep->GetPreStepPoint()->GetTouchable());
261  unsigned int index(0);
262  int layer(0);
263  G4ThreeVector hitPoint = aStep->GetPreStepPoint()->GetPosition();
264  // HGCal
265  G4ThreeVector localpos = touchable->GetHistory()->GetTopTransform().TransformPoint(hitPoint);
266  float globalZ = touchable->GetTranslation(0).z();
267  int iz(globalZ > 0 ? 1 : -1);
268  int module(-1), cell(-1);
269  if (types_[type] == 1) {
270  if (touchable->GetHistoryDepth() == levelT1_) {
271  layer = touchable->GetReplicaNumber(0);
272  } else {
273  layer = touchable->GetReplicaNumber(2);
274  module = touchable->GetReplicaNumber(1);
275  cell = touchable->GetReplicaNumber(0);
276  }
277  index =
278  hgcNumbering_[type]->getUnitID((ForwardSubdetector)(subdet_[type]), layer, module, cell, iz, localpos);
279  } else {
280  if ((touchable->GetHistoryDepth() == levelT1_) || (touchable->GetHistoryDepth() == levelT2_)) {
281  layer = touchable->GetReplicaNumber(0);
282  } else {
283  layer = touchable->GetReplicaNumber(3);
284  module = touchable->GetReplicaNumber(2);
285  cell = touchable->GetReplicaNumber(1);
286  }
287  double weight(0);
288  index = hgcalNumbering_[type]->getUnitID(layer, module, cell, iz, hitPoint, weight);
289  }
290  if (verbosity_ > 1)
291  edm::LogVerbatim("ValidHGCal") << "HGCal: " << name << " Layer " << layer << " Module " << module << " Cell "
292  << cell;
293 
294  double edeposit = aStep->GetTotalEnergyDeposit();
295  if (verbosity_ > 0)
296  edm::LogVerbatim("ValidHGCal") << "Layer " << layer << " Index " << std::hex << index << std::dec << " Edep "
297  << edeposit << " hit at " << hitPoint;
298  if (detType == 0) {
299  edepEE_ += edeposit;
300  if (layer < (int)(hgcEEedep_.size()))
301  hgcEEedep_[layer] += edeposit;
302  } else if (detType == 1) {
303  edepHEF_ += edeposit;
304  if (layer < (int)(hgcHEFedep_.size()))
305  hgcHEFedep_[layer] += edeposit;
306  } else {
307  edepHEB_ += edeposit;
308  if (layer < (int)(hgcHEBedep_.size()))
309  hgcHEBedep_[layer] += edeposit;
310  }
311  G4String nextVolume("XXX");
312  if (aStep->GetTrack()->GetNextVolume() != nullptr)
313  nextVolume = aStep->GetTrack()->GetNextVolume()->GetName();
314 
315  if (nextVolume.c_str() != name.c_str()) { //save hit when it exits cell
316  if (std::find(hgchitIndex_.begin(), hgchitIndex_.end(), index) == hgchitIndex_.end()) {
317  hgchitDets_.emplace_back(dets_[type]);
318  hgchitIndex_.emplace_back(index);
319  hgchitX_.emplace_back(hitPoint.x());
320  hgchitY_.emplace_back(hitPoint.y());
321  hgchitZ_.emplace_back(hitPoint.z());
322  }
323  }
324  } // it is right type of SD
325  } // it is in a SD
326  } //if aStep!=NULL
327 } //end update aStep
std::vector< unsigned int > hgchitIndex_
Log< level::Info, true > LogVerbatim
std::vector< double > hgchitY_
std::vector< int > subdet_
std::vector< HGCalNumberingScheme * > hgcalNumbering_
std::vector< double > hgchitZ_
Definition: weight.py:1
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
ForwardSubdetector
std::vector< int > detTypes_
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< unsigned int > dets_
std::vector< unsigned int > hgchitDets_
std::vector< double > hgcHEFedep_
std::vector< HGCNumberingScheme * > hgcNumbering_
std::vector< std::string > names_
std::vector< double > hgcHEBedep_
std::vector< int > types_
std::vector< double > hgcEEedep_
std::vector< double > hgchitX_

Member Data Documentation

◆ count_

unsigned int SimG4HGCalValidation::count_
private

Definition at line 90 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ ddconsToken_

std::vector<edm::ESGetToken<HGCalDDDConstants, IdealGeometryRecord> > SimG4HGCalValidation::ddconsToken_
private

Definition at line 76 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and registerConsumes().

◆ dets_

std::vector<unsigned int> SimG4HGCalValidation::dets_
private

Definition at line 94 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), registerConsumes(), and update().

◆ detTypes_

std::vector<int> SimG4HGCalValidation::detTypes_
private

Definition at line 82 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), registerConsumes(), SimG4HGCalValidation(), and update().

◆ edepEE_

double SimG4HGCalValidation::edepEE_
private

Definition at line 92 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEB_

double SimG4HGCalValidation::edepHEB_
private

Definition at line 92 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEF_

double SimG4HGCalValidation::edepHEF_
private

Definition at line 92 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgcalNumbering_

std::vector<HGCalNumberingScheme*> SimG4HGCalValidation::hgcalNumbering_
private

Definition at line 78 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), update(), and ~SimG4HGCalValidation().

◆ hgcEEedep_

std::vector<double> SimG4HGCalValidation::hgcEEedep_
private

Definition at line 93 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), layerAnalysis(), and update().

◆ hgcHEBedep_

std::vector<double> SimG4HGCalValidation::hgcHEBedep_
private

Definition at line 93 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), layerAnalysis(), and update().

◆ hgcHEFedep_

std::vector<double> SimG4HGCalValidation::hgcHEFedep_
private

Definition at line 93 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), layerAnalysis(), and update().

◆ hgchitDets_

std::vector<unsigned int> SimG4HGCalValidation::hgchitDets_
private

Definition at line 94 of file SimG4HGCalValidation.cc.

Referenced by clear(), layerAnalysis(), and update().

◆ hgchitIndex_

std::vector<unsigned int> SimG4HGCalValidation::hgchitIndex_
private

Definition at line 94 of file SimG4HGCalValidation.cc.

Referenced by clear(), layerAnalysis(), and update().

◆ hgchitX_

std::vector<double> SimG4HGCalValidation::hgchitX_
private

Definition at line 95 of file SimG4HGCalValidation.cc.

Referenced by clear(), layerAnalysis(), and update().

◆ hgchitY_

std::vector<double> SimG4HGCalValidation::hgchitY_
private

Definition at line 95 of file SimG4HGCalValidation.cc.

Referenced by clear(), layerAnalysis(), and update().

◆ hgchitZ_

std::vector<double> SimG4HGCalValidation::hgchitZ_
private

Definition at line 95 of file SimG4HGCalValidation.cc.

Referenced by clear(), layerAnalysis(), and update().

◆ hgcNumbering_

std::vector<HGCNumberingScheme*> SimG4HGCalValidation::hgcNumbering_
private

Definition at line 77 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), update(), and ~SimG4HGCalValidation().

◆ labelLayer_

std::string SimG4HGCalValidation::labelLayer_
private

Definition at line 83 of file SimG4HGCalValidation.cc.

Referenced by produce(), and SimG4HGCalValidation().

◆ levelT1_

int SimG4HGCalValidation::levelT1_
private

Definition at line 87 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and update().

◆ levelT2_

int SimG4HGCalValidation::levelT2_
private

Definition at line 87 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and update().

◆ names_

std::vector<std::string> SimG4HGCalValidation::names_
private

Definition at line 81 of file SimG4HGCalValidation.cc.

Referenced by SimG4HGCalValidation(), and update().

◆ nameXs_

std::vector<std::string> SimG4HGCalValidation::nameXs_
private

Definition at line 84 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and registerConsumes().

◆ subdet_

std::vector<int> SimG4HGCalValidation::subdet_
private

Definition at line 82 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), registerConsumes(), and update().

◆ types_

std::vector<int> SimG4HGCalValidation::types_
private

Definition at line 82 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), registerConsumes(), SimG4HGCalValidation(), and update().

◆ verbosity_

int SimG4HGCalValidation::verbosity_
private

Definition at line 91 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), layerAnalysis(), SimG4HGCalValidation(), and update().