CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
HGCGeometryValidation Class Reference
Inheritance diagram for HGCGeometryValidation:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 HGCGeometryValidation (const edm::ParameterSet &)
 
 ~HGCGeometryValidation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

edm::EDGetTokenT< PHGCalValidInfog4Token_
 
std::vector< std::string > geometrySource_
 
const HcalDDDSimConstantshcons_
 
MonitorElementhebdX
 
MonitorElementhebdxVsLayer
 
MonitorElementhebdxVsX
 
MonitorElementhebdY
 
MonitorElementhebdyVsLayer
 
MonitorElementhebdyVsY
 
MonitorElementhebdZ
 
MonitorElementhebdzVsLayer
 
MonitorElementhebdzVsZ
 
MonitorElementhebLayerVsEnStep
 
MonitorElementhebTotEdepStep
 
MonitorElementhebXG4VsId
 
MonitorElementhebYG4VsId
 
MonitorElementhebZG4VsId
 
MonitorElementheedX
 
MonitorElementheedxVsLayer
 
MonitorElementheedxVsX
 
MonitorElementheedY
 
MonitorElementheedyVsLayer
 
MonitorElementheedyVsY
 
MonitorElementheedZ
 
MonitorElementheedzVsLayer
 
MonitorElementheedzVsZ
 
MonitorElementheeLayerVsEnStep
 
MonitorElementheeTotEdepStep
 
MonitorElementheeXG4VsId
 
MonitorElementheeYG4VsId
 
MonitorElementheeZG4VsId
 
MonitorElementhefdX
 
MonitorElementhefdxVsLayer
 
MonitorElementhefdxVsX
 
MonitorElementhefdY
 
MonitorElementhefdyVsLayer
 
MonitorElementhefdyVsY
 
MonitorElementhefdZ
 
MonitorElementhefdzVsLayer
 
MonitorElementhefdzVsZ
 
MonitorElementhefLayerVsEnStep
 
MonitorElementhefTotEdepStep
 
MonitorElementhefXG4VsId
 
MonitorElementhefYG4VsId
 
MonitorElementhefZG4VsId
 
std::vector< const HGCalDDDConstants * > hgcGeometry_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 44 of file HGCGeometryValidation.cc.

Constructor & Destructor Documentation

◆ HGCGeometryValidation()

HGCGeometryValidation::HGCGeometryValidation ( const edm::ParameterSet cfg)
explicit

Definition at line 82 of file HGCGeometryValidation.cc.

82  : hcons_(nullptr) {
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 }

References looper::cfg, g4Token_, geometrySource_, and verbosity_.

◆ ~HGCGeometryValidation()

HGCGeometryValidation::~HGCGeometryValidation ( )
override

Definition at line 88 of file HGCGeometryValidation.cc.

88 {}

Member Function Documentation

◆ analyze()

void HGCGeometryValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 181 of file HGCGeometryValidation.cc.

181  {
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 }

References HcalDDDSimConstants::cell(), funct::cos(), LEDCalibrationChannels::depth, runTauDisplay::dtype, PHGCalValidInfo::eehgcEdep(), PHGCalValidInfo::eeTotEdep(), PVValHelper::eta, JetChargeProducer_cfi::exp, dqm::impl::MonitorElement::Fill(), DetId::Forward, g4Token_, DetId::Hcal, hcons_, hebdX, hebdxVsLayer, hebdxVsX, hebdY, hebdyVsLayer, hebdyVsY, hebdZ, hebdzVsLayer, hebdzVsZ, PHGCalValidInfo::hebhgcEdep(), hebLayerVsEnStep, PHGCalValidInfo::hebTotEdep(), hebTotEdepStep, hebXG4VsId, hebYG4VsId, hebZG4VsId, heedX, heedxVsLayer, heedxVsX, heedY, heedyVsLayer, heedyVsY, heedZ, heedzVsLayer, heedzVsZ, heeLayerVsEnStep, heeTotEdepStep, heeXG4VsId, heeYG4VsId, heeZG4VsId, hefdX, hefdxVsLayer, hefdxVsX, hefdY, hefdyVsLayer, hefdyVsY, hefdZ, hefdzVsLayer, hefdzVsZ, PHGCalValidInfo::hefhgcEdep(), hefLayerVsEnStep, PHGCalValidInfo::hefTotEdep(), hefTotEdepStep, hefXG4VsId, hefYG4VsId, hefZG4VsId, DetId::HGCalEE, DetId::HGCalHSc, DetId::HGCalHSi, HGCEE, hgcGeometry_, PHGCalValidInfo::hitDets(), PHGCalValidInfo::hitIndex(), PHGCalValidInfo::hitvtxX(), PHGCalValidInfo::hitvtxY(), PHGCalValidInfo::hitvtxZ(), mps_fire::i, triggerObjects_cff::id, iEvent, createfilelist::int, LEDCalibrationChannels::iphi, edm::HandleBase::isValid(), mmtocm, phi, rho, funct::sin(), funct::tan(), HcalTestNumbering::unpackHcalIndex(), HGCalTestNumbering::unpackHexagonIndex(), verbosity_, geometryCSVtoXML::xx, geometryCSVtoXML::xy, geometryCSVtoXML::yy, ecaldqm::zside(), and geometryCSVtoXML::zz.

◆ bookHistograms()

void HGCGeometryValidation::bookHistograms ( DQMStore::IBooker iB,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 120 of file HGCGeometryValidation.cc.

120  {
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 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), hebdX, hebdxVsLayer, hebdxVsX, hebdY, hebdyVsLayer, hebdyVsY, hebdZ, hebdzVsLayer, hebdzVsZ, hebLayerVsEnStep, hebTotEdepStep, hebXG4VsId, hebYG4VsId, hebZG4VsId, heedX, heedxVsLayer, heedxVsX, heedY, heedyVsLayer, heedyVsY, heedZ, heedzVsLayer, heedzVsZ, heeLayerVsEnStep, heeTotEdepStep, heeXG4VsId, heeYG4VsId, heeZG4VsId, hefdX, hefdxVsLayer, hefdxVsX, hefdY, hefdyVsLayer, hefdyVsY, hefdZ, hefdzVsLayer, hefdzVsZ, hefLayerVsEnStep, hefTotEdepStep, hefXG4VsId, hefYG4VsId, hefZG4VsId, and dqm::implementation::NavigatorBase::setCurrentFolder().

◆ dqmBeginRun()

void HGCGeometryValidation::dqmBeginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 96 of file HGCGeometryValidation.cc.

96  {
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 }

References spr::find(), geometrySource_, edm::EventSetup::get(), get, hcons_, hgcGeometry_, mps_fire::i, edm::ESHandleBase::isValid(), and edm::ESHandle< T >::product().

◆ fillDescriptions()

void HGCGeometryValidation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 90 of file HGCGeometryValidation.cc.

90  {
92  desc.setUnknown();
93  descriptions.addDefault(desc);
94 }

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

Member Data Documentation

◆ g4Token_

edm::EDGetTokenT<PHGCalValidInfo> HGCGeometryValidation::g4Token_
private

Definition at line 56 of file HGCGeometryValidation.cc.

Referenced by analyze(), and HGCGeometryValidation().

◆ geometrySource_

std::vector<std::string> HGCGeometryValidation::geometrySource_
private

Definition at line 57 of file HGCGeometryValidation.cc.

Referenced by dqmBeginRun(), and HGCGeometryValidation().

◆ hcons_

const HcalDDDSimConstants* HGCGeometryValidation::hcons_
private

Definition at line 62 of file HGCGeometryValidation.cc.

Referenced by analyze(), and dqmBeginRun().

◆ hebdX

MonitorElement* HGCGeometryValidation::hebdX
private

Definition at line 79 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdxVsLayer

MonitorElement * HGCGeometryValidation::hebdxVsLayer
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdxVsX

MonitorElement * HGCGeometryValidation::hebdxVsX
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdY

MonitorElement * HGCGeometryValidation::hebdY
private

Definition at line 79 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdyVsLayer

MonitorElement * HGCGeometryValidation::hebdyVsLayer
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdyVsY

MonitorElement * HGCGeometryValidation::hebdyVsY
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdZ

MonitorElement * HGCGeometryValidation::hebdZ
private

Definition at line 79 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdzVsLayer

MonitorElement * HGCGeometryValidation::hebdzVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebdzVsZ

MonitorElement* HGCGeometryValidation::hebdzVsZ
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebLayerVsEnStep

MonitorElement* HGCGeometryValidation::hebLayerVsEnStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebTotEdepStep

MonitorElement * HGCGeometryValidation::hebTotEdepStep
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebXG4VsId

MonitorElement * HGCGeometryValidation::hebXG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebYG4VsId

MonitorElement * HGCGeometryValidation::hebYG4VsId
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebZG4VsId

MonitorElement * HGCGeometryValidation::hebZG4VsId
private

Definition at line 73 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedX

MonitorElement* HGCGeometryValidation::heedX
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedxVsLayer

MonitorElement* HGCGeometryValidation::heedxVsLayer
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedxVsX

MonitorElement * HGCGeometryValidation::heedxVsX
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedY

MonitorElement * HGCGeometryValidation::heedY
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedyVsLayer

MonitorElement* HGCGeometryValidation::heedyVsLayer
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedyVsY

MonitorElement * HGCGeometryValidation::heedyVsY
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedZ

MonitorElement * HGCGeometryValidation::heedZ
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedzVsLayer

MonitorElement* HGCGeometryValidation::heedzVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedzVsZ

MonitorElement* HGCGeometryValidation::heedzVsZ
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeLayerVsEnStep

MonitorElement * HGCGeometryValidation::heeLayerVsEnStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeTotEdepStep

MonitorElement* HGCGeometryValidation::heeTotEdepStep
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeXG4VsId

MonitorElement* HGCGeometryValidation::heeXG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeYG4VsId

MonitorElement* HGCGeometryValidation::heeYG4VsId
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeZG4VsId

MonitorElement* HGCGeometryValidation::heeZG4VsId
private

Definition at line 73 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdX

MonitorElement* HGCGeometryValidation::hefdX
private

Definition at line 78 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdxVsLayer

MonitorElement * HGCGeometryValidation::hefdxVsLayer
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdxVsX

MonitorElement * HGCGeometryValidation::hefdxVsX
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdY

MonitorElement * HGCGeometryValidation::hefdY
private

Definition at line 78 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdyVsLayer

MonitorElement * HGCGeometryValidation::hefdyVsLayer
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdyVsY

MonitorElement * HGCGeometryValidation::hefdyVsY
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdZ

MonitorElement * HGCGeometryValidation::hefdZ
private

Definition at line 78 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdzVsLayer

MonitorElement * HGCGeometryValidation::hefdzVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdzVsZ

MonitorElement* HGCGeometryValidation::hefdzVsZ
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefLayerVsEnStep

MonitorElement * HGCGeometryValidation::hefLayerVsEnStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefTotEdepStep

MonitorElement * HGCGeometryValidation::hefTotEdepStep
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefXG4VsId

MonitorElement * HGCGeometryValidation::hefXG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefYG4VsId

MonitorElement * HGCGeometryValidation::hefYG4VsId
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefZG4VsId

MonitorElement * HGCGeometryValidation::hefZG4VsId
private

Definition at line 73 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hgcGeometry_

std::vector<const HGCalDDDConstants *> HGCGeometryValidation::hgcGeometry_
private

Definition at line 61 of file HGCGeometryValidation.cc.

Referenced by analyze(), and dqmBeginRun().

◆ verbosity_

int HGCGeometryValidation::verbosity_
private

Definition at line 58 of file HGCGeometryValidation.cc.

Referenced by analyze(), and HGCGeometryValidation().

HGCGeometryValidation::hefdzVsZ
MonitorElement * hefdzVsZ
Definition: HGCGeometryValidation.cc:66
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
HGCGeometryValidation::heedzVsLayer
MonitorElement * heedzVsLayer
Definition: HGCGeometryValidation.cc:68
HGCGeometryValidation::hebdzVsZ
MonitorElement * hebdzVsZ
Definition: HGCGeometryValidation.cc:67
mps_fire.i
i
Definition: mps_fire.py:428
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
mmtocm
const double mmtocm
Definition: HGCGeometryValidation.cc:42
HGCGeometryValidation::hebdyVsLayer
MonitorElement * hebdyVsLayer
Definition: HGCGeometryValidation.cc:69
HGCGeometryValidation::g4Token_
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
Definition: HGCGeometryValidation.cc:56
HGCGeometryValidation::hebdZ
MonitorElement * hebdZ
Definition: HGCGeometryValidation.cc:79
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::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
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HGCGeometryValidation::hefdxVsX
MonitorElement * hefdxVsX
Definition: HGCGeometryValidation.cc:66
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
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
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
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
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
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
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
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
HGCGeometryValidation::hebXG4VsId
MonitorElement * hebXG4VsId
Definition: HGCGeometryValidation.cc:71
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
geometryCSVtoXML.xy
xy
Definition: geometryCSVtoXML.py:19
DDAxes::rho
HGCEE
Definition: ForwardSubdetector.h:8
HGCGeometryValidation::hebdY
MonitorElement * hebdY
Definition: HGCGeometryValidation.cc:79
HGCGeometryValidation::hefdZ
MonitorElement * hefdZ
Definition: HGCGeometryValidation.cc:78
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
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
HGCGeometryValidation::heedyVsY
MonitorElement * heedyVsY
Definition: HGCGeometryValidation.cc:65
HGCGeometryValidation::hebdxVsLayer
MonitorElement * hebdxVsLayer
Definition: HGCGeometryValidation.cc:70
HcalCellType::HcalCell
Definition: HcalCellType.h:15
get
#define get
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
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HGCGeometryValidation::hefdY
MonitorElement * hefdY
Definition: HGCGeometryValidation.cc:78
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:23
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
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
HGCGeometryValidation::hebLayerVsEnStep
MonitorElement * hebLayerVsEnStep
Definition: HGCGeometryValidation.cc:74
HGCGeometryValidation::heeZG4VsId
MonitorElement * heeZG4VsId
Definition: HGCGeometryValidation.cc:73
HGCGeometryValidation::verbosity_
int verbosity_
Definition: HGCGeometryValidation.cc:58
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::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
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:25
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