CMS 3D CMS Logo

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

#include <EcalRecHitsValidation.h>

Inheritance diagram for EcalRecHitsValidation:
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

 EcalRecHitsValidation (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~EcalRecHitsValidation () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
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)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 Analyze. More...
 
void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
void findBarrelMatrix (int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &themap)
 
void findEndcapMatrix (int nCellInX, int nCellInY, int CentralX, int CentralY, int CentralZ, MapType &themap)
 
uint32_t getUnitWithMaxEnergy (MapType &themap)
 
- 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)
 

Private Types

typedef std::map< uint32_t, float, std::less< uint32_t > > MapType
 

Private Attributes

std::vector< uint32_t > crystalMatrix
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
 
edm::InputTag EBrechitCollection_
 
edm::EDGetTokenT< EBRecHitCollectionEBrechitCollection_Token_
 
edm::InputTag EBuncalibrechitCollection_
 
edm::EDGetTokenT< EBUncalibratedRecHitCollectionEBuncalibrechitCollection_Token_
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
 
edm::InputTag EErechitCollection_
 
edm::EDGetTokenT< EERecHitCollectionEErechitCollection_Token_
 
edm::InputTag EEuncalibrechitCollection_
 
edm::EDGetTokenT< EEUncalibratedRecHitCollectionEEuncalibrechitCollection_Token_
 
bool enableEndcaps_
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
 
edm::InputTag ESrechitCollection_
 
edm::EDGetTokenT< ESRecHitCollectionESrechitCollection_Token_
 
std::string HepMCLabel
 
edm::EDGetTokenT< edm::HepMCProductHepMCLabel_Token_
 
std::string hitsProducer_
 
MonitorElementmeEB5x5RecHitSimHitvsSimHitFlag8_
 
MonitorElementmeEBe5x5_
 
MonitorElementmeEBe5x5OverGun_
 
MonitorElementmeEBe5x5OverSimHits_
 
MonitorElementmeEBRecHitFlags_
 
MonitorElementmeEBRecHitLog10Energy5x5Contr_
 
MonitorElementmeEBRecHitLog10Energy_
 
MonitorElementmeEBRecHitLog10EnergyContr_
 
MonitorElementmeEBRecHitSimHitFlag6_
 
MonitorElementmeEBRecHitSimHitFlag7_
 
MonitorElementmeEBRecHitSimHitRatio1011_
 
MonitorElementmeEBRecHitSimHitRatio12_
 
MonitorElementmeEBRecHitSimHitRatio13_
 
MonitorElementmeEBRecHitSimHitRatio_
 
MonitorElementmeEBRecHitSimHitRatioGt35_
 
MonitorElementmeEBRecHitSimHitvsSimHitFlag5_6_
 
MonitorElementmeEBRecHitsOccupancyFlag5_6_
 
MonitorElementmeEBRecHitsOccupancyFlag8_9_
 
MonitorElementmeEBUnRecHitSimHitRatio_
 
MonitorElementmeEBUnRecHitSimHitRatioGt35_
 
MonitorElementmeEEe5x5_
 
MonitorElementmeEEe5x5OverGun_
 
MonitorElementmeEEe5x5OverSimHits_
 
MonitorElementmeEERecHitFlags_
 
MonitorElementmeEERecHitLog10Energy5x5Contr_
 
MonitorElementmeEERecHitLog10Energy_
 
MonitorElementmeEERecHitLog10EnergyContr_
 
MonitorElementmeEERecHitSimHitFlag6_
 
MonitorElementmeEERecHitSimHitFlag7_
 
MonitorElementmeEERecHitSimHitRatio1011_
 
MonitorElementmeEERecHitSimHitRatio12_
 
MonitorElementmeEERecHitSimHitRatio13_
 
MonitorElementmeEERecHitSimHitRatio_
 
MonitorElementmeEERecHitSimHitRatioGt35_
 
MonitorElementmeEERecHitSimHitvsSimHitFlag5_6_
 
MonitorElementmeEERecHitsOccupancyMinusFlag5_6_
 
MonitorElementmeEERecHitsOccupancyMinusFlag8_9_
 
MonitorElementmeEERecHitsOccupancyPlusFlag5_6_
 
MonitorElementmeEERecHitsOccupancyPlusFlag8_9_
 
MonitorElementmeEEUnRecHitSimHitRatio_
 
MonitorElementmeEEUnRecHitSimHitRatioGt35_
 
MonitorElementmeESRecHitLog10Energy_
 
MonitorElementmeESRecHitLog10EnergyContr_
 
MonitorElementmeESRecHitSimHitRatio_
 
MonitorElementmeGunEnergy_
 
MonitorElementmeGunEta_
 
MonitorElementmeGunPhi_
 
std::string outputFile_
 
bool verbose_
 

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 Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 43 of file EcalRecHitsValidation.h.

Member Typedef Documentation

typedef std::map<uint32_t, float, std::less<uint32_t> > EcalRecHitsValidation::MapType
private

Definition at line 44 of file EcalRecHitsValidation.h.

Constructor & Destructor Documentation

EcalRecHitsValidation::EcalRecHitsValidation ( const edm::ParameterSet ps)

Constructor.

Definition at line 23 of file EcalRecHitsValidation.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLT_2018_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

23  {
24  // ----------------------
25  HepMCLabel = ps.getParameter<std::string>("moduleLabelMC");
26  hitsProducer_ = ps.getParameter<std::string>("hitsProducer");
27  EBrechitCollection_ = ps.getParameter<edm::InputTag>("EBrechitCollection");
28  EErechitCollection_ = ps.getParameter<edm::InputTag>("EErechitCollection");
29  ESrechitCollection_ = ps.getParameter<edm::InputTag>("ESrechitCollection");
30  EBuncalibrechitCollection_ = ps.getParameter<edm::InputTag>("EBuncalibrechitCollection");
31  EEuncalibrechitCollection_ = ps.getParameter<edm::InputTag>("EEuncalibrechitCollection");
32  // switch to allow disabling endcaps for phase 2
33  enableEndcaps_ = ps.getUntrackedParameter<bool>("enableEndcaps", true);
34 
35  // fix for consumes
36  HepMCLabel_Token_ = consumes<HepMCProduct>(ps.getParameter<std::string>("moduleLabelMC"));
37  EBrechitCollection_Token_ = consumes<EBRecHitCollection>(ps.getParameter<edm::InputTag>("EBrechitCollection"));
39  consumes<EBUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EBuncalibrechitCollection"));
40 
41  EBHits_Token_ = consumes<CrossingFrame<PCaloHit>>(
42  edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsEB")));
43  if (enableEndcaps_) {
44  EErechitCollection_Token_ = consumes<EERecHitCollection>(ps.getParameter<edm::InputTag>("EErechitCollection"));
45  ESrechitCollection_Token_ = consumes<ESRecHitCollection>(ps.getParameter<edm::InputTag>("ESrechitCollection"));
47  consumes<EEUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EEuncalibrechitCollection"));
48  EEHits_Token_ = consumes<CrossingFrame<PCaloHit>>(
49  edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsEE")));
50  ESHits_Token_ = consumes<CrossingFrame<PCaloHit>>(
51  edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsES")));
52  }
53 
54  // ----------------------
55  // DQM ROOT output
56  outputFile_ = ps.getUntrackedParameter<string>("outputFile", "");
57 
58  if (!outputFile_.empty()) {
59  LogInfo("OutputInfo") << " Ecal RecHits Task histograms will be saved to '" << outputFile_.c_str() << "'";
60  } else {
61  LogInfo("OutputInfo") << " Ecal RecHits Task histograms will NOT be saved";
62  }
63 
64  // ----------------------
65  // verbosity switch
66  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
67 
68  // ----------------------
69  meGunEnergy_ = nullptr;
70  meGunEta_ = nullptr;
71  meGunPhi_ = nullptr;
72  meEBRecHitSimHitRatio_ = nullptr;
73  meEERecHitSimHitRatio_ = nullptr;
74  meESRecHitSimHitRatio_ = nullptr;
77  meEBRecHitSimHitRatio12_ = nullptr;
78  meEERecHitSimHitRatio12_ = nullptr;
79  meEBRecHitSimHitRatio13_ = nullptr;
80  meEERecHitSimHitRatio13_ = nullptr;
83  meEBUnRecHitSimHitRatio_ = nullptr;
84  meEEUnRecHitSimHitRatio_ = nullptr;
87  meEBe5x5_ = nullptr;
88  meEBe5x5OverSimHits_ = nullptr;
89  meEBe5x5OverGun_ = nullptr;
90  meEEe5x5_ = nullptr;
91  meEEe5x5OverSimHits_ = nullptr;
92  meEEe5x5OverGun_ = nullptr;
93 
94  meEBRecHitLog10Energy_ = nullptr;
95  meEERecHitLog10Energy_ = nullptr;
96  meESRecHitLog10Energy_ = nullptr;
102 
109 
110  meEBRecHitFlags_ = nullptr;
112  meEBRecHitSimHitFlag6_ = nullptr;
113  meEBRecHitSimHitFlag7_ = nullptr;
115 
116  meEERecHitFlags_ = nullptr;
118  meEERecHitSimHitFlag6_ = nullptr;
119  meEERecHitSimHitFlag7_ = nullptr;
120 }
MonitorElement * meEERecHitsOccupancyPlusFlag5_6_
MonitorElement * meEBRecHitSimHitRatio13_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meEBRecHitLog10Energy5x5Contr_
MonitorElement * meEBRecHitSimHitRatio1011_
MonitorElement * meEBRecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatio12_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
MonitorElement * meEERecHitSimHitRatio12_
MonitorElement * meEERecHitsOccupancyMinusFlag5_6_
edm::EDGetTokenT< ESRecHitCollection > ESrechitCollection_Token_
MonitorElement * meEERecHitSimHitRatio13_
MonitorElement * meEBe5x5OverSimHits_
MonitorElement * meEBRecHitSimHitFlag6_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
MonitorElement * meEB5x5RecHitSimHitvsSimHitFlag8_
edm::EDGetTokenT< EERecHitCollection > EErechitCollection_Token_
edm::InputTag EBuncalibrechitCollection_
MonitorElement * meEBUnRecHitSimHitRatio_
MonitorElement * meEBRecHitLog10EnergyContr_
MonitorElement * meEBRecHitsOccupancyFlag8_9_
MonitorElement * meEERecHitLog10EnergyContr_
MonitorElement * meGunEnergy_
MonitorElement * meEERecHitsOccupancyMinusFlag8_9_
MonitorElement * meEERecHitFlags_
MonitorElement * meEERecHitSimHitFlag6_
MonitorElement * meEEUnRecHitSimHitRatioGt35_
MonitorElement * meEEUnRecHitSimHitRatio_
MonitorElement * meEERecHitSimHitRatioGt35_
edm::InputTag EEuncalibrechitCollection_
MonitorElement * meEERecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatioGt35_
edm::EDGetTokenT< EEUncalibratedRecHitCollection > EEuncalibrechitCollection_Token_
edm::EDGetTokenT< EBRecHitCollection > EBrechitCollection_Token_
MonitorElement * meESRecHitLog10Energy_
MonitorElement * meEBRecHitSimHitvsSimHitFlag5_6_
MonitorElement * meEERecHitSimHitvsSimHitFlag5_6_
MonitorElement * meEBRecHitFlags_
MonitorElement * meEERecHitLog10Energy_
MonitorElement * meEBRecHitLog10Energy_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > EBuncalibrechitCollection_Token_
MonitorElement * meEBUnRecHitSimHitRatioGt35_
MonitorElement * meEERecHitLog10Energy5x5Contr_
MonitorElement * meESRecHitLog10EnergyContr_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
MonitorElement * meEERecHitsOccupancyPlusFlag8_9_
MonitorElement * meESRecHitSimHitRatio_
MonitorElement * meEBRecHitSimHitRatio_
MonitorElement * meEBRecHitsOccupancyFlag5_6_
MonitorElement * meEEe5x5OverGun_
MonitorElement * meEERecHitSimHitRatio1011_
MonitorElement * meEEe5x5OverSimHits_
edm::EDGetTokenT< edm::HepMCProduct > HepMCLabel_Token_
MonitorElement * meEBe5x5OverGun_
MonitorElement * meEERecHitSimHitRatio_
EcalRecHitsValidation::~EcalRecHitsValidation ( )
override

Destructor.

Definition at line 122 of file EcalRecHitsValidation.cc.

122 {}

Member Function Documentation

void EcalRecHitsValidation::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Analyze.

Definition at line 291 of file EcalRecHitsValidation.cc.

References funct::abs(), HLT_2018_cff::barrelHits, edm::SortedCollection< T, SORT >::begin(), l1GtPatternGenerator_cfi::bx, EcalTrigTowerConstituentsMap::constituentsOf(), CollectionTags_cfi::EBRecHit, CollectionTags_cfi::EBUncalibRecHit, CollectionTags_cfi::EERecHit, CollectionTags_cfi::EEUncalibRecHit, EcalCondObjectContainer< T >::end(), edm::SortedCollection< T, SORT >::end(), HLT_2018_cff::endcapHits, edm::EventID::event(), EcalCondObjectContainer< T >::find(), edm::SortedCollection< T, SORT >::find(), RemoveAddSevLevel::flag, edm::EventSetup::get(), edm::Event::getByToken(), EcalADCToGeVConstant::getEBValue(), EcalADCToGeVConstant::getEEValue(), edm::HepMCProduct::GetEvent(), EcalChannelStatusCode::getStatusCode(), mps_fire::i, edm::EventBase::id(), EBDetId::ieta(), EBDetId::ietaAbs(), createfilelist::int, EBDetId::iphi(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), EcalRecHit::kDead, EcalRecHit::kLeadingEdgeRecovered, EcalRecHit::kNeighboursRecovered, EcalRecHit::kSaturated, EcalRecHit::kTowerRecovered, dqm-mbProfile::log, LogDebug, M_PI, AlCaHLTBitMon_ParallelJobs::p, gedPhotons_cfi::preshowerHits, edm::Handle< T >::product(), edm::ESHandle< T >::product(), DetId::rawId(), rpcPointValidation_cfi::recHit, edm::EventID::run(), SimDataFormats::CaloAnalysis::sc, MixCollection< T >::size(), funct::tan(), EBDetId::tower(), EBDetId::zside(), and EEDetId::zside().

291  {
292  // Temporary stuff
293 
294  LogInfo("EcalRecHitsTask, EventInfo: ") << " Run = " << e.id().run() << " Event = " << e.id().event();
295 
296  // ADC -> GeV Scale
298  c.get<EcalADCToGeVConstantRcd>().get(pAgc);
299  const EcalADCToGeVConstant *agc = pAgc.product();
300  const double barrelADCtoGeV_ = agc->getEBValue();
301  const double endcapADCtoGeV_ = agc->getEEValue();
302 
303  Handle<HepMCProduct> MCEvt;
304  bool skipMC = false;
305  e.getByToken(HepMCLabel_Token_, MCEvt);
306  if (!MCEvt.isValid()) {
307  skipMC = true;
308  }
309 
311 
312  bool skipBarrel = false;
314  Handle<EBUncalibratedRecHitCollection> EcalUncalibRecHitEB;
315  e.getByToken(EBuncalibrechitCollection_Token_, EcalUncalibRecHitEB);
316  if (EcalUncalibRecHitEB.isValid()) {
317  EBUncalibRecHit = EcalUncalibRecHitEB.product();
318  } else {
319  skipBarrel = true;
320  }
321 
322  bool skipEndcap = false;
324  Handle<EEUncalibratedRecHitCollection> EcalUncalibRecHitEE;
325  if (enableEndcaps_) {
326  e.getByToken(EEuncalibrechitCollection_Token_, EcalUncalibRecHitEE);
327  if (EcalUncalibRecHitEE.isValid()) {
328  EEUncalibRecHit = EcalUncalibRecHitEE.product();
329  } else {
330  skipEndcap = true;
331  }
332  } else
333  skipEndcap = true;
334 
335  const EBRecHitCollection *EBRecHit = nullptr;
336  Handle<EBRecHitCollection> EcalRecHitEB;
337  e.getByToken(EBrechitCollection_Token_, EcalRecHitEB);
338  if (EcalRecHitEB.isValid()) {
339  EBRecHit = EcalRecHitEB.product();
340  } else {
341  skipBarrel = true;
342  }
343 
344  const EERecHitCollection *EERecHit = nullptr;
345  Handle<EERecHitCollection> EcalRecHitEE;
346  if (enableEndcaps_) {
347  e.getByToken(EErechitCollection_Token_, EcalRecHitEE);
348  if (EcalRecHitEE.isValid()) {
349  EERecHit = EcalRecHitEE.product();
350  } else {
351  skipEndcap = true;
352  }
353  }
354 
355  bool skipPreshower = false;
356  const ESRecHitCollection *ESRecHit = nullptr;
357  Handle<ESRecHitCollection> EcalRecHitES;
358  if (enableEndcaps_) {
359  e.getByToken(ESrechitCollection_Token_, EcalRecHitES);
360  if (EcalRecHitES.isValid()) {
361  ESRecHit = EcalRecHitES.product();
362  } else {
363  skipPreshower = true;
364  }
365  } else
366  skipPreshower = true;
367 
368  // ----------------------
369  // gun
370  double eGun = 0.;
371  if (!skipMC) {
372  for (HepMC::GenEvent::particle_const_iterator p = MCEvt->GetEvent()->particles_begin();
373  p != MCEvt->GetEvent()->particles_end();
374  ++p) {
375  double htheta = (*p)->momentum().theta();
376  double heta = -99999.;
377  if (tan(htheta * 0.5) > 0) {
378  heta = -log(tan(htheta * 0.5));
379  }
380  double hphi = (*p)->momentum().phi();
381  hphi = (hphi >= 0) ? hphi : hphi + 2 * M_PI;
382  hphi = hphi / M_PI * 180.;
383 
384  LogDebug("EventInfo") << "EcalRecHitsTask: Particle gun type form MC = " << abs((*p)->pdg_id()) << "\n"
385  << "Energy = " << (*p)->momentum().e() << "\n"
386  << "Eta = " << heta << "\n"
387  << "Phi = " << hphi;
388 
389  if ((*p)->momentum().e() > eGun)
390  eGun = (*p)->momentum().e();
391 
392  if (meGunEnergy_)
393  meGunEnergy_->Fill((*p)->momentum().e());
394  if (meGunEta_)
395  meGunEta_->Fill(heta);
396  if (meGunPhi_)
397  meGunPhi_->Fill(hphi);
398  }
399  }
400 
401  // -------------------------------------------------------------------
402  // BARREL
403 
404  if (!skipBarrel) {
405  // 1) loop over simHits
406  e.getByToken(EBHits_Token_, crossingFrame);
407  const MixCollection<PCaloHit> barrelHits(crossingFrame.product());
408 
409  MapType ebSimMap;
410  MapType ebRecMap;
411  const int ebcSize = 90;
412  double ebcontr[ebcSize];
413  double ebcontr25[ebcSize];
414  for (int i = 0; i < ebcSize; i++) {
415  ebcontr[i] = 0.0;
416  ebcontr25[i] = 0.0;
417  }
418  double ebtotal = 0.;
419 
420  for (auto const &iHit : barrelHits) {
421  EBDetId ebid = EBDetId(iHit.id());
422 
423  LogDebug("SimHitInfo, barrel") << "CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
424  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
425  << "EBDetId = " << ebid.ieta() << " " << ebid.iphi();
426 
427  uint32_t crystid = ebid.rawId();
428  ebSimMap[crystid] += iHit.energy();
429  }
430 
431  // 2) loop over RecHits
432  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EBUncalibRecHit->begin();
433  uncalibRecHit != EBUncalibRecHit->end();
434  ++uncalibRecHit) {
435  EBDetId EBid = EBDetId(uncalibRecHit->id());
436 
437  // Find corresponding recHit
438  EcalRecHitCollection::const_iterator myRecHit = EBRecHit->find(EBid);
439  if (myRecHit == EBRecHit->end())
440  continue;
441  ebRecMap[EBid.rawId()] += myRecHit->energy();
442 
443  // Fill log10(Energy) stuff...
444  ebtotal += myRecHit->energy();
445  if (myRecHit->energy() > 0) {
447  meEBRecHitLog10Energy_->Fill(log10(myRecHit->energy()));
448  int log10i = int((log10(myRecHit->energy()) + 5.) * 10.);
449  if (log10i >= 0 and log10i < ebcSize)
450  ebcontr[log10i] += myRecHit->energy();
451  }
452 
453  // comparison Rec/Sim hit
454  if (ebSimMap[EBid.rawId()] != 0.) {
455  double uncEnergy = uncalibRecHit->amplitude() * barrelADCtoGeV_;
457  meEBUnRecHitSimHitRatio_->Fill(uncEnergy / ebSimMap[EBid.rawId()]);
458  }
459  if (meEBUnRecHitSimHitRatioGt35_ && (myRecHit->energy() > 3.5)) {
460  meEBUnRecHitSimHitRatioGt35_->Fill(uncEnergy / ebSimMap[EBid.rawId()]);
461  }
462  }
463 
464  if (myRecHit != EBRecHit->end()) {
465  if (ebSimMap[EBid.rawId()] != 0.) {
467  meEBRecHitSimHitRatio_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
468  }
469  if (meEBRecHitSimHitRatioGt35_ && (myRecHit->energy() > 3.5)) {
470  meEBRecHitSimHitRatioGt35_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
471  }
472  uint16_t sc = 0;
474  c.get<EcalChannelStatusRcd>().get(pEcs);
475  const EcalChannelStatus *ecs = nullptr;
476  if (pEcs.isValid())
477  ecs = pEcs.product();
478  if (ecs != nullptr) {
479  EcalChannelStatusMap::const_iterator csmi = ecs->find(EBid.rawId());
481  if (csmi != ecs->end())
482  csc = *csmi;
483  sc = csc.getStatusCode();
484  }
485 
486  if (meEBRecHitSimHitRatio1011_ != nullptr && (sc == 10 || sc == 11)) {
487  meEBRecHitSimHitRatio1011_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
488  }
489  if (meEBRecHitSimHitRatio12_ != nullptr && sc == 12) {
490  meEBRecHitSimHitRatio12_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
491  }
492 
494  c.get<IdealGeometryRecord>().get(pttMap);
495  const EcalTrigTowerConstituentsMap *ttMap = nullptr;
496  if (pttMap.isValid())
497  ttMap = pttMap.product();
498  double ttSimEnergy = 0;
499  if (ttMap != nullptr) {
500  EcalTrigTowerDetId ttDetId = EBid.tower();
501  std::vector<DetId> vid = ttMap->constituentsOf(ttDetId);
502  for (std::vector<DetId>::const_iterator dit = vid.begin(); dit != vid.end(); dit++) {
503  EBDetId ttEBid = EBDetId(*dit);
504  ttSimEnergy += ebSimMap[ttEBid.rawId()];
505  }
506  if (!vid.empty())
507  ttSimEnergy = ttSimEnergy / vid.size();
508  }
509  if (meEBRecHitSimHitRatio13_ != nullptr && sc == 13 && ttSimEnergy != 0)
510  meEBRecHitSimHitRatio13_->Fill(myRecHit->energy() / ttSimEnergy);
511 
512  int flag = myRecHit->recoFlag();
513  if (meEBRecHitFlags_ != nullptr)
514  meEBRecHitFlags_->Fill(flag);
517  meEBRecHitSimHitvsSimHitFlag5_6_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()], ebSimMap[EBid.rawId()]);
519  meEBRecHitSimHitFlag6_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
521  meEBRecHitSimHitFlag6_->Fill(myRecHit->energy() / ebSimMap[EBid.rawId()]);
522  if (meEB5x5RecHitSimHitvsSimHitFlag8_ && (flag == EcalRecHit::kTowerRecovered) && ttSimEnergy != 0)
523  meEB5x5RecHitSimHitvsSimHitFlag8_->Fill(myRecHit->energy() / ttSimEnergy, ttSimEnergy);
524 
527  meEBRecHitsOccupancyFlag5_6_->Fill(EBid.ieta(), EBid.iphi());
529  meEBRecHitsOccupancyFlag8_9_->Fill(EBid.ieta(), EBid.iphi());
530  }
531  } else
532  continue;
533  } // loop over the UncalibratedRecHitCollection
534 
535  // RecHits matrix
536  uint32_t ebcenterid = getUnitWithMaxEnergy(ebRecMap);
537  EBDetId myEBid(ebcenterid);
538  int bx = myEBid.ietaAbs();
539  int by = myEBid.iphi();
540  int bz = myEBid.zside();
541  findBarrelMatrix(5, 5, bx, by, bz, ebRecMap);
542  double e5x5rec = 0.;
543  double e5x5sim = 0.;
544  for (unsigned int i = 0; i < crystalMatrix.size(); i++) {
545  e5x5rec += ebRecMap[crystalMatrix[i]];
546  e5x5sim += ebSimMap[crystalMatrix[i]];
547  if (ebRecMap[crystalMatrix[i]] > 0) {
548  int log10i25 = int((log10(ebRecMap[crystalMatrix[i]]) + 5.) * 10.);
549  if (log10i25 >= 0 && log10i25 < ebcSize)
550  ebcontr25[log10i25] += ebRecMap[crystalMatrix[i]];
551  }
552  }
553 
554  if (meEBe5x5_)
555  meEBe5x5_->Fill(e5x5rec);
556  if (e5x5sim > 0. && meEBe5x5OverSimHits_)
557  meEBe5x5OverSimHits_->Fill(e5x5rec / e5x5sim);
558  if (eGun > 0. && meEBe5x5OverGun_)
559  meEBe5x5OverGun_->Fill(e5x5rec / eGun);
560 
561  if (meEBRecHitLog10EnergyContr_ && ebtotal != 0) {
562  for (int i = 0; i < ebcSize; i++) {
563  meEBRecHitLog10EnergyContr_->Fill(-5. + (float(i) + 0.5) / 10., ebcontr[i] / ebtotal);
564  }
565  }
566 
567  if (meEBRecHitLog10Energy5x5Contr_ && e5x5rec != 0) {
568  for (int i = 0; i < ebcSize; i++) {
569  meEBRecHitLog10Energy5x5Contr_->Fill(-5. + (float(i) + 0.5) / 10., ebcontr25[i] / e5x5rec);
570  }
571  }
572  }
573 
574  // -------------------------------------------------------------------
575  // ENDCAP
576 
577  if (!skipEndcap) {
578  // 1) loop over simHits
579  e.getByToken(EEHits_Token_, crossingFrame);
580  const MixCollection<PCaloHit> endcapHits(crossingFrame.product());
581 
582  MapType eeSimMap;
583  MapType eeRecMap;
584  const int eecSize = 90;
585  double eecontr[eecSize];
586  double eecontr25[eecSize];
587  for (int i = 0; i < eecSize; i++) {
588  eecontr[i] = 0.0;
589  eecontr25[i] = 0.0;
590  }
591  double eetotal = 0.;
592 
593  for (auto const &iHit : endcapHits) {
594  EEDetId eeid(iHit.id());
595 
596  LogDebug("Endcap, HitInfo") << " CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
597  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
598  << "EEDetId side " << eeid.zside() << " = " << eeid.ix() << " " << eeid.iy();
599 
600  uint32_t crystid = eeid.rawId();
601  eeSimMap[crystid] += iHit.energy();
602  }
603 
604  // 2) loop over RecHits
605  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EEUncalibRecHit->begin();
606  uncalibRecHit != EEUncalibRecHit->end();
607  ++uncalibRecHit) {
608  EEDetId EEid = EEDetId(uncalibRecHit->id());
609 
610  // Find corresponding recHit
611  EcalRecHitCollection::const_iterator myRecHit = EERecHit->find(EEid);
612  if (myRecHit == EERecHit->end())
613  continue;
614  eeRecMap[EEid.rawId()] += myRecHit->energy();
615 
616  // Fill log10(Energy) stuff...
617  eetotal += myRecHit->energy();
618  if (myRecHit->energy() > 0) {
620  meEERecHitLog10Energy_->Fill(log10(myRecHit->energy()));
621  int log10i = int((log10(myRecHit->energy()) + 5.) * 10.);
622  if (log10i >= 0 and log10i < eecSize)
623  eecontr[log10i] += myRecHit->energy();
624  }
625 
626  // comparison Rec/Sim hit
627  if (eeSimMap[EEid.rawId()] != 0.) {
628  double uncEnergy = uncalibRecHit->amplitude() * endcapADCtoGeV_;
630  meEEUnRecHitSimHitRatio_->Fill(uncEnergy / eeSimMap[EEid.rawId()]);
631  }
632  if (meEEUnRecHitSimHitRatioGt35_ && (myRecHit->energy() > 3.5)) {
633  meEEUnRecHitSimHitRatioGt35_->Fill(uncEnergy / eeSimMap[EEid.rawId()]);
634  }
635  }
636 
637  if (myRecHit != EERecHit->end()) {
638  if (eeSimMap[EEid.rawId()] != 0.) {
640  meEERecHitSimHitRatio_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
641  }
642  if (meEERecHitSimHitRatioGt35_ && (myRecHit->energy() > 3.5)) {
643  meEERecHitSimHitRatioGt35_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
644  }
645 
647  c.get<EcalChannelStatusRcd>().get(pEcs);
648  const EcalChannelStatus *ecs = nullptr;
649  if (pEcs.isValid())
650  ecs = pEcs.product();
651  if (ecs != nullptr) {
652  EcalChannelStatusMap::const_iterator csmi = ecs->find(EEid.rawId());
653  EcalChannelStatusCode csc = 0;
654  if (csmi != ecs->end())
655  csc = *csmi;
656  uint16_t sc = csc.getStatusCode();
657  if (meEERecHitSimHitRatio1011_ != nullptr && (sc == 10 || sc == 11)) {
658  meEERecHitSimHitRatio1011_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
659  }
660  if (meEERecHitSimHitRatio12_ != nullptr && sc == 12) {
661  meEERecHitSimHitRatio12_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
662  }
663  if (meEERecHitSimHitRatio13_ != nullptr && sc == 13) {
664  meEERecHitSimHitRatio13_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
665  }
666  }
667 
668  int flag = myRecHit->recoFlag();
669  if (meEERecHitFlags_ != nullptr)
670  meEERecHitFlags_->Fill(flag);
673  meEERecHitSimHitvsSimHitFlag5_6_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()], eeSimMap[EEid.rawId()]);
675  meEERecHitSimHitFlag6_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
677  meEERecHitSimHitFlag6_->Fill(myRecHit->energy() / eeSimMap[EEid.rawId()]);
678 
679  if (EEid.zside() > 0) {
682  meEERecHitsOccupancyPlusFlag5_6_->Fill(EEid.ix(), EEid.iy());
684  ((flag == EcalRecHit::kTowerRecovered) || (flag == EcalRecHit::kDead)))
685  meEERecHitsOccupancyPlusFlag8_9_->Fill(EEid.ix(), EEid.iy());
686  }
687  if (EEid.zside() < 0) {
690  meEERecHitsOccupancyMinusFlag5_6_->Fill(EEid.ix(), EEid.iy());
692  ((flag == EcalRecHit::kTowerRecovered) || (flag == EcalRecHit::kDead)))
693  meEERecHitsOccupancyMinusFlag8_9_->Fill(EEid.ix(), EEid.iy());
694  }
695  }
696  } else
697  continue;
698  } // loop over the UncalibratedechitCollection
699 
700  // RecHits matrix
701  uint32_t eecenterid = getUnitWithMaxEnergy(eeRecMap);
702  EEDetId myEEid(eecenterid);
703  int bx = myEEid.ix();
704  int by = myEEid.iy();
705  int bz = myEEid.zside();
706  findEndcapMatrix(5, 5, bx, by, bz, eeRecMap);
707  double e5x5rec = 0.;
708  double e5x5sim = 0.;
709  for (unsigned int i = 0; i < crystalMatrix.size(); i++) {
710  e5x5rec += eeRecMap[crystalMatrix[i]];
711  e5x5sim += eeSimMap[crystalMatrix[i]];
712  if (eeRecMap[crystalMatrix[i]] > 0) {
713  int log10i25 = int((log10(eeRecMap[crystalMatrix[i]]) + 5.) * 10.);
714  if (log10i25 >= 0 && log10i25 < eecSize)
715  eecontr25[log10i25] += eeRecMap[crystalMatrix[i]];
716  }
717  }
718 
719  if (meEEe5x5_)
720  meEEe5x5_->Fill(e5x5rec);
721  if (e5x5sim > 0. && meEEe5x5OverSimHits_)
722  meEEe5x5OverSimHits_->Fill(e5x5rec / e5x5sim);
723  if (eGun > 0. && meEEe5x5OverGun_)
724  meEEe5x5OverGun_->Fill(e5x5rec / eGun);
725 
726  if (meEERecHitLog10EnergyContr_ && eetotal != 0) {
727  for (int i = 0; i < eecSize; i++) {
728  meEERecHitLog10EnergyContr_->Fill(-5. + (float(i) + 0.5) / 10., eecontr[i] / eetotal);
729  }
730  }
731 
732  if (meEERecHitLog10Energy5x5Contr_ && e5x5rec != 0) {
733  for (int i = 0; i < eecSize; i++) {
734  meEERecHitLog10Energy5x5Contr_->Fill(-5. + (float(i) + 0.5) / 10., eecontr25[i] / e5x5rec);
735  }
736  }
737  }
738 
739  // -------------------------------------------------------------------
740  // PRESHOWER
741 
742  if (!skipPreshower) {
743  // 1) loop over simHits
744  e.getByToken(ESHits_Token_, crossingFrame);
745  const MixCollection<PCaloHit> preshowerHits(crossingFrame.product());
746 
747  MapType esSimMap;
748  const int escSize = 90;
749  double escontr[escSize];
750  for (int i = 0; i < escSize; i++) {
751  escontr[i] = 0.0;
752  }
753  double estotal = 0.;
754 
755  for (auto const &iHit : preshowerHits) {
756  ESDetId esid(iHit.id());
757  LogDebug("Preshower, HitInfo") << " CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
758  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
759  << "ESDetId strip " << esid.strip() << " = " << esid.six() << " " << esid.siy();
760 
761  uint32_t crystid = esid.rawId();
762  esSimMap[crystid] += iHit.energy();
763  }
764 
765  // 2) loop over RecHits
766  for (EcalRecHitCollection::const_iterator recHit = ESRecHit->begin(); recHit != ESRecHit->end(); ++recHit) {
767  ESDetId ESid = ESDetId(recHit->id());
768  if (esSimMap[ESid.rawId()] != 0.) {
769  // Fill log10(Energy) stuff...
770  estotal += recHit->energy();
771  if (recHit->energy() > 0) {
773  meESRecHitLog10Energy_->Fill(log10(recHit->energy()));
774  int log10i = int((log10(recHit->energy()) + 5.) * 10.);
775  if (log10i >= 0 and log10i < escSize)
776  escontr[log10i] += recHit->energy();
777  }
778 
780  meESRecHitSimHitRatio_->Fill(recHit->energy() / esSimMap[ESid.rawId()]);
781  }
782  } else
783  continue;
784  } // loop over the RechitCollection
785 
786  if (meESRecHitLog10EnergyContr_ && estotal != 0) {
787  for (int i = 0; i < escSize; i++) {
788  meESRecHitLog10EnergyContr_->Fill(-5. + (float(i) + 0.5) / 10., escontr[i] / estotal);
789  }
790  }
791  }
792 }
#define LogDebug(id)
RunNumber_t run() const
Definition: EventID.h:38
MonitorElement * meEERecHitsOccupancyPlusFlag5_6_
MonitorElement * meEBRecHitSimHitRatio13_
EventNumber_t event() const
Definition: EventID.h:40
MonitorElement * meEBRecHitLog10Energy5x5Contr_
MonitorElement * meEBRecHitSimHitRatio1011_
int ix() const
Definition: EEDetId.h:77
MonitorElement * meEBRecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatio12_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
MonitorElement * meEERecHitSimHitRatio12_
Code getStatusCode() const
return decoded status
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::vector< T >::const_iterator const_iterator
MonitorElement * meEERecHitsOccupancyMinusFlag5_6_
edm::EDGetTokenT< ESRecHitCollection > ESrechitCollection_Token_
MonitorElement * meEERecHitSimHitRatio13_
MonitorElement * meEBe5x5OverSimHits_
uint32_t getUnitWithMaxEnergy(MapType &themap)
MonitorElement * meEBRecHitSimHitFlag6_
int size() const
Definition: MixCollection.h:20
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
MonitorElement * meEB5x5RecHitSimHitvsSimHitFlag8_
edm::EDGetTokenT< EERecHitCollection > EErechitCollection_Token_
int iphi() const
get the crystal iphi
Definition: EBDetId.h:51
void Fill(long long x)
std::map< uint32_t, float, std::less< uint32_t > > MapType
MonitorElement * meEBUnRecHitSimHitRatio_
MonitorElement * meEBRecHitLog10EnergyContr_
void findEndcapMatrix(int nCellInX, int nCellInY, int CentralX, int CentralY, int CentralZ, MapType &themap)
MonitorElement * meEBRecHitsOccupancyFlag8_9_
MonitorElement * meEERecHitLog10EnergyContr_
MonitorElement * meGunEnergy_
int zside() const
Definition: EEDetId.h:71
MonitorElement * meEERecHitsOccupancyMinusFlag8_9_
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MonitorElement * meEERecHitFlags_
int iy() const
Definition: EEDetId.h:83
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
Definition: EBDetId.h:57
int ieta() const
get the crystal ieta
Definition: EBDetId.h:49
MonitorElement * meEERecHitSimHitFlag6_
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * meEEUnRecHitSimHitRatioGt35_
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
MonitorElement * meEEUnRecHitSimHitRatio_
Definition: L1Track.h:19
MonitorElement * meEERecHitSimHitRatioGt35_
#define M_PI
MonitorElement * meEERecHitSimHitFlag7_
const_iterator end() const
MonitorElement * meEBRecHitSimHitRatioGt35_
edm::EDGetTokenT< EEUncalibratedRecHitCollection > EEuncalibrechitCollection_Token_
edm::EDGetTokenT< EBRecHitCollection > EBrechitCollection_Token_
MonitorElement * meESRecHitLog10Energy_
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:34
T const * product() const
Definition: Handle.h:69
MonitorElement * meEBRecHitSimHitvsSimHitFlag5_6_
std::vector< Item >::const_iterator const_iterator
MonitorElement * meEERecHitSimHitvsSimHitFlag5_6_
MonitorElement * meEBRecHitFlags_
MonitorElement * meEERecHitLog10Energy_
MonitorElement * meEBRecHitLog10Energy_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > EBuncalibrechitCollection_Token_
edm::EventID id() const
Definition: EventBase.h:59
iterator find(key_type k)
MonitorElement * meEBUnRecHitSimHitRatioGt35_
void findBarrelMatrix(int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &themap)
std::vector< uint32_t > crystalMatrix
MonitorElement * meEERecHitLog10Energy5x5Contr_
T get() const
Definition: EventSetup.h:73
MonitorElement * meESRecHitLog10EnergyContr_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
const_iterator find(uint32_t rawId) const
const_iterator end() const
MonitorElement * meEERecHitsOccupancyPlusFlag8_9_
MonitorElement * meESRecHitSimHitRatio_
MonitorElement * meEBRecHitSimHitRatio_
MonitorElement * meEBRecHitsOccupancyFlag5_6_
bool isValid() const
Definition: ESHandle.h:44
MonitorElement * meEEe5x5OverGun_
T const * product() const
Definition: ESHandle.h:86
MonitorElement * meEERecHitSimHitRatio1011_
MonitorElement * meEEe5x5OverSimHits_
edm::EDGetTokenT< edm::HepMCProduct > HepMCLabel_Token_
MonitorElement * meEBe5x5OverGun_
const_iterator begin() const
MonitorElement * meEERecHitSimHitRatio_
void EcalRecHitsValidation::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 124 of file EcalRecHitsValidation.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), timingPdfMaker::histo, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

124  {
126 
127  ibooker.setCurrentFolder("EcalRecHitsV/EcalRecHitsTask");
128 
129  histo = "EcalRecHitsTask Gun Momentum";
130  meGunEnergy_ = ibooker.book1D(histo.c_str(), histo.c_str(), 100, 0., 1000.);
131 
132  histo = "EcalRecHitsTask Gun Eta";
133  meGunEta_ = ibooker.book1D(histo.c_str(), histo.c_str(), 700, -3.5, 3.5);
134 
135  histo = "EcalRecHitsTask Gun Phi";
136  meGunPhi_ = ibooker.book1D(histo.c_str(), histo.c_str(), 360, 0., 360.);
137 
138  histo = "EcalRecHitsTask Barrel RecSimHit Ratio";
139  meEBRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
140 
141  histo = "EcalRecHitsTask Barrel RecSimHit Ratio gt 3p5 GeV";
142  meEBRecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
143 
144  histo = "EcalRecHitsTask Barrel Unc RecSimHit Ratio";
145  meEBUnRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
146 
147  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=10 11";
148  meEBRecHitSimHitRatio1011_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
149 
150  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=12";
151  meEBRecHitSimHitRatio12_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
152 
153  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=13";
154  meEBRecHitSimHitRatio13_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
155 
156  histo = "EcalRecHitsTask Barrel Unc RecSimHit Ratio gt 3p5 GeV";
157  meEBUnRecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
158 
159  histo = "EcalRecHitsTask Barrel Rec E5x5";
160  meEBe5x5_ = ibooker.book1D(histo.c_str(), histo.c_str(), 4000, 0., 400.);
161 
162  histo = "EcalRecHitsTask Barrel Rec E5x5 over Sim E5x5";
163  meEBe5x5OverSimHits_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
164 
165  histo = "EcalRecHitsTask Barrel Rec E5x5 over gun energy";
166  meEBe5x5OverGun_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
167 
169  ibooker.book1D("EcalRecHitsTask Barrel Log10 Energy", "EcalRecHitsTask Barrel Log10 Energy", 90, -5., 4.);
170  meEBRecHitLog10EnergyContr_ = ibooker.bookProfile("EcalRecHits Barrel Log10En vs Hit Contribution",
171  "EcalRecHits Barrel Log10En vs Hit Contribution",
172  90,
173  -5.,
174  4.,
175  100,
176  0.,
177  1.);
178  meEBRecHitLog10Energy5x5Contr_ = ibooker.bookProfile("EcalRecHits Barrel Log10En5x5 vs Hit Contribution",
179  "EcalRecHits Barrel Log10En5x5 vs Hit Contribution",
180  90,
181  -5.,
182  4.,
183  100,
184  0.,
185  1.);
186 
187  histo = "EB Occupancy Flag=5 6";
188  meEBRecHitsOccupancyFlag5_6_ = ibooker.book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
189  histo = "EB Occupancy Flag=8 9";
190  meEBRecHitsOccupancyFlag8_9_ = ibooker.book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
191 
192  histo = "EcalRecHitsTask Barrel Reco Flags";
193  meEBRecHitFlags_ = ibooker.book1D(histo.c_str(), histo.c_str(), 10, 0., 10.);
194  histo = "EcalRecHitsTask Barrel RecSimHit Ratio vs SimHit Flag=5 6";
195  meEBRecHitSimHitvsSimHitFlag5_6_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400.);
196  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Flag=6";
197  meEBRecHitSimHitFlag6_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
198  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Flag=7";
199  meEBRecHitSimHitFlag7_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
200  histo = "EcalRecHitsTask Barrel 5x5 RecSimHit Ratio vs SimHit Flag=8";
201  meEB5x5RecHitSimHitvsSimHitFlag8_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400.);
202 
203  if (enableEndcaps_) {
204  histo = "EcalRecHitsTask Preshower RecSimHit Ratio";
205  meESRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
206 
207  histo = "EcalRecHitsTask Endcap RecSimHit Ratio";
208  meEERecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
209 
210  histo = "EcalRecHitsTask Endcap RecSimHit Ratio gt 3p5 GeV";
211  meEERecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
212 
213  histo = "EcalRecHitsTask Endcap Unc RecSimHit Ratio";
214  meEEUnRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
215 
216  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=10 11";
217  meEERecHitSimHitRatio1011_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
218 
219  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=12";
220  meEERecHitSimHitRatio12_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
221 
222  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=13";
223  meEERecHitSimHitRatio13_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
224 
225  histo = "EcalRecHitsTask Endcap Unc RecSimHit Ratio gt 3p5 GeV";
226  meEEUnRecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
227 
228  histo = "EcalRecHitsTask Endcap Rec E5x5";
229  meEEe5x5_ = ibooker.book1D(histo.c_str(), histo.c_str(), 4000, 0., 400.);
230 
231  histo = "EcalRecHitsTask Endcap Rec E5x5 over Sim E5x5";
232  meEEe5x5OverSimHits_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
233 
234  histo = "EcalRecHitsTask Endcap Rec E5x5 over gun energy";
235  meEEe5x5OverGun_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
236 
238  ibooker.book1D("EcalRecHitsTask Endcap Log10 Energy", "EcalRecHitsTask Endcap Log10 Energy", 90, -5., 4.);
240  ibooker.book1D("EcalRecHitsTask Preshower Log10 Energy", "EcalRecHitsTask Preshower Log10 Energy", 90, -5., 4.);
241 
242  meEERecHitLog10EnergyContr_ = ibooker.bookProfile("EcalRecHits Endcap Log10En vs Hit Contribution",
243  "EcalRecHits Endcap Log10En vs Hit Contribution",
244  90,
245  -5.,
246  4.,
247  100,
248  0.,
249  1.);
250  meESRecHitLog10EnergyContr_ = ibooker.bookProfile("EcalRecHits Preshower Log10En vs Hit Contribution",
251  "EcalRecHits Preshower Log10En vs Hit Contribution",
252  90,
253  -5.,
254  4.,
255  100,
256  0.,
257  1.);
258 
259  meEERecHitLog10Energy5x5Contr_ = ibooker.bookProfile("EcalRecHits Endcap Log10En5x5 vs Hit Contribution",
260  "EcalRecHits Endcap Log10En5x5 vs Hit Contribution",
261  90,
262  -5.,
263  4.,
264  100,
265  0.,
266  1.);
267 
268  histo = "EE+ Occupancy Flag=5 6";
269  meEERecHitsOccupancyPlusFlag5_6_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
270  histo = "EE- Occupancy Flag=5 6";
271  meEERecHitsOccupancyMinusFlag5_6_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
272  histo = "EE+ Occupancy Flag=8 9";
273  meEERecHitsOccupancyPlusFlag8_9_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
274  histo = "EE- Occupancy Flag=8 9";
275  meEERecHitsOccupancyMinusFlag8_9_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
276 
277  histo = "EcalRecHitsTask Endcap Reco Flags";
278  meEERecHitFlags_ = ibooker.book1D(histo.c_str(), histo.c_str(), 10, 0., 10.);
279 
280  histo = "EcalRecHitsTask Endcap RecSimHit Ratio vs SimHit Flag=5 6";
281  meEERecHitSimHitvsSimHitFlag5_6_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400.);
282 
283  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Flag=6";
284  meEERecHitSimHitFlag6_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
285 
286  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Flag=7";
287  meEERecHitSimHitFlag7_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
288  }
289 }
MonitorElement * meEERecHitsOccupancyPlusFlag5_6_
MonitorElement * meEBRecHitSimHitRatio13_
MonitorElement * meEBRecHitLog10Energy5x5Contr_
MonitorElement * meEBRecHitSimHitRatio1011_
MonitorElement * meEBRecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatio12_
MonitorElement * meEERecHitSimHitRatio12_
MonitorElement * meEERecHitsOccupancyMinusFlag5_6_
MonitorElement * meEERecHitSimHitRatio13_
MonitorElement * meEBe5x5OverSimHits_
MonitorElement * meEBRecHitSimHitFlag6_
MonitorElement * meEB5x5RecHitSimHitvsSimHitFlag8_
MonitorElement * meEBUnRecHitSimHitRatio_
MonitorElement * meEBRecHitLog10EnergyContr_
MonitorElement * meEBRecHitsOccupancyFlag8_9_
MonitorElement * meEERecHitLog10EnergyContr_
MonitorElement * meGunEnergy_
MonitorElement * meEERecHitsOccupancyMinusFlag8_9_
MonitorElement * meEERecHitFlags_
MonitorElement * meEERecHitSimHitFlag6_
MonitorElement * meEEUnRecHitSimHitRatioGt35_
MonitorElement * meEEUnRecHitSimHitRatio_
MonitorElement * meEERecHitSimHitRatioGt35_
MonitorElement * meEERecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatioGt35_
MonitorElement * meESRecHitLog10Energy_
MonitorElement * meEBRecHitSimHitvsSimHitFlag5_6_
MonitorElement * meEERecHitSimHitvsSimHitFlag5_6_
MonitorElement * meEBRecHitFlags_
MonitorElement * meEERecHitLog10Energy_
MonitorElement * meEBRecHitLog10Energy_
MonitorElement * meEBUnRecHitSimHitRatioGt35_
MonitorElement * meEERecHitLog10Energy5x5Contr_
MonitorElement * meESRecHitLog10EnergyContr_
MonitorElement * meEERecHitsOccupancyPlusFlag8_9_
MonitorElement * meESRecHitSimHitRatio_
MonitorElement * meEBRecHitSimHitRatio_
MonitorElement * meEBRecHitsOccupancyFlag5_6_
MonitorElement * meEEe5x5OverGun_
MonitorElement * meEERecHitSimHitRatio1011_
MonitorElement * meEEe5x5OverSimHits_
MonitorElement * meEBe5x5OverGun_
MonitorElement * meEERecHitSimHitRatio_
void EcalRecHitsValidation::findBarrelMatrix ( int  nCellInEta,
int  nCellInPhi,
int  CentralEta,
int  CentralPhi,
int  CentralZ,
MapType themap 
)
protected

Definition at line 810 of file EcalRecHitsValidation.cc.

References funct::abs(), mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, and DetId::rawId().

811  {
812  int goBackInEta = nCellInEta / 2;
813  int goBackInPhi = nCellInPhi / 2;
814  int matrixSize = nCellInEta * nCellInPhi;
815  crystalMatrix.clear();
816  crystalMatrix.resize(matrixSize);
817 
818  int startEta = CentralZ * CentralEta - goBackInEta;
819  int startPhi = CentralPhi - goBackInPhi;
820 
821  int i = 0;
822  for (int ieta = startEta; ieta < startEta + nCellInEta; ieta++) {
823  for (int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++) {
824  uint32_t index;
825  if (abs(ieta) > 85 || abs(ieta) < 1) {
826  continue;
827  }
828  if (iphi < 1) {
829  index = EBDetId(ieta, iphi + 360).rawId();
830  } else if (iphi > 360) {
831  index = EBDetId(ieta, iphi - 360).rawId();
832  } else {
833  index = EBDetId(ieta, iphi).rawId();
834  }
835  crystalMatrix[i++] = index;
836  }
837  }
838 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< uint32_t > crystalMatrix
void EcalRecHitsValidation::findEndcapMatrix ( int  nCellInX,
int  nCellInY,
int  CentralX,
int  CentralY,
int  CentralZ,
MapType themap 
)
protected

Definition at line 840 of file EcalRecHitsValidation.cc.

References DetId::rawId(), and EEDetId::validDetId().

841  {
842  int goBackInX = nCellInX / 2;
843  int goBackInY = nCellInY / 2;
844  crystalMatrix.clear();
845 
846  int startX = CentralX - goBackInX;
847  int startY = CentralY - goBackInY;
848 
849  for (int ix = startX; ix < startX + nCellInX; ix++) {
850  for (int iy = startY; iy < startY + nCellInY; iy++) {
851  uint32_t index;
852 
853  if (EEDetId::validDetId(ix, iy, CentralZ)) {
854  index = EEDetId(ix, iy, CentralZ).rawId();
855  } else {
856  continue;
857  }
858  crystalMatrix.push_back(index);
859  }
860  }
861 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
std::vector< uint32_t > crystalMatrix
uint32_t EcalRecHitsValidation::getUnitWithMaxEnergy ( MapType themap)
protected

Definition at line 794 of file EcalRecHitsValidation.cc.

References particleFlowClusterECALTimeSelected_cfi::maxEnergy.

794  {
795  // look for max
796  uint32_t unitWithMaxEnergy = 0;
797  float maxEnergy = 0.;
798 
799  MapType::iterator iter;
800  for (iter = themap.begin(); iter != themap.end(); iter++) {
801  if (maxEnergy < (*iter).second) {
802  maxEnergy = (*iter).second;
803  unitWithMaxEnergy = (*iter).first;
804  }
805  }
806 
807  return unitWithMaxEnergy;
808 }

Member Data Documentation

std::vector<uint32_t> EcalRecHitsValidation::crystalMatrix
private

Definition at line 140 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<CrossingFrame<PCaloHit> > EcalRecHitsValidation::EBHits_Token_
private

Definition at line 83 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EBrechitCollection_
private

Definition at line 70 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<EBRecHitCollection> EcalRecHitsValidation::EBrechitCollection_Token_
private

Definition at line 78 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EBuncalibrechitCollection_
private

Definition at line 73 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<EBUncalibratedRecHitCollection> EcalRecHitsValidation::EBuncalibrechitCollection_Token_
private

Definition at line 81 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<CrossingFrame<PCaloHit> > EcalRecHitsValidation::EEHits_Token_
private

Definition at line 84 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EErechitCollection_
private

Definition at line 71 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<EERecHitCollection> EcalRecHitsValidation::EErechitCollection_Token_
private

Definition at line 79 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EEuncalibrechitCollection_
private

Definition at line 74 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<EEUncalibratedRecHitCollection> EcalRecHitsValidation::EEuncalibrechitCollection_Token_
private

Definition at line 82 of file EcalRecHitsValidation.h.

bool EcalRecHitsValidation::enableEndcaps_
private

Definition at line 75 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<CrossingFrame<PCaloHit> > EcalRecHitsValidation::ESHits_Token_
private

Definition at line 85 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::ESrechitCollection_
private

Definition at line 72 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<ESRecHitCollection> EcalRecHitsValidation::ESrechitCollection_Token_
private

Definition at line 80 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::HepMCLabel
private

Definition at line 63 of file EcalRecHitsValidation.h.

edm::EDGetTokenT<edm::HepMCProduct> EcalRecHitsValidation::HepMCLabel_Token_
private

Definition at line 77 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::hitsProducer_
private

Definition at line 64 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEB5x5RecHitSimHitvsSimHitFlag8_
private

Definition at line 133 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5_
private

Definition at line 105 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5OverGun_
private

Definition at line 107 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5OverSimHits_
private

Definition at line 106 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitFlags_
private

Definition at line 129 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10Energy5x5Contr_
private

Definition at line 118 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10Energy_
private

Definition at line 112 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10EnergyContr_
private

Definition at line 115 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitFlag6_
private

Definition at line 131 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitFlag7_
private

Definition at line 132 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio1011_
private

Definition at line 93 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio12_
private

Definition at line 95 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio13_
private

Definition at line 97 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio_
private

Definition at line 90 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatioGt35_
private

Definition at line 99 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitvsSimHitFlag5_6_
private

Definition at line 130 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitsOccupancyFlag5_6_
private

Definition at line 121 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitsOccupancyFlag8_9_
private

Definition at line 122 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBUnRecHitSimHitRatio_
private

Definition at line 101 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBUnRecHitSimHitRatioGt35_
private

Definition at line 103 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5_
private

Definition at line 108 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5OverGun_
private

Definition at line 110 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5OverSimHits_
private

Definition at line 109 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitFlags_
private

Definition at line 135 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10Energy5x5Contr_
private

Definition at line 119 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10Energy_
private

Definition at line 113 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10EnergyContr_
private

Definition at line 116 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitFlag6_
private

Definition at line 137 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitFlag7_
private

Definition at line 138 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio1011_
private

Definition at line 94 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio12_
private

Definition at line 96 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio13_
private

Definition at line 98 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio_
private

Definition at line 91 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatioGt35_
private

Definition at line 100 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitvsSimHitFlag5_6_
private

Definition at line 136 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyMinusFlag5_6_
private

Definition at line 125 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyMinusFlag8_9_
private

Definition at line 127 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyPlusFlag5_6_
private

Definition at line 124 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyPlusFlag8_9_
private

Definition at line 126 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEUnRecHitSimHitRatio_
private

Definition at line 102 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEUnRecHitSimHitRatioGt35_
private

Definition at line 104 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitLog10Energy_
private

Definition at line 114 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitLog10EnergyContr_
private

Definition at line 117 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitSimHitRatio_
private

Definition at line 92 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunEnergy_
private

Definition at line 87 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunEta_
private

Definition at line 88 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunPhi_
private

Definition at line 89 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::outputFile_
private

Definition at line 68 of file EcalRecHitsValidation.h.

bool EcalRecHitsValidation::verbose_
private

Definition at line 66 of file EcalRecHitsValidation.h.