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=default
 
- 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_
 
const std::vector< int > detTypes_
 
double edepEE_
 
double edepHEB_
 
double edepHEF_
 
std::vector< std::unique_ptr< 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_
 
const std::string labelLayer_
 
int levelT1_
 
int levelT2_
 
const edm::ParameterSet m_Anal
 
const std::vector< std::string > names_
 
std::vector< std::string > nameXs_
 
std::vector< int > subdet_
 
const std::vector< int > types_
 
const 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 44 of file SimG4HGCalValidation.cc.

Constructor & Destructor Documentation

◆ SimG4HGCalValidation() [1/2]

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

Definition at line 92 of file SimG4HGCalValidation.cc.

References detTypes_, isotrackApplyRegressor::k, labelLayer_, names_, types_, and verbosity_.

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

◆ ~SimG4HGCalValidation()

SimG4HGCalValidation::~SimG4HGCalValidation ( )
overridedefault

◆ 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 151 of file SimG4HGCalValidation.cc.

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

151  {
152  for (unsigned int type = 0; type < types_.size(); ++type) {
153  int layers(0);
154  int detType = detTypes_[type];
155  const edm::ESHandle<HGCalDDDConstants>& hdc = es.getHandle(ddconsToken_[type]);
156  if (hdc.isValid()) {
157  levelT1_ = hdc->levelTop(0);
158  levelT2_ = hdc->levelTop(1);
159  hgcalNumbering_.emplace_back(
160  std::make_unique<HGCalNumberingScheme>(*hdc, static_cast<DetId::Detector>(dets_[type]), nameXs_[type], ""));
161  layers = hdc->layers(false);
162  } else {
163  edm::LogError("ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type];
164  throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameXs_[type] << "\n";
165  }
166  if (detType == 0) {
167  for (int i = 0; i < layers; ++i)
168  hgcEEedep_.emplace_back(0);
169  } else if (detType == 1) {
170  for (int i = 0; i < layers; ++i)
171  hgcHEFedep_.emplace_back(0);
172  } else {
173  for (int i = 0; i < layers; ++i)
174  hgcHEBedep_.emplace_back(0);
175  }
176  if (verbosity_ > 0)
177  edm::LogVerbatim("ValidHGCal") << "[" << type << "]: " << nameXs_[type] << " det " << dets_[type] << " subdet "
178  << subdet_[type] << " with " << layers << " layers";
179  }
180 }
Log< level::Info, true > LogVerbatim
std::vector< int > subdet_
std::vector< std::string > nameXs_
const std::vector< int > detTypes_
const std::vector< int > types_
Log< level::Error, false > LogError
std::vector< unsigned int > dets_
unsigned int layers(bool reco) const
std::vector< double > hgcHEFedep_
bool isValid() const
Definition: ESHandle.h:44
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > ddconsToken_
std::vector< double > hgcHEBedep_
std::vector< double > hgcEEedep_
int levelTop(int ind=0) const
std::vector< std::unique_ptr< HGCalNumberingScheme > > hgcalNumbering_

◆ clear()

void SimG4HGCalValidation::clear ( void  )
private

Definition at line 303 of file SimG4HGCalValidation.cc.

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

Referenced by update().

303  {
304  hgchitDets_.erase(hgchitDets_.begin(), hgchitDets_.end());
305  hgchitIndex_.erase(hgchitIndex_.begin(), hgchitIndex_.end());
306  hgchitX_.erase(hgchitX_.begin(), hgchitX_.end());
307  hgchitY_.erase(hgchitY_.begin(), hgchitY_.end());
308  hgchitZ_.erase(hgchitZ_.begin(), hgchitZ_.end());
309 }
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 290 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().

290  {
291  if (verbosity_ > 0)
292  edm::LogVerbatim("ValidHGCal") << "\n ===>>> SimG4HGCalValidation: Energy "
293  << "deposit\n at EE : " << std::setw(6) << edepEE_ / CLHEP::MeV
294  << "\n at HEF: " << std::setw(6) << edepHEF_ / CLHEP::MeV
295  << "\n at HEB: " << std::setw(6) << edepHEB_ / CLHEP::MeV;
296 
297  //Fill HGC Variables
300 }
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 145 of file SimG4HGCalValidation.cc.

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

145  {
146  std::unique_ptr<PHGCalValidInfo> productLayer(new PHGCalValidInfo);
147  layerAnalysis(*productLayer);
148  e.put(std::move(productLayer), labelLayer_);
149 }
void layerAnalysis(PHGCalValidInfo &)
const std::string labelLayer_
def move(src, dest)
Definition: eostools.py:511

◆ registerConsumes()

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

Reimplemented from SimWatcher.

Definition at line 115 of file SimG4HGCalValidation.cc.

References edm::BeginRun, gpuPixelDoublets::cc, ddconsToken_, dets_, detTypes_, Exception, DetId::Forward, HGCEE, HGCHEB, HGCHEF, hfnoseParametersInitialization_cfi::nameX, nameXs_, subdet_, and types_.

115  {
116  for (unsigned int type = 0; type < types_.size(); ++type) {
117  int detType = detTypes_[type];
118  G4String nameX = "HGCal";
119  if (types_[type] <= 1) {
120  dets_.emplace_back(static_cast<unsigned int>(DetId::Forward));
121  if (detType == 0)
122  subdet_.emplace_back(static_cast<int>(ForwardSubdetector::HGCEE));
123  else if (detType == 1)
124  subdet_.emplace_back(static_cast<int>(ForwardSubdetector::HGCHEF));
125  else
126  subdet_.emplace_back(static_cast<int>(ForwardSubdetector::HGCHEB));
127  if (detType == 0)
128  nameX = "HGCalEESensitive";
129  else if (detType == 1)
130  nameX = "HGCalHESiliconSensitive";
131  else
132  nameX = "HGCalHEScintillatorSensitive";
133  nameXs_.emplace_back(nameX);
134  ddconsToken_.emplace_back(
136  edm::LogVerbatim("ValidHGCal") << "Defines ESGetToken for type " << type << ":" << dets_.back() << ":"
137  << subdet_.back() << ":" << nameX;
138  } else {
139  edm::LogError("ValidHGCal") << "Wrong Type " << types_[type];
140  throw cms::Exception("Unknown", "ValidHGCal") << "Wrong Type " << types_[type] << "\n";
141  }
142  }
143 }
Log< level::Info, true > LogVerbatim
std::vector< int > subdet_
std::vector< std::string > nameXs_
const std::vector< int > detTypes_
uint32_t cc[maxCellsPerHit]
Definition: gpuFishbone.h:49
const std::vector< int > types_
Log< level::Error, false > LogError
std::vector< unsigned int > dets_
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > ddconsToken_

◆ 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 183 of file SimG4HGCalValidation.cc.

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

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

183  {
184  int iev = (*evt)()->GetEventID();
185  if (verbosity_ > 0)
186  edm::LogVerbatim("ValidHGCal") << "SimG4HGCalValidation: =====> Begin "
187  << "event = " << iev;
188 
189  ++count_;
190  edepEE_ = edepHEF_ = edepHEB_ = 0.;
191 
192  //HGCal variables
193  for (unsigned int i = 0; i < hgcEEedep_.size(); i++)
194  hgcEEedep_[i] = 0.;
195  for (unsigned int i = 0; i < hgcHEFedep_.size(); i++)
196  hgcHEFedep_[i] = 0.;
197  for (unsigned int i = 0; i < hgcHEBedep_.size(); i++)
198  hgcHEBedep_[i] = 0.;
199 
200  //Cache reset
201  clear();
202 }
Log< level::Info, true > LogVerbatim
TkSoAView< TrackerTraits > HitToTuple< TrackerTraits > const *__restrict__ int32_t int32_t int iev
std::vector< double > hgcHEFedep_
std::vector< double > hgcHEBedep_
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 205 of file SimG4HGCalValidation.cc.

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

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

205  {
206  if (aStep != nullptr) {
207  G4VPhysicalVolume* curPV = aStep->GetPreStepPoint()->GetPhysicalVolume();
208  const G4String& name = curPV->GetName();
209  G4VSensitiveDetector* curSD = aStep->GetPreStepPoint()->GetSensitiveDetector();
210  if (verbosity_ > 1)
211  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::Step in " << name << " at "
212  << aStep->GetPreStepPoint()->GetPosition();
213 
214  // Only for Sensitive detector
215  if (curSD != nullptr) {
216  int type(-1);
217  for (unsigned int k = 0; k < names_.size(); ++k) {
218  if (name.find(names_[k].c_str()) != std::string::npos) {
219  type = k;
220  break;
221  }
222  }
223  int detType = (type >= 0) ? detTypes_[type] : -1;
224  if (verbosity_ > 0)
225  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::In SD " << name << " type " << type << ":" << detType;
226 
227  // Right type of SD
228  if (type >= 0) {
229  //Get the 32-bit index of the hit cell
230  const G4TouchableHistory* touchable =
231  static_cast<const G4TouchableHistory*>(aStep->GetPreStepPoint()->GetTouchable());
232  unsigned int index(0);
233  int layer(0);
234  G4ThreeVector hitPoint = aStep->GetPreStepPoint()->GetPosition();
235  // HGCal
236  G4ThreeVector localpos = touchable->GetHistory()->GetTopTransform().TransformPoint(hitPoint);
237  float globalZ = touchable->GetTranslation(0).z();
238  int iz(globalZ > 0 ? 1 : -1);
239  int module(-1), cell(-1);
240  if ((touchable->GetHistoryDepth() == levelT1_) || (touchable->GetHistoryDepth() == levelT2_)) {
241  layer = touchable->GetReplicaNumber(0);
242  } else {
243  layer = touchable->GetReplicaNumber(3);
244  module = touchable->GetReplicaNumber(2);
245  cell = touchable->GetReplicaNumber(1);
246  }
247  double weight(0);
248  index = hgcalNumbering_[type]->getUnitID(layer, module, cell, iz, hitPoint, weight);
249  if (verbosity_ > 1)
250  edm::LogVerbatim("ValidHGCal") << "HGCal: " << name << " Layer " << layer << " Module " << module << " Cell "
251  << cell;
252 
253  double edeposit = aStep->GetTotalEnergyDeposit();
254  if (verbosity_ > 0)
255  edm::LogVerbatim("ValidHGCal") << "Layer " << layer << " Index " << std::hex << index << std::dec << " Edep "
256  << edeposit << " hit at " << hitPoint;
257  if (detType == 0) {
258  edepEE_ += edeposit;
259  if (layer < static_cast<int>(hgcEEedep_.size()))
260  hgcEEedep_[layer] += edeposit;
261  } else if (detType == 1) {
262  edepHEF_ += edeposit;
263  if (layer < static_cast<int>(hgcHEFedep_.size()))
264  hgcHEFedep_[layer] += edeposit;
265  } else {
266  edepHEB_ += edeposit;
267  if (layer < static_cast<int>(hgcHEBedep_.size()))
268  hgcHEBedep_[layer] += edeposit;
269  }
270  G4String nextVolume("XXX");
271  if (aStep->GetTrack()->GetNextVolume() != nullptr)
272  nextVolume = aStep->GetTrack()->GetNextVolume()->GetName();
273 
274  if (nextVolume.c_str() != name.c_str()) { //save hit when it exits cell
275  if (std::find(hgchitIndex_.begin(), hgchitIndex_.end(), index) == hgchitIndex_.end()) {
276  hgchitDets_.emplace_back(dets_[type]);
277  hgchitIndex_.emplace_back(index);
278  hgchitX_.emplace_back(hitPoint.x());
279  hgchitY_.emplace_back(hitPoint.y());
280  hgchitZ_.emplace_back(hitPoint.z());
281  }
282  }
283  } // it is right type of SD
284  } // it is in a SD
285  } //if aStep!=NULL
286 } //end update aStep
std::vector< unsigned int > hgchitIndex_
Log< level::Info, true > LogVerbatim
std::vector< double > hgchitY_
const std::vector< int > detTypes_
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
const std::vector< std::string > names_
std::vector< unsigned int > dets_
std::vector< unsigned int > hgchitDets_
std::vector< double > hgcHEFedep_
std::vector< double > hgcHEBedep_
std::vector< double > hgcEEedep_
std::vector< double > hgchitX_
std::vector< std::unique_ptr< HGCalNumberingScheme > > hgcalNumbering_

Member Data Documentation

◆ count_

unsigned int SimG4HGCalValidation::count_
private

Definition at line 85 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ ddconsToken_

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

Definition at line 69 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and registerConsumes().

◆ dets_

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

Definition at line 88 of file SimG4HGCalValidation.cc.

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

◆ detTypes_

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

Definition at line 75 of file SimG4HGCalValidation.cc.

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

◆ edepEE_

double SimG4HGCalValidation::edepEE_
private

Definition at line 86 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEB_

double SimG4HGCalValidation::edepHEB_
private

Definition at line 86 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEF_

double SimG4HGCalValidation::edepHEF_
private

Definition at line 86 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgcalNumbering_

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

Definition at line 70 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and update().

◆ hgcEEedep_

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

Definition at line 87 of file SimG4HGCalValidation.cc.

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

◆ hgcHEBedep_

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

Definition at line 87 of file SimG4HGCalValidation.cc.

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

◆ hgcHEFedep_

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

Definition at line 87 of file SimG4HGCalValidation.cc.

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

◆ hgchitDets_

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

Definition at line 88 of file SimG4HGCalValidation.cc.

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

◆ hgchitIndex_

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

Definition at line 88 of file SimG4HGCalValidation.cc.

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

◆ hgchitX_

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

Definition at line 89 of file SimG4HGCalValidation.cc.

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

◆ hgchitY_

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

Definition at line 89 of file SimG4HGCalValidation.cc.

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

◆ hgchitZ_

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

Definition at line 89 of file SimG4HGCalValidation.cc.

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

◆ labelLayer_

const std::string SimG4HGCalValidation::labelLayer_
private

Definition at line 76 of file SimG4HGCalValidation.cc.

Referenced by produce(), and SimG4HGCalValidation().

◆ levelT1_

int SimG4HGCalValidation::levelT1_
private

Definition at line 82 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and update().

◆ levelT2_

int SimG4HGCalValidation::levelT2_
private

Definition at line 82 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and update().

◆ m_Anal

const edm::ParameterSet SimG4HGCalValidation::m_Anal
private

Definition at line 73 of file SimG4HGCalValidation.cc.

◆ names_

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

Definition at line 74 of file SimG4HGCalValidation.cc.

Referenced by SimG4HGCalValidation(), and update().

◆ nameXs_

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

Definition at line 79 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and registerConsumes().

◆ subdet_

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

Definition at line 78 of file SimG4HGCalValidation.cc.

Referenced by beginRun(), and registerConsumes().

◆ types_

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

Definition at line 75 of file SimG4HGCalValidation.cc.

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

◆ verbosity_

const int SimG4HGCalValidation::verbosity_
private

Definition at line 77 of file SimG4HGCalValidation.cc.

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