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 BeginOfJob * > Observer< const BeginOfEvent * > Observer< const G4Step * > SimWatcher

Public Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 
 SimG4HGCalValidation (const edm::ParameterSet &p)
 
 ~SimG4HGCalValidation () override
 
- Public Member Functions inherited from SimProducer
void registerProducts (edm::ProducesCollector producesCollector)
 
 SimProducer ()
 
- Public Member Functions inherited from SimWatcher
 SimWatcher ()
 
virtual ~SimWatcher ()
 
- Public Member Functions inherited from Observer< const BeginOfJob * >
 Observer ()
 
void slotForUpdate (const BeginOfJob * iT)
 
virtual ~Observer ()
 
- 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 BeginOfJob *job) 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< 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_
 
HcalNumberingFromDDDnumberingFromDDD_
 
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)
 

Detailed Description

Definition at line 56 of file SimG4HGCalValidation.cc.

Constructor & Destructor Documentation

◆ SimG4HGCalValidation() [1/2]

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

Definition at line 106 of file SimG4HGCalValidation.cc.

107  : numberingFromDDD_(nullptr), levelT1_(999), levelT2_(999), count_(0) {
108  edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("SimG4HGCalValidation");
109  names_ = m_Anal.getParameter<std::vector<std::string> >("Names");
110  types_ = m_Anal.getParameter<std::vector<int> >("Types");
111  detTypes_ = m_Anal.getParameter<std::vector<int> >("DetTypes");
112  labelLayer_ = m_Anal.getParameter<std::string>("LabelLayerInfo");
113  verbosity_ = m_Anal.getUntrackedParameter<int>("Verbosity", 0);
114 
115  produces<PHGCalValidInfo>(labelLayer_);
116 
117  if (verbosity_ > 0) {
118  edm::LogVerbatim("ValidHGCal") << "HGCalTestAnalysis:: Initialised as "
119  << "observer of begin events and of G4step "
120  << "with Parameter values: \n\tLabel : " << labelLayer_ << " and with "
121  << names_.size() << " detectors";
122  for (unsigned int k = 0; k < names_.size(); ++k)
123  edm::LogVerbatim("ValidHGCal") << " [" << k << "] " << names_[k] << " Type " << types_[k] << " DetType "
124  << detTypes_[k];
125  }
126 }

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

◆ ~SimG4HGCalValidation()

SimG4HGCalValidation::~SimG4HGCalValidation ( )
override

Definition at line 128 of file SimG4HGCalValidation.cc.

128  {
129  delete numberingFromDDD_;
130  for (auto number : hgcNumbering_)
131  delete number;
132  for (auto number : hgcalNumbering_)
133  delete number;
134 }

References hgcalNumbering_, hgcNumbering_, contentValuesFiles::number, and numberingFromDDD_.

◆ SimG4HGCalValidation() [2/2]

SimG4HGCalValidation::SimG4HGCalValidation ( const SimG4HGCalValidation )
private

Member Function Documentation

◆ clear()

void SimG4HGCalValidation::clear ( void  )
private

Definition at line 371 of file SimG4HGCalValidation.cc.

371  {
372  hgchitDets_.erase(hgchitDets_.begin(), hgchitDets_.end());
373  hgchitIndex_.erase(hgchitIndex_.begin(), hgchitIndex_.end());
374  hgchitX_.erase(hgchitX_.begin(), hgchitX_.end());
375  hgchitY_.erase(hgchitY_.begin(), hgchitY_.end());
376  hgchitZ_.erase(hgchitZ_.begin(), hgchitZ_.end());
377 }

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

Referenced by update().

◆ init()

void SimG4HGCalValidation::init ( )
private

◆ layerAnalysis()

void SimG4HGCalValidation::layerAnalysis ( PHGCalValidInfo product)
private

Definition at line 358 of file SimG4HGCalValidation.cc.

358  {
359  if (verbosity_ > 0)
360  edm::LogVerbatim("ValidHGCal") << "\n ===>>> SimG4HGCalValidation: Energy "
361  << "deposit\n at EE : " << std::setw(6) << edepEE_ / CLHEP::MeV
362  << "\n at HEF: " << std::setw(6) << edepHEF_ / CLHEP::MeV
363  << "\n at HEB: " << std::setw(6) << edepHEB_ / CLHEP::MeV;
364 
365  //Fill HGC Variables
368 }

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

Referenced by produce().

◆ operator=()

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

◆ produce()

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

Implements SimProducer.

Definition at line 136 of file SimG4HGCalValidation.cc.

136  {
137  std::unique_ptr<PHGCalValidInfo> productLayer(new PHGCalValidInfo);
138  layerAnalysis(*productLayer);
139  e.put(std::move(productLayer), labelLayer_);
140 }

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

◆ update() [1/3]

void SimG4HGCalValidation::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent * >.

Definition at line 223 of file SimG4HGCalValidation.cc.

223  {
224  int iev = (*evt)()->GetEventID();
225  if (verbosity_ > 0)
226  edm::LogVerbatim("ValidHGCal") << "SimG4HGCalValidation: =====> Begin "
227  << "event = " << iev;
228 
229  ++count_;
230  edepEE_ = edepHEF_ = edepHEB_ = 0.;
231 
232  //HGCal variables
233  for (unsigned int i = 0; i < hgcEEedep_.size(); i++)
234  hgcEEedep_[i] = 0.;
235  for (unsigned int i = 0; i < hgcHEFedep_.size(); i++)
236  hgcHEFedep_[i] = 0.;
237  for (unsigned int i = 0; i < hgcHEBedep_.size(); i++)
238  hgcHEBedep_[i] = 0.;
239 
240  //Cache reset
241  clear();
242 }

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

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

◆ update() [2/3]

void SimG4HGCalValidation::update ( const BeginOfJob )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob * >.

Definition at line 142 of file SimG4HGCalValidation.cc.

142  {
143  const edm::EventSetup* es = (*job)();
144  for (unsigned int type = 0; type < types_.size(); ++type) {
145  int layers(0);
146  int detType = detTypes_[type];
147  G4String nameX = "HGCal";
148  if (types_[type] <= 1) {
149  if (types_[type] == 0) {
151  if (detType == 0)
152  dets_.emplace_back((int)(DetId::HGCalEE));
153  else if (detType == 1)
154  dets_.emplace_back((int)(DetId::HGCalHSi));
155  else
156  dets_.emplace_back((int)(DetId::HGCalHSc));
157  } else {
158  dets_.push_back((unsigned int)(DetId::Forward));
159  if (detType == 0)
160  subdet_.emplace_back((int)(ForwardSubdetector::HGCEE));
161  else if (detType == 1)
162  subdet_.emplace_back((int)(ForwardSubdetector::HGCHEF));
163  else
164  subdet_.emplace_back((int)(ForwardSubdetector::HGCHEB));
165  }
166  if (detType == 0)
167  nameX = "HGCalEESensitive";
168  else if (detType == 1)
169  nameX = "HGCalHESiliconSensitive";
170  else
171  nameX = "HGCalHEScintillatorSensitive";
173  es->get<IdealGeometryRecord>().get(nameX, hdc);
174  if (hdc.isValid()) {
175  levelT1_ = hdc->levelTop(0);
176  levelT2_ = hdc->levelTop(1);
177  if (hdc->tileTrapezoid()) {
178  types_[type] = -1;
179  hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameX));
180  } else if (hdc->waferHexagon6()) {
181  types_[type] = 1;
182  hgcNumbering_.push_back(new HGCNumberingScheme(*hdc, nameX));
183  } else {
184  types_[type] = 0;
185  hgcalNumbering_.emplace_back(new HGCalNumberingScheme(*hdc, (DetId::Detector)(dets_[type]), nameX));
186  }
187  layers = hdc->layers(false);
188  } else {
189  edm::LogError("ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameX;
190  throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HGCalDDDConstants for " << nameX << "\n";
191  }
192  } else {
193  nameX = "HcalEndcap";
194  dets_.push_back((unsigned int)(DetId::Hcal));
195  subdet_.push_back((int)(HcalSubdetector::HcalEndcap));
197  es->get<HcalSimNumberingRecord>().get(hdc);
198  if (hdc.isValid()) {
200  layers = 18;
201  } else {
202  edm::LogError("ValidHGCal") << "Cannot find HcalDDDSimConstant";
203  throw cms::Exception("Unknown", "ValidHGCal") << "Cannot find HcalDDDSimConstant\n";
204  }
205  }
206  if (detType == 0) {
207  for (int i = 0; i < layers; ++i)
208  hgcEEedep_.push_back(0);
209  } else if (detType == 1) {
210  for (int i = 0; i < layers; ++i)
211  hgcHEFedep_.push_back(0);
212  } else {
213  for (int i = 0; i < layers; ++i)
214  hgcHEBedep_.push_back(0);
215  }
216  if (verbosity_ > 0)
217  edm::LogVerbatim("ValidHGCal") << "[" << type << "]: " << nameX << " det " << dets_[type] << " subdet "
218  << subdet_[type] << " with " << layers << " layers";
219  }
220 }

References dets_, detTypes_, Exception, DetId::Forward, ForwardEmpty, edm::EventSetup::get(), get, DetId::Hcal, HcalEndcap, DetId::HGCalEE, DetId::HGCalHSc, DetId::HGCalHSi, hgcalNumbering_, HGCEE, hgcEEedep_, HGCHEB, hgcHEBedep_, HGCHEF, hgcHEFedep_, hgcNumbering_, mps_fire::i, edm::ESHandleBase::isValid(), hgcalTopologyTester_cfi::layers, HGCalDDDConstants::layers(), levelT1_, levelT2_, HGCalDDDConstants::levelTop(), numberingFromDDD_, edm::ESHandle< T >::product(), subdet_, HGCalDDDConstants::tileTrapezoid(), types_, verbosity_, and HGCalDDDConstants::waferHexagon6().

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

◆ update() [3/3]

void SimG4HGCalValidation::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step * >.

Definition at line 245 of file SimG4HGCalValidation.cc.

245  {
246  if (aStep != nullptr) {
247  G4VPhysicalVolume* curPV = aStep->GetPreStepPoint()->GetPhysicalVolume();
248  const G4String& name = curPV->GetName();
249  G4VSensitiveDetector* curSD = aStep->GetPreStepPoint()->GetSensitiveDetector();
250  if (verbosity_ > 1)
251  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::Step in " << name << " at "
252  << aStep->GetPreStepPoint()->GetPosition();
253 
254  // Only for Sensitive detector
255  if (curSD != nullptr) {
256  int type(-1);
257  for (unsigned int k = 0; k < names_.size(); ++k) {
258  if (name.find(names_[k].c_str()) != std::string::npos) {
259  type = k;
260  break;
261  }
262  }
263  int detType = (type >= 0) ? detTypes_[type] : -1;
264  if (verbosity_ > 0)
265  edm::LogVerbatim("ValidHGCal") << "ValidHGCal::In SD " << name << " type " << type << ":" << detType;
266 
267  // Right type of SD
268  if (type >= 0) {
269  //Get the 32-bit index of the hit cell
270  const G4TouchableHistory* touchable =
271  static_cast<const G4TouchableHistory*>(aStep->GetPreStepPoint()->GetTouchable());
272  unsigned int index(0);
273  int layer(0);
274  G4ThreeVector hitPoint = aStep->GetPreStepPoint()->GetPosition();
275  if (types_[type] <= 1) {
276  // HGCal
277  G4ThreeVector localpos = touchable->GetHistory()->GetTopTransform().TransformPoint(hitPoint);
278  float globalZ = touchable->GetTranslation(0).z();
279  int iz(globalZ > 0 ? 1 : -1);
280  int module(-1), cell(-1);
281  if (types_[type] == 1) {
282  if (touchable->GetHistoryDepth() == levelT1_) {
283  layer = touchable->GetReplicaNumber(0);
284  } else {
285  layer = touchable->GetReplicaNumber(2);
286  module = touchable->GetReplicaNumber(1);
287  cell = touchable->GetReplicaNumber(0);
288  }
289  index =
290  hgcNumbering_[type]->getUnitID((ForwardSubdetector)(subdet_[type]), layer, module, cell, iz, localpos);
291  } else {
292  if ((touchable->GetHistoryDepth() == levelT1_) || (touchable->GetHistoryDepth() == levelT2_)) {
293  layer = touchable->GetReplicaNumber(0);
294  } else {
295  layer = touchable->GetReplicaNumber(3);
296  module = touchable->GetReplicaNumber(2);
297  cell = touchable->GetReplicaNumber(1);
298  }
299  double weight(0);
300  index = hgcalNumbering_[type]->getUnitID(layer, module, cell, iz, hitPoint, weight);
301  }
302  if (verbosity_ > 1)
303  edm::LogVerbatim("ValidHGCal")
304  << "HGCal: " << name << " Layer " << layer << " Module " << module << " Cell " << cell;
305  } else {
306  // Hcal
307  int depth = (touchable->GetReplicaNumber(0)) % 10 + 1;
308  int lay = (touchable->GetReplicaNumber(0) / 10) % 100 + 1;
309  int det = (touchable->GetReplicaNumber(1)) / 1000;
311  numberingFromDDD_->unitID(det, math::XYZVectorD(hitPoint.x(), hitPoint.y(), hitPoint.z()), depth, lay);
312  index = HcalTestNumbering::packHcalIndex(tmp.subdet, tmp.zside, tmp.depth, tmp.etaR, tmp.phis, tmp.lay);
313  layer = tmp.lay;
314  if (verbosity_ > 1)
315  edm::LogVerbatim("ValidHGCal")
316  << "HCAL: " << det << ":" << depth << ":" << lay << " o/p " << tmp.subdet << ":" << tmp.zside << ":"
317  << tmp.depth << ":" << tmp.etaR << ":" << tmp.phis << ":" << tmp.lay << " point " << hitPoint << " "
318  << hitPoint.rho() << ":" << hitPoint.eta() << ":" << hitPoint.phi();
319  }
320 
321  double edeposit = aStep->GetTotalEnergyDeposit();
322  if (verbosity_ > 0)
323  edm::LogVerbatim("ValidHGCal") << "Layer " << layer << " Index " << std::hex << index << std::dec << " Edep "
324  << edeposit << " hit at " << hitPoint;
325  if (detType == 0) {
326  edepEE_ += edeposit;
327  if (layer < (int)(hgcEEedep_.size()))
328  hgcEEedep_[layer] += edeposit;
329  } else if (detType == 1) {
330  edepHEF_ += edeposit;
331  if (layer < (int)(hgcHEFedep_.size()))
332  hgcHEFedep_[layer] += edeposit;
333  } else {
334  edepHEB_ += edeposit;
335  if (layer < (int)(hgcHEBedep_.size()))
336  hgcHEBedep_[layer] += edeposit;
337  }
338  G4String nextVolume("XXX");
339  if (aStep->GetTrack()->GetNextVolume() != nullptr)
340  nextVolume = aStep->GetTrack()->GetNextVolume()->GetName();
341 
342  if (nextVolume.c_str() != name.c_str()) { //save hit when it exits cell
343  if (std::find(hgchitIndex_.begin(), hgchitIndex_.end(), index) == hgchitIndex_.end()) {
344  hgchitDets_.push_back(dets_[type]);
345  hgchitIndex_.push_back(index);
346  hgchitX_.push_back(hitPoint.x());
347  hgchitY_.push_back(hitPoint.y());
348  hgchitZ_.push_back(hitPoint.z());
349  }
350  }
351  } // it is right type of SD
352  } // it is in a SD
353  } //if aStep!=NULL
354 } //end update aStep

References TauDecayModes::dec, LEDCalibrationChannels::depth, dets_, detTypes_, edepEE_, edepHEB_, edepHEF_, spr::find(), hgcalNumbering_, hgcEEedep_, hgcHEBedep_, hgcHEFedep_, hgchitDets_, hgchitIndex_, hgchitX_, hgchitY_, hgchitZ_, hgcNumbering_, dqmdumpme::k, levelT1_, levelT2_, Skims_PA_cff::name, names_, numberingFromDDD_, HcalTestNumbering::packHcalIndex(), subdet_, createJobs::tmp, types_, HcalNumberingFromDDD::unitID(), verbosity_, and mps_merge::weight.

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

Member Data Documentation

◆ count_

unsigned int SimG4HGCalValidation::count_
private

Definition at line 98 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ dets_

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

Definition at line 102 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ detTypes_

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

Definition at line 91 of file SimG4HGCalValidation.cc.

Referenced by SimG4HGCalValidation(), and update().

◆ edepEE_

double SimG4HGCalValidation::edepEE_
private

Definition at line 100 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEB_

double SimG4HGCalValidation::edepHEB_
private

Definition at line 100 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ edepHEF_

double SimG4HGCalValidation::edepHEF_
private

Definition at line 100 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgcalNumbering_

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

Definition at line 87 of file SimG4HGCalValidation.cc.

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

◆ hgcEEedep_

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

Definition at line 101 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgcHEBedep_

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

Definition at line 101 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgcHEFedep_

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

Definition at line 101 of file SimG4HGCalValidation.cc.

Referenced by layerAnalysis(), and update().

◆ hgchitDets_

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

Definition at line 102 of file SimG4HGCalValidation.cc.

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

◆ hgchitIndex_

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

Definition at line 102 of file SimG4HGCalValidation.cc.

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

◆ hgchitX_

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

Definition at line 103 of file SimG4HGCalValidation.cc.

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

◆ hgchitY_

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

Definition at line 103 of file SimG4HGCalValidation.cc.

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

◆ hgchitZ_

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

Definition at line 103 of file SimG4HGCalValidation.cc.

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

◆ hgcNumbering_

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

Definition at line 86 of file SimG4HGCalValidation.cc.

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

◆ labelLayer_

std::string SimG4HGCalValidation::labelLayer_
private

Definition at line 92 of file SimG4HGCalValidation.cc.

Referenced by produce(), and SimG4HGCalValidation().

◆ levelT1_

int SimG4HGCalValidation::levelT1_
private

Definition at line 95 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ levelT2_

int SimG4HGCalValidation::levelT2_
private

Definition at line 95 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ names_

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

Definition at line 90 of file SimG4HGCalValidation.cc.

Referenced by SimG4HGCalValidation(), and update().

◆ numberingFromDDD_

HcalNumberingFromDDD* SimG4HGCalValidation::numberingFromDDD_
private

Definition at line 83 of file SimG4HGCalValidation.cc.

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

◆ subdet_

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

Definition at line 91 of file SimG4HGCalValidation.cc.

Referenced by update().

◆ types_

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

Definition at line 91 of file SimG4HGCalValidation.cc.

Referenced by SimG4HGCalValidation(), and update().

◆ verbosity_

int SimG4HGCalValidation::verbosity_
private

Definition at line 99 of file SimG4HGCalValidation.cc.

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

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SimG4HGCalValidation::levelT2_
int levelT2_
Definition: SimG4HGCalValidation.cc:95
SimG4HGCalValidation::hgcalNumbering_
std::vector< HGCalNumberingScheme * > hgcalNumbering_
Definition: SimG4HGCalValidation.cc:87
mps_fire.i
i
Definition: mps_fire.py:428
PHGCalValidInfo
Definition: PHGCalValidInfo.h:12
SimG4HGCalValidation::edepEE_
double edepEE_
Definition: SimG4HGCalValidation.cc:100
HcalNumberingFromDDD::HcalID
Definition: HcalNumberingFromDDD.h:21
ForwardEmpty
Definition: ForwardSubdetector.h:5
ForwardSubdetector
ForwardSubdetector
Definition: ForwardSubdetector.h:4
mps_merge.weight
weight
Definition: mps_merge.py:88
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
HcalNumberingFromDDD
Definition: HcalNumberingFromDDD.h:16
DetId::Hcal
Definition: DetId.h:28
MeV
const double MeV
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
SimG4HGCalValidation::dets_
std::vector< unsigned int > dets_
Definition: SimG4HGCalValidation.cc:102
SimG4HGCalValidation::hgchitIndex_
std::vector< unsigned int > hgchitIndex_
Definition: SimG4HGCalValidation.cc:102
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
SimG4HGCalValidation::names_
std::vector< std::string > names_
Definition: SimG4HGCalValidation.cc:90
SimG4HGCalValidation::hgcNumbering_
std::vector< HGCNumberingScheme * > hgcNumbering_
Definition: SimG4HGCalValidation.cc:86
SimG4HGCalValidation::subdet_
std::vector< int > subdet_
Definition: SimG4HGCalValidation.cc:91
SimG4HGCalValidation::hgchitY_
std::vector< double > hgchitY_
Definition: SimG4HGCalValidation.cc:103
SimG4HGCalValidation::hgchitX_
std::vector< double > hgchitX_
Definition: SimG4HGCalValidation.cc:103
DetId::HGCalHSi
Definition: DetId.h:33
DetId::HGCalEE
Definition: DetId.h:32
HGCalDDDConstants::waferHexagon6
bool waferHexagon6() const
Definition: HGCalDDDConstants.h:126
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
SimG4HGCalValidation::labelLayer_
std::string labelLayer_
Definition: SimG4HGCalValidation.cc:92
contentValuesFiles.number
number
Definition: contentValuesFiles.py:53
SimG4HGCalValidation::types_
std::vector< int > types_
Definition: SimG4HGCalValidation.cc:91
SimG4HGCalValidation::hgcHEFedep_
std::vector< double > hgcHEFedep_
Definition: SimG4HGCalValidation.cc:101
edm::ESHandle
Definition: DTSurvey.h:22
SimG4HGCalValidation::hgcEEedep_
std::vector< double > hgcEEedep_
Definition: SimG4HGCalValidation.cc:101
dqmdumpme.k
k
Definition: dqmdumpme.py:60
SimG4HGCalValidation::edepHEB_
double edepHEB_
Definition: SimG4HGCalValidation.cc:100
SimG4HGCalValidation::hgchitZ_
std::vector< double > hgchitZ_
Definition: SimG4HGCalValidation.cc:103
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCalDDDConstants::tileTrapezoid
bool tileTrapezoid() const
Definition: HGCalDDDConstants.h:110
HGCEE
Definition: ForwardSubdetector.h:8
math::XYZVectorD
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
edm::ParameterSet
Definition: ParameterSet.h:47
HcalTestNumbering::packHcalIndex
static uint32_t packHcalIndex(int det, int z, int depth, int eta, int phi, int lay)
Definition: HcalTestNumbering.cc:7
SimG4HGCalValidation::hgchitDets_
std::vector< unsigned int > hgchitDets_
Definition: SimG4HGCalValidation.cc:102
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
HGCalDDDConstants::layers
unsigned int layers(bool reco) const
Definition: HGCalDDDConstants.cc:561
DetId::Detector
Detector
Definition: DetId.h:24
edm::EventSetup
Definition: EventSetup.h:57
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
HGCNumberingScheme
Definition: HGCNumberingScheme.h:13
PHGCalValidInfo::fillhgcLayers
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)
Definition: PHGCalValidInfo.cc:21
SimG4HGCalValidation::edepHEF_
double edepHEF_
Definition: SimG4HGCalValidation.cc:100
eostools.move
def move(src, dest)
Definition: eostools.py:511
HcalEndcap
Definition: HcalAssistant.h:34
SimG4HGCalValidation::detTypes_
std::vector< int > detTypes_
Definition: SimG4HGCalValidation.cc:91
SimG4HGCalValidation::count_
unsigned int count_
Definition: SimG4HGCalValidation.cc:98
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DetId::HGCalHSc
Definition: DetId.h:34
SimG4HGCalValidation::clear
void clear()
Definition: SimG4HGCalValidation.cc:371
Exception
Definition: hltDiff.cc:246
HcalNumberingFromDDD::unitID
HcalID unitID(int det, const math::XYZVectorD &pos, int depth, int lay=-1) const
Definition: HcalNumberingFromDDD.cc:30
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
PHGCalValidInfo::fillhgcHits
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)
Definition: PHGCalValidInfo.cc:7
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
HGCalDDDConstants::levelTop
int levelTop(int ind=0) const
Definition: HGCalDDDConstants.h:87
HGCHEF
Definition: ForwardSubdetector.h:9
SimG4HGCalValidation::hgcHEBedep_
std::vector< double > hgcHEBedep_
Definition: SimG4HGCalValidation.cc:101
SimG4HGCalValidation::verbosity_
int verbosity_
Definition: SimG4HGCalValidation.cc:99
DetId::Forward
Definition: DetId.h:30
SimG4HGCalValidation::numberingFromDDD_
HcalNumberingFromDDD * numberingFromDDD_
Definition: SimG4HGCalValidation.cc:83
HGCalNumberingScheme
Definition: HGCalNumberingScheme.h:16
edm::Log
Definition: MessageLogger.h:70
HcalSimNumberingRecord
Definition: HcalSimNumberingRecord.h:25
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
SimG4HGCalValidation::levelT1_
int levelT1_
Definition: SimG4HGCalValidation.cc:95
weight
Definition: weight.py:1
IdealGeometryRecord
Definition: IdealGeometryRecord.h:25
SimG4HGCalValidation::layerAnalysis
void layerAnalysis(PHGCalValidInfo &)
Definition: SimG4HGCalValidation.cc:358
HGCHEB
Definition: ForwardSubdetector.h:10
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37