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::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > 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 &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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 () 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
 
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)
 
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::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private 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_
 
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 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 44 of file EcalRecHitsValidation.h.

Member Typedef Documentation

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

Definition at line 46 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(), and AlCaHLTBitMon_QueryRunRegistry::string.

23  {
24 
25  // ----------------------
26  HepMCLabel = ps.getParameter<std::string>("moduleLabelMC");
27  hitsProducer_ = ps.getParameter<std::string>("hitsProducer");
28  EBrechitCollection_ = ps.getParameter<edm::InputTag>("EBrechitCollection");
29  EErechitCollection_ = ps.getParameter<edm::InputTag>("EErechitCollection");
30  ESrechitCollection_ = ps.getParameter<edm::InputTag>("ESrechitCollection");
31  EBuncalibrechitCollection_ = ps.getParameter<edm::InputTag>("EBuncalibrechitCollection");
32  EEuncalibrechitCollection_ = ps.getParameter<edm::InputTag>("EEuncalibrechitCollection");
33  // fix for consumes
34  HepMCLabel_Token_ = consumes<HepMCProduct>(ps.getParameter<std::string>("moduleLabelMC"));
35  EBrechitCollection_Token_ = consumes<EBRecHitCollection>(ps.getParameter<edm::InputTag>("EBrechitCollection"));
36  EErechitCollection_Token_ = consumes<EERecHitCollection>(ps.getParameter<edm::InputTag>("EErechitCollection"));
37  ESrechitCollection_Token_ = consumes<ESRecHitCollection>(ps.getParameter<edm::InputTag>("ESrechitCollection"));
38  EBuncalibrechitCollection_Token_ = consumes<EBUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EBuncalibrechitCollection"));
39  EEuncalibrechitCollection_Token_ = consumes<EEUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EEuncalibrechitCollection"));
40  EBHits_Token_ = consumes<CrossingFrame<PCaloHit> >(edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsEB")));
41  EEHits_Token_ = consumes<CrossingFrame<PCaloHit> >(edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsEE")));
42  ESHits_Token_ = consumes<CrossingFrame<PCaloHit> >(edm::InputTag(std::string("mix"), ps.getParameter<std::string>("hitsProducer") + std::string("EcalHitsES")));
43 
44  // ----------------------
45  // DQM ROOT output
46  outputFile_ = ps.getUntrackedParameter<string>("outputFile", "");
47 
48  if ( !outputFile_.empty() ) {
49  LogInfo("OutputInfo") << " Ecal RecHits Task histograms will be saved to '" << outputFile_.c_str() << "'";
50  } else {
51  LogInfo("OutputInfo") << " Ecal RecHits Task histograms will NOT be saved";
52  }
53 
54  // ----------------------
55  // verbosity switch
56  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
57 
58  // ----------------------
59  meGunEnergy_ = nullptr;
60  meGunEta_ = nullptr;
61  meGunPhi_ = nullptr;
62  meEBRecHitSimHitRatio_ = nullptr;
63  meEERecHitSimHitRatio_ = nullptr;
64  meESRecHitSimHitRatio_ = nullptr;
67  meEBRecHitSimHitRatio12_ = nullptr;
68  meEERecHitSimHitRatio12_ = nullptr;
69  meEBRecHitSimHitRatio13_ = nullptr;
70  meEERecHitSimHitRatio13_ = nullptr;
73  meEBUnRecHitSimHitRatio_ = nullptr;
74  meEEUnRecHitSimHitRatio_ = nullptr;
77  meEBe5x5_ = nullptr;
78  meEBe5x5OverSimHits_ = nullptr;
79  meEBe5x5OverGun_ = nullptr;
80  meEEe5x5_ = nullptr;
81  meEEe5x5OverSimHits_ = nullptr;
82  meEEe5x5OverGun_ = nullptr;
83 
84  meEBRecHitLog10Energy_ = nullptr;
85  meEERecHitLog10Energy_ = nullptr;
86  meESRecHitLog10Energy_ = nullptr;
92 
99 
100  meEBRecHitFlags_ = nullptr;
102  meEBRecHitSimHitFlag6_ = nullptr;
103  meEBRecHitSimHitFlag7_ = nullptr;
105 
106  meEERecHitFlags_ = nullptr;
108  meEERecHitSimHitFlag6_ = nullptr;
109  meEERecHitSimHitFlag7_ = nullptr;
110 
111 }
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 113 of file EcalRecHitsValidation.cc.

113  {
114 
115 }

Member Function Documentation

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

Analyze.

Definition at line 242 of file EcalRecHitsValidation.cc.

References funct::abs(), cosmicBasicClusters_cfi::barrelHits, edm::SortedCollection< T, SORT >::begin(), EcalTrigTowerConstituentsMap::constituentsOf(), EcalCondObjectContainer< T >::end(), edm::SortedCollection< T, SORT >::end(), cosmicBasicClusters_cfi::endcapHits, edm::EventID::event(), HcalObjRepresent::Fill(), 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, cmsBatch::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().

242  {
243 
244  //Temporary stuff
245 
246 
247 
248  LogInfo("EcalRecHitsTask, EventInfo: ") << " Run = " << e.id().run() << " Event = " << e.id().event();
249 
250  // ADC -> GeV Scale
252  c.get<EcalADCToGeVConstantRcd>().get(pAgc);
253  const EcalADCToGeVConstant* agc = pAgc.product();
254  const double barrelADCtoGeV_ = agc->getEBValue();
255  const double endcapADCtoGeV_ = agc->getEEValue();
256 
257  Handle<HepMCProduct> MCEvt;
258  bool skipMC = false;
259  e.getByToken(HepMCLabel_Token_, MCEvt);
260  if (!MCEvt.isValid()) { skipMC = true; }
261 
262  edm::Handle<CrossingFrame<PCaloHit> > crossingFrame;
263 
264  bool skipBarrel = false;
265  const EBUncalibratedRecHitCollection *EBUncalibRecHit =nullptr;
266  Handle< EBUncalibratedRecHitCollection > EcalUncalibRecHitEB;
267  e.getByToken( EBuncalibrechitCollection_Token_, EcalUncalibRecHitEB);
268  if (EcalUncalibRecHitEB.isValid()) {
269  EBUncalibRecHit = EcalUncalibRecHitEB.product() ;
270  } else {
271  skipBarrel = true;
272  }
273 
274  bool skipEndcap = false;
275  const EEUncalibratedRecHitCollection *EEUncalibRecHit = nullptr;
276  Handle< EEUncalibratedRecHitCollection > EcalUncalibRecHitEE;
277  e.getByToken( EEuncalibrechitCollection_Token_, EcalUncalibRecHitEE);
278  if (EcalUncalibRecHitEE.isValid()){
279  EEUncalibRecHit = EcalUncalibRecHitEE.product () ;
280  } else {
281  skipEndcap = true;
282  }
283 
284  const EBRecHitCollection *EBRecHit = nullptr;
285  Handle<EBRecHitCollection> EcalRecHitEB;
286  e.getByToken( EBrechitCollection_Token_, EcalRecHitEB);
287  if (EcalRecHitEB.isValid()){
288  EBRecHit = EcalRecHitEB.product();
289  } else {
290  skipBarrel = true;
291  }
292 
293  const EERecHitCollection *EERecHit = nullptr;
294  Handle<EERecHitCollection> EcalRecHitEE;
295  e.getByToken( EErechitCollection_Token_, EcalRecHitEE);
296  if (EcalRecHitEE.isValid()){
297  EERecHit = EcalRecHitEE.product ();
298  } else {
299  skipEndcap = true;
300  }
301 
302  bool skipPreshower = false;
303  const ESRecHitCollection *ESRecHit = nullptr;
304  Handle<ESRecHitCollection> EcalRecHitES;
305  e.getByToken( ESrechitCollection_Token_, EcalRecHitES);
306  if (EcalRecHitES.isValid()) {
307  ESRecHit = EcalRecHitES.product ();
308  } else {
309  skipPreshower = true;
310  }
311 
312 
313  // ----------------------
314  // gun
315  double eGun = 0.;
316  if ( ! skipMC ) {
317  for ( HepMC::GenEvent::particle_const_iterator p = MCEvt->GetEvent()->particles_begin(); p != MCEvt->GetEvent()->particles_end(); ++p ) {
318  double htheta = (*p)->momentum().theta();
319  double heta = -99999.;
320  if( tan(htheta * 0.5) > 0 ) {
321  heta = -log(tan(htheta * 0.5));
322  }
323  double hphi = (*p)->momentum().phi();
324  hphi = (hphi>=0) ? hphi : hphi+2*M_PI;
325  hphi = hphi / M_PI * 180.;
326 
327  LogDebug("EventInfo") << "EcalRecHitsTask: Particle gun type form MC = " << abs((*p)->pdg_id())
328  << "\n" << "Energy = "<< (*p)->momentum().e()
329  << "\n" << "Eta = " << heta
330  << "\n" << "Phi = " << hphi;
331 
332  if ( (*p)->momentum().e() > eGun ) eGun = (*p)->momentum().e();
333 
334  if (meGunEnergy_) meGunEnergy_->Fill((*p)->momentum().e());
335  if (meGunEta_) meGunEta_ ->Fill(heta);
336  if (meGunPhi_) meGunPhi_ ->Fill(hphi);
337  }
338  }
339 
340  // -------------------------------------------------------------------
341  // BARREL
342 
343  if ( ! skipBarrel) {
344 
345  // 1) loop over simHits
346  e.getByToken(EBHits_Token_,crossingFrame);
347  const MixCollection<PCaloHit> barrelHits(crossingFrame.product());
348 
349  MapType ebSimMap;
350  MapType ebRecMap;
351  const int ebcSize = 90;
352  double ebcontr[ebcSize];
353  double ebcontr25[ebcSize];
354  for( int i=0; i<ebcSize; i++ ) { ebcontr[i] = 0.0; ebcontr25[i] = 0.0; }
355  double ebtotal = 0.;
356 
357  for ( auto const & iHit : barrelHits ) {
358  EBDetId ebid = EBDetId(iHit.id());
359 
360  LogDebug("SimHitInfo, barrel")
361  << "CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
362  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
363  << "EBDetId = " << ebid.ieta() << " " << ebid.iphi();
364 
365  uint32_t crystid = ebid.rawId();
366  ebSimMap[crystid] += iHit.energy();
367  }
368 
369 
370 
371  // 2) loop over RecHits
372  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EBUncalibRecHit->begin(); uncalibRecHit != EBUncalibRecHit->end() ; ++uncalibRecHit) {
373  EBDetId EBid = EBDetId(uncalibRecHit->id());
374 
375  // Find corresponding recHit
376  EcalRecHitCollection::const_iterator myRecHit = EBRecHit->find(EBid);
377  if( myRecHit == EBRecHit->end() ) continue;
378  ebRecMap[EBid.rawId()] += myRecHit->energy();
379 
380  // Fill log10(Energy) stuff...
381  ebtotal += myRecHit->energy();
382  if( myRecHit->energy() > 0 ) {
383  if( meEBRecHitLog10Energy_ ) meEBRecHitLog10Energy_->Fill( log10( myRecHit->energy() ) );
384  int log10i = int( ( log10( myRecHit->energy() ) + 5. ) * 10. );
385  if( log10i >=0 and log10i < ebcSize ) ebcontr[ log10i ] += myRecHit->energy();
386  }
387 
388  // comparison Rec/Sim hit
389  if ( ebSimMap[EBid.rawId()] != 0. ) {
390  double uncEnergy = uncalibRecHit->amplitude()*barrelADCtoGeV_;
391  if (meEBUnRecHitSimHitRatio_) {meEBUnRecHitSimHitRatio_ ->Fill(uncEnergy/ebSimMap[EBid.rawId()]);}
392  if (meEBUnRecHitSimHitRatioGt35_ && (myRecHit->energy()>3.5)){meEBUnRecHitSimHitRatioGt35_->Fill(uncEnergy/ebSimMap[EBid.rawId()]);}
393  }
394 
395  if (myRecHit != EBRecHit->end()) {
396  if ( ebSimMap[EBid.rawId()] != 0. ) {
397  if (meEBRecHitSimHitRatio_) {meEBRecHitSimHitRatio_ ->Fill(myRecHit->energy()/ebSimMap[EBid.rawId()]);}
398  if (meEBRecHitSimHitRatioGt35_ && (myRecHit->energy()>3.5)){meEBRecHitSimHitRatioGt35_->Fill(myRecHit->energy()/ebSimMap[EBid.rawId()]);}
399  uint16_t sc = 0;
401  c.get<EcalChannelStatusRcd>().get(pEcs);
402  const EcalChannelStatus* ecs = nullptr;
403  if( pEcs.isValid() ) ecs = pEcs.product();
404  if( ecs != nullptr ) {
405  EcalChannelStatusMap::const_iterator csmi = ecs->find(EBid.rawId());
407  if( csmi != ecs->end() ) csc = *csmi;
408  sc = csc.getStatusCode();
409  }
410 
411  if( meEBRecHitSimHitRatio1011_ != nullptr &&
412  ( sc == 10 || sc == 11 ) ) { meEBRecHitSimHitRatio1011_->Fill(myRecHit->energy()/ebSimMap[EBid.rawId()]); }
413  if( meEBRecHitSimHitRatio12_ != nullptr && sc == 12 ) { meEBRecHitSimHitRatio12_->Fill(myRecHit->energy()/ebSimMap[EBid.rawId()]); }
414 
416  c.get<IdealGeometryRecord>().get(pttMap);
417  const EcalTrigTowerConstituentsMap* ttMap = nullptr;
418  if( pttMap.isValid() ) ttMap = pttMap.product();
419  double ttSimEnergy = 0;
420  if( ttMap != nullptr ) {
421  EcalTrigTowerDetId ttDetId = EBid.tower();
422  std::vector<DetId> vid = ttMap->constituentsOf( ttDetId );
423  for( std::vector<DetId>::const_iterator dit = vid.begin(); dit != vid.end(); dit++ ) {
424  EBDetId ttEBid = EBDetId(*dit);
425  ttSimEnergy += ebSimMap[ttEBid.rawId()];
426  }
427  if( !vid.empty() ) ttSimEnergy = ttSimEnergy / vid.size();
428  }
429  if( meEBRecHitSimHitRatio13_ != nullptr && sc == 13 && ttSimEnergy != 0 )
430  meEBRecHitSimHitRatio13_->Fill(myRecHit->energy()/ttSimEnergy);
431 
432  int flag = myRecHit->recoFlag();
433  if( meEBRecHitFlags_ != nullptr ) meEBRecHitFlags_->Fill( flag );
435  meEBRecHitSimHitvsSimHitFlag5_6_->Fill( myRecHit->energy()/ebSimMap[EBid.rawId()], ebSimMap[EBid.rawId()] );
437  meEBRecHitSimHitFlag6_->Fill( myRecHit->energy()/ebSimMap[EBid.rawId()] );
439  meEBRecHitSimHitFlag6_->Fill( myRecHit->energy()/ebSimMap[EBid.rawId()] );
440  if( meEB5x5RecHitSimHitvsSimHitFlag8_ && ( flag == EcalRecHit::kTowerRecovered ) && ttSimEnergy != 0 )
441  meEB5x5RecHitSimHitvsSimHitFlag8_->Fill( myRecHit->energy()/ttSimEnergy, ttSimEnergy );
442 
444  meEBRecHitsOccupancyFlag5_6_ -> Fill(EBid.ieta(), EBid.iphi());
446  meEBRecHitsOccupancyFlag8_9_ -> Fill(EBid.ieta(), EBid.iphi());
447 
448  }
449  }
450  else
451  continue;
452  } // loop over the UncalibratedRecHitCollection
453 
454  // RecHits matrix
455  uint32_t ebcenterid = getUnitWithMaxEnergy(ebRecMap);
456  EBDetId myEBid(ebcenterid);
457  int bx = myEBid.ietaAbs();
458  int by = myEBid.iphi();
459  int bz = myEBid.zside();
460  findBarrelMatrix(5,5,bx,by,bz,ebRecMap);
461  double e5x5rec = 0.;
462  double e5x5sim = 0.;
463  for ( unsigned int i = 0; i < crystalMatrix.size(); i++ ) {
464  e5x5rec += ebRecMap[crystalMatrix[i]];
465  e5x5sim += ebSimMap[crystalMatrix[i]];
466  if( ebRecMap[crystalMatrix[i]] > 0 ) {
467  int log10i25 = int( ( log10( ebRecMap[crystalMatrix[i]] ) + 5. ) * 10. );
468  if( log10i25 >=0 && log10i25 < ebcSize ) ebcontr25[ log10i25 ] += ebRecMap[crystalMatrix[i]];
469  }
470  }
471 
472  if( meEBe5x5_ ) meEBe5x5_->Fill(e5x5rec);
473  if ( e5x5sim > 0. && meEBe5x5OverSimHits_ ) meEBe5x5OverSimHits_->Fill(e5x5rec/e5x5sim);
474  if ( eGun > 0. && meEBe5x5OverGun_ ) meEBe5x5OverGun_->Fill(e5x5rec/eGun);
475 
476  if( meEBRecHitLog10EnergyContr_ && ebtotal != 0 ) {
477  for( int i=0; i<ebcSize; i++ ) {
478  meEBRecHitLog10EnergyContr_->Fill( -5.+(float(i)+0.5)/10., ebcontr[i]/ebtotal );
479  }
480  }
481 
482  if( meEBRecHitLog10Energy5x5Contr_ && e5x5rec != 0 ) {
483  for( int i=0; i<ebcSize; i++ ) {
484  meEBRecHitLog10Energy5x5Contr_->Fill( -5.+(float(i)+0.5)/10., ebcontr25[i]/e5x5rec );
485  }
486  }
487  }
488 
489  // -------------------------------------------------------------------
490  // ENDCAP
491 
492  if ( ! skipEndcap ) {
493 
494  // 1) loop over simHits
495  e.getByToken(EEHits_Token_,crossingFrame);
496  const MixCollection<PCaloHit> endcapHits(crossingFrame.product());
497 
498  MapType eeSimMap;
499  MapType eeRecMap;
500  const int eecSize = 90;
501  double eecontr[eecSize];
502  double eecontr25[eecSize];
503  for( int i=0; i<eecSize; i++ ) { eecontr[i] = 0.0; eecontr25[i] = 0.0; }
504  double eetotal = 0.;
505 
506  for ( auto const & iHit : endcapHits ) {
507  EEDetId eeid(iHit.id());
508 
509  LogDebug("Endcap, HitInfo")
510  <<" CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
511  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
512  << "EEDetId side " << eeid.zside() << " = " << eeid.ix() << " " << eeid.iy();
513 
514  uint32_t crystid = eeid.rawId();
515  eeSimMap[crystid] += iHit.energy();
516  }
517 
518 
519 
520  // 2) loop over RecHits
521  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EEUncalibRecHit->begin(); uncalibRecHit != EEUncalibRecHit->end(); ++uncalibRecHit) {
522  EEDetId EEid = EEDetId(uncalibRecHit->id());
523 
524  // Find corresponding recHit
525  EcalRecHitCollection::const_iterator myRecHit = EERecHit->find(EEid);
526  if( myRecHit == EERecHit->end() ) continue;
527  eeRecMap[EEid.rawId()] += myRecHit->energy();
528 
529  // Fill log10(Energy) stuff...
530  eetotal += myRecHit->energy();
531  if( myRecHit->energy() > 0 ) {
532  if( meEERecHitLog10Energy_ ) meEERecHitLog10Energy_->Fill( log10( myRecHit->energy() ) );
533  int log10i = int( ( log10( myRecHit->energy() ) + 5. ) * 10. );
534  if( log10i >=0 and log10i < eecSize ) eecontr[ log10i ] += myRecHit->energy();
535  }
536 
537  // comparison Rec/Sim hit
538  if ( eeSimMap[EEid.rawId()] != 0. ) {
539  double uncEnergy = uncalibRecHit->amplitude()*endcapADCtoGeV_;
540  if (meEEUnRecHitSimHitRatio_) {meEEUnRecHitSimHitRatio_ ->Fill(uncEnergy/eeSimMap[EEid.rawId()]);}
541  if (meEEUnRecHitSimHitRatioGt35_ && (myRecHit->energy()>3.5)){meEEUnRecHitSimHitRatioGt35_->Fill(uncEnergy/eeSimMap[EEid.rawId()]);}
542  }
543 
544  if (myRecHit != EERecHit->end()) {
545  if ( eeSimMap[EEid.rawId()] != 0. ) {
546  if (meEERecHitSimHitRatio_) {meEERecHitSimHitRatio_ ->Fill(myRecHit->energy()/eeSimMap[EEid.rawId()]); }
547  if (meEERecHitSimHitRatioGt35_ && (myRecHit->energy()>3.5)){meEERecHitSimHitRatioGt35_->Fill(myRecHit->energy()/eeSimMap[EEid.rawId()]); }
548 
550  c.get<EcalChannelStatusRcd>().get(pEcs);
551  const EcalChannelStatus* ecs = nullptr;
552  if( pEcs.isValid() ) ecs = pEcs.product();
553  if( ecs != nullptr ) {
554  EcalChannelStatusMap::const_iterator csmi = ecs->find(EEid.rawId());
555  EcalChannelStatusCode csc = 0;
556  if( csmi != ecs->end() ) csc = *csmi;
557  uint16_t sc = csc.getStatusCode();
558  if( meEERecHitSimHitRatio1011_ != nullptr &&
559  ( sc == 10 || sc == 11 ) ) { meEERecHitSimHitRatio1011_->Fill(myRecHit->energy()/eeSimMap[EEid.rawId()]); }
560  if( meEERecHitSimHitRatio12_ != nullptr && sc == 12 ) { meEERecHitSimHitRatio12_->Fill(myRecHit->energy()/eeSimMap[EEid.rawId()]); }
561  if( meEERecHitSimHitRatio13_ != nullptr && sc == 13 ) { meEERecHitSimHitRatio13_->Fill(myRecHit->energy()/eeSimMap[EEid.rawId()]); }
562  }
563 
564  int flag = myRecHit->recoFlag();
565  if( meEERecHitFlags_ != nullptr ) meEERecHitFlags_->Fill( flag );
567  meEERecHitSimHitvsSimHitFlag5_6_->Fill( myRecHit->energy()/eeSimMap[EEid.rawId()], eeSimMap[EEid.rawId()] );
569  meEERecHitSimHitFlag6_->Fill( myRecHit->energy()/eeSimMap[EEid.rawId()] );
571  meEERecHitSimHitFlag6_->Fill( myRecHit->energy()/eeSimMap[EEid.rawId()] );
572 
573  if (EEid.zside() > 0) {
575  meEERecHitsOccupancyPlusFlag5_6_ ->Fill(EEid.ix(), EEid.iy());
577  meEERecHitsOccupancyPlusFlag8_9_ ->Fill(EEid.ix(), EEid.iy());
578  }
579  if (EEid.zside() < 0) {
581  meEERecHitsOccupancyMinusFlag5_6_ ->Fill(EEid.ix(), EEid.iy());
583  meEERecHitsOccupancyMinusFlag8_9_ ->Fill(EEid.ix(), EEid.iy());
584  }
585  }
586  }
587  else
588  continue;
589  } // loop over the UncalibratedechitCollection
590 
591  // RecHits matrix
592  uint32_t eecenterid = getUnitWithMaxEnergy(eeRecMap);
593  EEDetId myEEid(eecenterid);
594  int bx = myEEid.ix();
595  int by = myEEid.iy();
596  int bz = myEEid.zside();
597  findEndcapMatrix(5,5,bx,by,bz,eeRecMap);
598  double e5x5rec = 0.;
599  double e5x5sim = 0.;
600  for ( unsigned int i = 0; i < crystalMatrix.size(); i++ ) {
601  e5x5rec += eeRecMap[crystalMatrix[i]];
602  e5x5sim += eeSimMap[crystalMatrix[i]];
603  if( eeRecMap[crystalMatrix[i]] > 0 ) {
604  int log10i25 = int( ( log10( eeRecMap[crystalMatrix[i]] ) + 5. ) * 10. );
605  if( log10i25 >=0 && log10i25 < eecSize ) eecontr25[ log10i25 ] += eeRecMap[crystalMatrix[i]];
606  }
607  }
608 
609  if( meEEe5x5_ ) meEEe5x5_->Fill(e5x5rec);
610  if ( e5x5sim > 0. && meEEe5x5OverSimHits_ ) meEEe5x5OverSimHits_->Fill(e5x5rec/e5x5sim);
611  if ( eGun > 0. && meEEe5x5OverGun_ ) meEEe5x5OverGun_->Fill(e5x5rec/eGun);
612 
613 
614  if( meEERecHitLog10EnergyContr_ && eetotal != 0 ) {
615  for( int i=0; i<eecSize; i++ ) {
616  meEERecHitLog10EnergyContr_->Fill( -5.+(float(i)+0.5)/10., eecontr[i]/eetotal );
617  }
618  }
619 
620  if( meEERecHitLog10Energy5x5Contr_ && e5x5rec != 0 ) {
621  for( int i=0; i<eecSize; i++ ) {
622  meEERecHitLog10Energy5x5Contr_->Fill( -5.+(float(i)+0.5)/10., eecontr25[i]/e5x5rec );
623  }
624  }
625  }
626 
627  // -------------------------------------------------------------------
628  // PRESHOWER
629 
630  if ( ! skipPreshower ) {
631 
632  // 1) loop over simHits
633  e.getByToken(ESHits_Token_,crossingFrame);
634  const MixCollection<PCaloHit> preshowerHits(crossingFrame.product());
635 
636  MapType esSimMap;
637  const int escSize = 90;
638  double escontr[escSize];
639  for( int i=0; i<escSize; i++ ) { escontr[i] = 0.0; }
640  double estotal = 0.;
641 
642  for ( auto const & iHit : preshowerHits ) {
643  ESDetId esid(iHit.id());
644  LogDebug("Preshower, HitInfo")
645  <<" CaloHit " << iHit.getName() << " DetID = " << iHit.id() << "\n"
646  << "Energy = " << iHit.energy() << " Time = " << iHit.time() << "\n"
647  << "ESDetId strip " << esid.strip() << " = " << esid.six() << " " << esid.siy();
648 
649  uint32_t crystid = esid.rawId();
650  esSimMap[crystid] += iHit.energy();
651  }
652 
653 
654  // 2) loop over RecHits
655  for (EcalRecHitCollection::const_iterator recHit = ESRecHit->begin(); recHit != ESRecHit->end(); ++recHit) {
656  ESDetId ESid = ESDetId(recHit->id());
657  if ( esSimMap[ESid.rawId()] != 0. ) {
658 
659  // Fill log10(Energy) stuff...
660  estotal += recHit->energy();
661  if( recHit->energy() > 0 ) {
662  if( meESRecHitLog10Energy_ ) meESRecHitLog10Energy_->Fill( log10( recHit->energy() ) );
663  int log10i = int( ( log10( recHit->energy() ) + 5. ) * 10. );
664  if( log10i >=0 and log10i < escSize ) escontr[ log10i ] += recHit->energy();
665  }
666 
667  if (meESRecHitSimHitRatio_) {
668  meESRecHitSimHitRatio_ ->Fill(recHit->energy()/esSimMap[ESid.rawId()]);
669  }
670  }
671  else
672  continue;
673  } // loop over the RechitCollection
674 
675  if( meESRecHitLog10EnergyContr_ && estotal != 0 ) {
676  for( int i=0; i<escSize; i++ ) {
677  meESRecHitLog10EnergyContr_->Fill( -5.+(float(i)+0.5)/10., escontr[i]/estotal );
678  }
679  }
680 
681 
682  }
683 
684 }
#define LogDebug(id)
RunNumber_t run() const
Definition: EventID.h:39
MonitorElement * meEERecHitsOccupancyPlusFlag5_6_
MonitorElement * meEBRecHitSimHitRatio13_
EventNumber_t event() const
Definition: EventID.h:41
MonitorElement * meEBRecHitLog10Energy5x5Contr_
MonitorElement * meEBRecHitSimHitRatio1011_
int ix() const
Definition: EEDetId.h:76
MonitorElement * meEBRecHitSimHitFlag7_
MonitorElement * meEBRecHitSimHitRatio12_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
MonitorElement * meEERecHitSimHitRatio12_
Code getStatusCode() const
return decoded status
std::vector< EcalUncalibratedRecHit >::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:24
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
MonitorElement * meEB5x5RecHitSimHitvsSimHitFlag8_
void Fill(long long x)
edm::EDGetTokenT< EERecHitCollection > EErechitCollection_Token_
int iphi() const
get the crystal iphi
Definition: EBDetId.h:53
uint32_t rawId() const
get the raw id
Definition: DetId.h:44
MonitorElement * meEBUnRecHitSimHitRatio_
MonitorElement * meEBRecHitLog10EnergyContr_
void findEndcapMatrix(int nCellInX, int nCellInY, int CentralX, int CentralY, int CentralZ, MapType &themap)
MonitorElement * meEBRecHitsOccupancyFlag8_9_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * meEERecHitLog10EnergyContr_
MonitorElement * meGunEnergy_
int zside() const
Definition: EEDetId.h:70
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:82
EcalTrigTowerDetId tower() const
get the HCAL/trigger iphi of this crystal
Definition: EBDetId.h:59
int ieta() const
get the crystal ieta
Definition: EBDetId.h:51
MonitorElement * meEERecHitSimHitFlag6_
bool isValid() const
Definition: HandleBase.h:74
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:38
T const * product() const
Definition: Handle.h:81
MonitorElement * meEBRecHitSimHitvsSimHitFlag5_6_
const T & get() const
Definition: EventSetup.h:59
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:60
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_
MonitorElement * meESRecHitLog10EnergyContr_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
const_iterator find(uint32_t rawId) const
const_iterator end() const
MonitorElement * meEERecHitsOccupancyPlusFlag8_9_
std::map< uint32_t, float, std::less< uint32_t > > MapType
MonitorElement * meESRecHitSimHitRatio_
MonitorElement * meEBRecHitSimHitRatio_
MonitorElement * meEBRecHitsOccupancyFlag5_6_
bool isValid() const
Definition: ESHandle.h:47
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 117 of file EcalRecHitsValidation.cc.

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

117  {
118 
120 
121  ibooker.setCurrentFolder("EcalRecHitsV/EcalRecHitsTask");
122 
123  histo = "EcalRecHitsTask Gun Momentum";
124  meGunEnergy_ = ibooker.book1D(histo.c_str(), histo.c_str(), 100, 0., 1000.);
125 
126  histo = "EcalRecHitsTask Gun Eta";
127  meGunEta_ = ibooker.book1D(histo.c_str(), histo.c_str(), 700, -3.5, 3.5);
128 
129  histo = "EcalRecHitsTask Gun Phi";
130  meGunPhi_ = ibooker.book1D(histo.c_str(), histo.c_str(), 360, 0., 360.);
131 
132  histo = "EcalRecHitsTask Barrel RecSimHit Ratio";
133  meEBRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
134 
135  histo = "EcalRecHitsTask Endcap RecSimHit Ratio";
136  meEERecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
137 
138  histo = "EcalRecHitsTask Preshower RecSimHit Ratio";
139  meESRecHitSimHitRatio_ = 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 Endcap RecSimHit Ratio gt 3p5 GeV";
145  meEERecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
146 
147  histo = "EcalRecHitsTask Barrel Unc RecSimHit Ratio";
148  meEBUnRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
149 
150  histo = "EcalRecHitsTask Endcap Unc RecSimHit Ratio";
151  meEEUnRecHitSimHitRatio_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
152 
153  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=10 11";
154  meEBRecHitSimHitRatio1011_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
155 
156  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=10 11";
157  meEERecHitSimHitRatio1011_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
158 
159  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=12";
160  meEBRecHitSimHitRatio12_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
161 
162  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=12";
163  meEERecHitSimHitRatio12_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
164 
165  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Channel Status=13";
166  meEBRecHitSimHitRatio13_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
167 
168  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Channel Status=13";
169  meEERecHitSimHitRatio13_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
170 
171  histo = "EcalRecHitsTask Barrel Unc RecSimHit Ratio gt 3p5 GeV";
172  meEBUnRecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
173 
174  histo = "EcalRecHitsTask Endcap Unc RecSimHit Ratio gt 3p5 GeV";
175  meEEUnRecHitSimHitRatioGt35_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
176 
177  histo = "EcalRecHitsTask Barrel Rec E5x5";
178  meEBe5x5_ = ibooker.book1D(histo.c_str(), histo.c_str(), 4000, 0., 400.);
179 
180  histo = "EcalRecHitsTask Barrel Rec E5x5 over Sim E5x5";
181  meEBe5x5OverSimHits_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
182 
183  histo = "EcalRecHitsTask Barrel Rec E5x5 over gun energy";
184  meEBe5x5OverGun_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
185 
186  histo = "EcalRecHitsTask Endcap Rec E5x5";
187  meEEe5x5_ = ibooker.book1D(histo.c_str(), histo.c_str(), 4000, 0., 400.);
188 
189  histo = "EcalRecHitsTask Endcap Rec E5x5 over Sim E5x5";
190  meEEe5x5OverSimHits_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
191 
192  histo = "EcalRecHitsTask Endcap Rec E5x5 over gun energy";
193  meEEe5x5OverGun_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0.9, 1.1);
194 
195  meEBRecHitLog10Energy_ = ibooker.book1D( "EcalRecHitsTask Barrel Log10 Energy", "EcalRecHitsTask Barrel Log10 Energy", 90, -5., 4. );
196  meEERecHitLog10Energy_ = ibooker.book1D( "EcalRecHitsTask Endcap Log10 Energy", "EcalRecHitsTask Endcap Log10 Energy", 90, -5., 4. );
197  meESRecHitLog10Energy_ = ibooker.book1D( "EcalRecHitsTask Preshower Log10 Energy", "EcalRecHitsTask Preshower Log10 Energy", 90, -5., 4. );
198  meEBRecHitLog10EnergyContr_ = ibooker.bookProfile( "EcalRecHits Barrel Log10En vs Hit Contribution", "EcalRecHits Barrel Log10En vs Hit Contribution", 90, -5., 4., 100, 0., 1. );
199  meEERecHitLog10EnergyContr_ = ibooker.bookProfile( "EcalRecHits Endcap Log10En vs Hit Contribution", "EcalRecHits Endcap Log10En vs Hit Contribution", 90, -5., 4., 100, 0., 1. );
200  meESRecHitLog10EnergyContr_ = ibooker.bookProfile( "EcalRecHits Preshower Log10En vs Hit Contribution", "EcalRecHits Preshower Log10En vs Hit Contribution", 90, -5., 4., 100, 0., 1. );
201  meEBRecHitLog10Energy5x5Contr_ = ibooker.bookProfile( "EcalRecHits Barrel Log10En5x5 vs Hit Contribution", "EcalRecHits Barrel Log10En5x5 vs Hit Contribution", 90, -5., 4., 100, 0., 1. );
202  meEERecHitLog10Energy5x5Contr_ = ibooker.bookProfile( "EcalRecHits Endcap Log10En5x5 vs Hit Contribution", "EcalRecHits Endcap Log10En5x5 vs Hit Contribution", 90, -5., 4., 100, 0., 1. );
203 
204 
205  histo = "EB Occupancy Flag=5 6";
206  meEBRecHitsOccupancyFlag5_6_ = ibooker.book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
207  histo = "EB Occupancy Flag=8 9";
208  meEBRecHitsOccupancyFlag8_9_ = ibooker.book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
209 
210  histo = "EE+ Occupancy Flag=5 6";
211  meEERecHitsOccupancyPlusFlag5_6_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
212  histo = "EE- Occupancy Flag=5 6";
213  meEERecHitsOccupancyMinusFlag5_6_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
214  histo = "EE+ Occupancy Flag=8 9";
215  meEERecHitsOccupancyPlusFlag8_9_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
216  histo = "EE- Occupancy Flag=8 9";
217  meEERecHitsOccupancyMinusFlag8_9_ = ibooker.book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
218 
219 
220  histo = "EcalRecHitsTask Barrel Reco Flags";
221  meEBRecHitFlags_ = ibooker.book1D(histo.c_str(), histo.c_str(), 10, 0., 10.);
222  histo = "EcalRecHitsTask Endcap Reco Flags";
223  meEERecHitFlags_ = ibooker.book1D(histo.c_str(), histo.c_str(), 10, 0., 10.);
224  histo = "EcalRecHitsTask Barrel RecSimHit Ratio vs SimHit Flag=5 6";
225  meEBRecHitSimHitvsSimHitFlag5_6_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400. );
226  histo = "EcalRecHitsTask Endcap RecSimHit Ratio vs SimHit Flag=5 6";
227  meEERecHitSimHitvsSimHitFlag5_6_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400. );
228  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Flag=6";
229  meEBRecHitSimHitFlag6_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
230  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Flag=6";
231  meEERecHitSimHitFlag6_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
232  histo = "EcalRecHitsTask Barrel RecSimHit Ratio Flag=7";
233  meEBRecHitSimHitFlag7_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
234  histo = "EcalRecHitsTask Endcap RecSimHit Ratio Flag=7";
235  meEERecHitSimHitFlag7_ = ibooker.book1D(histo.c_str(), histo.c_str(), 80, 0., 2.);
236  histo = "EcalRecHitsTask Barrel 5x5 RecSimHit Ratio vs SimHit Flag=8";
237  meEB5x5RecHitSimHitvsSimHitFlag8_ = ibooker.book2D(histo.c_str(), histo.c_str(), 80, 0., 2., 4000, 0., 400. );
238 
239 }
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 705 of file EcalRecHitsValidation.cc.

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

707  {
708 
709  int goBackInEta = nCellInEta/2;
710  int goBackInPhi = nCellInPhi/2;
711  int matrixSize = nCellInEta*nCellInPhi;
712  crystalMatrix.clear();
713  crystalMatrix.resize(matrixSize);
714 
715  int startEta = CentralZ*CentralEta - goBackInEta;
716  int startPhi = CentralPhi - goBackInPhi;
717 
718  int i = 0 ;
719  for ( int ieta = startEta; ieta < startEta+nCellInEta; ieta ++ ) {
720  for( int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++ ) {
721  uint32_t index;
722  if (abs(ieta) > 85 || abs(ieta)<1 ) { continue; }
723  if (iphi< 1) { index = EBDetId(ieta,iphi+360).rawId(); }
724  else if(iphi>360) { index = EBDetId(ieta,iphi-360).rawId(); }
725  else { index = EBDetId(ieta,iphi).rawId(); }
726  crystalMatrix[i++] = index;
727  }
728  }
729 
730 }
uint32_t rawId() const
get the raw id
Definition: DetId.h:44
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 732 of file EcalRecHitsValidation.cc.

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

734  {
735  int goBackInX = nCellInX/2;
736  int goBackInY = nCellInY/2;
737  crystalMatrix.clear();
738 
739  int startX = CentralX - goBackInX;
740  int startY = CentralY - goBackInY;
741 
742  for ( int ix = startX; ix < startX+nCellInX; ix ++ ) {
743 
744  for( int iy = startY; iy < startY + nCellInY; iy++ ) {
745 
746  uint32_t index ;
747 
748  if(EEDetId::validDetId(ix,iy,CentralZ)) {
749  index = EEDetId(ix,iy,CentralZ).rawId();
750  }
751  else { continue; }
752  crystalMatrix.push_back(index);
753  }
754  }
755 }
uint32_t rawId() const
get the raw id
Definition: DetId.h:44
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 687 of file EcalRecHitsValidation.cc.

References particleFlowClusterECALTimeSelected_cfi::maxEnergy.

687  {
688 
689  //look for max
690  uint32_t unitWithMaxEnergy = 0;
691  float maxEnergy = 0.;
692 
693  MapType::iterator iter;
694  for (iter = themap.begin(); iter != themap.end(); iter++) {
695 
696  if (maxEnergy < (*iter).second) {
697  maxEnergy = (*iter).second;
698  unitWithMaxEnergy = (*iter).first;
699  }
700  }
701 
702  return unitWithMaxEnergy;
703 }

Member Data Documentation

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

Definition at line 148 of file EcalRecHitsValidation.h.

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

Definition at line 91 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EBrechitCollection_
private

Definition at line 79 of file EcalRecHitsValidation.h.

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

Definition at line 86 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EBuncalibrechitCollection_
private

Definition at line 82 of file EcalRecHitsValidation.h.

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

Definition at line 89 of file EcalRecHitsValidation.h.

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

Definition at line 92 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EErechitCollection_
private

Definition at line 80 of file EcalRecHitsValidation.h.

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

Definition at line 87 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::EEuncalibrechitCollection_
private

Definition at line 83 of file EcalRecHitsValidation.h.

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

Definition at line 90 of file EcalRecHitsValidation.h.

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

Definition at line 93 of file EcalRecHitsValidation.h.

edm::InputTag EcalRecHitsValidation::ESrechitCollection_
private

Definition at line 81 of file EcalRecHitsValidation.h.

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

Definition at line 88 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::HepMCLabel
private

Definition at line 72 of file EcalRecHitsValidation.h.

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

Definition at line 85 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::hitsProducer_
private

Definition at line 73 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEB5x5RecHitSimHitvsSimHitFlag8_
private

Definition at line 141 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5_
private

Definition at line 113 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5OverGun_
private

Definition at line 115 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBe5x5OverSimHits_
private

Definition at line 114 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitFlags_
private

Definition at line 137 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10Energy5x5Contr_
private

Definition at line 126 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10Energy_
private

Definition at line 120 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitLog10EnergyContr_
private

Definition at line 123 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitFlag6_
private

Definition at line 139 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitFlag7_
private

Definition at line 140 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio1011_
private

Definition at line 101 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio12_
private

Definition at line 103 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio13_
private

Definition at line 105 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatio_
private

Definition at line 98 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitRatioGt35_
private

Definition at line 107 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitSimHitvsSimHitFlag5_6_
private

Definition at line 138 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitsOccupancyFlag5_6_
private

Definition at line 129 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBRecHitsOccupancyFlag8_9_
private

Definition at line 130 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBUnRecHitSimHitRatio_
private

Definition at line 109 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEBUnRecHitSimHitRatioGt35_
private

Definition at line 111 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5_
private

Definition at line 116 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5OverGun_
private

Definition at line 118 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEe5x5OverSimHits_
private

Definition at line 117 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitFlags_
private

Definition at line 143 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10Energy5x5Contr_
private

Definition at line 127 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10Energy_
private

Definition at line 121 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitLog10EnergyContr_
private

Definition at line 124 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitFlag6_
private

Definition at line 145 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitFlag7_
private

Definition at line 146 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio1011_
private

Definition at line 102 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio12_
private

Definition at line 104 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio13_
private

Definition at line 106 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatio_
private

Definition at line 99 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitRatioGt35_
private

Definition at line 108 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitSimHitvsSimHitFlag5_6_
private

Definition at line 144 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyMinusFlag5_6_
private

Definition at line 133 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyMinusFlag8_9_
private

Definition at line 135 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyPlusFlag5_6_
private

Definition at line 132 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEERecHitsOccupancyPlusFlag8_9_
private

Definition at line 134 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEUnRecHitSimHitRatio_
private

Definition at line 110 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meEEUnRecHitSimHitRatioGt35_
private

Definition at line 112 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitLog10Energy_
private

Definition at line 122 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitLog10EnergyContr_
private

Definition at line 125 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meESRecHitSimHitRatio_
private

Definition at line 100 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunEnergy_
private

Definition at line 95 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunEta_
private

Definition at line 96 of file EcalRecHitsValidation.h.

MonitorElement* EcalRecHitsValidation::meGunPhi_
private

Definition at line 97 of file EcalRecHitsValidation.h.

std::string EcalRecHitsValidation::outputFile_
private

Definition at line 77 of file EcalRecHitsValidation.h.

bool EcalRecHitsValidation::verbose_
private

Definition at line 75 of file EcalRecHitsValidation.h.