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::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 HGCGeometryValidation (const edm::ParameterSet &)
 
 ~HGCGeometryValidation ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

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 edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
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
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Detailed Description

Definition at line 41 of file HGCGeometryValidation.cc.

Constructor & Destructor Documentation

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

Definition at line 80 of file HGCGeometryValidation.cc.

References g4Token_, geometrySource_, edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().

80  : hcons_(0) {
81 
82  g4Token_ = consumes<PHGCalValidInfo>(cfg.getParameter<edm::InputTag>("g4Source"));
83  geometrySource_ = cfg.getUntrackedParameter< std::vector<std::string> >("geometrySource");
84 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
const HcalDDDSimConstants * hcons_
std::vector< std::string > geometrySource_
HGCGeometryValidation::~HGCGeometryValidation ( )

Definition at line 86 of file HGCGeometryValidation.cc.

86 { }

Member Function Documentation

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

Definition at line 189 of file HGCGeometryValidation.cc.

References HcalDDDSimConstants::cell(), funct::cos(), DEFINE_FWK_MODULE, particleFlowClusterECALTimeSelected_cfi::depth, PHGCalValidInfo::eehgcEdep(), PHGCalValidInfo::eeTotEdep(), stringResolutionProvider_cfi::eta, JetChargeProducer_cfi::exp, MonitorElement::Fill(), DetId::Forward, g4Token_, edm::Event::getByToken(), 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, HGCEE, hgcGeometry_, HGCHEF, PHGCalValidInfo::hitDets(), PHGCalValidInfo::hitIndex(), PHGCalValidInfo::hitvtxX(), PHGCalValidInfo::hitvtxY(), PHGCalValidInfo::hitvtxZ(), i, createfilelist::int, edm::HandleBase::isValid(), phi, rho, HcalCellType::HcalCell::rz, funct::sin(), funct::tan(), HcalTestNumbering::unpackHcalIndex(), HGCalTestNumbering::unpackHexagonIndex(), geometryCSVtoXML::xx, geometryCSVtoXML::xy, and HcalDigiParam_cfi::zside.

190  {
191 
192  //Accessing G4 information
194  iEvent.getByToken(g4Token_,infoLayer);
195 
196  if (infoLayer.isValid()) {
197  //step vertex information
198  std::vector<float> hitVtxX = infoLayer->hitvtxX();
199  std::vector<float> hitVtxY = infoLayer->hitvtxY();
200  std::vector<float> hitVtxZ = infoLayer->hitvtxZ();
201  std::vector<unsigned int> hitDet = infoLayer->hitDets();
202  std::vector<unsigned int> hitIdx = infoLayer->hitIndex();
203 
204  //energy information
205  std::vector<float> edepLayerEE = infoLayer->eehgcEdep();
206  std::vector<float> edepLayerHE = infoLayer->hefhgcEdep();
207  std::vector<float> edepLayerHB = infoLayer->hebhgcEdep();
208 
209  unsigned int i;
210  for(i=0; i<edepLayerEE.size(); i++) {
211  heeLayerVsEnStep->Fill(i,edepLayerEE.at(i));
212  }
213 
214  for(i=0; i<edepLayerHE.size(); i++) {
215  hefLayerVsEnStep->Fill(i,edepLayerHE.at(i));
216  }
217 
218  for(i=0; i<edepLayerHB.size(); i++) {
219  hebLayerVsEnStep->Fill(i,edepLayerHB.at(i));
220  }
221 
222  //fill total energy deposited
223  heeTotEdepStep->Fill((double)infoLayer->eeTotEdep());
224  hefTotEdepStep->Fill((double)infoLayer->hefTotEdep());
225  hebTotEdepStep->Fill((double)infoLayer->hebTotEdep());
226 
227  //loop over all hits
228  for(unsigned int i=0; i<hitVtxX.size(); i++) {
229 
230  if (hitDet.at(i) == (unsigned int)(DetId::Forward)) {
231  int subdet, zside, layer, wafer, celltype, cell;
232  HGCalTestNumbering::unpackHexagonIndex(hitIdx.at(i), subdet, zside, layer, wafer, celltype, cell);
233 
234  std::pair<float, float> xy;
235  std::pair<int,float> layerIdx;
236  double zp, xx, yx;
237 
238  if (subdet==(int)(HGCEE)) {
239  xy = hgcGeometry_[0]->locateCell(cell,layer,wafer,false); //mm
240  zp = hgcGeometry_[0]->waferZ(layer,false); //cm
241  if (zside < 0) zp = -zp;
242  xx = (zp<0) ? -xy.first/10 : xy.first/10; //mm
243  yx = xy.second/10; //mm
244  hitVtxX.at(i) = hitVtxX.at(i)/10;
245  hitVtxY.at(i) = hitVtxY.at(i)/10;
246  hitVtxZ.at(i) = hitVtxZ.at(i)/10;
247 
248  heedzVsZ->Fill(zp, (hitVtxZ.at(i)-zp));
249  heedyVsY->Fill(yx, (hitVtxY.at(i)-yx));
250  heedxVsX->Fill(xx, (hitVtxX.at(i)-xx));
251 
252  heeXG4VsId->Fill(hitVtxX.at(i),xx);
253  heeYG4VsId->Fill(hitVtxY.at(i),yx);
254  heeZG4VsId->Fill(hitVtxZ.at(i),zp);
255 
256  heedzVsLayer->Fill(layer,(hitVtxZ.at(i)-zp));
257  heedyVsLayer->Fill(layer,(hitVtxY.at(i)-yx));
258  heedxVsLayer->Fill(layer,(hitVtxX.at(i)-xx));
259 
260  heedX->Fill((hitVtxX.at(i)-xx));
261  heedZ->Fill((hitVtxZ.at(i)-zp));
262  heedY->Fill((hitVtxY.at(i)-yx));
263 
264  } else if (subdet==(int)(HGCHEF)) {
265 
266  xy = hgcGeometry_[1]->locateCell(cell,layer,wafer,false); //mm
267  zp = hgcGeometry_[1]->waferZ(layer,false); //cm
268  if (zside < 0) zp = -zp;
269  xx = (zp<0) ? -xy.first/10 : xy.first/10; //mm
270  yx = xy.second/10; //mm
271  hitVtxX.at(i) = hitVtxX.at(i)/10;
272  hitVtxY.at(i) = hitVtxY.at(i)/10;
273  hitVtxZ.at(i) = hitVtxZ.at(i)/10;
274 
275  hefdzVsZ->Fill(zp, (hitVtxZ.at(i)-zp));
276  hefdyVsY->Fill(yx, (hitVtxY.at(i)-yx));
277  hefdxVsX->Fill(xx, (hitVtxX.at(i)-xx));
278 
279  hefXG4VsId->Fill(hitVtxX.at(i),xx);
280  hefYG4VsId->Fill(hitVtxY.at(i),yx);
281  hefZG4VsId->Fill(hitVtxZ.at(i),zp);
282 
283  hefdzVsLayer->Fill(layer,(hitVtxZ.at(i)-zp));
284  hefdyVsLayer->Fill(layer,(hitVtxY.at(i)-yx));
285  hefdxVsLayer->Fill(layer,(hitVtxX.at(i)-xx));
286 
287  hefdX->Fill((hitVtxX.at(i)-xx));
288  hefdZ->Fill((hitVtxZ.at(i)-zp));
289  hefdY->Fill((hitVtxY.at(i)-yx));
290 
291  }
292 
293  } else if (hitDet.at(i) == (unsigned int)(DetId::Hcal)) {
294 
295  int subdet, zside, depth, eta, phi, lay;
296  HcalTestNumbering::unpackHcalIndex(hitIdx.at(i), subdet, zside, depth, eta, phi, lay);
297  HcalCellType::HcalCell cell = hcons_->cell(subdet, zside, lay, eta, phi);
298 
299  double zp = cell.rz/10; //mm --> cm
300  if (zside == 0) zp = -zp;
301  double rho = zp*tan(2.0*atan(exp(-cell.eta)));
302  double xp = rho * cos(cell.phi); //cm
303  double yp = rho * sin(cell.phi); //cm
304 
305  hitVtxX.at(i) = hitVtxX.at(i)/10;
306  hitVtxY.at(i) = hitVtxY.at(i)/10;
307  hitVtxZ.at(i) = hitVtxZ.at(i)/10;
308 
309  hebdzVsZ->Fill(zp, (hitVtxZ.at(i)-zp));
310  hebdyVsY->Fill(yp, (hitVtxY.at(i)-yp));
311  hebdxVsX->Fill(xp, (hitVtxX.at(i)-xp));
312 
313  hebXG4VsId->Fill(hitVtxX.at(i),xp);
314  hebYG4VsId->Fill(hitVtxY.at(i),yp);
315  hebZG4VsId->Fill(hitVtxZ.at(i),zp);
316 
317  hebdzVsLayer->Fill(lay,(hitVtxZ.at(i)-zp));
318  hebdyVsLayer->Fill(lay,(hitVtxY.at(i)-yp));
319  hebdxVsLayer->Fill(lay,(hitVtxX.at(i)-xp));
320 
321  hebdX->Fill((hitVtxX.at(i)-xp));
322  hebdZ->Fill((hitVtxZ.at(i)-zp));
323  hebdY->Fill((hitVtxY.at(i)-yp));
324  }
325 
326  }//end G4 hits
327 
328  } else {
329  edm::LogWarning("HGCalValid") << "No PHGCalInfo " << std::endl;
330  }
331 
332 }
int i
Definition: DBlmapReader.cc:9
edm::EDGetTokenT< PHGCalValidInfo > g4Token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
float eeTotEdep() const
std::vector< const HGCalDDDConstants * > hgcGeometry_
void Fill(long long x)
std::vector< float > hitvtxZ() const
float hefTotEdep() const
MonitorElement * hefTotEdepStep
std::vector< float > eehgcEdep() const
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
MonitorElement * hefLayerVsEnStep
MonitorElement * heeLayerVsEnStep
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
static void unpackHcalIndex(const uint32_t &idx, int &det, int &z, int &depth, int &eta, int &phi, int &lay)
bool isValid() const
Definition: HandleBase.h:75
std::vector< float > hitvtxX() const
MonitorElement * hebTotEdepStep
std::vector< float > hitvtxY() const
std::vector< float > hebhgcEdep() const
MonitorElement * hebLayerVsEnStep
const HcalDDDSimConstants * hcons_
float hebTotEdep() const
HcalCellType::HcalCell cell(const int det, const int zside, const int depth, const int etaR, const int iphi) const
std::vector< unsigned int > hitIndex() const
MonitorElement * heeTotEdepStep
std::vector< unsigned int > hitDets() const
std::vector< float > hefhgcEdep() const
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
void HGCGeometryValidation::bookHistograms ( DQMStore::IBooker iB,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 125 of file HGCGeometryValidation.cc.

References DQMStore::IBooker::book1D(), DQMStore::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 DQMStore::IBooker::setCurrentFolder().

127  {
128 
129  iB.setCurrentFolder("HGCalSimHitsV/Geometry");
130 
131  //initiating histograms
132  heeTotEdepStep = iB.book1D("heeTotEdepStep","",100,0,100);
133  hefTotEdepStep = iB.book1D("hefTotEdepStep","",100,0,100);
134  hebTotEdepStep = iB.book1D("hebTotEdepStep","",100,0,100);
135 
136  hebLayerVsEnStep = iB.book2D("hebLayerVsEnStep","",25,0,25,100,0,0.01);
137  hefLayerVsEnStep = iB.book2D("hefLayerVsEnStep","",36,0,36,100,0,0.01);
138  heeLayerVsEnStep = iB.book2D("heeLayerVsEnStep","",84,0,84,100,0,0.01);
139 
140  heeXG4VsId = iB.book2D("heeXG4VsId","",600,-300,300,600,-300,300);
141  heeYG4VsId = iB.book2D("heeYG4VsId","",600,-300,300,600,-300,300);
142  heeZG4VsId = iB.book2D("heeZG4VsId","",3000,320,350,3000,320,350);
143 
144  hefXG4VsId = iB.book2D("hefXG4VsId","",600,-300,300,600,-300,300);
145  hefYG4VsId = iB.book2D("hefYG4VsId","",600,-300,300,600,-300,300);
146  hefZG4VsId = iB.book2D("hefZG4VsId","",6000,350,410,6000,350,410);
147 
148  hebXG4VsId = iB.book2D("hebXG4VsId","",600,-300,300,600,-300,300);
149  hebYG4VsId = iB.book2D("hebYG4VsId","",600,-300,300,600,-300,300);
150  hebZG4VsId = iB.book2D("hebZG4VsId","",220,400,620,220,400,620);
151 
152  heedzVsZ = iB.book2D("heedzVsZ","",600,320,350,100,-1,1);
153  heedyVsY = iB.book2D("heedyVsY","",400,-200,200,100,-1,1);
154  heedxVsX = iB.book2D("heedxVsX","",400,-200,200,100,-1,1);
155 
156  hefdzVsZ = iB.book2D("hefdzVsZ","",1200,350,410,100,-1,1);
157  hefdyVsY = iB.book2D("hefdyVsY","",400,-200,200,100,-1,1);
158  hefdxVsX = iB.book2D("hefdxVsX","",400,-200,200,100,-1,1);
159 
160  hebdzVsZ = iB.book2D("hebdzVsZ","",220,400,620,100,-5,5);
161  hebdyVsY = iB.book2D("hebdyVsY","",400,-200,200,100,-5,5);
162  hebdxVsX = iB.book2D("hebdxVsX","",400,-200,200,100,-5,5);
163 
164  heedzVsLayer = iB.book2D("heedzVsLayer","",100,0,100,100,-1,1);
165  hefdzVsLayer = iB.book2D("hefdzVsLayer","",40,0,40,100,-1,1);
166  hebdzVsLayer = iB.book2D("hebdzVsLayer","",50,0,25,100,-5,5);
167 
168  heedyVsLayer = iB.book2D("heedyVsLayer","",100,0,100,100,-1,1);
169  hefdyVsLayer = iB.book2D("hefdyVsLayer","",40,0,40,100,-1,1);
170  hebdyVsLayer = iB.book2D("hebdyVsLayer","",50,0,25,100,-5,5);
171 
172  heedxVsLayer = iB.book2D("heedxVsLayer","",100,0,100,100,-1,1);
173  hefdxVsLayer = iB.book2D("hefdxVsLayer","",40,0,40,500,-1,1);
174  hebdxVsLayer = iB.book2D("hebdxVsLayer","",50,0,25,500,-5,5.0);
175 
176  heedX = iB.book1D("heedX","",100,-1,1);
177  heedY = iB.book1D("heedY","",100,-1,1);
178  heedZ = iB.book1D("heedZ","",100,-1,1);
179 
180  hefdX = iB.book1D("hefdX","",100,-1,1);
181  hefdY = iB.book1D("hefdY","",100,-1,1);
182  hefdZ = iB.book1D("hefdZ","",100,-1,1);
183 
184  hebdX = iB.book1D("hebdX","",100,-1,1);
185  hebdY = iB.book1D("hebdY","",100,-1,1);
186  hebdZ = iB.book1D("hebdZ","",100,-1,1);
187 }
MonitorElement * hefTotEdepStep
MonitorElement * hefLayerVsEnStep
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * heeLayerVsEnStep
MonitorElement * hebTotEdepStep
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * hebLayerVsEnStep
MonitorElement * heeTotEdepStep
void HGCGeometryValidation::dqmBeginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 96 of file HGCGeometryValidation.cc.

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

97  {
98 
99  //initiating hgcnumbering
100  for (size_t i=0; i<geometrySource_.size(); i++) {
101  if (geometrySource_[i].find("Hcal") != std::string::npos) {
103  iSetup.get<HcalSimNumberingRecord>().get(pHRNDC);
104  if (pHRNDC.isValid()) {
105  hcons_ = &(*pHRNDC);
106  hgcGeometry_.push_back(0);
107  } else {
108  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalGeometry for "
109  << geometrySource_[i] << std::endl;
110  }
111  } else {
113  iSetup.get<IdealGeometryRecord>().get(geometrySource_[i],hgcGeom);
114  if (hgcGeom.isValid()) {
115  hgcGeometry_.push_back(hgcGeom.product());
116  } else {
117  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalGeometry for "
118  << geometrySource_[i] << std::endl;
119  }
120  }
121  }
122 }
int i
Definition: DBlmapReader.cc:9
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< const HGCalDDDConstants * > hgcGeometry_
const HcalDDDSimConstants * hcons_
std::vector< std::string > geometrySource_
bool isValid() const
Definition: ESHandle.h:47
T const * product() const
Definition: ESHandle.h:86
void HGCGeometryValidation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 88 of file HGCGeometryValidation.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

88  {
89  //The following says we do not know what parameters are allowed so do no validation
90  // Please change this to state exactly what you do use, even if it is no parameters
92  desc.setUnknown();
93  descriptions.addDefault(desc);
94 }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

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

Definition at line 55 of file HGCGeometryValidation.cc.

Referenced by analyze(), and HGCGeometryValidation().

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

Definition at line 56 of file HGCGeometryValidation.cc.

Referenced by dqmBeginRun(), and HGCGeometryValidation().

const HcalDDDSimConstants* HGCGeometryValidation::hcons_
private

Definition at line 60 of file HGCGeometryValidation.cc.

Referenced by analyze(), and dqmBeginRun().

MonitorElement* HGCGeometryValidation::hebdX
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdxVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdxVsX
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdY
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdyVsLayer
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdyVsY
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdZ
private

Definition at line 77 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebdzVsLayer
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::hebdzVsZ
private

Definition at line 65 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::hebLayerVsEnStep
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebTotEdepStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebXG4VsId
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebYG4VsId
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hebZG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heedX
private

Definition at line 75 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heedxVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::heedxVsX
private

Definition at line 63 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::heedY
private

Definition at line 75 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heedyVsLayer
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::heedyVsY
private

Definition at line 63 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::heedZ
private

Definition at line 75 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heedzVsLayer
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heedzVsZ
private

Definition at line 63 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::heeLayerVsEnStep
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heeTotEdepStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heeXG4VsId
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heeYG4VsId
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::heeZG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::hefdX
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdxVsLayer
private

Definition at line 68 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdxVsX
private

Definition at line 64 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdY
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdyVsLayer
private

Definition at line 67 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdyVsY
private

Definition at line 64 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdZ
private

Definition at line 76 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefdzVsLayer
private

Definition at line 66 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement* HGCGeometryValidation::hefdzVsZ
private

Definition at line 64 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefLayerVsEnStep
private

Definition at line 72 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefTotEdepStep
private

Definition at line 74 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefXG4VsId
private

Definition at line 69 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefYG4VsId
private

Definition at line 70 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

MonitorElement * HGCGeometryValidation::hefZG4VsId
private

Definition at line 71 of file HGCGeometryValidation.cc.

Referenced by analyze(), and bookHistograms().

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

Definition at line 59 of file HGCGeometryValidation.cc.

Referenced by analyze(), and dqmBeginRun().