CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalRecHitsValidation Class Reference

#include <HcalRecHitsValidation.h>

Inheritance diagram for HcalRecHitsValidation:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void analyze (edm::Event const &ev, edm::EventSetup const &c)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
 
 HcalRecHitsValidation (edm::ParameterSet const &conf)
 
 ~HcalRecHitsValidation ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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)
 

Private Member Functions

double dPhiWsign (double phi1, double phi2)
 
double dR (double eta1, double phi1, double eta2, double phi2)
 
virtual void fillRecHitsTmp (int subdet_, edm::Event const &ev)
 
double phi12 (double phi1, double en1, double phi2, double en2)
 

Private Attributes

std::vector< uint32_t > cauxstwd
 
std::vector< int > cdepth
 
std::vector< double > cen
 
std::vector< double > ceta
 
std::vector< int > cieta
 
std::vector< int > ciphi
 
std::vector< double > cphi
 
std::vector< uint32_t > cstwd
 
std::vector< int > csub
 
std::vector< double > ctime
 
std::vector< double > cz
 
std::string ecalselector_
 
edm::ESHandle< CaloGeometrygeometry
 
std::string hcalselector_
 
int imc
 
int iz
 
std::string mc_
 
MonitorElementmeEnConeEtaProfile
 
MonitorElementmeEnConeEtaProfile_E
 
MonitorElementmeEnConeEtaProfile_EH
 
MonitorElementmeEnergyHcalVsEcalHB
 
MonitorElementmeEnergyHcalVsEcalHE
 
MonitorElementmeRecHitsEnergyHB
 
MonitorElementmeRecHitsEnergyHE
 
MonitorElementmeRecHitsEnergyHF
 
MonitorElementmeRecHitsEnergyHO
 
MonitorElementmeRecHitSimHitHB
 
MonitorElementmeRecHitSimHitHE
 
MonitorElementmeRecHitSimHitHF
 
MonitorElementmeRecHitSimHitHFL
 
MonitorElementmeRecHitSimHitHFS
 
MonitorElementmeRecHitSimHitHO
 
MonitorElementmeRecHitSimHitProfileHB
 
MonitorElementmeRecHitSimHitProfileHE
 
MonitorElementmeRecHitSimHitProfileHF
 
MonitorElementmeRecHitSimHitProfileHFL
 
MonitorElementmeRecHitSimHitProfileHFS
 
MonitorElementmeRecHitSimHitProfileHO
 
MonitorElementmeTEprofileHB
 
MonitorElementmeTEprofileHB_High
 
MonitorElementmeTEprofileHB_Low
 
MonitorElementmeTEprofileHE
 
MonitorElementmeTEprofileHE_Low
 
MonitorElementmeTEprofileHF
 
MonitorElementmeTEprofileHF_Low
 
MonitorElementmeTEprofileHO
 
MonitorElementmeTEprofileHO_High
 
int nevtot
 
std::string outputFile_
 
std::string sign_
 
int subdet_
 
bool testNumber_
 
edm::EDGetTokenT< EBRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EERecHitCollectiontok_EE_
 
edm::EDGetTokenT< edm::HepMCProducttok_evt_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< HFRecHitCollectiontok_hf_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_hh_
 
edm::EDGetTokenT< HORecHitCollectiontok_ho_
 

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
 
- 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 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)
 

Detailed Description

Definition at line 56 of file HcalRecHitsValidation.h.

Constructor & Destructor Documentation

HcalRecHitsValidation::HcalRecHitsValidation ( edm::ParameterSet const &  conf)

Definition at line 8 of file HcalRecHitsValidation.cc.

References ecalselector_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hcalselector_, imc, iz, mc_, nevtot, outputFile_, sign_, AlCaHLTBitMon_QueryRunRegistry::string, subdet_, testNumber_, tok_EB_, tok_EE_, tok_evt_, tok_hbhe_, tok_hf_, tok_hh_, and tok_ho_.

8  {
9  // DQM ROOT output
10  outputFile_ = conf.getUntrackedParameter<std::string>("outputFile", "myfile.root");
11 
12  if ( outputFile_.size() != 0 ) {
13  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() << "'";
14  } else {
15  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will NOT be saved";
16  }
17 
18  nevtot = 0;
19 
20  hcalselector_ = conf.getUntrackedParameter<std::string>("hcalselector", "all");
21  ecalselector_ = conf.getUntrackedParameter<std::string>("ecalselector", "yes");
22  sign_ = conf.getUntrackedParameter<std::string>("sign", "*");
23  mc_ = conf.getUntrackedParameter<std::string>("mc", "yes");
24  testNumber_ = conf.getParameter<bool>("TestNumber");
25 
26  //Collections
27  tok_hbhe_ = consumes<HBHERecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HBHERecHitCollectionLabel"));
28  tok_hf_ = consumes<HFRecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HFRecHitCollectionLabel"));
29  tok_ho_ = consumes<HORecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HORecHitCollectionLabel"));
30 
31  // register for data access
32  tok_evt_ = consumes<edm::HepMCProduct>(edm::InputTag("generatorSmeared"));
33  tok_EB_ = consumes<EBRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEB"));
34  tok_EE_ = consumes<EERecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEE"));
35 
36  tok_hh_ = consumes<edm::PCaloHitContainer>(conf.getUntrackedParameter<edm::InputTag>("SimHitCollectionLabel"));
37 
38  subdet_ = 5;
39  if (hcalselector_ == "noise") subdet_ = 0;
40  if (hcalselector_ == "HB" ) subdet_ = 1;
41  if (hcalselector_ == "HE" ) subdet_ = 2;
42  if (hcalselector_ == "HO" ) subdet_ = 3;
43  if (hcalselector_ == "HF" ) subdet_ = 4;
44  if (hcalselector_ == "all" ) subdet_ = 5;
45  if (hcalselector_ == "ZS" ) subdet_ = 6;
46 
47  iz = 1;
48  if(sign_ == "-") iz = -1;
49  if(sign_ == "*") iz = 0;
50 
51  imc = 1;
52  if(mc_ == "no") imc = 0;
53 
54 }
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
edm::EDGetTokenT< EERecHitCollection > tok_EE_
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
HcalRecHitsValidation::~HcalRecHitsValidation ( )

Definition at line 57 of file HcalRecHitsValidation.cc.

57 { }

Member Function Documentation

void HcalRecHitsValidation::analyze ( edm::Event const &  ev,
edm::EventSetup const &  c 
)
virtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 177 of file HcalRecHitsValidation.cc.

References edm::SortedCollection< T, SORT >::begin(), cdepth, cen, ceta, cieta, cphi, csub, ctime, particleFlowClusterECALTimeSelected_cfi::depth, dR(), ecalselector_, edm::SortedCollection< T, SORT >::end(), stringResolutionProvider_cfi::eta, PV3DBase< T, PVType, FrameType >::eta(), ALCARECOTkAlBeamHalo_cff::etaMax, MonitorElement::Fill(), fillRecHitsTmp(), edm::EventSetup::get(), edm::Event::getByToken(), edm::HepMCProduct::GetEvent(), HcalGeometry::getPosition(), CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, mps_fire::i, imc, edm::HandleBase::isValid(), MuonErrorMatrixAnalyzer_cfi::maxPt, meEnConeEtaProfile, meEnConeEtaProfile_E, meEnConeEtaProfile_EH, meRecHitsEnergyHB, meRecHitsEnergyHE, meRecHitsEnergyHF, meRecHitsEnergyHO, meRecHitSimHitHB, meRecHitSimHitHE, meRecHitSimHitHF, meRecHitSimHitHFL, meRecHitSimHitHFS, meRecHitSimHitHO, meRecHitSimHitProfileHB, meRecHitSimHitProfileHE, meRecHitSimHitProfileHF, meRecHitSimHitProfileHFL, meRecHitSimHitProfileHFS, meRecHitSimHitProfileHO, meTEprofileHB, meTEprofileHB_High, meTEprofileHB_Low, meTEprofileHE, meTEprofileHE_Low, meTEprofileHF, meTEprofileHF_Low, meTEprofileHO, meTEprofileHO_High, nevtot, AlCaHLTBitMon_ParallelJobs::p, phi, PV3DBase< T, PVType, FrameType >::phi(), edm::Handle< T >::product(), EnergyCorrector::pt, alignCSCRings::r, HcalHitRelabeller::relabel(), HcalDetId::subdet(), subdet_, lumiQTWidget::t, testNumber_, tok_EB_, tok_EE_, tok_evt_, and tok_hh_.

177  {
178 
179  using namespace edm;
180 
182  c.get<HcalRecNumberingRecord>().get( pHRNDC );
183  const HcalDDDRecConstants* hcons = &(*pHRNDC);
184 
185  // cuts for each subdet_ector mimiking "Scheme B"
186  // double cutHB = 0.9, cutHE = 1.4, cutHO = 1.1, cutHFL = 1.2, cutHFS = 1.8;
187 
188  // energy in HCAL
189  double eHcal = 0.;
190  double eHcalCone = 0.;
191  double eHcalConeHB = 0.;
192  double eHcalConeHE = 0.;
193  double eHcalConeHO = 0.;
194  double eHcalConeHF = 0.;
195  double eHcalConeHFL = 0.;
196  double eHcalConeHFS = 0.;
197 
198  // Total numbet of RecHits in HCAL, in the cone, above 1 GeV theshold
199  int nrechits = 0;
200  int nrechitsCone = 0;
201  int nrechitsThresh = 0;
202 
203  // energy in ECAL
204  double eEcal = 0.;
205  double eEcalB = 0.;
206  double eEcalE = 0.;
207  double eEcalCone = 0.;
208  int numrechitsEcal = 0;
209 
210  // MC info
211  double phi_MC = -999999.; // phi of initial particle from HepMC
212  double eta_MC = -999999.; // eta of initial particle from HepMC
213 
214  // HCAL energy around MC eta-phi at all depths;
215  double partR = 0.3;
216 
217  if(imc != 0) {
218 
220  ev.getByToken(tok_evt_,evtMC); // generator in late 310_preX
221  if (!evtMC.isValid()) {
222  edm::LogInfo("HcalRecHitsValidation") << "no HepMCProduct found";
223  } else {
224  // std::cout << "*** source HepMCProduct found"<< std::endl;
225  }
226 
227  // MC particle with highest pt is taken as a direction reference
228  double maxPt = -99999.;
229  int npart = 0;
230  const HepMC::GenEvent * myGenEvent = evtMC->GetEvent();
231  for ( HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end(); ++p ) {
232  double phip = (*p)->momentum().phi();
233  double etap = (*p)->momentum().eta();
234  // phi_MC = phip;
235  // eta_MC = etap;
236  double pt = (*p)->momentum().perp();
237  if(pt > maxPt) { npart++; maxPt = pt; phi_MC = phip; eta_MC = etap; }
238  }
239  // std::cout << "*** Max pT = " << maxPt << std::endl;
240 
241  }
242 
243  // std::cout << "*** 2" << std::endl;
244 
245  c.get<CaloGeometryRecord>().get (geometry);
246 
247  // Fill working vectors of HCAL RecHits quantities (all of these are drawn)
249 
250  // std::cout << "*** 3" << std::endl;
251 
252  //===========================================================================
253  // IN ALL other CASES : ieta-iphi maps
254  //===========================================================================
255 
256  // ECAL
257  if(ecalselector_ == "yes" && (subdet_ == 1 || subdet_ == 2 || subdet_ == 5)) {
259 
260 
261  ev.getByToken(tok_EB_, rhitEB);
262 
263  EcalRecHitCollection::const_iterator RecHit = rhitEB.product()->begin();
264  EcalRecHitCollection::const_iterator RecHitEnd = rhitEB.product()->end();
265 
266  for (; RecHit != RecHitEnd ; ++RecHit) {
267  EBDetId EBid = EBDetId(RecHit->id());
268 
269  const CaloCellGeometry* cellGeometry =
270  geometry->getSubdetectorGeometry (EBid)->getGeometry (EBid) ;
271  double eta = cellGeometry->getPosition ().eta () ;
272  double phi = cellGeometry->getPosition ().phi () ;
273  double en = RecHit->energy();
274  eEcal += en;
275  eEcalB += en;
276 
277  double r = dR(eta_MC, phi_MC, eta, phi);
278  if( r < partR) {
279  eEcalCone += en;
280  numrechitsEcal++;
281  }
282  }
283 
284 
286 
287  ev.getByToken(tok_EE_, rhitEE);
288 
289  RecHit = rhitEE.product()->begin();
290  RecHitEnd = rhitEE.product()->end();
291 
292  for (; RecHit != RecHitEnd ; ++RecHit) {
293  EEDetId EEid = EEDetId(RecHit->id());
294 
295  const CaloCellGeometry* cellGeometry =
296  geometry->getSubdetectorGeometry (EEid)->getGeometry (EEid) ;
297  double eta = cellGeometry->getPosition ().eta () ;
298  double phi = cellGeometry->getPosition ().phi () ;
299  double en = RecHit->energy();
300  eEcal += en;
301  eEcalE += en;
302 
303  double r = dR(eta_MC, phi_MC, eta, phi);
304  if( r < partR) {
305  eEcalCone += en;
306  numrechitsEcal++;
307  }
308  }
309  } // end of ECAL selection
310 
311 
312  // std::cout << "*** 4" << std::endl;
313 
314 
315  //===========================================================================
316  // SUBSYSTEMS,
317  //===========================================================================
318 
319  if ((subdet_ != 6) && (subdet_ != 0)) {
320 
321  // std::cout << "*** 6" << std::endl;
322 
323 
324  double HcalCone = 0.;
325 
326  int ietaMax = 9999;
327  double etaMax = 9999.;
328 
329 
330  // CYCLE over cells ====================================================
331 
332  for (unsigned int i = 0; i < cen.size(); i++) {
333  int sub = csub[i];
334  int depth = cdepth[i];
335  double eta = ceta[i];
336  double phi = cphi[i];
337  double en = cen[i];
338  double t = ctime[i];
339  int ieta = cieta[i];
340 
341  nrechits++;
342  eHcal += en;
343  if(en > 1. ) nrechitsThresh++;
344 
345  double r = dR(eta_MC, phi_MC, eta, phi);
346  if( r < partR ){
347  if(sub == 1) eHcalConeHB += en;
348  if(sub == 2) eHcalConeHE += en;
349  if(sub == 3) eHcalConeHO += en;
350  if(sub == 4) {
351  eHcalConeHF += en;
352  if (depth == 1) eHcalConeHFL += en;
353  else eHcalConeHFS += en;
354  }
355  eHcalCone += en;
356  nrechitsCone++;
357 
358  HcalCone += en;
359 
360  // alternative: ietamax -> closest to MC eta !!!
361  float eta_diff = fabs(eta_MC - eta);
362  if(eta_diff < etaMax) {
363  etaMax = eta_diff;
364  ietaMax = ieta;
365  }
366  }
367 
368  //The energy and overall timing histos are drawn while
369  //the ones split by depth are not
370  if(sub == 1 && (subdet_ == 1 || subdet_ == 5)) {
371  meRecHitsEnergyHB->Fill(en);
372 
373  meTEprofileHB_Low->Fill(en, t);
374  meTEprofileHB->Fill(en, t);
375  meTEprofileHB_High->Fill(en, t);
376 
377  }
378  if(sub == 2 && (subdet_ == 2 || subdet_ == 5)) {
379  meRecHitsEnergyHE->Fill(en);
380 
381  meTEprofileHE_Low->Fill(en, t);
382  meTEprofileHE->Fill(en, t);
383 
384  }
385  if(sub == 4 && (subdet_ == 4 || subdet_ == 5)) {
386  meRecHitsEnergyHF->Fill(en);
387 
388  meTEprofileHF_Low->Fill(en, t);
389  meTEprofileHF->Fill(en, t);
390 
391  }
392  if(sub == 3 && (subdet_ == 3 || subdet_ == 5)) {
393  meRecHitsEnergyHO->Fill(en);
394 
395  meTEprofileHO->Fill(en, t);
396  meTEprofileHO_High->Fill(en, t);
397  }
398  }
399 
400  if(imc != 0) {
401  meEnConeEtaProfile ->Fill(double(ietaMax), HcalCone); //
402  meEnConeEtaProfile_E ->Fill(double(ietaMax), eEcalCone);
403  meEnConeEtaProfile_EH ->Fill(double(ietaMax), HcalCone+eEcalCone);
404  }
405 
406  // std::cout << "*** 7" << std::endl;
407 
408 
409  }
410 
411  //SimHits vs. RecHits
412  const CaloGeometry* geo = geometry.product();
413  if(subdet_ > 0 && subdet_ < 6 && imc !=0) { // not noise
414 
416  ev.getByToken(tok_hh_,hcalHits);
417  const PCaloHitContainer * SimHitResult = hcalHits.product () ;
418 
419  double enSimHits = 0.;
420  double enSimHitsHB = 0.;
421  double enSimHitsHE = 0.;
422  double enSimHitsHO = 0.;
423  double enSimHitsHF = 0.;
424  double enSimHitsHFL = 0.;
425  double enSimHitsHFS = 0.;
426  // sum of SimHits in the cone
427 
428  for (std::vector<PCaloHit>::const_iterator SimHits = SimHitResult->begin () ; SimHits != SimHitResult->end(); ++SimHits) {
429 
430  int sub, depth;
431  HcalDetId cell;
432 
433  if (testNumber_) cell = HcalHitRelabeller::relabel(SimHits->id(),hcons);
434  else cell = HcalDetId(SimHits->id());
435 
436  sub = cell.subdet();
437  depth = cell.depth();
438 
439  if(sub != subdet_ && subdet_ != 5) continue; //If we are not looking at all of the subdetectors and the simhit doesn't come from the specific subdetector of interest, then we won't do any thing with it
440 
441  const HcalGeometry* cellGeometry =
442  (HcalGeometry*)(geo->getSubdetectorGeometry(DetId::Hcal,cell.subdet()));
443  //const CaloCellGeometry* cellGeometry =
444  //geometry->getSubdetectorGeometry (cell)->getGeometry (cell);
445  double etaS = cellGeometry->getPosition(cell).eta () ;
446  double phiS = cellGeometry->getPosition(cell).phi () ;
447  double en = SimHits->energy();
448 
449  double r = dR(eta_MC, phi_MC, etaS, phiS);
450 
451  if ( r < partR ){ // just energy in the small cone
452 
453  enSimHits += en;
454  if(sub == static_cast<int>(HcalBarrel)) enSimHitsHB += en;
455  if(sub == static_cast<int>(HcalEndcap)) enSimHitsHE += en;
456  if(sub == static_cast<int>(HcalOuter)) enSimHitsHO += en;
457  if(sub == static_cast<int>(HcalForward)) {
458  enSimHitsHF += en;
459  if(depth == 1) enSimHitsHFL += en;
460  else enSimHitsHFS += en;
461  }
462  }
463  }
464 
465  // Now some histos with SimHits
466 
467  if(subdet_ == 4 || subdet_ == 5) {
468  meRecHitSimHitHF->Fill( enSimHitsHF, eHcalConeHF );
469  meRecHitSimHitProfileHF->Fill( enSimHitsHF, eHcalConeHF);
470 
471  meRecHitSimHitHFL->Fill( enSimHitsHFL, eHcalConeHFL );
472  meRecHitSimHitProfileHFL->Fill( enSimHitsHFL, eHcalConeHFL);
473  meRecHitSimHitHFS->Fill( enSimHitsHFS, eHcalConeHFS );
474  meRecHitSimHitProfileHFS->Fill( enSimHitsHFS, eHcalConeHFS);
475  }
476  if(subdet_ == 1 || subdet_ == 5) {
477  meRecHitSimHitHB->Fill( enSimHitsHB,eHcalConeHB );
478  meRecHitSimHitProfileHB->Fill( enSimHitsHB,eHcalConeHB);
479  }
480  if(subdet_ == 2 || subdet_ == 5) {
481  meRecHitSimHitHE->Fill( enSimHitsHE,eHcalConeHE );
482  meRecHitSimHitProfileHE->Fill( enSimHitsHE,eHcalConeHE);
483  }
484  if(subdet_ == 3 || subdet_ == 5) {
485  meRecHitSimHitHO->Fill( enSimHitsHO,eHcalConeHO );
486  meRecHitSimHitProfileHO->Fill( enSimHitsHO,eHcalConeHO);
487  }
488 
489  }
490 
491  nevtot++;
492 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:45
std::vector< PCaloHit > PCaloHitContainer
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
MonitorElement * meRecHitsEnergyHF
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
MonitorElement * meTEprofileHE_Low
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
std::vector< EcalRecHit >::const_iterator const_iterator
MonitorElement * meEnConeEtaProfile
bool ev
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meRecHitsEnergyHB
std::vector< double > ceta
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * meRecHitSimHitProfileHE
void Fill(long long x)
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
std::vector< double > cphi
MonitorElement * meTEprofileHB
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
double dR(double eta1, double phi1, double eta2, double phi2)
bool isValid() const
Definition: HandleBase.h:74
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
GlobalPoint getPosition(const DetId &id) const
const_iterator end() const
MonitorElement * meTEprofileHF_Low
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:38
T const * product() const
Definition: Handle.h:81
MonitorElement * meTEprofileHF
MonitorElement * meRecHitSimHitProfileHO
edm::EDGetTokenT< EERecHitCollection > tok_EE_
std::vector< double > ctime
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
T eta() const
Definition: PV3DBase.h:76
MonitorElement * meRecHitsEnergyHO
HLT enums.
MonitorElement * meRecHitSimHitHFL
MonitorElement * meTEprofileHO
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
DetId relabel(const uint32_t testId) const
MonitorElement * meTEprofileHB_Low
MonitorElement * meRecHitSimHitHE
MonitorElement * meTEprofileHB_High
std::vector< double > cen
const_iterator begin() const
void HcalRecHitsValidation::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  run,
edm::EventSetup const &  es 
)
virtual

Implements DQMEDAnalyzer.

Definition at line 59 of file HcalRecHitsValidation.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), trackerHits::histo, imc, meEnConeEtaProfile, meEnConeEtaProfile_E, meEnConeEtaProfile_EH, meRecHitsEnergyHB, meRecHitsEnergyHE, meRecHitsEnergyHF, meRecHitsEnergyHO, meRecHitSimHitHB, meRecHitSimHitHE, meRecHitSimHitHF, meRecHitSimHitHFL, meRecHitSimHitHFS, meRecHitSimHitHO, meRecHitSimHitProfileHB, meRecHitSimHitProfileHE, meRecHitSimHitProfileHF, meRecHitSimHitProfileHFL, meRecHitSimHitProfileHFS, meRecHitSimHitProfileHO, meTEprofileHB, meTEprofileHB_High, meTEprofileHB_Low, meTEprofileHE, meTEprofileHE_Low, meTEprofileHF, meTEprofileHF_Low, meTEprofileHO, meTEprofileHO_High, DQMStore::IBooker::setCurrentFolder(), and subdet_.

60 {
61 
62  Char_t histo[200];
63 
64  ib.setCurrentFolder("HcalRecHitsV/HcalRecHitTask");
65 
66  //======================= Now various cases one by one ===================
67 
68  //Histograms drawn for single pion scan
69  if(subdet_ != 0 && imc != 0) { // just not for noise
70  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths");
71  meEnConeEtaProfile = ib.bookProfile(histo, histo, 82, -41., 41., -100., 2000., " ");
72 
73  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_E");
74  meEnConeEtaProfile_E = ib.bookProfile(histo, histo, 82, -41., 41., -100., 2000., " ");
75 
76  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_EH");
77  meEnConeEtaProfile_EH = ib.bookProfile(histo, histo, 82, -41., 41., -100., 2000., " ");
78  }
79 
80  // ************** HB **********************************
81  if (subdet_ == 1 || subdet_ == 5 ){
82 
83  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HB" ) ;
84  meRecHitsEnergyHB = ib.book1D(histo, histo, 2010 , -10. , 2000.);
85 
86  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HB" ) ;
87  meTEprofileHB = ib.bookProfile(histo, histo, 150, -5., 295., -48., 92., " ");
88 
89  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HB" ) ;
90  meTEprofileHB_Low = ib.bookProfile(histo, histo, 150, -5., 295., -48., 92., " ");
91 
92  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HB" ) ;
93  meTEprofileHB_High = ib.bookProfile(histo, histo, 150, -5., 295., 48., 92., " ");
94 
95  if(imc != 0) {
96  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HB");
97  meRecHitSimHitHB = ib.book2D(histo, histo, 120, 0., 1.2, 300, 0., 150.);
98  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HB");
99  meRecHitSimHitProfileHB = ib.bookProfile(histo, histo, 120, 0., 1.2, 0., 500., " ");
100  }
101 
102  }
103 
104  // ********************** HE ************************************
105  if ( subdet_ == 2 || subdet_ == 5 ){
106 
107  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HE" ) ;
108  meRecHitsEnergyHE = ib.book1D(histo, histo, 2010, -10., 2000.);
109 
110  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HE" ) ;
111  meTEprofileHE_Low = ib.bookProfile(histo, histo, 80, -5., 75., -48., 92., " ");
112 
113  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HE" ) ;
114  meTEprofileHE = ib.bookProfile(histo, histo, 200, -5., 2995., -48., 92., " ");
115 
116  if(imc != 0) {
117  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HE");
118  meRecHitSimHitHE = ib.book2D(histo, histo, 120, 0., 0.6, 300, 0., 150.);
119  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HE");
120  meRecHitSimHitProfileHE = ib.bookProfile(histo, histo, 120, 0., 0.6, 0., 500., " ");
121  }
122 
123  }
124 
125  // ************** HO ****************************************
126  if ( subdet_ == 3 || subdet_ == 5 ){
127 
128  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HO" ) ;
129  meRecHitsEnergyHO = ib.book1D(histo, histo, 2010 , -10. , 2000.);
130 
131  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HO" ) ;
132  meTEprofileHO = ib.bookProfile(histo, histo, 60, -5., 55., -48., 92., " ");
133 
134  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HO" ) ;
135  meTEprofileHO_High = ib.bookProfile(histo, histo, 100, -5., 995., -48., 92., " ");
136 
137  if(imc != 0) {
138  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HO");
139  meRecHitSimHitHO = ib.book2D(histo, histo, 150, 0., 1.5, 350, 0., 350.);
140  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HO");
141  meRecHitSimHitProfileHO = ib.bookProfile(histo, histo, 150, 0., 1.5, 0., 500., " ");
142  }
143 
144  }
145 
146  // ********************** HF ************************************
147  if ( subdet_ == 4 || subdet_ == 5 ){
148 
149  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HF" ) ;
150  meRecHitsEnergyHF = ib.book1D(histo, histo, 2010 , -10. , 2000.);
151 
152  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HF" ) ;
153  meTEprofileHF_Low = ib.bookProfile(histo, histo, 100, -5., 195., -48., 92., " ");
154 
155  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HF" ) ;
156  meTEprofileHF = ib.bookProfile(histo, histo, 200, -5., 995., -48., 92., " ");
157 
158  if(imc != 0) {
159  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HF");
160  meRecHitSimHitHF = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
161  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HFL");
162  meRecHitSimHitHFL = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
163  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HFS");
164  meRecHitSimHitHFS = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
165  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HF");
166  meRecHitSimHitProfileHF = ib.bookProfile(histo, histo, 50, 0., 50., 0., 500., " ");
167  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HFL");
168  meRecHitSimHitProfileHFL = ib.bookProfile(histo, histo, 50, 0., 50., 0., 500., " ");
169  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HFS");
170  meRecHitSimHitProfileHFS = ib.bookProfile(histo, histo, 50, 0., 50., 0., 500., " ");
171  }
172 
173  }
174 
175 }
MonitorElement * meRecHitsEnergyHF
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * meTEprofileHE_Low
MonitorElement * meEnConeEtaProfile
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meRecHitsEnergyHB
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * meRecHitSimHitProfileHE
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
MonitorElement * meTEprofileHB
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
MonitorElement * meTEprofileHF_Low
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * meTEprofileHF
MonitorElement * meRecHitSimHitProfileHO
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
MonitorElement * meRecHitsEnergyHO
MonitorElement * meRecHitSimHitHFL
MonitorElement * meTEprofileHO
MonitorElement * meTEprofileHB_Low
MonitorElement * meRecHitSimHitHE
MonitorElement * meTEprofileHB_High
double HcalRecHitsValidation::dPhiWsign ( double  phi1,
double  phi2 
)
private

Definition at line 654 of file HcalRecHitsValidation.cc.

References DEFINE_FWK_MODULE, PI, and tmp.

654  {
655  // clockwise phi2 w.r.t phi1 means "+" phi distance
656  // anti-clockwise phi2 w.r.t phi1 means "-" phi distance
657 
658  double PI = 3.1415926535898;
659  double a1 = phi1; double a2 = phi2;
660  double tmp = a2 - a1;
661  if( a1*a2 < 0.) {
662  if(a1 > 0.5 * PI) tmp += 2.*PI;
663  if(a2 > 0.5 * PI) tmp -= 2.*PI;
664  }
665  return tmp;
666 
667 }
#define PI
Definition: QcdUeDQM.h:36
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
double HcalRecHitsValidation::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 628 of file HcalRecHitsValidation.cc.

References PI, mathSSE::sqrt(), and tmp.

Referenced by analyze().

628  {
629  double PI = 3.1415926535898;
630  double deltaphi= phi1 - phi2;
631  if( phi2 > phi1 ) { deltaphi= phi2 - phi1;}
632  if(deltaphi > PI) { deltaphi = 2.*PI - deltaphi;}
633  double deltaeta = eta2 - eta1;
634  double tmp = sqrt(deltaeta* deltaeta + deltaphi*deltaphi);
635  return tmp;
636 }
T sqrt(T t)
Definition: SSEVec.h:18
#define PI
Definition: QcdUeDQM.h:36
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void HcalRecHitsValidation::fillRecHitsTmp ( int  subdet_,
edm::Event const &  ev 
)
privatevirtual

Definition at line 496 of file HcalRecHitsValidation.cc.

References edm::SortedCollection< T, SORT >::begin(), cdepth, cen, ceta, cieta, ciphi, cphi, csub, ctime, cz, particleFlowClusterECALTimeSelected_cfi::depth, edm::SortedCollection< T, SORT >::end(), stringResolutionProvider_cfi::eta, edm::Event::getByToken(), CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, iz, phi, lumiQTWidget::t, tok_hbhe_, tok_hf_, and tok_ho_.

Referenced by analyze().

496  {
497 
498  using namespace edm;
499 
500  // initialize data vectors
501  csub.clear();
502  cen.clear();
503  ceta.clear();
504  cphi.clear();
505  ctime.clear();
506  cieta.clear();
507  ciphi.clear();
508  cdepth.clear();
509  cz.clear();
510 
511  if( subdet_ == 1 || subdet_ == 2 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
512 
513  //HBHE
515  ev.getByToken(tok_hbhe_, hbhecoll);
516  const CaloGeometry* geo = geometry.product();
517 
518  for (HBHERecHitCollection::const_iterator j=hbhecoll->begin(); j != hbhecoll->end(); j++) {
519 
520  HcalDetId cell(j->id());
521  const HcalGeometry* cellGeometry =
522  (HcalGeometry*)(geo->getSubdetectorGeometry(DetId::Hcal,cell.subdet()));
523 // const CaloCellGeometry* cellGeometry =
524 // geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
525  double eta = cellGeometry->getPosition(cell).eta () ;
526  double phi = cellGeometry->getPosition(cell).phi () ;
527  double zc = cellGeometry->getPosition(cell).z ();
528  int sub = cell.subdet();
529  int depth = cell.depth();
530  int inteta = cell.ieta();
531  if(inteta > 0) inteta -= 1;
532  int intphi = cell.iphi()-1;
533  double en = j->energy();
534  double t = j->time();
535 
536  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
537 
538  csub.push_back(sub);
539  cen.push_back(en);
540  ceta.push_back(eta);
541  cphi.push_back(phi);
542  ctime.push_back(t);
543  cieta.push_back(inteta);
544  ciphi.push_back(intphi);
545  cdepth.push_back(depth);
546  cz.push_back(zc);
547  }
548  }
549 
550  }
551 
552  if( subdet_ == 4 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
553 
554  //HF
556  ev.getByToken(tok_hf_, hfcoll);
557 
558  for (HFRecHitCollection::const_iterator j = hfcoll->begin(); j != hfcoll->end(); j++) {
559 
560  HcalDetId cell(j->id());
561  const CaloCellGeometry* cellGeometry =
562  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
563 
564  double eta = cellGeometry->getPosition().eta () ;
565  double phi = cellGeometry->getPosition().phi () ;
566  double zc = cellGeometry->getPosition().z ();
567  int sub = cell.subdet();
568  int depth = cell.depth();
569  int inteta = cell.ieta();
570  if(inteta > 0) inteta -= 1;
571  int intphi = cell.iphi()-1;
572  double en = j->energy();
573  double t = j->time();
574 
575  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
576 
577  csub.push_back(sub);
578  cen.push_back(en);
579  ceta.push_back(eta);
580  cphi.push_back(phi);
581  ctime.push_back(t);
582  cieta.push_back(inteta);
583  ciphi.push_back(intphi);
584  cdepth.push_back(depth);
585  cz.push_back(zc);
586  }
587  }
588  }
589 
590  //HO
591  if( subdet_ == 3 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
592 
594  ev.getByToken(tok_ho_, hocoll);
595 
596  for (HORecHitCollection::const_iterator j = hocoll->begin(); j != hocoll->end(); j++) {
597 
598  HcalDetId cell(j->id());
599  const CaloCellGeometry* cellGeometry =
600  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
601 
602  double eta = cellGeometry->getPosition().eta () ;
603  double phi = cellGeometry->getPosition().phi () ;
604  double zc = cellGeometry->getPosition().z ();
605  int sub = cell.subdet();
606  int depth = cell.depth();
607  int inteta = cell.ieta();
608  if(inteta > 0) inteta -= 1;
609  int intphi = cell.iphi()-1;
610  double t = j->time();
611  double en = j->energy();
612 
613  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
614  csub.push_back(sub);
615  cen.push_back(en);
616  ceta.push_back(eta);
617  cphi.push_back(phi);
618  ctime.push_back(t);
619  cieta.push_back(inteta);
620  ciphi.push_back(intphi);
621  cdepth.push_back(depth);
622  cz.push_back(zc);
623  }
624  }
625  }
626 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:45
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
std::vector< HBHERecHit >::const_iterator const_iterator
bool ev
std::vector< double > ceta
edm::EDGetTokenT< HORecHitCollection > tok_ho_
std::vector< double > cphi
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
const_iterator end() const
std::vector< double > ctime
std::vector< double > cz
HLT enums.
std::vector< double > cen
const_iterator begin() const
double HcalRecHitsValidation::phi12 ( double  phi1,
double  en1,
double  phi2,
double  en2 
)
private

Definition at line 638 of file HcalRecHitsValidation.cc.

References PI, and tmp.

638  {
639  // weighted mean value of phi1 and phi2
640 
641  double tmp;
642  double PI = 3.1415926535898;
643  double a1 = phi1; double a2 = phi2;
644 
645  if( a1 > 0.5*PI && a2 < 0.) a2 += 2*PI;
646  if( a2 > 0.5*PI && a1 < 0.) a1 += 2*PI;
647  tmp = (a1 * en1 + a2 * en2)/(en1 + en2);
648  if(tmp > PI) tmp -= 2.*PI;
649 
650  return tmp;
651 
652 }
#define PI
Definition: QcdUeDQM.h:36
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100

Member Data Documentation

std::vector<uint32_t> HcalRecHitsValidation::cauxstwd
private

Definition at line 157 of file HcalRecHitsValidation.h.

std::vector<int> HcalRecHitsValidation::cdepth
private

Definition at line 150 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cen
private

Definition at line 151 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::ceta
private

Definition at line 152 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::cieta
private

Definition at line 148 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::ciphi
private

Definition at line 149 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cphi
private

Definition at line 153 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<uint32_t> HcalRecHitsValidation::cstwd
private

Definition at line 156 of file HcalRecHitsValidation.h.

std::vector<int> HcalRecHitsValidation::csub
private

Definition at line 147 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::ctime
private

Definition at line 154 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cz
private

Definition at line 155 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp().

std::string HcalRecHitsValidation::ecalselector_
private

Definition at line 73 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::ESHandle<CaloGeometry> HcalRecHitsValidation::geometry
private
std::string HcalRecHitsValidation::hcalselector_
private

Definition at line 72 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

int HcalRecHitsValidation::imc
private

Definition at line 92 of file HcalRecHitsValidation.h.

Referenced by analyze(), bookHistograms(), and HcalRecHitsValidation().

int HcalRecHitsValidation::iz
private

Definition at line 91 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

std::string HcalRecHitsValidation::mc_
private

Definition at line 75 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile
private

Definition at line 99 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_E
private

Definition at line 100 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_EH
private

Definition at line 101 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnergyHcalVsEcalHB
private

Definition at line 139 of file HcalRecHitsValidation.h.

MonitorElement* HcalRecHitsValidation::meEnergyHcalVsEcalHE
private

Definition at line 140 of file HcalRecHitsValidation.h.

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHB
private

Definition at line 104 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHE
private

Definition at line 105 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHF
private

Definition at line 107 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHO
private

Definition at line 106 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHB
private

Definition at line 124 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHE
private

Definition at line 125 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHF
private

Definition at line 127 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHFL
private

Definition at line 128 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHFS
private

Definition at line 129 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHO
private

Definition at line 126 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHB
private

Definition at line 131 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHE
private

Definition at line 132 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHF
private

Definition at line 134 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHFL
private

Definition at line 135 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHFS
private

Definition at line 136 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHO
private

Definition at line 133 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB
private

Definition at line 110 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB_High
private

Definition at line 111 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB_Low
private

Definition at line 109 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHE
private

Definition at line 114 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHE_Low
private

Definition at line 113 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHF
private

Definition at line 120 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHF_Low
private

Definition at line 119 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHO
private

Definition at line 116 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHO_High
private

Definition at line 117 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

int HcalRecHitsValidation::nevtot
private

Definition at line 160 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

std::string HcalRecHitsValidation::outputFile_
private

Definition at line 71 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

std::string HcalRecHitsValidation::sign_
private

Definition at line 74 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

int HcalRecHitsValidation::subdet_
private

Definition at line 88 of file HcalRecHitsValidation.h.

Referenced by analyze(), bookHistograms(), and HcalRecHitsValidation().

bool HcalRecHitsValidation::testNumber_
private

Definition at line 76 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<EBRecHitCollection> HcalRecHitsValidation::tok_EB_
private

Definition at line 80 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<EERecHitCollection> HcalRecHitsValidation::tok_EE_
private

Definition at line 81 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<edm::HepMCProduct> HcalRecHitsValidation::tok_evt_
private

Definition at line 79 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<HBHERecHitCollection> HcalRecHitsValidation::tok_hbhe_
private

Definition at line 83 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

edm::EDGetTokenT<HFRecHitCollection> HcalRecHitsValidation::tok_hf_
private

Definition at line 84 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

edm::EDGetTokenT<edm::PCaloHitContainer> HcalRecHitsValidation::tok_hh_
private

Definition at line 82 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<HORecHitCollection> HcalRecHitsValidation::tok_ho_
private

Definition at line 85 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().