CMS 3D CMS Logo

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

#include <CaloTowersValidation.h>

Inheritance diagram for CaloTowersValidation:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &c) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 CaloTowersValidation (edm::ParameterSet const &conf)
 
 ~CaloTowersValidation () 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
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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 & itemsToGetFrom (BranchType iType) 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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Types

typedef math::RhoEtaPhiVector Vector
 

Private Member Functions

double dR (double eta1, double phi1, double eta2, double phi2)
 

Private Attributes

MonitorElementemean_vs_ieta_E
 
MonitorElementemean_vs_ieta_E1
 
MonitorElementemean_vs_ieta_EH
 
MonitorElementemean_vs_ieta_EH1
 
MonitorElementemean_vs_ieta_H
 
MonitorElementemean_vs_ieta_H1
 
MonitorElementemEnergyTiming_HB
 
MonitorElementemEnergyTiming_HE
 
MonitorElementemEnergyTiming_HF
 
MonitorElementemEnergyTiming_High_HB
 
MonitorElementemEnergyTiming_Low_HB
 
MonitorElementemEnergyTiming_Low_HE
 
MonitorElementemEnergyTiming_profile_HB
 
MonitorElementemEnergyTiming_profile_HE
 
MonitorElementemEnergyTiming_profile_HF
 
MonitorElementemEnergyTiming_profile_High_HB
 
MonitorElementemEnergyTiming_profile_Low_HB
 
MonitorElementemEnergyTiming_profile_Low_HE
 
MonitorElementemTiming_HB
 
MonitorElementemTiming_HE
 
MonitorElementemTiming_HF
 
double etaMax [3]
 
double etaMin [3]
 
MonitorElementhadEnergyTiming_HB
 
MonitorElementhadEnergyTiming_HE
 
MonitorElementhadEnergyTiming_HF
 
MonitorElementhadEnergyTiming_High_HB
 
MonitorElementhadEnergyTiming_Low_HB
 
MonitorElementhadEnergyTiming_Low_HE
 
MonitorElementhadEnergyTiming_Low_HF
 
MonitorElementhadEnergyTiming_profile_HB
 
MonitorElementhadEnergyTiming_profile_HE
 
MonitorElementhadEnergyTiming_profile_HF
 
MonitorElementhadEnergyTiming_profile_High_HB
 
MonitorElementhadEnergyTiming_profile_Low_HB
 
MonitorElementhadEnergyTiming_profile_Low_HE
 
MonitorElementhadEnergyTiming_profile_Low_HF
 
MonitorElementhadTiming_HB
 
MonitorElementhadTiming_HE
 
MonitorElementhadTiming_HF
 
std::string hcalselector_
 
int imc
 
int isub
 
MonitorElementmapEnergy_E
 
MonitorElementmapEnergy_EH
 
MonitorElementmapEnergy_H
 
MonitorElementmapEnergy_HB
 
MonitorElementmapEnergy_HE
 
MonitorElementmapEnergy_HF
 
MonitorElementmapEnergy_N
 
MonitorElementmapEnergyEcal_HB
 
MonitorElementmapEnergyEcal_HE
 
MonitorElementmapEnergyEcal_HF
 
MonitorElementmapEnergyHcal_HB
 
MonitorElementmapEnergyHcal_HE
 
MonitorElementmapEnergyHcal_HF
 
bool mc_
 
MonitorElementmeEnergyEcal_HB
 
MonitorElementmeEnergyEcal_HE
 
MonitorElementmeEnergyEcal_HF
 
MonitorElementmeEnergyEcalTower_HB
 
MonitorElementmeEnergyEcalTower_HE
 
MonitorElementmeEnergyEcalTower_HF
 
MonitorElementmeEnergyHcal_HB
 
MonitorElementmeEnergyHcal_HE
 
MonitorElementmeEnergyHcal_HF
 
MonitorElementmeEnergyHcalTower_HB
 
MonitorElementmeEnergyHcalTower_HE
 
MonitorElementmeEnergyHcalTower_HF
 
MonitorElementmeEnergyHcalvsEcal_HB
 
MonitorElementmeEnergyHcalvsEcal_HE
 
MonitorElementmeEnergyHcalvsEcal_HF
 
MonitorElementmeEnergyHO_HB
 
MonitorElementmeEnergyHO_HE
 
MonitorElementmeEnergyHO_HF
 
MonitorElementmeNumFiredTowers_HB
 
MonitorElementmeNumFiredTowers_HE
 
MonitorElementmeNumFiredTowers_HF
 
MonitorElementMET_HB
 
MonitorElementMET_HE
 
MonitorElementMET_HF
 
MonitorElementmeTotEnergy_HB
 
MonitorElementmeTotEnergy_HE
 
MonitorElementmeTotEnergy_HF
 
int nevent
 
MonitorElementNtowers_vs_ieta
 
MonitorElementnumBadCellsEcal_EB
 
MonitorElementnumBadCellsEcal_EE
 
MonitorElementnumBadCellsHcal_HB
 
MonitorElementnumBadCellsHcal_HE
 
MonitorElementnumBadCellsHcal_HF
 
MonitorElementnumPrbCellsEcal_EB
 
MonitorElementnumPrbCellsEcal_EE
 
MonitorElementnumPrbCellsHcal_HB
 
MonitorElementnumPrbCellsHcal_HE
 
MonitorElementnumPrbCellsHcal_HF
 
MonitorElementnumRcvCellsEcal_EB
 
MonitorElementnumRcvCellsEcal_EE
 
MonitorElementnumRcvCellsHcal_HB
 
MonitorElementnumRcvCellsHcal_HE
 
MonitorElementnumRcvCellsHcal_HF
 
MonitorElementoccupancy_map
 
MonitorElementoccupancy_vs_ieta
 
std::string outputFile_
 
MonitorElementphiMET_HB
 
MonitorElementphiMET_HE
 
MonitorElementphiMET_HF
 
MonitorElementSET_HB
 
MonitorElementSET_HE
 
MonitorElementSET_HF
 
edm::EDGetTokenT< CaloTowerCollectiontok_calo_
 
edm::EDGetTokenT< edm::HepMCProducttok_evt_
 
bool useAllHistos_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 31 of file CaloTowersValidation.h.

Member Typedef Documentation

Definition at line 46 of file CaloTowersValidation.h.

Constructor & Destructor Documentation

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

Definition at line 6 of file CaloTowersValidation.cc.

References etaMax, etaMin, edm::ParameterSet::getUntrackedParameter(), hcalselector_, imc, HLT_2018_cff::InputTag, isub, mc_, nevent, outputFile_, AlCaHLTBitMon_QueryRunRegistry::string, tok_calo_, tok_evt_, and useAllHistos_.

6  {
7  tok_calo_ = consumes<CaloTowerCollection>(conf.getUntrackedParameter<edm::InputTag>("CaloTowerCollectionLabel"));
8  tok_evt_ = consumes<edm::HepMCProduct>(edm::InputTag("generatorSmeared"));
9 
10  // DQM ROOT output
11  outputFile_ = conf.getUntrackedParameter<std::string>("outputFile", "myfile.root");
12 
13  hcalselector_ = conf.getUntrackedParameter<std::string>("hcalselector", "all");
14 
15  mc_ = conf.getUntrackedParameter<bool>("mc", true);
16  useAllHistos_ = conf.getUntrackedParameter<bool>("useAllHistos", false);
17 
18  etaMin[0] = 0.;
19  etaMax[0] = 1.4;
20  etaMin[1] = 1.4;
21  etaMax[1] = 2.9;
22  etaMin[2] = 2.9;
23  etaMax[2] = 5.2;
24 
25  isub = 0;
26  if (hcalselector_ == "HB")
27  isub = 1;
28  if (hcalselector_ == "HE")
29  isub = 2;
30  if (hcalselector_ == "HF")
31  isub = 3;
32 
33  imc = 1;
34  if (!mc_)
35  imc = 0;
36 
37  if (!outputFile_.empty()) {
38  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() << "'";
39  } else {
40  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will NOT be saved";
41  }
42 
43  nevent = 0;
44  // const char * sub = hcalselector_.c_str();
45 }
edm::EDGetTokenT< CaloTowerCollection > tok_calo_
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
CaloTowersValidation::~CaloTowersValidation ( )
override

Definition at line 47 of file CaloTowersValidation.cc.

47 {}

Member Function Documentation

void CaloTowersValidation::analyze ( edm::Event const &  e,
edm::EventSetup const &  c 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 397 of file CaloTowersValidation.cc.

References edm::SortedCollection< T, SORT >::begin(), gather_cfg::cout, DetId::det(), dR(), DetId::Ecal, EcalBarrel, EcalEndcap, emean_vs_ieta_E, emean_vs_ieta_E1, emean_vs_ieta_EH, emean_vs_ieta_EH1, emean_vs_ieta_H, emean_vs_ieta_H1, emEnergyTiming_HB, emEnergyTiming_HE, emEnergyTiming_HF, emEnergyTiming_High_HB, emEnergyTiming_Low_HB, emEnergyTiming_Low_HE, emEnergyTiming_profile_HB, emEnergyTiming_profile_HE, emEnergyTiming_profile_HF, emEnergyTiming_profile_High_HB, emEnergyTiming_profile_Low_HB, emEnergyTiming_profile_Low_HE, emTiming_HB, emTiming_HE, emTiming_HF, edm::SortedCollection< T, SORT >::end(), etaMax, etaMin, dqm::impl::MonitorElement::Fill(), edm::HepMCProduct::GetEvent(), hadEnergyTiming_HB, hadEnergyTiming_HE, hadEnergyTiming_HF, hadEnergyTiming_High_HB, hadEnergyTiming_Low_HB, hadEnergyTiming_Low_HE, hadEnergyTiming_Low_HF, hadEnergyTiming_profile_HB, hadEnergyTiming_profile_HE, hadEnergyTiming_profile_HF, hadEnergyTiming_profile_High_HB, hadEnergyTiming_profile_Low_HB, hadEnergyTiming_profile_Low_HE, hadEnergyTiming_profile_Low_HF, hadTiming_HB, hadTiming_HE, hadTiming_HF, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, LEDCalibrationChannels::ieta, imc, LEDCalibrationChannels::iphi, isub, edm::HandleBase::isValid(), mapEnergy_E, mapEnergy_EH, mapEnergy_H, mapEnergy_HB, mapEnergy_HE, mapEnergy_HF, mapEnergy_N, mapEnergyEcal_HB, mapEnergyEcal_HE, mapEnergyEcal_HF, mapEnergyHcal_HB, mapEnergyHcal_HE, mapEnergyHcal_HF, MuonErrorMatrixAnalyzer_cfi::maxPt, meEnergyEcal_HB, meEnergyEcal_HE, meEnergyEcal_HF, meEnergyEcalTower_HB, meEnergyEcalTower_HE, meEnergyEcalTower_HF, meEnergyHcal_HB, meEnergyHcal_HE, meEnergyHcal_HF, meEnergyHcalTower_HB, meEnergyHcalTower_HE, meEnergyHcalTower_HF, meEnergyHcalvsEcal_HB, meEnergyHcalvsEcal_HE, meEnergyHcalvsEcal_HF, meEnergyHO_HB, meEnergyHO_HE, meEnergyHO_HF, meNumFiredTowers_HB, meNumFiredTowers_HE, meNumFiredTowers_HF, BTaggingMonitor_cfi::met, MET_HB, MET_HE, MET_HF, meTotEnergy_HB, meTotEnergy_HE, meTotEnergy_HF, nevent, npart, Ntowers_vs_ieta, numBadCellsEcal_EB, numBadCellsEcal_EE, numBadCellsHcal_HB, numBadCellsHcal_HE, numBadCellsHcal_HF, numPrbCellsEcal_EB, numPrbCellsEcal_EE, numPrbCellsHcal_HB, numPrbCellsHcal_HE, numPrbCellsHcal_HF, numRcvCellsEcal_EB, numRcvCellsEcal_EE, numRcvCellsHcal_HB, numRcvCellsHcal_HE, numRcvCellsHcal_HF, occupancy_map, AlCaHLTBitMon_ParallelJobs::p, phiMET_HB, phiMET_HE, phiMET_HF, DiDispStaMuonMonitor_cfi::pt, alignCSCRings::r, Gflash::Rmin, SET_HB, SET_HE, SET_HF, mathSSE::sqrt(), HcalDetId::subdet(), DetId::subdetId(), tok_calo_, tok_evt_, HLT_2018_cff::towers, and useAllHistos_.

397  {
398  nevent++;
399 
400  // bool MC = false; // UNUSED
401  double phi_MC = 9999.;
402  double eta_MC = 9999.;
403 
404  if (imc != 0) {
406  event.getByToken(tok_evt_, evtMC); // generator in late 310_preX
407  if (!evtMC.isValid()) {
408  std::cout << "no HepMCProduct found" << std::endl;
409  } else {
410  // MC=true; // UNUSED
411  // std::cout << "*** source HepMCProduct found"<< std::endl;
412  }
413 
414  // MC particle with highest pt is taken as a direction reference
415  double maxPt = -99999.;
416  int npart = 0;
417  const HepMC::GenEvent* myGenEvent = evtMC->GetEvent();
418  for (HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end();
419  ++p) {
420  double phip = (*p)->momentum().phi();
421  double etap = (*p)->momentum().eta();
422  // phi_MC = phip;
423  // eta_MC = etap;
424  double pt = (*p)->momentum().perp();
425  if (pt > maxPt) {
426  npart++;
427  maxPt = pt;
428  phi_MC = phip;
429  eta_MC = etap;
430  }
431  }
432  // std::cout << "*** Max pT = " << maxPt << std::endl;
433  }
434 
436  event.getByToken(tok_calo_, towers);
438 
439  double met;
440  double phimet;
441 
442  // ieta scan
443  double partR = 0.3;
444  double Rmin = 9999.;
445  double Econe = 0.;
446  double Hcone = 0.;
447  double Ee1 = 0.;
448  double Eh1 = 0.;
449  double ieta_MC = 9999;
450  double iphi_MC = 9999;
451  // double etaM = 9999.;
452 
453  // HB
454  double sumEnergyHcal_HB = 0.;
455  double sumEnergyEcal_HB = 0.;
456  double sumEnergyHO_HB = 0.;
457  Int_t numFiredTowers_HB = 0;
458  double metx_HB = 0.;
459  double mety_HB = 0.;
460  double metz_HB = 0.;
461  double sEt_HB = 0.;
462  // HE
463  double sumEnergyHcal_HE = 0.;
464  double sumEnergyEcal_HE = 0.;
465  double sumEnergyHO_HE = 0.;
466  Int_t numFiredTowers_HE = 0;
467  double metx_HE = 0.;
468  double mety_HE = 0.;
469  double metz_HE = 0.;
470  double sEt_HE = 0.;
471  // HF
472  double sumEnergyHcal_HF = 0.;
473  double sumEnergyEcal_HF = 0.;
474  double sumEnergyHO_HF = 0.;
475  Int_t numFiredTowers_HF = 0;
476  double metx_HF = 0.;
477  double mety_HF = 0.;
478  double metz_HF = 0.;
479  double sEt_HF = 0.;
480 
481  for (cal = towers->begin(); cal != towers->end(); ++cal) {
482  double eE = cal->emEnergy();
483  double eH = cal->hadEnergy();
484  double eHO = cal->outerEnergy();
485  double etaT = cal->eta();
486  double phiT = cal->phi();
487  double en = cal->energy();
488  double etT = cal->et();
489  double had_tm = cal->hcalTime();
490  double em_tm = cal->ecalTime();
491 
492  int numBadEcalCells = cal->numBadEcalCells();
493  int numRcvEcalCells = cal->numRecoveredEcalCells();
494  int numPrbEcalCells = cal->numProblematicEcalCells();
495 
496  int numBadHcalCells = cal->numBadHcalCells();
497  int numRcvHcalCells = cal->numRecoveredHcalCells();
498  int numPrbHcalCells = cal->numProblematicHcalCells();
499 
500  math::RhoEtaPhiVector mom(cal->et(), cal->eta(), cal->phi());
501  // Vector mom = cal->momentum();
502 
503  // cell properties
504  CaloTowerDetId idT = cal->id();
505  int ieta = idT.ieta();
506  int iphi = idT.iphi();
507 
508  // ecal: 0 EcalBarrel 1 EcalEndcap
509  // hcal: 0 hcalBarrel 1 HcalEndcap 2 HcalForward
510  std::vector<int> inEcals(2), inHcals(3);
511  unsigned int constitSize = cal->constituentsSize();
512  for (unsigned int ic = 0; ic < constitSize; ic++) {
513  DetId detId = cal->constituent(ic);
514  if (detId.det() == DetId::Ecal) {
515  if (detId.subdetId() == EcalBarrel)
516  inEcals[0] = 1;
517  else if (detId.subdetId() == EcalEndcap)
518  inEcals[1] = 1;
519  }
520  if (detId.det() == DetId::Hcal) {
521  if (HcalDetId(detId).subdet() == HcalBarrel)
522  inHcals[0] = 1;
523  else if (HcalDetId(detId).subdet() == HcalEndcap)
524  inHcals[1] = 1;
525  else if (HcalDetId(detId).subdet() == HcalForward)
526  inHcals[2] = 1;
527  }
528  }
529  //All cell histos are used
530  if (inEcals[0]) {
531  numBadCellsEcal_EB->Fill(numBadEcalCells);
532  numRcvCellsEcal_EB->Fill(numRcvEcalCells);
533  numPrbCellsEcal_EB->Fill(numPrbEcalCells);
534  }
535  if (inEcals[1]) {
536  numBadCellsEcal_EE->Fill(numBadEcalCells);
537  numRcvCellsEcal_EE->Fill(numRcvEcalCells);
538  numPrbCellsEcal_EE->Fill(numPrbEcalCells);
539  }
540 
541  if (imc != 0) {
542  double r = dR(eta_MC, phi_MC, etaT, phiT);
543 
544  if (r < partR) {
545  Econe += eE;
546  Hcone += eH;
547 
548  // closest to MC
549  if (r < Rmin) {
550  if (fabs(eta_MC) < 3.0 && (ieta > 29 || ieta < -29)) {
551  ;
552  } else {
553  Rmin = r;
554  ieta_MC = ieta;
555  iphi_MC = iphi;
556  Ee1 = eE;
557  Eh1 = eH;
558  }
559  }
560  }
561  }
562 
563  //Ntowers is used in EndJob, occupancy_map is used for occupancy vs ieta
564  Ntowers_vs_ieta->Fill(double(ieta), 1.);
565  occupancy_map->Fill(double(ieta), double(iphi));
566 
567  if ((isub == 0 || isub == 1) && (fabs(etaT) < etaMax[0] && fabs(etaT) >= etaMin[0])) {
568  //All cell histos are used
569  numBadCellsHcal_HB->Fill(numBadHcalCells);
570  numRcvCellsHcal_HB->Fill(numRcvHcalCells);
571  numPrbCellsHcal_HB->Fill(numPrbHcalCells);
572 
573  //Map energy histos are not used
574  if (useAllHistos_) {
575  mapEnergy_HB->Fill(double(ieta), double(iphi), en);
576  mapEnergyHcal_HB->Fill(double(ieta), double(iphi), eH);
577  mapEnergyEcal_HB->Fill(double(ieta), double(iphi), eE);
578  }
579  // std::cout << " e_ecal = " << eE << std::endl;
580 
581  // simple sums
582  sumEnergyHcal_HB += eH;
583  sumEnergyEcal_HB += eE;
584  sumEnergyHO_HB += eHO;
585 
586  numFiredTowers_HB++;
587 
588  //Not used
589  if (useAllHistos_) {
592  }
593 
594  // MET, SET & phimet
595  // double etT = cal->et();
596  metx_HB += mom.x();
597  mety_HB += mom.y(); //etT * sin(phiT);
598  sEt_HB += etT;
599 
600  //Timing (all histos are used)
601  emTiming_HB->Fill(em_tm);
602  hadTiming_HB->Fill(had_tm);
603 
604  emEnergyTiming_Low_HB->Fill(eE, em_tm);
605  emEnergyTiming_HB->Fill(eE, em_tm);
606  emEnergyTiming_High_HB->Fill(eE, em_tm);
608  emEnergyTiming_profile_HB->Fill(eE, em_tm);
610 
611  hadEnergyTiming_Low_HB->Fill(eH, had_tm);
612  hadEnergyTiming_HB->Fill(eH, had_tm);
613  hadEnergyTiming_High_HB->Fill(eH, had_tm);
615  hadEnergyTiming_profile_HB->Fill(eH, had_tm);
617  }
618 
619  if ((isub == 0 || isub == 2) && (fabs(etaT) < etaMax[1] && fabs(etaT) >= etaMin[1])) {
620  //All cell histos are used
621  numBadCellsHcal_HE->Fill(numBadHcalCells);
622  numRcvCellsHcal_HE->Fill(numRcvHcalCells);
623  numPrbCellsHcal_HE->Fill(numPrbHcalCells);
624 
625  //Map energy histos are not used
626  if (useAllHistos_) {
627  mapEnergy_HE->Fill(double(ieta), double(iphi), en);
628  mapEnergyHcal_HE->Fill(double(ieta), double(iphi), eH);
629  mapEnergyEcal_HE->Fill(double(ieta), double(iphi), eE);
630  }
631  // std::cout << " e_ecal = " << eE << std::endl;
632 
633  // simple sums
634  sumEnergyHcal_HE += eH;
635  sumEnergyEcal_HE += eE;
636  sumEnergyHO_HE += eHO;
637 
638  numFiredTowers_HE++;
639 
640  //Not used
641  if (useAllHistos_) {
644  }
645  // MET, SET & phimet
646  // double etT = cal->et();
647  metx_HE += mom.x();
648  mety_HE += mom.y(); //etT * sin(phiT);
649  sEt_HE += etT;
650 
651  //Timing (all histos are used)
652  emTiming_HE->Fill(em_tm);
653  hadTiming_HE->Fill(had_tm);
654 
655  emEnergyTiming_Low_HE->Fill(eE, em_tm);
656  emEnergyTiming_HE->Fill(eE, em_tm);
658  emEnergyTiming_profile_HE->Fill(eE, em_tm);
659 
660  hadEnergyTiming_Low_HE->Fill(eH, had_tm);
661  hadEnergyTiming_HE->Fill(eH, had_tm);
663  hadEnergyTiming_profile_HE->Fill(eH, had_tm);
664  }
665 
666  if ((isub == 0 || isub == 3) && (fabs(etaT) < etaMax[2] && fabs(etaT) >= etaMin[2])) {
667  //All cell histos are used
668  numBadCellsHcal_HF->Fill(numBadHcalCells);
669  numRcvCellsHcal_HF->Fill(numRcvHcalCells);
670  numPrbCellsHcal_HF->Fill(numPrbHcalCells);
671 
672  //Map energy histos are not used
673  if (useAllHistos_) {
674  mapEnergy_HF->Fill(double(ieta), double(iphi), en);
675  mapEnergyHcal_HF->Fill(double(ieta), double(iphi), eH);
676  mapEnergyEcal_HF->Fill(double(ieta), double(iphi), eE);
677  }
678  // std::cout << " e_ecal = " << eE << std::endl;
679 
680  // simple sums
681  sumEnergyHcal_HF += eH;
682  sumEnergyEcal_HF += eE;
683  sumEnergyHO_HF += eHO;
684 
685  numFiredTowers_HF++;
686 
687  //Not used
688  if (useAllHistos_) {
691  }
692  // MET, SET & phimet
693  // double etT = cal->et();
694  metx_HF += mom.x();
695  mety_HF += mom.y(); //etT * sin(phiT);
696  sEt_HF += etT;
697 
698  //Timing (all histos are used)
699  emTiming_HF->Fill(em_tm);
700  hadTiming_HF->Fill(had_tm);
701  emEnergyTiming_HF->Fill(eE, em_tm);
702  emEnergyTiming_profile_HF->Fill(eE, em_tm);
703 
704  hadEnergyTiming_Low_HF->Fill(eH, had_tm);
705  hadEnergyTiming_HF->Fill(eH, had_tm);
707  hadEnergyTiming_profile_HF->Fill(eH, had_tm);
708  }
709 
710  } // end of Towers cycle
711 
712  //These are the six single pion histos
713  emean_vs_ieta_E->Fill(double(ieta_MC), Econe);
714  emean_vs_ieta_H->Fill(double(ieta_MC), Hcone);
715  emean_vs_ieta_EH->Fill(double(ieta_MC), Econe + Hcone);
716  emean_vs_ieta_E1->Fill(double(ieta_MC), Ee1);
717  emean_vs_ieta_H1->Fill(double(ieta_MC), Eh1);
718  emean_vs_ieta_EH1->Fill(double(ieta_MC), Ee1 + Eh1);
719 
720  //Map histos are not used except the last one in EndJob
721  if (useAllHistos_) {
722  mapEnergy_E->Fill(double(ieta_MC), double(iphi_MC), Ee1);
723  mapEnergy_H->Fill(double(ieta_MC), double(iphi_MC), Eh1);
724  mapEnergy_EH->Fill(double(ieta_MC), double(iphi_MC), Ee1 + Eh1);
725  }
726  mapEnergy_N->Fill(double(ieta_MC), double(iphi_MC), 1.);
727 
728  if (isub == 0 || isub == 1) {
729  met = sqrt(metx_HB * metx_HB + mety_HB * mety_HB);
730  Vector metv(metx_HB, mety_HB, metz_HB);
731  phimet = metv.phi();
732 
733  //Five oldest drawn histos first; the rest are not used
734  meEnergyHcal_HB->Fill(sumEnergyHcal_HB);
735  meEnergyEcal_HB->Fill(sumEnergyEcal_HB);
736  meNumFiredTowers_HB->Fill(numFiredTowers_HB);
737  MET_HB->Fill(met);
738  SET_HB->Fill(sEt_HB);
739 
740  if (useAllHistos_) {
741  meEnergyHcalvsEcal_HB->Fill(sumEnergyEcal_HB, sumEnergyHcal_HB);
742  meEnergyHO_HB->Fill(sumEnergyHO_HB);
743  meTotEnergy_HB->Fill(sumEnergyHcal_HB + sumEnergyEcal_HB + sumEnergyHO_HB);
744  phiMET_HB->Fill(phimet);
745  }
746  }
747 
748  if (isub == 0 || isub == 2) {
749  met = sqrt(metx_HE * metx_HE + mety_HE * mety_HE);
750  Vector metv(metx_HE, mety_HE, metz_HE);
751  phimet = metv.phi();
752 
753  //Five oldest drawn histos first; the rest are not used
754  meEnergyHcal_HE->Fill(sumEnergyHcal_HE);
755  meEnergyEcal_HE->Fill(sumEnergyEcal_HE);
756  meNumFiredTowers_HE->Fill(numFiredTowers_HE);
757  MET_HE->Fill(met);
758  SET_HE->Fill(sEt_HE);
759 
760  if (useAllHistos_) {
761  meEnergyHcalvsEcal_HE->Fill(sumEnergyEcal_HE, sumEnergyHcal_HE);
762  meEnergyHO_HE->Fill(sumEnergyHO_HE);
763  meTotEnergy_HE->Fill(sumEnergyHcal_HE + sumEnergyEcal_HE + sumEnergyHO_HE);
764  phiMET_HE->Fill(phimet);
765  }
766  }
767 
768  if (isub == 0 || isub == 3) {
769  met = sqrt(metx_HF * metx_HF + mety_HF * mety_HF);
770  Vector metv(metx_HF, mety_HF, metz_HF);
771  phimet = metv.phi();
772 
773  //Five oldest drawn histos first; the rest are not used
774  meEnergyHcal_HF->Fill(sumEnergyHcal_HF);
775  meEnergyEcal_HF->Fill(sumEnergyEcal_HF);
776  meNumFiredTowers_HF->Fill(numFiredTowers_HF);
777  MET_HF->Fill(met);
778  SET_HF->Fill(sEt_HF);
779 
780  if (useAllHistos_) {
781  meEnergyHcalvsEcal_HF->Fill(sumEnergyEcal_HF, sumEnergyHcal_HF);
782  meEnergyHO_HF->Fill(sumEnergyHO_HF);
783  meTotEnergy_HF->Fill(sumEnergyHcal_HF + sumEnergyEcal_HF + sumEnergyHO_HF);
784  phiMET_HF->Fill(phimet);
785  }
786  }
787 }
MonitorElement * emean_vs_ieta_E1
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * emean_vs_ieta_H1
MonitorElement * mapEnergyEcal_HE
MonitorElement * phiMET_HF
MonitorElement * hadEnergyTiming_profile_Low_HE
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
MonitorElement * emEnergyTiming_HE
MonitorElement * meEnergyHcalTower_HB
edm::EDGetTokenT< CaloTowerCollection > tok_calo_
MonitorElement * mapEnergy_HE
MonitorElement * meTotEnergy_HF
MonitorElement * hadTiming_HE
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
MonitorElement * hadEnergyTiming_profile_HF
MonitorElement * mapEnergyEcal_HB
MonitorElement * hadEnergyTiming_profile_HB
MonitorElement * mapEnergy_HF
MonitorElement * meEnergyHcalvsEcal_HE
std::vector< CaloTower >::const_iterator const_iterator
MonitorElement * meEnergyEcal_HB
MonitorElement * meTotEnergy_HB
MonitorElement * numPrbCellsHcal_HE
MonitorElement * hadEnergyTiming_profile_High_HB
double npart
Definition: HydjetWrapper.h:46
MonitorElement * meNumFiredTowers_HF
MonitorElement * phiMET_HE
MonitorElement * mapEnergyHcal_HB
MonitorElement * hadEnergyTiming_profile_HE
MonitorElement * meNumFiredTowers_HE
MonitorElement * hadTiming_HB
RhoEtaPhiVectorD RhoEtaPhiVector
spatial vector with cylindrical internal representation using pseudorapidity
Definition: Vector3D.h:33
MonitorElement * emTiming_HB
MonitorElement * hadEnergyTiming_Low_HE
MonitorElement * numBadCellsHcal_HB
MonitorElement * numBadCellsEcal_EE
MonitorElement * hadEnergyTiming_profile_Low_HF
void Fill(long long x)
MonitorElement * numRcvCellsEcal_EB
MonitorElement * meEnergyHcalTower_HF
MonitorElement * meEnergyEcalTower_HB
MonitorElement * numPrbCellsEcal_EB
MonitorElement * numBadCellsEcal_EB
MonitorElement * emean_vs_ieta_EH
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * emEnergyTiming_High_HB
MonitorElement * mapEnergyHcal_HE
MonitorElement * phiMET_HB
MonitorElement * hadEnergyTiming_profile_Low_HB
MonitorElement * emTiming_HF
MonitorElement * emEnergyTiming_Low_HE
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
MonitorElement * mapEnergy_E
MonitorElement * numBadCellsHcal_HF
MonitorElement * numPrbCellsHcal_HB
MonitorElement * meEnergyEcalTower_HE
MonitorElement * meEnergyHcal_HF
MonitorElement * numPrbCellsHcal_HF
MonitorElement * meEnergyEcalTower_HF
MonitorElement * meEnergyHcalvsEcal_HF
MonitorElement * hadEnergyTiming_High_HB
MonitorElement * emEnergyTiming_HF
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * mapEnergy_H
MonitorElement * emTiming_HE
MonitorElement * emEnergyTiming_profile_Low_HB
MonitorElement * hadEnergyTiming_HF
MonitorElement * numRcvCellsEcal_EE
MonitorElement * meEnergyHO_HE
const_iterator end() const
MonitorElement * numBadCellsHcal_HE
MonitorElement * hadTiming_HF
Definition: DetId.h:17
MonitorElement * numRcvCellsHcal_HE
MonitorElement * meEnergyHcal_HE
MonitorElement * meEnergyEcal_HF
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:34
MonitorElement * meEnergyHcalTower_HE
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * hadEnergyTiming_HB
MonitorElement * numRcvCellsHcal_HB
MonitorElement * emEnergyTiming_HB
MonitorElement * emEnergyTiming_profile_HF
MonitorElement * numRcvCellsHcal_HF
MonitorElement * numPrbCellsEcal_EE
MonitorElement * hadEnergyTiming_Low_HB
MonitorElement * meEnergyHO_HF
MonitorElement * meEnergyHcal_HB
MonitorElement * emEnergyTiming_Low_HB
MonitorElement * meNumFiredTowers_HB
MonitorElement * Ntowers_vs_ieta
MonitorElement * emean_vs_ieta_EH1
MonitorElement * meEnergyEcal_HE
MonitorElement * occupancy_map
MonitorElement * hadEnergyTiming_Low_HF
MonitorElement * meTotEnergy_HE
MonitorElement * mapEnergyHcal_HF
MonitorElement * emEnergyTiming_profile_Low_HE
MonitorElement * hadEnergyTiming_HE
MonitorElement * emean_vs_ieta_E
MonitorElement * emean_vs_ieta_H
MonitorElement * meEnergyHcalvsEcal_HB
MonitorElement * emEnergyTiming_profile_HE
MonitorElement * meEnergyHO_HB
MonitorElement * mapEnergy_EH
MonitorElement * emEnergyTiming_profile_HB
MonitorElement * emEnergyTiming_profile_High_HB
const double Rmin[kNumberCalorimeter]
MonitorElement * mapEnergy_N
MonitorElement * mapEnergyEcal_HF
const_iterator begin() const
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
MonitorElement * mapEnergy_HB
void CaloTowersValidation::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  irun,
edm::EventSetup const &  isetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 49 of file CaloTowersValidation.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), emean_vs_ieta_E, emean_vs_ieta_E1, emean_vs_ieta_EH, emean_vs_ieta_EH1, emean_vs_ieta_H, emean_vs_ieta_H1, emEnergyTiming_HB, emEnergyTiming_HE, emEnergyTiming_HF, emEnergyTiming_High_HB, emEnergyTiming_Low_HB, emEnergyTiming_Low_HE, emEnergyTiming_profile_HB, emEnergyTiming_profile_HE, emEnergyTiming_profile_HF, emEnergyTiming_profile_High_HB, emEnergyTiming_profile_Low_HB, emEnergyTiming_profile_Low_HE, emTiming_HB, emTiming_HE, emTiming_HF, hadEnergyTiming_HB, hadEnergyTiming_HE, hadEnergyTiming_HF, hadEnergyTiming_High_HB, hadEnergyTiming_Low_HB, hadEnergyTiming_Low_HE, hadEnergyTiming_Low_HF, hadEnergyTiming_profile_HB, hadEnergyTiming_profile_HE, hadEnergyTiming_profile_HF, hadEnergyTiming_profile_High_HB, hadEnergyTiming_profile_Low_HB, hadEnergyTiming_profile_Low_HE, hadEnergyTiming_profile_Low_HF, hadTiming_HB, hadTiming_HE, hadTiming_HF, timingPdfMaker::histo, isub, mapEnergy_E, mapEnergy_EH, mapEnergy_H, mapEnergy_HB, mapEnergy_HE, mapEnergy_HF, mapEnergy_N, mapEnergyEcal_HB, mapEnergyEcal_HE, mapEnergyEcal_HF, mapEnergyHcal_HB, mapEnergyHcal_HE, mapEnergyHcal_HF, meEnergyEcal_HB, meEnergyEcal_HE, meEnergyEcal_HF, meEnergyEcalTower_HB, meEnergyEcalTower_HE, meEnergyEcalTower_HF, meEnergyHcal_HB, meEnergyHcal_HE, meEnergyHcal_HF, meEnergyHcalTower_HB, meEnergyHcalTower_HE, meEnergyHcalTower_HF, meEnergyHcalvsEcal_HB, meEnergyHcalvsEcal_HE, meEnergyHcalvsEcal_HF, meEnergyHO_HB, meEnergyHO_HE, meEnergyHO_HF, meNumFiredTowers_HB, meNumFiredTowers_HE, meNumFiredTowers_HF, MET_HB, MET_HE, MET_HF, meTotEnergy_HB, meTotEnergy_HE, meTotEnergy_HF, Ntowers_vs_ieta, numBadCellsEcal_EB, numBadCellsEcal_EE, numBadCellsHcal_HB, numBadCellsHcal_HE, numBadCellsHcal_HF, numPrbCellsEcal_EB, numPrbCellsEcal_EE, numPrbCellsHcal_HB, numPrbCellsHcal_HE, numPrbCellsHcal_HF, numRcvCellsEcal_EB, numRcvCellsEcal_EE, numRcvCellsHcal_HB, numRcvCellsHcal_HE, numRcvCellsHcal_HF, occupancy_map, occupancy_vs_ieta, phiMET_HB, phiMET_HE, phiMET_HF, SET_HB, SET_HE, SET_HF, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), and useAllHistos_.

51  {
52  Char_t histo[100];
53 
54  ibooker.setCurrentFolder("CaloTowersV/CaloTowersTask");
55 
56  //These two histos are not drawn by our macros, but they are used
57  //in the EndJob for norms and such so I am leaving them alone for now
58  //-------------------------------------------------------------------------------------------
59  sprintf(histo, "Ntowers_per_event_vs_ieta");
60  Ntowers_vs_ieta = ibooker.book1D(histo, histo, 83, -41.5, 41.5);
61 
62  sprintf(histo, "CaloTowersTask_map_Nentries");
63  mapEnergy_N = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
64  //-------------------------------------------------------------------------------------------
65 
66  //These the single pion scan histos
67  //-------------------------------------------------------------------------------------------
68  sprintf(histo, "emean_vs_ieta_E");
69  emean_vs_ieta_E = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
70  sprintf(histo, "emean_vs_ieta_H");
71  emean_vs_ieta_H = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
72  sprintf(histo, "emean_vs_ieta_EH");
73  emean_vs_ieta_EH = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
74  //These are drawn
75  sprintf(histo, "emean_vs_ieta_E1");
76  emean_vs_ieta_E1 = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
77  sprintf(histo, "emean_vs_ieta_H1");
78  emean_vs_ieta_H1 = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
79  sprintf(histo, "emean_vs_ieta_EH1");
80  emean_vs_ieta_EH1 = ibooker.bookProfile(histo, histo, 83, -41.5, 41.5, -100., 2000., " ");
81  //-------------------------------------------------------------------------------------------
82 
83  //Map energy histos are not drawn
84  if (useAllHistos_) {
85  sprintf(histo, "CaloTowersTask_map_energy_E");
86  mapEnergy_E = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
87  sprintf(histo, "CaloTowersTask_map_energy_H");
88  mapEnergy_H = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
89  sprintf(histo, "CaloTowersTask_map_energy_EH");
90  mapEnergy_EH = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
91  }
92 
93  //All ECAL cell histos are used
94  // XXX: ECAL 0-25 [0-26, 26 bins] HCAL 0-4 [0-5, 5 bins]
95  sprintf(histo, "number_of_bad_cells_Ecal_EB");
96  numBadCellsEcal_EB = ibooker.book1D(histo, histo, 26, 0, 26);
97  sprintf(histo, "number_of_bad_cells_Ecal_EE");
98  numBadCellsEcal_EE = ibooker.book1D(histo, histo, 26, 0, 26);
99  sprintf(histo, "number_of_recovered_cells_Ecal_EB");
100  numRcvCellsEcal_EB = ibooker.book1D(histo, histo, 26, 0, 26);
101  sprintf(histo, "number_of_recovered_cells_Ecal_EE");
102  numRcvCellsEcal_EE = ibooker.book1D(histo, histo, 26, 0, 26);
103  sprintf(histo, "number_of_problematic_cells_Ecal_EB");
104  numPrbCellsEcal_EB = ibooker.book1D(histo, histo, 26, 0, 26);
105  sprintf(histo, "number_of_problematic_cells_Ecal_EE");
106  numPrbCellsEcal_EE = ibooker.book1D(histo, histo, 26, 0, 26);
107 
108  //Occupancy vs. ieta is drawn, occupancy map is needed to draw it
109  sprintf(histo, "CaloTowersTask_map_occupancy");
110  occupancy_map = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
111 
112  sprintf(histo, "CaloTowersTask_occupancy_vs_ieta");
113  occupancy_vs_ieta = ibooker.book1D(histo, histo, 83, -41.5, 41.5);
114 
115  if (isub == 1 || isub == 0) {
116  //All cell histos are used
117  sprintf(histo, "number_of_bad_cells_Hcal_HB");
118  numBadCellsHcal_HB = ibooker.book1D(histo, histo, 5, 0, 5);
119  sprintf(histo, "number_of_recovered_cells_Hcal_HB");
120  numRcvCellsHcal_HB = ibooker.book1D(histo, histo, 5, 0, 5);
121  sprintf(histo, "number_of_problematic_cells_Hcal_HB");
122  numPrbCellsHcal_HB = ibooker.book1D(histo, histo, 5, 0, 5);
123 
124  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
125  //-------------------------------------------------------------------------------------------
126  sprintf(histo, "CaloTowersTask_energy_HCAL_HB");
127  meEnergyHcal_HB = ibooker.book1D(histo, histo, 4100, -200, 8000);
128 
129  sprintf(histo, "CaloTowersTask_energy_ECAL_HB");
130  meEnergyEcal_HB = ibooker.book1D(histo, histo, 3100, -200, 6000);
131 
132  sprintf(histo, "CaloTowersTask_number_of_fired_towers_HB");
133  meNumFiredTowers_HB = ibooker.book1D(histo, histo, 1000, 0, 2000);
134 
135  sprintf(histo, "CaloTowersTask_MET_HB");
136  MET_HB = ibooker.book1D(histo, histo, 3000, 0., 3000.);
137 
138  sprintf(histo, "CaloTowersTask_SET_HB");
139  SET_HB = ibooker.book1D(histo, histo, 8000, 0., 8000.);
140  //-------------------------------------------------------------------------------------------
141 
142  //Timing histos and profiles -- all six are necessary
143  //-------------------------------------------------------------------------------------------
144  sprintf(histo, "CaloTowersTask_EM_Timing_HB");
145  emTiming_HB = ibooker.book1D(histo, histo, 110, -120., 100.);
146 
147  sprintf(histo, "CaloTowersTask_HAD_Timing_HB");
148  hadTiming_HB = ibooker.book1D(histo, histo, 70, -48., 92.);
149 
150  //Energy-Timing histos are divided into low, medium and high to reduce memory usage
151  //EM
152  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_Low_HB");
153  emEnergyTiming_Low_HB = ibooker.book2D(histo, histo, 40, 0., 40., 110, -120., 100.);
154 
155  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_HB");
156  emEnergyTiming_HB = ibooker.book2D(histo, histo, 200, 0., 400., 110, -120., 100.);
157 
158  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_High_HB");
159  emEnergyTiming_High_HB = ibooker.book2D(histo, histo, 200, 0., 3000., 110, -120., 100.);
160 
161  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_Low_HB");
162  emEnergyTiming_profile_Low_HB = ibooker.bookProfile(histo, histo, 40, 0., 40., 110, -120., 100.);
163 
164  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_HB");
165  emEnergyTiming_profile_HB = ibooker.bookProfile(histo, histo, 200, 0., 400., 110, -120., 100.);
166 
167  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_High_HB");
168  emEnergyTiming_profile_High_HB = ibooker.bookProfile(histo, histo, 200, 0., 3000., 110, -120., 100.);
169 
170  //HAD
171  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_Low_HB");
172  hadEnergyTiming_Low_HB = ibooker.book2D(histo, histo, 40, 0., 40., 70, -48., 92.);
173 
174  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_HB");
175  hadEnergyTiming_HB = ibooker.book2D(histo, histo, 100, 0., 200., 70, -48., 92.);
176 
177  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_High_HB");
178  hadEnergyTiming_High_HB = ibooker.book2D(histo, histo, 300, 0., 3000., 70, -48., 92.);
179 
180  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HB");
181  hadEnergyTiming_profile_Low_HB = ibooker.bookProfile(histo, histo, 40, 0., 40., 70, -48., 92.);
182 
183  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_HB");
184  hadEnergyTiming_profile_HB = ibooker.bookProfile(histo, histo, 100, 0., 200., 70, -48., 92.);
185 
186  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_High_HB");
187  hadEnergyTiming_profile_High_HB = ibooker.bookProfile(histo, histo, 300, 0., 3000., 70, -48., 92.);
188  //-------------------------------------------------------------------------------------------
189 
190  //Everything else is not drawn
191  if (useAllHistos_) {
192  sprintf(histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HB");
193  meEnergyHcalvsEcal_HB = ibooker.book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
194 
195  sprintf(histo, "CaloTowersTask_energy_OUTER_HB");
196  meEnergyHO_HB = ibooker.book1D(histo, histo, 1640, -200, 8000);
197 
198  sprintf(histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HB");
199  meEnergyEcalTower_HB = ibooker.book1D(histo, histo, 440, -200, 2000);
200 
201  sprintf(histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HB");
202  meEnergyHcalTower_HB = ibooker.book1D(histo, histo, 440, -200, 2000);
203 
204  sprintf(histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HB");
205  meTotEnergy_HB = ibooker.book1D(histo, histo, 400, 0., 2000.);
206 
207  sprintf(histo, "CaloTowersTask_map_energy_HB");
208  mapEnergy_HB = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
209  sprintf(histo, "CaloTowersTask_map_energy_HCAL_HB");
210  mapEnergyHcal_HB = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
211  sprintf(histo, "CaloTowersTask_map_energy_ECAL_HB");
212  mapEnergyEcal_HB = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
213 
214  sprintf(histo, "CaloTowersTask_phi_MET_HB");
215  phiMET_HB = ibooker.book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898);
216  }
217  }
218 
219  if (isub == 2 || isub == 0) {
220  //All cell histos are used
221  sprintf(histo, "number_of_bad_cells_Hcal_HE");
222  numBadCellsHcal_HE = ibooker.book1D(histo, histo, 5, 0, 5);
223  sprintf(histo, "number_of_recovered_cells_Hcal_HE");
224  numRcvCellsHcal_HE = ibooker.book1D(histo, histo, 5, 0, 5);
225  sprintf(histo, "number_of_problematic_cells_Hcal_HE");
226  numPrbCellsHcal_HE = ibooker.book1D(histo, histo, 5, 0, 5);
227 
228  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
229  //-------------------------------------------------------------------------------------------
230  sprintf(histo, "CaloTowersTask_energy_HCAL_HE");
231  meEnergyHcal_HE = ibooker.book1D(histo, histo, 1240, -200, 6000);
232 
233  sprintf(histo, "CaloTowersTask_energy_ECAL_HE");
234  meEnergyEcal_HE = ibooker.book1D(histo, histo, 1240, -200, 6000);
235 
236  sprintf(histo, "CaloTowersTask_number_of_fired_towers_HE");
237  meNumFiredTowers_HE = ibooker.book1D(histo, histo, 1000, 0, 2000);
238 
239  sprintf(histo, "CaloTowersTask_MET_HE");
240  MET_HE = ibooker.book1D(histo, histo, 1000, 0., 1000.);
241 
242  sprintf(histo, "CaloTowersTask_SET_HE");
243  SET_HE = ibooker.book1D(histo, histo, 2000, 0., 2000.);
244  //-------------------------------------------------------------------------------------------
245 
246  //Timing histos and profiles -- all six are necessary
247  //-------------------------------------------------------------------------------------------
248  sprintf(histo, "CaloTowersTask_EM_Timing_HE");
249  emTiming_HE = ibooker.book1D(histo, histo, 110, -120., 100.);
250 
251  sprintf(histo, "CaloTowersTask_HAD_Timing_HE");
252  hadTiming_HE = ibooker.book1D(histo, histo, 70, -48., 92.);
253 
254  //Energy-Timing histos are divided into low and normal to reduce memory usage
255  //EM
256  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_Low_HE");
257  emEnergyTiming_Low_HE = ibooker.book2D(histo, histo, 160, 0., 160., 110, -120., 100.);
258 
259  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_HE");
260  emEnergyTiming_HE = ibooker.book2D(histo, histo, 200, 0., 800., 110, -120., 100.);
261 
262  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_Low_HE");
263  emEnergyTiming_profile_Low_HE = ibooker.bookProfile(histo, histo, 160, 0., 160., 110, -120., 100.);
264 
265  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_HE");
266  emEnergyTiming_profile_HE = ibooker.bookProfile(histo, histo, 200, 0., 800., 110, -120., 100.);
267 
268  //HAD
269  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_Low_HE");
270  hadEnergyTiming_Low_HE = ibooker.book2D(histo, histo, 160, 0., 160., 70, -48., 92.);
271 
272  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_HE");
273  hadEnergyTiming_HE = ibooker.book2D(histo, histo, 200, 0., 800., 70, -48., 92.);
274 
275  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HE");
276  hadEnergyTiming_profile_Low_HE = ibooker.bookProfile(histo, histo, 160, 0., 160., 70, -48., 92.);
277 
278  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_HE");
279  hadEnergyTiming_profile_HE = ibooker.bookProfile(histo, histo, 200, 0., 800., 70, -48., 92.);
280  //-------------------------------------------------------------------------------------------
281 
282  //Everything else is not drawn
283  if (useAllHistos_) {
284  sprintf(histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HE");
285  meEnergyHcalvsEcal_HE = ibooker.book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
286 
287  sprintf(histo, "CaloTowersTask_energy_OUTER_HE");
288  meEnergyHO_HE = ibooker.book1D(histo, histo, 440, -200, 2000);
289 
290  sprintf(histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HE");
291  meEnergyEcalTower_HE = ibooker.book1D(histo, histo, 1100, -200, 2000);
292 
293  sprintf(histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HE");
294  meEnergyHcalTower_HE = ibooker.book1D(histo, histo, 1100, -200, 2000);
295 
296  sprintf(histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HE");
297  meTotEnergy_HE = ibooker.book1D(histo, histo, 400, 0., 2000.);
298 
299  sprintf(histo, "CaloTowersTask_map_energy_HE");
300  mapEnergy_HE = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
301  sprintf(histo, "CaloTowersTask_map_energy_HCAL_HE");
302  mapEnergyHcal_HE = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
303  sprintf(histo, "CaloTowersTask_map_energy_ECAL_HE");
304  mapEnergyEcal_HE = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
305 
306  sprintf(histo, "CaloTowersTask_phi_MET_HE");
307  phiMET_HE = ibooker.book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898);
308  }
309  }
310 
311  if (isub == 3 || isub == 0) {
312  //All cell histos are used
313  sprintf(histo, "number_of_bad_cells_Hcal_HF");
314  numBadCellsHcal_HF = ibooker.book1D(histo, histo, 5, 0, 5);
315  sprintf(histo, "number_of_recovered_cells_Hcal_HF");
316  numRcvCellsHcal_HF = ibooker.book1D(histo, histo, 5, 0, 5);
317  sprintf(histo, "number_of_problematic_cells_Hcal_HF");
318  numPrbCellsHcal_HF = ibooker.book1D(histo, histo, 5, 0, 5);
319 
320  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
321  //-------------------------------------------------------------------------------------------
322  sprintf(histo, "CaloTowersTask_energy_HCAL_HF");
323  meEnergyHcal_HF = ibooker.book1D(histo, histo, 4040, -200, 20000);
324 
325  sprintf(histo, "CaloTowersTask_energy_ECAL_HF");
326  meEnergyEcal_HF = ibooker.book1D(histo, histo, 2440, -200, 12000);
327 
328  sprintf(histo, "CaloTowersTask_number_of_fired_towers_HF");
329  meNumFiredTowers_HF = ibooker.book1D(histo, histo, 1000, 0, 2000);
330 
331  sprintf(histo, "CaloTowersTask_MET_HF");
332  MET_HF = ibooker.book1D(histo, histo, 500, 0., 500.);
333 
334  sprintf(histo, "CaloTowersTask_SET_HF");
335  SET_HF = ibooker.book1D(histo, histo, 2000, 0., 2000.);
336  //-------------------------------------------------------------------------------------------
337 
338  //Timing histos and profiles -- all six are necessary
339  //-------------------------------------------------------------------------------------------
340  sprintf(histo, "CaloTowersTask_EM_Timing_HF");
341  emTiming_HF = ibooker.book1D(histo, histo, 110, -120., 100.);
342 
343  sprintf(histo, "CaloTowersTask_HAD_Timing_HF");
344  hadTiming_HF = ibooker.book1D(histo, histo, 70, -48., 92.);
345 
346  //EM
347  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_HF");
348  emEnergyTiming_HF = ibooker.book2D(histo, histo, 150, 0., 300., 110, -120., 100.);
349 
350  sprintf(histo, "CaloTowersTask_EM_Energy_Timing_profile_HF");
351  emEnergyTiming_profile_HF = ibooker.bookProfile(histo, histo, 150, 0., 300., 110, -120., 100.);
352 
353  //HAD (requires two different sets of histograms to lower RAM usage)
354  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_Low_HF");
355  hadEnergyTiming_Low_HF = ibooker.book2D(histo, histo, 40, 0., 40., 70, -48., 92.);
356 
357  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_HF");
358  hadEnergyTiming_HF = ibooker.book2D(histo, histo, 200, 0., 600., 70, -48., 92.);
359 
360  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HF");
361  hadEnergyTiming_profile_Low_HF = ibooker.bookProfile(histo, histo, 40, 0., 40., 70, -48., 92.);
362 
363  sprintf(histo, "CaloTowersTask_HAD_Energy_Timing_profile_HF");
364  hadEnergyTiming_profile_HF = ibooker.bookProfile(histo, histo, 200, 0., 600., 70, -48., 92.);
365  //-------------------------------------------------------------------------------------------
366 
367  //Everything else is not drawn
368  if (useAllHistos_) {
369  sprintf(histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HF");
370  meEnergyHcalvsEcal_HF = ibooker.book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
371 
372  sprintf(histo, "CaloTowersTask_energy_OUTER_HF");
373  meEnergyHO_HF = ibooker.book1D(histo, histo, 440, -200, 2000);
374 
375  sprintf(histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HF");
376  meEnergyEcalTower_HF = ibooker.book1D(histo, histo, 440, -200, 2000);
377 
378  sprintf(histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HF");
379  meEnergyHcalTower_HF = ibooker.book1D(histo, histo, 440, -200, 2000);
380 
381  sprintf(histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HF");
382  meTotEnergy_HF = ibooker.book1D(histo, histo, 400, 0., 2000.);
383 
384  sprintf(histo, "CaloTowersTask_map_energy_HF");
385  mapEnergy_HF = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
386  sprintf(histo, "CaloTowersTask_map_energy_HCAL_HF");
387  mapEnergyHcal_HF = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
388  sprintf(histo, "CaloTowersTask_map_energy_ECAL_HF");
389  mapEnergyEcal_HF = ibooker.book2D(histo, histo, 83, -41.5, 41.5, 72, 0., 72.);
390 
391  sprintf(histo, "CaloTowersTask_phi_MET_HF");
392  phiMET_HF = ibooker.book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898);
393  }
394  }
395 }
MonitorElement * emean_vs_ieta_E1
MonitorElement * emean_vs_ieta_H1
MonitorElement * mapEnergyEcal_HE
MonitorElement * phiMET_HF
MonitorElement * hadEnergyTiming_profile_Low_HE
MonitorElement * emEnergyTiming_HE
MonitorElement * meEnergyHcalTower_HB
MonitorElement * mapEnergy_HE
MonitorElement * meTotEnergy_HF
MonitorElement * hadTiming_HE
MonitorElement * hadEnergyTiming_profile_HF
MonitorElement * mapEnergyEcal_HB
MonitorElement * hadEnergyTiming_profile_HB
MonitorElement * mapEnergy_HF
MonitorElement * meEnergyHcalvsEcal_HE
MonitorElement * meEnergyEcal_HB
MonitorElement * meTotEnergy_HB
MonitorElement * numPrbCellsHcal_HE
MonitorElement * hadEnergyTiming_profile_High_HB
MonitorElement * meNumFiredTowers_HF
MonitorElement * phiMET_HE
MonitorElement * mapEnergyHcal_HB
MonitorElement * hadEnergyTiming_profile_HE
MonitorElement * meNumFiredTowers_HE
MonitorElement * hadTiming_HB
MonitorElement * emTiming_HB
MonitorElement * hadEnergyTiming_Low_HE
MonitorElement * numBadCellsHcal_HB
MonitorElement * numBadCellsEcal_EE
MonitorElement * hadEnergyTiming_profile_Low_HF
MonitorElement * numRcvCellsEcal_EB
MonitorElement * meEnergyHcalTower_HF
MonitorElement * meEnergyEcalTower_HB
MonitorElement * numPrbCellsEcal_EB
MonitorElement * numBadCellsEcal_EB
MonitorElement * emean_vs_ieta_EH
MonitorElement * emEnergyTiming_High_HB
MonitorElement * mapEnergyHcal_HE
MonitorElement * phiMET_HB
MonitorElement * hadEnergyTiming_profile_Low_HB
MonitorElement * emTiming_HF
MonitorElement * emEnergyTiming_Low_HE
MonitorElement * mapEnergy_E
MonitorElement * numBadCellsHcal_HF
MonitorElement * numPrbCellsHcal_HB
MonitorElement * meEnergyEcalTower_HE
MonitorElement * meEnergyHcal_HF
MonitorElement * occupancy_vs_ieta
MonitorElement * numPrbCellsHcal_HF
MonitorElement * meEnergyEcalTower_HF
MonitorElement * meEnergyHcalvsEcal_HF
MonitorElement * hadEnergyTiming_High_HB
MonitorElement * emEnergyTiming_HF
MonitorElement * mapEnergy_H
MonitorElement * emTiming_HE
MonitorElement * emEnergyTiming_profile_Low_HB
MonitorElement * hadEnergyTiming_HF
MonitorElement * numRcvCellsEcal_EE
MonitorElement * meEnergyHO_HE
MonitorElement * numBadCellsHcal_HE
MonitorElement * hadTiming_HF
MonitorElement * numRcvCellsHcal_HE
MonitorElement * meEnergyHcal_HE
MonitorElement * meEnergyEcal_HF
MonitorElement * meEnergyHcalTower_HE
MonitorElement * hadEnergyTiming_HB
MonitorElement * numRcvCellsHcal_HB
MonitorElement * emEnergyTiming_HB
MonitorElement * emEnergyTiming_profile_HF
MonitorElement * numRcvCellsHcal_HF
MonitorElement * numPrbCellsEcal_EE
MonitorElement * hadEnergyTiming_Low_HB
MonitorElement * meEnergyHO_HF
MonitorElement * meEnergyHcal_HB
MonitorElement * emEnergyTiming_Low_HB
MonitorElement * meNumFiredTowers_HB
MonitorElement * Ntowers_vs_ieta
MonitorElement * emean_vs_ieta_EH1
MonitorElement * meEnergyEcal_HE
MonitorElement * occupancy_map
MonitorElement * hadEnergyTiming_Low_HF
MonitorElement * meTotEnergy_HE
MonitorElement * mapEnergyHcal_HF
MonitorElement * emEnergyTiming_profile_Low_HE
MonitorElement * hadEnergyTiming_HE
MonitorElement * emean_vs_ieta_E
MonitorElement * emean_vs_ieta_H
MonitorElement * meEnergyHcalvsEcal_HB
MonitorElement * emEnergyTiming_profile_HE
MonitorElement * meEnergyHO_HB
MonitorElement * emEnergyTiming_profile_HB
MonitorElement * mapEnergy_EH
MonitorElement * emEnergyTiming_profile_High_HB
MonitorElement * mapEnergy_N
MonitorElement * mapEnergyEcal_HF
MonitorElement * mapEnergy_HB
double CaloTowersValidation::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 789 of file CaloTowersValidation.cc.

References DEFINE_FWK_MODULE, HLT_2018_cff::eta1, PI, mathSSE::sqrt(), and createJobs::tmp.

Referenced by analyze().

789  {
790  double PI = 3.1415926535898;
791  double deltaphi = phi1 - phi2;
792  if (phi2 > phi1) {
793  deltaphi = phi2 - phi1;
794  }
795  if (deltaphi > PI) {
796  deltaphi = 2. * PI - deltaphi;
797  }
798  double deltaeta = eta2 - eta1;
799  double tmp = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
800  return tmp;
801 }
T sqrt(T t)
Definition: SSEVec.h:19
#define PI
Definition: QcdUeDQM.h:37
tmp
align.sh
Definition: createJobs.py:716

Member Data Documentation

MonitorElement* CaloTowersValidation::emean_vs_ieta_E
private

Definition at line 61 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emean_vs_ieta_E1
private

Definition at line 65 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emean_vs_ieta_EH
private

Definition at line 63 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emean_vs_ieta_EH1
private

Definition at line 67 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emean_vs_ieta_H
private

Definition at line 62 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emean_vs_ieta_H1
private

Definition at line 66 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_HB
private

Definition at line 119 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_HE
private

Definition at line 154 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_HF
private

Definition at line 183 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_High_HB
private

Definition at line 120 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_Low_HB
private

Definition at line 118 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_Low_HE
private

Definition at line 153 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HB
private

Definition at line 122 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HE
private

Definition at line 156 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HF
private

Definition at line 184 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_High_HB
private

Definition at line 123 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_Low_HB
private

Definition at line 121 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_Low_HE
private

Definition at line 155 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emTiming_HB
private

Definition at line 115 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emTiming_HE
private

Definition at line 150 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::emTiming_HF
private

Definition at line 181 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

double CaloTowersValidation::etaMax[3]
private

Definition at line 57 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

double CaloTowersValidation::etaMin[3]
private

Definition at line 58 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HB
private

Definition at line 126 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HE
private

Definition at line 159 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HF
private

Definition at line 187 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_High_HB
private

Definition at line 127 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HB
private

Definition at line 125 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HE
private

Definition at line 158 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HF
private

Definition at line 186 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HB
private

Definition at line 129 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HE
private

Definition at line 161 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HF
private

Definition at line 189 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_High_HB
private

Definition at line 130 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HB
private

Definition at line 128 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HE
private

Definition at line 160 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HF
private

Definition at line 188 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadTiming_HB
private

Definition at line 116 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadTiming_HE
private

Definition at line 151 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::hadTiming_HF
private

Definition at line 182 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

std::string CaloTowersValidation::hcalselector_
private

Definition at line 42 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

int CaloTowersValidation::imc
private

Definition at line 54 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

int CaloTowersValidation::isub
private

Definition at line 51 of file CaloTowersValidation.h.

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

MonitorElement* CaloTowersValidation::mapEnergy_E
private

Definition at line 74 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_EH
private

Definition at line 76 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_H
private

Definition at line 75 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_HB
private

Definition at line 108 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_HE
private

Definition at line 143 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_HF
private

Definition at line 174 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergy_N
private

Definition at line 77 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HB
private

Definition at line 109 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HE
private

Definition at line 144 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HF
private

Definition at line 175 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HB
private

Definition at line 110 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HE
private

Definition at line 145 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HF
private

Definition at line 176 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

bool CaloTowersValidation::mc_
private

Definition at line 43 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcal_HB
private

Definition at line 100 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyEcal_HE
private

Definition at line 135 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyEcal_HF
private

Definition at line 166 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HB
private

Definition at line 104 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HE
private

Definition at line 139 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HF
private

Definition at line 170 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcal_HB
private

Definition at line 101 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcal_HE
private

Definition at line 136 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcal_HF
private

Definition at line 167 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HB
private

Definition at line 105 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HE
private

Definition at line 140 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HF
private

Definition at line 171 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HB
private

Definition at line 98 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HE
private

Definition at line 133 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HF
private

Definition at line 164 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHO_HB
private

Definition at line 99 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHO_HE
private

Definition at line 134 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meEnergyHO_HF
private

Definition at line 165 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HB
private

Definition at line 102 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HE
private

Definition at line 137 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HF
private

Definition at line 168 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::MET_HB
private

Definition at line 111 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::MET_HE
private

Definition at line 146 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::MET_HF
private

Definition at line 177 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meTotEnergy_HB
private

Definition at line 106 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meTotEnergy_HE
private

Definition at line 141 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::meTotEnergy_HF
private

Definition at line 172 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

int CaloTowersValidation::nevent
private

Definition at line 52 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::Ntowers_vs_ieta
private

Definition at line 69 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numBadCellsEcal_EB
private

Definition at line 80 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numBadCellsEcal_EE
private

Definition at line 81 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HB
private

Definition at line 87 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HE
private

Definition at line 88 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HF
private

Definition at line 89 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numPrbCellsEcal_EB
private

Definition at line 84 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numPrbCellsEcal_EE
private

Definition at line 85 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HB
private

Definition at line 93 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HE
private

Definition at line 94 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HF
private

Definition at line 95 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numRcvCellsEcal_EB
private

Definition at line 82 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numRcvCellsEcal_EE
private

Definition at line 83 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HB
private

Definition at line 90 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HE
private

Definition at line 91 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HF
private

Definition at line 92 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::occupancy_map
private

Definition at line 70 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::occupancy_vs_ieta
private

Definition at line 71 of file CaloTowersValidation.h.

Referenced by bookHistograms().

std::string CaloTowersValidation::outputFile_
private

Definition at line 41 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

MonitorElement* CaloTowersValidation::phiMET_HB
private

Definition at line 113 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::phiMET_HE
private

Definition at line 148 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::phiMET_HF
private

Definition at line 179 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::SET_HB
private

Definition at line 112 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::SET_HE
private

Definition at line 147 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* CaloTowersValidation::SET_HF
private

Definition at line 178 of file CaloTowersValidation.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<CaloTowerCollection> CaloTowersValidation::tok_calo_
private

Definition at line 48 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

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

Definition at line 49 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

bool CaloTowersValidation::useAllHistos_
private

Definition at line 44 of file CaloTowersValidation.h.

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