CMS 3D CMS Logo

HGCGeometryValidation.cc
Go to the documentation of this file.
1 #include <memory>
2 #include <iostream>
3 
9 
14 
27 
34 
36 
37 #include "CLHEP/Geometry/Point3D.h"
38 #include "CLHEP/Geometry/Vector3D.h"
39 #include "CLHEP/Units/GlobalSystemOfUnits.h"
40 #include "CLHEP/Units/GlobalPhysicalConstants.h"
41 
42 const double mmtocm = 0.1;
43 
45 public:
46  explicit HGCGeometryValidation(const edm::ParameterSet &);
47  ~HGCGeometryValidation() override;
48  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
49 
50 protected:
51  void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override;
52  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
53  void analyze(const edm::Event &, const edm::EventSetup &) override;
54 
55 private:
57  std::vector<std::string> geometrySource_;
59 
60  //HGCal geometry scheme
61  std::vector<const HGCalDDDConstants *> hgcGeometry_;
63 
64  //histogram related stuff
75 
80 };
81 
83  g4Token_ = consumes<PHGCalValidInfo>(cfg.getParameter<edm::InputTag>("g4Source"));
84  geometrySource_ = cfg.getUntrackedParameter<std::vector<std::string> >("geometrySource");
85  verbosity_ = cfg.getUntrackedParameter<int>("verbosity", 0);
86 }
87 
89 
92  desc.setUnknown();
93  descriptions.addDefault(desc);
94 }
95 
97  //initiating hgcnumbering
98  for (size_t i = 0; i < geometrySource_.size(); i++) {
99  if (geometrySource_[i].find("Hcal") != std::string::npos) {
101  iSetup.get<HcalSimNumberingRecord>().get(pHRNDC);
102  if (pHRNDC.isValid()) {
103  hcons_ = &(*pHRNDC);
104  hgcGeometry_.push_back(nullptr);
105  } else {
106  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalGeometry for " << geometrySource_[i];
107  }
108  } else {
110  iSetup.get<IdealGeometryRecord>().get(geometrySource_[i], hgcGeom);
111  if (hgcGeom.isValid()) {
112  hgcGeometry_.push_back(hgcGeom.product());
113  } else {
114  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalGeometry for " << geometrySource_[i];
115  }
116  }
117  }
118 }
119 
121  iB.setCurrentFolder("HGCAL/HGCalSimHitsV/Geometry");
122 
123  //initiating histograms
124  heeTotEdepStep = iB.book1D("heeTotEdepStep", "", 100, 0, 100);
125  hefTotEdepStep = iB.book1D("hefTotEdepStep", "", 100, 0, 100);
126  hebTotEdepStep = iB.book1D("hebTotEdepStep", "", 100, 0, 100);
127 
128  hebLayerVsEnStep = iB.book2D("hebLayerVsEnStep", "", 25, 0, 25, 100, 0, 0.01);
129  hefLayerVsEnStep = iB.book2D("hefLayerVsEnStep", "", 36, 0, 36, 100, 0, 0.01);
130  heeLayerVsEnStep = iB.book2D("heeLayerVsEnStep", "", 84, 0, 84, 100, 0, 0.01);
131 
132  heeXG4VsId = iB.book2D("heeXG4VsId", "", 600, -300, 300, 600, -300, 300);
133  heeYG4VsId = iB.book2D("heeYG4VsId", "", 600, -300, 300, 600, -300, 300);
134  heeZG4VsId = iB.book2D("heeZG4VsId", "", 3000, 320, 350, 3000, 320, 350);
135 
136  hefXG4VsId = iB.book2D("hefXG4VsId", "", 600, -300, 300, 600, -300, 300);
137  hefYG4VsId = iB.book2D("hefYG4VsId", "", 600, -300, 300, 600, -300, 300);
138  hefZG4VsId = iB.book2D("hefZG4VsId", "", 6000, 350, 410, 6000, 350, 410);
139 
140  hebXG4VsId = iB.book2D("hebXG4VsId", "", 600, -300, 300, 600, -300, 300);
141  hebYG4VsId = iB.book2D("hebYG4VsId", "", 600, -300, 300, 600, -300, 300);
142  hebZG4VsId = iB.book2D("hebZG4VsId", "", 220, 400, 620, 220, 400, 620);
143 
144  heedzVsZ = iB.book2D("heedzVsZ", "", 600, 320, 350, 100, -1, 1);
145  heedyVsY = iB.book2D("heedyVsY", "", 400, -200, 200, 100, -1, 1);
146  heedxVsX = iB.book2D("heedxVsX", "", 400, -200, 200, 100, -1, 1);
147 
148  hefdzVsZ = iB.book2D("hefdzVsZ", "", 1200, 350, 410, 100, -1, 1);
149  hefdyVsY = iB.book2D("hefdyVsY", "", 400, -200, 200, 100, -1, 1);
150  hefdxVsX = iB.book2D("hefdxVsX", "", 400, -200, 200, 100, -1, 1);
151 
152  hebdzVsZ = iB.book2D("hebdzVsZ", "", 220, 400, 620, 100, -5, 5);
153  hebdyVsY = iB.book2D("hebdyVsY", "", 400, -200, 200, 100, -5, 5);
154  hebdxVsX = iB.book2D("hebdxVsX", "", 400, -200, 200, 100, -5, 5);
155 
156  heedzVsLayer = iB.book2D("heedzVsLayer", "", 100, 0, 100, 100, -1, 1);
157  hefdzVsLayer = iB.book2D("hefdzVsLayer", "", 40, 0, 40, 100, -1, 1);
158  hebdzVsLayer = iB.book2D("hebdzVsLayer", "", 50, 0, 25, 100, -5, 5);
159 
160  heedyVsLayer = iB.book2D("heedyVsLayer", "", 100, 0, 100, 100, -1, 1);
161  hefdyVsLayer = iB.book2D("hefdyVsLayer", "", 40, 0, 40, 100, -1, 1);
162  hebdyVsLayer = iB.book2D("hebdyVsLayer", "", 50, 0, 25, 100, -5, 5);
163 
164  heedxVsLayer = iB.book2D("heedxVsLayer", "", 100, 0, 100, 100, -1, 1);
165  hefdxVsLayer = iB.book2D("hefdxVsLayer", "", 40, 0, 40, 500, -1, 1);
166  hebdxVsLayer = iB.book2D("hebdxVsLayer", "", 50, 0, 25, 500, -5, 5.0);
167 
168  heedX = iB.book1D("heedX", "", 100, -1, 1);
169  heedY = iB.book1D("heedY", "", 100, -1, 1);
170  heedZ = iB.book1D("heedZ", "", 100, -1, 1);
171 
172  hefdX = iB.book1D("hefdX", "", 100, -1, 1);
173  hefdY = iB.book1D("hefdY", "", 100, -1, 1);
174  hefdZ = iB.book1D("hefdZ", "", 100, -1, 1);
175 
176  hebdX = iB.book1D("hebdX", "", 100, -1, 1);
177  hebdY = iB.book1D("hebdY", "", 100, -1, 1);
178  hebdZ = iB.book1D("hebdZ", "", 100, -1, 1);
179 }
180 
182  //Accessing G4 information
184  iEvent.getByToken(g4Token_, infoLayer);
185 
186  if (infoLayer.isValid()) {
187  //step vertex information
188  std::vector<float> hitVtxX = infoLayer->hitvtxX();
189  std::vector<float> hitVtxY = infoLayer->hitvtxY();
190  std::vector<float> hitVtxZ = infoLayer->hitvtxZ();
191  std::vector<unsigned int> hitDet = infoLayer->hitDets();
192  std::vector<unsigned int> hitIdx = infoLayer->hitIndex();
193 
194  //energy information
195  std::vector<float> edepLayerEE = infoLayer->eehgcEdep();
196  std::vector<float> edepLayerHE = infoLayer->hefhgcEdep();
197  std::vector<float> edepLayerHB = infoLayer->hebhgcEdep();
198 
199  unsigned int i;
200  for (i = 0; i < edepLayerEE.size(); i++) {
201  heeLayerVsEnStep->Fill(i, edepLayerEE.at(i));
202  }
203 
204  for (i = 0; i < edepLayerHE.size(); i++) {
205  hefLayerVsEnStep->Fill(i, edepLayerHE.at(i));
206  }
207 
208  for (i = 0; i < edepLayerHB.size(); i++) {
209  hebLayerVsEnStep->Fill(i, edepLayerHB.at(i));
210  }
211 
212  //fill total energy deposited
213  heeTotEdepStep->Fill((double)infoLayer->eeTotEdep());
214  hefTotEdepStep->Fill((double)infoLayer->hefTotEdep());
215  hebTotEdepStep->Fill((double)infoLayer->hebTotEdep());
216 
217  //loop over all hits
218  for (unsigned int i = 0; i < hitVtxX.size(); i++) {
219  hitVtxX.at(i) = mmtocm * hitVtxX.at(i);
220  hitVtxY.at(i) = mmtocm * hitVtxY.at(i);
221  hitVtxZ.at(i) = mmtocm * hitVtxZ.at(i);
222 
223  if ((hitDet.at(i) == (unsigned int)(DetId::Forward)) || (hitDet.at(i) == (unsigned int)(DetId::HGCalEE)) ||
224  (hitDet.at(i) == (unsigned int)(DetId::HGCalHSi)) || (hitDet.at(i) == (unsigned int)(DetId::HGCalHSc))) {
225  double xx, yy;
226  int dtype(0), layer(0), zside(1);
227  std::pair<float, float> xy;
228  if (hitDet.at(i) == (unsigned int)(DetId::Forward)) {
229  int subdet, wafer, celltype, cell;
230  HGCalTestNumbering::unpackHexagonIndex(hitIdx.at(i), subdet, zside, layer, wafer, celltype, cell);
231  dtype = (subdet == (int)(HGCEE)) ? 0 : 1;
232  xy = hgcGeometry_[dtype]->locateCell(cell, layer, wafer, true); //cm
233  } else if ((hitDet.at(i) == (unsigned int)(DetId::HGCalEE)) ||
234  (hitDet.at(i) == (unsigned int)(DetId::HGCalHSi))) {
235  HGCSiliconDetId id(hitIdx.at(i));
236  dtype = (id.det() == DetId::HGCalEE) ? 0 : 1;
237  layer = id.layer();
238  zside = id.zside();
239  xy = hgcGeometry_[dtype]->locateCell(layer, id.waferU(), id.waferV(), id.cellU(), id.cellV(), true, true);
240  } else {
241  HGCScintillatorDetId id(hitIdx.at(i));
242  dtype = 2;
243  layer = id.layer();
244  zside = id.zside();
245  xy = hgcGeometry_[dtype]->locateCellTrap(layer, id.ietaAbs(), id.iphi(), true);
246  }
247  double zz = hgcGeometry_[dtype]->waferZ(layer, true); //cm
248  if (zside < 0)
249  zz = -zz;
250  xx = (zside < 0) ? -xy.first : xy.first;
251  yy = xy.second;
252 
253  if (dtype == 0) {
254  heedzVsZ->Fill(zz, (hitVtxZ.at(i) - zz));
255  heedyVsY->Fill(yy, (hitVtxY.at(i) - yy));
256  heedxVsX->Fill(xx, (hitVtxX.at(i) - xx));
257 
258  heeXG4VsId->Fill(hitVtxX.at(i), xx);
259  heeYG4VsId->Fill(hitVtxY.at(i), yy);
260  heeZG4VsId->Fill(hitVtxZ.at(i), zz);
261 
262  heedzVsLayer->Fill(layer, (hitVtxZ.at(i) - zz));
263  heedyVsLayer->Fill(layer, (hitVtxY.at(i) - yy));
264  heedxVsLayer->Fill(layer, (hitVtxX.at(i) - xx));
265 
266  heedX->Fill((hitVtxX.at(i) - xx));
267  heedZ->Fill((hitVtxZ.at(i) - zz));
268  heedY->Fill((hitVtxY.at(i) - yy));
269 
270  } else if (dtype == 1) {
271  hefdzVsZ->Fill(zz, (hitVtxZ.at(i) - zz));
272  hefdyVsY->Fill(yy, (hitVtxY.at(i) - yy));
273  hefdxVsX->Fill(xx, (hitVtxX.at(i) - xx));
274 
275  hefXG4VsId->Fill(hitVtxX.at(i), xx);
276  hefYG4VsId->Fill(hitVtxY.at(i), yy);
277  hefZG4VsId->Fill(hitVtxZ.at(i), zz);
278 
279  hefdzVsLayer->Fill(layer, (hitVtxZ.at(i) - zz));
280  hefdyVsLayer->Fill(layer, (hitVtxY.at(i) - yy));
281  hefdxVsLayer->Fill(layer, (hitVtxX.at(i) - xx));
282 
283  hefdX->Fill((hitVtxX.at(i) - xx));
284  hefdZ->Fill((hitVtxZ.at(i) - zz));
285  hefdY->Fill((hitVtxY.at(i) - yy));
286 
287  } else {
288  hebdzVsZ->Fill(zz, (hitVtxZ.at(i) - zz));
289  hebdyVsY->Fill(yy, (hitVtxY.at(i) - yy));
290  hebdxVsX->Fill(xx, (hitVtxX.at(i) - xx));
291 
292  hebXG4VsId->Fill(hitVtxX.at(i), xx);
293  hebYG4VsId->Fill(hitVtxY.at(i), yy);
294  hebZG4VsId->Fill(hitVtxZ.at(i), zz);
295 
296  hebdzVsLayer->Fill(layer, (hitVtxZ.at(i) - zz));
297  hebdyVsLayer->Fill(layer, (hitVtxY.at(i) - yy));
298  hebdxVsLayer->Fill(layer, (hitVtxX.at(i) - xx));
299 
300  hebdX->Fill((hitVtxX.at(i) - xx));
301  hebdZ->Fill((hitVtxZ.at(i) - zz));
302  hebdY->Fill((hitVtxY.at(i) - yy));
303  }
304 
305  } else if (hitDet.at(i) == (unsigned int)(DetId::Hcal)) {
306  int subdet, zside, depth, eta, phi, lay;
307  HcalTestNumbering::unpackHcalIndex(hitIdx.at(i), subdet, zside, depth, eta, phi, lay);
308  HcalCellType::HcalCell cell = hcons_->cell(subdet, zside, lay, eta, phi);
309 
310  double zz = mmtocm * cell.rz; //mm --> cm
311  if (zside == 0)
312  zz = -zz;
313  double rho = zz * tan(2.0 * atan(exp(-cell.eta)));
314  double xx = rho * cos(cell.phi); //cm
315  double yy = rho * sin(cell.phi); //cm
316 
317  hebdzVsZ->Fill(zz, (hitVtxZ.at(i) - zz));
318  hebdyVsY->Fill(yy, (hitVtxY.at(i) - yy));
319  hebdxVsX->Fill(xx, (hitVtxX.at(i) - xx));
320 
321  hebXG4VsId->Fill(hitVtxX.at(i), xx);
322  hebYG4VsId->Fill(hitVtxY.at(i), yy);
323  hebZG4VsId->Fill(hitVtxZ.at(i), zz);
324 
325  hebdzVsLayer->Fill(lay, (hitVtxZ.at(i) - zz));
326  hebdyVsLayer->Fill(lay, (hitVtxY.at(i) - yy));
327  hebdxVsLayer->Fill(lay, (hitVtxX.at(i) - xx));
328 
329  hebdX->Fill((hitVtxX.at(i) - xx));
330  hebdZ->Fill((hitVtxZ.at(i) - zz));
331  hebdY->Fill((hitVtxY.at(i) - yy));
332  }
333 
334  } //end G4 hits
335 
336  } else {
337  if (verbosity_ > 0)
338  edm::LogVerbatim("HGCalValid") << "HGCGeometryValidation::No PHGCalInfo";
339  }
340 }
341 
342 //define this as a plug-in
HGCGeometryValidation::hefdzVsZ
MonitorElement * hefdzVsZ
Definition: HGCGeometryValidation.cc:66
ConfigurationDescriptions.h
GenParticlesHelper.h
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
HGCGeometryValidation::heedzVsLayer
MonitorElement * heedzVsLayer
Definition: HGCGeometryValidation.cc:68
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
Handle.h
HGCGeometryValidation::hebdzVsZ
MonitorElement * hebdzVsZ
Definition: HGCGeometryValidation.cc:67
mps_fire.i
i
Definition: mps_fire.py:355
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
mmtocm
const double mmtocm
Definition: HGCGeometryValidation.cc:42
MessageLogger.h
HGCScintillatorDetId.h
HGCGeometryValidation::hebdyVsLayer
MonitorElement * hebdyVsLayer
Definition: HGCGeometryValidation.cc:69
ESHandle.h
HcalSimNumberingRecord.h
HGCNumberingScheme.h
HGCGeometryValidation::g4Token_
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
Definition: HGCGeometryValidation.cc:56
HGCGeometryValidation::hebdZ
MonitorElement * hebdZ
Definition: HGCGeometryValidation.cc:79
edm::Run
Definition: Run.h:45
HGCGeometryValidation::geometrySource_
std::vector< std::string > geometrySource_
Definition: HGCGeometryValidation.cc:57
HGCGeometryValidation::heedzVsZ
MonitorElement * heedzVsZ
Definition: HGCGeometryValidation.cc:65
HGCGeometryValidation::heeTotEdepStep
MonitorElement * heeTotEdepStep
Definition: HGCGeometryValidation.cc:76
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
HGCGeometryValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: HGCGeometryValidation.cc:120
edm::EDGetTokenT< PHGCalValidInfo >
HGCGeometryValidation::hcons_
const HcalDDDSimConstants * hcons_
Definition: HGCGeometryValidation.cc:62
PHGCalValidInfo::hefTotEdep
float hefTotEdep() const
Definition: PHGCalValidInfo.h:18
HGCalTestNumbering::unpackHexagonIndex
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
Definition: HGCalTestNumbering.cc:47
DetId::Hcal
Definition: DetId.h:28
HGCSiliconDetId.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HGCGeometryValidation::hefdxVsX
MonitorElement * hefdxVsX
Definition: HGCGeometryValidation.cc:66
HGCGeometryValidation::HGCGeometryValidation
HGCGeometryValidation(const edm::ParameterSet &)
Definition: HGCGeometryValidation.cc:82
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HGCGeometryValidation::hefdX
MonitorElement * hefdX
Definition: HGCGeometryValidation.cc:78
PHGCalValidInfo::hitIndex
std::vector< unsigned int > hitIndex() const
Definition: PHGCalValidInfo.h:25
DQMStore.h
HcalTestNumbering.h
PHGCalValidInfo::hefhgcEdep
std::vector< float > hefhgcEdep() const
Definition: PHGCalValidInfo.h:22
HGCGeometryValidation::hebdxVsX
MonitorElement * hebdxVsX
Definition: HGCGeometryValidation.cc:67
HGCGeometryValidation::heeXG4VsId
MonitorElement * heeXG4VsId
Definition: HGCGeometryValidation.cc:71
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle
Definition: AssociativeIterator.h:50
HGCGeometryValidation::hefdxVsLayer
MonitorElement * hefdxVsLayer
Definition: HGCGeometryValidation.cc:70
HGCGeometryValidation::heedY
MonitorElement * heedY
Definition: HGCGeometryValidation.cc:77
HGCSiliconDetId
Definition: HGCSiliconDetId.h:22
HcalDDDSimConstants::cell
HcalCellType::HcalCell cell(const int &det, const int &zside, const int &depth, const int &etaR, const int &iphi) const
Definition: HcalDDDSimConstants.cc:28
ForwardSubdetector.h
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
HGCGeometryValidation::hebYG4VsId
MonitorElement * hebYG4VsId
Definition: HGCGeometryValidation.cc:72
HcalDDDSimConstants
Definition: HcalDDDSimConstants.h:24
HGCGeometryValidation::hebdyVsY
MonitorElement * hebdyVsY
Definition: HGCGeometryValidation.cc:67
HGCGeometryValidation::hefdyVsY
MonitorElement * hefdyVsY
Definition: HGCGeometryValidation.cc:66
HGCGeometryValidation::heedxVsX
MonitorElement * heedxVsX
Definition: HGCGeometryValidation.cc:65
DetId::HGCalHSi
Definition: DetId.h:33
DetId::HGCalEE
Definition: DetId.h:32
MakerMacros.h
HGCGeometryValidation::heedZ
MonitorElement * heedZ
Definition: HGCGeometryValidation.cc:77
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
HcalTestNumbering::unpackHcalIndex
static void unpackHcalIndex(const uint32_t &idx, int &det, int &z, int &depth, int &eta, int &phi, int &lay)
Definition: HcalTestNumbering.cc:18
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
Service.h
PVValHelper::eta
Definition: PVValidationHelpers.h:69
HGCGeometryValidation::hgcGeometry_
std::vector< const HGCalDDDConstants * > hgcGeometry_
Definition: HGCGeometryValidation.cc:61
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HGCGeometryValidation::hebTotEdepStep
MonitorElement * hebTotEdepStep
Definition: HGCGeometryValidation.cc:76
HGCGeometryValidation::heeYG4VsId
MonitorElement * heeYG4VsId
Definition: HGCGeometryValidation.cc:72
edm::ESHandle
Definition: DTSurvey.h:22
HGCGeometryValidation::hefdyVsLayer
MonitorElement * hefdyVsLayer
Definition: HGCGeometryValidation.cc:69
EDGetToken.h
HGCGeometryValidation::hebXG4VsId
MonitorElement * hebXG4VsId
Definition: HGCGeometryValidation.cc:71
HGCGeometryValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: HGCGeometryValidation.cc:181
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
geometryCSVtoXML.xy
xy
Definition: geometryCSVtoXML.py:19
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
DDAxes::rho
HGCGeometryValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HGCGeometryValidation.cc:90
HGCEE
Definition: ForwardSubdetector.h:8
edm::LogWarning
Definition: MessageLogger.h:141
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
HGCGeometryValidation::hebdY
MonitorElement * hebdY
Definition: HGCGeometryValidation.cc:79
edm::ParameterSet
Definition: ParameterSet.h:36
HGCGeometryValidation::hefdZ
MonitorElement * hefdZ
Definition: HGCGeometryValidation.cc:78
Event.h
geometryCSVtoXML.yy
yy
Definition: geometryCSVtoXML.py:19
PHGCalValidInfo::eehgcEdep
std::vector< float > eehgcEdep() const
Definition: PHGCalValidInfo.h:21
HGCGeometryValidation::heedyVsLayer
MonitorElement * heedyVsLayer
Definition: HGCGeometryValidation.cc:69
runTauDisplay.dtype
dtype
Definition: runTauDisplay.py:121
PCaloHit.h
HGCGeometryValidation::hebdX
MonitorElement * hebdX
Definition: HGCGeometryValidation.cc:79
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCGeometryValidation::heedX
MonitorElement * heedX
Definition: HGCGeometryValidation.cc:77
edm::LogVerbatim
Definition: MessageLogger.h:297
HGCGeometryValidation::heedyVsY
MonitorElement * heedyVsY
Definition: HGCGeometryValidation.cc:65
edm::ParameterSetDescription::setUnknown
void setUnknown()
Definition: ParameterSetDescription.cc:39
IdealGeometryRecord.h
HGCGeometryValidation::hebdxVsLayer
MonitorElement * hebdxVsLayer
Definition: HGCGeometryValidation.cc:70
edm::EventSetup
Definition: EventSetup.h:57
HcalCellType::HcalCell
Definition: HcalCellType.h:15
get
#define get
HcalCellType.h
HGCGeometryValidation::~HGCGeometryValidation
~HGCGeometryValidation() override
Definition: HGCGeometryValidation.cc:88
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
PHGCalValidInfo::hitDets
std::vector< unsigned int > hitDets() const
Definition: PHGCalValidInfo.h:24
PHGCalValidInfo::eeTotEdep
float eeTotEdep() const
Definition: PHGCalValidInfo.h:17
looper.cfg
cfg
Definition: looper.py:297
DDAxes::phi
HGCGeometryValidation::hefdY
MonitorElement * hefdY
Definition: HGCGeometryValidation.cc:78
Frameworkfwd.h
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:21
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
DetId::HGCalHSc
Definition: DetId.h:34
PHGCalValidInfo::hebTotEdep
float hebTotEdep() const
Definition: PHGCalValidInfo.h:19
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
PHGCalValidInfo::hitvtxY
std::vector< float > hitvtxY() const
Definition: PHGCalValidInfo.h:27
HGCGeometryValidation::hefLayerVsEnStep
MonitorElement * hefLayerVsEnStep
Definition: HGCGeometryValidation.cc:74
HGCGeometryValidation::hebdzVsLayer
MonitorElement * hebdzVsLayer
Definition: HGCGeometryValidation.cc:68
HGCGeometryValidation::hebZG4VsId
MonitorElement * hebZG4VsId
Definition: HGCGeometryValidation.cc:73
HGCGeometryValidation::hefYG4VsId
MonitorElement * hefYG4VsId
Definition: HGCGeometryValidation.cc:72
PHGCalValidInfo::hitvtxX
std::vector< float > hitvtxX() const
Definition: PHGCalValidInfo.h:26
PHGCalValidInfo::hitvtxZ
std::vector< float > hitvtxZ() const
Definition: PHGCalValidInfo.h:28
HGCGeometryValidation::hefTotEdepStep
MonitorElement * hefTotEdepStep
Definition: HGCGeometryValidation.cc:76
HGCGeometryValidation::hefdzVsLayer
MonitorElement * hefdzVsLayer
Definition: HGCGeometryValidation.cc:68
Exception.h
PCaloHitContainer.h
HGCGeometryValidation
Definition: HGCGeometryValidation.cc:44
dqm::implementation::IBooker
Definition: DQMStore.h:43
HGCGeometryValidation::hebLayerVsEnStep
MonitorElement * hebLayerVsEnStep
Definition: HGCGeometryValidation.cc:74
HGCGeometryValidation::heeZG4VsId
MonitorElement * heeZG4VsId
Definition: HGCGeometryValidation.cc:73
HGCGeometryValidation::verbosity_
int verbosity_
Definition: HGCGeometryValidation.cc:58
HGCalDDDConstants.h
ParameterSet.h
DetId::Forward
Definition: DetId.h:30
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
HGCGeometryValidation::hefZG4VsId
MonitorElement * hefZG4VsId
Definition: HGCGeometryValidation.cc:73
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PHGCalValidInfo::hebhgcEdep
std::vector< float > hebhgcEdep() const
Definition: PHGCalValidInfo.h:23
edm::Event
Definition: Event.h:73
PHGCalValidInfo.h
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
HGCGeometryValidation::heedxVsLayer
MonitorElement * heedxVsLayer
Definition: HGCGeometryValidation.cc:70
HGCGeometryValidation::hefXG4VsId
MonitorElement * hefXG4VsId
Definition: HGCGeometryValidation.cc:71
HcalSimNumberingRecord
Definition: HcalSimNumberingRecord.h:25
HGCGeometryValidation::dqmBeginRun
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
Definition: HGCGeometryValidation.cc:96
edm::InputTag
Definition: InputTag.h:15
HGCGeometryValidation::heeLayerVsEnStep
MonitorElement * heeLayerVsEnStep
Definition: HGCGeometryValidation.cc:74
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
IdealGeometryRecord
Definition: IdealGeometryRecord.h:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
HcalDDDSimConstants.h
HGCalTestNumbering.h