CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
RecHitTask Class Reference

#include <RecHitTask.h>

Inheritance diagram for RecHitTask:
hcaldqm::DQTask DQMEDAnalyzer hcaldqm::DQModule edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
 RecHitTask (edm::ParameterSet const &)
 
virtual ~RecHitTask ()
 
- Public Member Functions inherited from hcaldqm::DQTask
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQTask (edm::ParameterSet const &)
 
virtual ~DQTask ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule ()
 

Public Attributes

tuple recHitTask
 

Protected Types

enum  RecoFlag { fUni =0, fTCDS =1, fUnknownIds = 2, nRecoFlag =3 }
 

Protected Member Functions

virtual void _process (edm::Event const &, edm::EventSetup const &)
 
virtual void _resetMonitors (hcaldqm::UpdateFreq)
 
- Protected Member Functions inherited from hcaldqm::DQTask
virtual int _getCalibType (edm::Event const &)
 
virtual bool _isApplicable (edm::Event const &)
 
- 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)
 

Protected Attributes

hcaldqm::ContainerProf2D _cEnergy_depth
 
hcaldqm::Container1D _cEnergy_Subdet
 
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
 
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
 
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
 
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
 
hcaldqm::Container2D _cOccupancy_depth
 
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
 
hcaldqm::Container2D _cOccupancy_ElectronicsVME
 
hcaldqm::Container2D _cOccupancy_FEDuTCA
 
hcaldqm::Container2D _cOccupancy_FEDVME
 
hcaldqm::Container2D _cOccupancyCut_depth
 
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
 
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
 
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
 
hcaldqm::Container2D _cOccupancyCut_FEDVME
 
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
 
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
 
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
 
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
 
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
 
hcaldqm::Container1D _cOccupancyvsieta_Subdet
 
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
 
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
 
hcaldqm::ContainerSingle2D _cSummaryvsLS
 
hcaldqm::Container2D _cSummaryvsLS_FED
 
hcaldqm::ContainerProf2D _cTimingCut_depth
 
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
 
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
 
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
 
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
 
hcaldqm::Container1D _cTimingCut_HBHEPartition
 
hcaldqm::Container1D _cTimingCut_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
 
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
 
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
 
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
 
double _cutE_HBHE
 
double _cutE_HF
 
double _cutE_HO
 
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
 
HcalElectronicsMap const * _emap
 
hcaldqm::filter::HashFilter _filter_FEDsuTCA
 
hcaldqm::filter::HashFilter _filter_FEDsVME
 
hcaldqm::filter::HashFilter _filter_uTCA
 
hcaldqm::filter::HashFilter _filter_VME
 
std::vector< HcalGenericDetId_gids
 
edm::InputTag _tagHBHE
 
edm::InputTag _tagHF
 
edm::InputTag _tagHO
 
double _thresh_unihf
 
edm::EDGetTokenT
< HBHERecHitCollection
_tokHBHE
 
edm::EDGetTokenT
< HFRecHitCollection
_tokHF
 
edm::EDGetTokenT
< HORecHitCollection
_tokHO
 
bool _unknownIdsPresent
 
std::vector< hcaldqm::flag::Flag_vflags
 
std::vector< uint32_t > _vhashFEDs
 
hcaldqm::ContainerXXX< uint32_t > _xUni
 
hcaldqm::ContainerXXX< uint32_t > _xUniHF
 
MonitorElementmeUnknownIds1LS
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT
< FEDRawDataCollection
_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
- Protected Attributes inherited from hcaldqm::DQModule
int _currentLS
 
int _debug
 
int _evsPerLS
 
int _evsTotal
 
Logger _logger
 
int _maxLS
 
ModuleType _mtype
 
std::string _name
 
ProcessingType _ptype
 
std::string _runkeyName
 
int _runkeyVal
 
std::string _subsystem
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

module: RecHitTask.h Author: VK Description: HCAL RECO Data Tier Evaluation

Online: Offline:

Definition at line 26 of file RecHitTask.h.

Member Enumeration Documentation

enum RecHitTask::RecoFlag
protected
Enumerator
fUni 
fTCDS 
fUnknownIds 
nRecoFlag 

Definition at line 58 of file RecHitTask.h.

Constructor & Destructor Documentation

RecHitTask::RecHitTask ( edm::ParameterSet const &  ps)

Definition at line 8 of file RecHitTask.cc.

References _cutE_HBHE, _cutE_HF, _cutE_HO, _tagHBHE, _tagHF, _tagHO, _thresh_unihf, _tokHBHE, _tokHF, _tokHO, _vflags, fTCDS, fUni, fUnknownIds, edm::ParameterSet::getUntrackedParameter(), HLT_25ns10e33_v2_cff::InputTag, and nRecoFlag.

8  :
9  DQTask(ps)
10 {
11  _tagHBHE = ps.getUntrackedParameter<edm::InputTag>("tagHBHE",
12  edm::InputTag("hbhereco"));
13  _tagHO = ps.getUntrackedParameter<edm::InputTag>("tagHO",
14  edm::InputTag("horeco"));
15  _tagHF = ps.getUntrackedParameter<edm::InputTag>("tagHF",
16  edm::InputTag("hfreco"));
17 
18  _tokHBHE = consumes<HBHERecHitCollection>(_tagHBHE);
19  _tokHO = consumes<HORecHitCollection>(_tagHO);
20  _tokHF = consumes<HFRecHitCollection>(_tagHF);
21 
22  _cutE_HBHE = ps.getUntrackedParameter<double>("cutE_HBHE", 5);
23  _cutE_HO = ps.getUntrackedParameter<double>("cutE_HO", 5);
24  _cutE_HF = ps.getUntrackedParameter<double>("cutE_HF", 5);
25  _thresh_unihf = ps.getUntrackedParameter<double>("thresh_unihf", 0.2);
26 
27  // order must be the same as in RecoFlag enum
28  _vflags.resize(nRecoFlag);
29  _vflags[fUni]=flag::Flag("UniSlotHF");
30  _vflags[fTCDS]=flag::Flag("TCDS");
31  _vflags[fUnknownIds] = flag::Flag("UnknownIds");
32 }
edm::EDGetTokenT< HBHERecHitCollection > _tokHBHE
Definition: RecHitTask.h:46
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:7
double _cutE_HO
Definition: RecHitTask.h:50
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:48
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:57
double _cutE_HBHE
Definition: RecHitTask.h:50
double _cutE_HF
Definition: RecHitTask.h:50
double _thresh_unihf
Definition: RecHitTask.h:51
edm::InputTag _tagHO
Definition: RecHitTask.h:44
edm::InputTag _tagHF
Definition: RecHitTask.h:45
edm::EDGetTokenT< HORecHitCollection > _tokHO
Definition: RecHitTask.h:47
edm::InputTag _tagHBHE
Definition: RecHitTask.h:43
virtual RecHitTask::~RecHitTask ( )
inlinevirtual

Definition at line 30 of file RecHitTask.h.

30 {}

Member Function Documentation

void RecHitTask::_process ( edm::Event const &  e,
edm::EventSetup const &   
)
protectedvirtual

Implements hcaldqm::DQTask.

Definition at line 358 of file RecHitTask.cc.

References _cEnergy_depth, _cEnergy_Subdet, _cEnergyvsBX_SubdetPM, _cEnergyvsieta_Subdet, _cEnergyvsiphi_SubdetPM, _cEnergyvsLS_SubdetPM, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_HBHEPartition, _cTimingCut_SubdetPM, _cTimingCutvsBX_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, _cTimingvsEnergy_SubdetPM, hcaldqm::DQModule::_currentLS, _cutE_HBHE, _cutE_HF, _cutE_HO, _ehashmap, hcaldqm::DQModule::_logger, hcaldqm::DQModule::_ptype, _tagHBHE, _tagHF, _tagHO, _tokHBHE, _tokHF, _tokHO, _unknownIdsPresent, _xUniHF, edm::EventBase::bunchCrossing(), Logger::dqmthrow(), relval_parameters_module::energy, hcaldqm::Container2D::fill(), hcaldqm::Container1D::fill(), MonitorElement::Fill(), hcaldqm::fOnline, hcaldqm::ContainerXXX< STDTYPE >::get(), edm::Event::getByToken(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HcalDetId::ieta(), edm::InputTag::instance(), HcalElectronicsId::isVMEid(), edm::InputTag::label(), hcaldqm::electronicsmap::ElectronicsMap::lookup(), meUnknownIds1LS, DetId::rawId(), and HcalDetId::subdet().

360 {
364 
365  if (!(e.getByToken(_tokHBHE, chbhe)))
366  _logger.dqmthrow("Collection HBHERecHitCollection not available "
367  + _tagHBHE.label() + " " + _tagHBHE.instance());
368  if (!(e.getByToken(_tokHO, cho)))
369  _logger.dqmthrow("Collection HORecHitCollection not available "
370  + _tagHO.label() + " " + _tagHO.instance());
371  if (!(e.getByToken(_tokHF, chf)))
372  _logger.dqmthrow("Collection HFRecHitCollection not available "
373  + _tagHF.label() + " " + _tagHF.instance());
374 
375  // extract some info per event
376  int bx = e.bunchCrossing();
377 
378  // To fill histograms outside of the loop, you need to determine if there were
379  // any valid det ids first
380  uint32_t rawidValid = 0;
381  uint32_t rawidHBValid = 0;
382  uint32_t rawidHEValid = 0;
383 
384  double ehbm = 0; double ehbp = 0;
385  double ehem = 0; double ehep = 0;
386  int nChsHB = 0; int nChsHE = 0;
387  int nChsHBCut = 0; int nChsHECut = 0;
388  for (HBHERecHitCollection::const_iterator it=chbhe->begin();
389  it!=chbhe->end(); ++it)
390  {
391  double energy = it->energy();
392  double timing = it->time();
393 
394  // Explicit check on the DetIds present in the Collection
395  HcalDetId did = it->id();
396  uint32_t rawid = _ehashmap.lookup(did);
397  if (rawid==0)
398  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
399  HcalElectronicsId const& eid(rawid);
400  rawidValid = did.rawId();
401  if (did.subdet()==HcalBarrel)
402  rawidHBValid = did.rawId();
403  else if (did.subdet()==HcalEndcap)
404  rawidHEValid = did.rawId();
405 
406  _cEnergy_Subdet.fill(did, energy);
407  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
408  _cOccupancy_depth.fill(did);
409  did.subdet()==HcalBarrel?did.ieta()>0?ehbp+=energy:ehbm+=energy:
410  did.ieta()>0?ehep+=energy:ehem+=energy;
411 
412  // ONLINE ONLY!
413  if (_ptype==fOnline)
414  {
417  }
418  // ^^^ONLINE ONLY!
419 
420  if (eid.isVMEid())
421  {
424  }
425  else
426  {
429  }
430 
431  if (energy>_cutE_HBHE)
432  {
433  // ONLINE ONLY!
434  if (_ptype==fOnline)
435  {
436  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
437  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
438  _cEnergyvsieta_Subdet.fill(did, energy);
439  _cEnergyvsiphi_SubdetPM.fill(did, energy);
440  _cTimingCutvsieta_Subdet.fill(did, timing);
441  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
442  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
446  }
447  // ^^^ONLINE ONLY!
448  _cEnergy_depth.fill(did, energy);
449  _cTimingCut_SubdetPM.fill(did, timing);
450  _cTimingCut_HBHEPartition.fill(did, timing);
451 
452  // ONLINE
453  if (_ptype==fOnline)
454  {
455  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
456  _cTimingCut_depth.fill(did, timing);
457  }// ^^^ONLINE
458  else
459  {
460  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
461  _cTimingCut_depth.fill(did, timing);
462  }
464  if (eid.isVMEid())
465  {
466 
467  // ONLINE
468  if (_ptype==fOnline)
469  {
470  _cTimingCut_FEDVME.fill(eid, timing);
471  _cTimingCut_ElectronicsVME.fill(eid, timing);
472  } // ^^^ ONLINE
473  else
474  {
475  _cTimingCut_FEDVME.fill(eid, timing);
476  _cTimingCut_ElectronicsVME.fill(eid, timing);
477  }
478  // ^^^ONLINE
479 
482  }
483  else
484  {
485  if (_ptype==fOnline)
486  {
487  // time constraints are explicit!
488  _cTimingCut_FEDuTCA.fill(eid, timing);
489  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
490  }
491  else
492  {
493  _cTimingCut_FEDuTCA.fill(eid, timing);
494  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
495  }
498  }
499  did.subdet()==HcalBarrel?nChsHBCut++:nChsHECut++;
500  }
501  did.subdet()==HcalBarrel?nChsHB++:nChsHE++;
502  }
503 
504  if (rawidHBValid!=0 && rawidHEValid!=0)
505  {
507  nChsHB);
509  nChsHE);
510 
511  // ONLINE ONLY!
512  if (_ptype==fOnline)
513  {
515  bx, nChsHBCut);
517  bx, nChsHECut);
519  _currentLS, nChsHBCut);
521  _currentLS, nChsHECut);
522  }
523  // ^^^ONLINE ONLY!
524  }
525 
526  // reset
527  rawidValid = 0;
528 
529  int nChsHO = 0; int nChsHOCut = 0;
530  double ehop = 0; double ehom = 0;
531  for (HORecHitCollection::const_iterator it=cho->begin();
532  it!=cho->end(); ++it)
533  {
534  double energy = it->energy();
535  double timing = it->time();
536 
537  // Explicit check on the DetIds present in the Collection
538  HcalDetId did = it->id();
539  uint32_t rawid = _ehashmap.lookup(did);
540  if (rawid==0)
541  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
542  HcalElectronicsId const& eid(rawid);
543  if (did.subdet()==HcalOuter)
544  rawidValid = did.rawId();
545 
546  _cEnergy_Subdet.fill(did, energy);
547  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
548  _cOccupancy_depth.fill(did);
549  did.ieta()>0?ehop+=energy:ehom+=energy;
550 
551  // IMPORTANT: ONLINE ONLY!
552  if (_ptype==fOnline)
553  {
556  }
557  // ONLINE ONLY!
558 
559  if (eid.isVMEid())
560  {
563  }
564  else
565  {
568  }
569 
570  if (energy>_cutE_HO)
571  {
572  // ONLINE ONLY!
573  if (_ptype==fOnline)
574  {
575  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
576  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
577  _cEnergyvsieta_Subdet.fill(did, energy);
578  _cEnergyvsiphi_SubdetPM.fill(did, energy);
579  _cTimingCutvsieta_Subdet.fill(did, timing);
580  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
581  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
585  }
586  // ^^^ONLINE ONLY!
587 
588  _cEnergy_depth.fill(did, energy);
589  _cTimingCut_SubdetPM.fill(did, timing);
590  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
592  _cTimingCut_depth.fill(did, timing);
593  if (eid.isVMEid())
594  {
595  _cTimingCut_FEDVME.fill(eid, timing);
596  _cTimingCut_ElectronicsVME.fill(eid, timing);
599  }
600  else
601  {
602  _cTimingCut_FEDuTCA.fill(eid, timing);
603  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
606  }
607  nChsHOCut++;
608  }
609  nChsHO++;
610  }
611 
612  if (rawidValid!=0)
613  {
615  nChsHO);
616  // ONLINE ONLY!
617  if (_ptype==fOnline)
618  {
620  bx, nChsHOCut);
622  _currentLS, nChsHOCut);
623  }
624  // ^^^ONLINE ONLY!
625  }
626 
627  //reset
628  rawidValid = 0;
629 
630  int nChsHF = 0; int nChsHFCut = 0;
631  double ehfp = 0; double ehfm = 0;
632  for (HFRecHitCollection::const_iterator it=chf->begin();
633  it!=chf->end(); ++it)
634  {
635  double energy = it->energy();
636  double timing = it->time();
637 
638  // Explicit check on the DetIds present in the Collection
639  HcalDetId did = it->id();
640  uint32_t rawid = _ehashmap.lookup(did);
641  if (rawid==0)
642  {meUnknownIds1LS->Fill(1); _unknownIdsPresent=true;continue;}
643  HcalElectronicsId const& eid(rawid);
644  if (did.subdet()==HcalForward)
645  rawidValid = did.rawId();
646 
647  _cEnergy_Subdet.fill(did, energy);
648  _cTimingvsEnergy_SubdetPM.fill(did, energy, timing);
649  _cOccupancy_depth.fill(did);
650  did.ieta()>0?ehfp+=energy:ehfm+=energy;
651 
652  // IMPORTANT:
653  // only for Online Processing
654  //
655  if (_ptype==fOnline)
656  {
659  }
660  // ONLINE ONLY!
661 
662  if (eid.isVMEid())
663  {
666  }
667  else
668  {
671  }
672 
673  if (energy>_cutE_HF)
674  {
675  // ONLINE ONLY!
676  if (_ptype==fOnline)
677  {
678  _cEnergyvsLS_SubdetPM.fill(did, _currentLS, energy);
679  _cEnergyvsBX_SubdetPM.fill(did, bx, energy);
680  _cEnergyvsieta_Subdet.fill(did, energy);
681  _cEnergyvsiphi_SubdetPM.fill(did, energy);
682  _cTimingCutvsieta_Subdet.fill(did, timing);
683  _cTimingCutvsiphi_SubdetPM.fill(did, timing);
684  _cTimingCutvsBX_SubdetPM.fill(did, bx, timing);
688  _xUniHF.get(eid)++;
689  }
690  // ^^^ONLINE ONLY!
691  _cEnergy_depth.fill(did, energy);
692  _cTimingCut_SubdetPM.fill(did, timing);
693  _cTimingCutvsLS_FED.fill(eid, _currentLS, timing);
695  _cTimingCut_depth.fill(did, timing);
696  if (eid.isVMEid())
697  {
698  _cTimingCut_FEDVME.fill(eid, timing);
699  _cTimingCut_ElectronicsVME.fill(eid, timing);
702  }
703  else
704  {
705  _cTimingCut_FEDuTCA.fill(eid, timing);
706  _cTimingCut_ElectronicsuTCA.fill(eid, timing);
709  }
710  nChsHFCut++;
711  }
712  nChsHF++;
713  }
714 
715  if (rawidValid!=0)
716  {
718  nChsHF);
719  // ONLINE ONLY!
720  if (_ptype==fOnline)
721  {
723  bx, nChsHFCut);
725  _currentLS, nChsHFCut);
726  }
727  // ^^^ONLINE ONLY!
728  }
729 }
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:121
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:116
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:106
edm::EDGetTokenT< HBHERecHitCollection > _tokHBHE
Definition: RecHitTask.h:46
hcaldqm::ContainerProf2D _cEnergy_depth
Definition: RecHitTask.h:80
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
Definition: RecHitTask.h:85
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: RecHitTask.h:111
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: RecHitTask.h:102
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
double _cutE_HO
Definition: RecHitTask.h:50
edm::EDGetTokenT< HFRecHitCollection > _tokHF
Definition: RecHitTask.h:48
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:117
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
Definition: RecHitTask.h:78
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
Definition: RecHitTask.h:79
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: RecHitTask.h:120
std::vector< HBHERecHit >::const_iterator const_iterator
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: RecHitTask.h:88
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:96
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:82
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: RecHitTask.h:113
void Fill(long long x)
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: RecHitTask.h:93
virtual void fill(HcalDetId const &)
Definition: Container2D.cc:59
double _cutE_HBHE
Definition: RecHitTask.h:50
ProcessingType _ptype
Definition: DQModule.h:59
virtual void fill(uint32_t)
Definition: Container1D.cc:82
hcaldqm::Container1D _cEnergy_Subdet
Definition: RecHitTask.h:77
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: RecHitTask.h:95
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: RecHitTask.h:90
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:114
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:119
void dqmthrow(std::string const &msg) const
Definition: Logger.h:15
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: RecHitTask.h:104
double _cutE_HF
Definition: RecHitTask.h:50
Logger _logger
Definition: DQModule.h:70
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: RecHitTask.h:112
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:68
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:124
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:105
edm::InputTag _tagHO
Definition: RecHitTask.h:44
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: RecHitTask.h:103
edm::InputTag _tagHF
Definition: RecHitTask.h:45
std::string const & label() const
Definition: InputTag.h:36
hcaldqm::Container1D _cTimingCut_HBHEPartition
Definition: RecHitTask.h:89
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: RecHitTask.h:115
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:108
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
Definition: RecHitTask.h:98
edm::EDGetTokenT< HORecHitCollection > _tokHO
Definition: RecHitTask.h:47
edm::InputTag _tagHBHE
Definition: RecHitTask.h:43
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: RecHitTask.h:91
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:101
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:97
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: RecHitTask.h:94
Readout chain identification for Hcal.
std::string const & instance() const
Definition: InputTag.h:37
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: RecHitTask.h:92
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: RecHitTask.h:118
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:107
bool _unknownIdsPresent
Definition: RecHitTask.h:125
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:81
void RecHitTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
protectedvirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 344 of file RecHitTask.cc.

References _unknownIdsPresent, and hcaldqm::f1LS.

345 {
346  switch(uf)
347  {
348  case hcaldqm::f1LS:
349  _unknownIdsPresent = false;
350  break;
351  default:
352  break;
353  }
354 
355  DQTask::_resetMonitors(uf);
356 }
bool _unknownIdsPresent
Definition: RecHitTask.h:125
void RecHitTask::beginLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 731 of file RecHitTask.cc.

733 {
734  DQTask::beginLuminosityBlock(lb, es);
735 }
void RecHitTask::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  r,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 34 of file RecHitTask.cc.

References _cEnergy_depth, _cEnergy_Subdet, _cEnergyvsBX_SubdetPM, _cEnergyvsieta_Subdet, _cEnergyvsiphi_SubdetPM, _cEnergyvsLS_SubdetPM, _cOccupancy_depth, _cOccupancy_ElectronicsuTCA, _cOccupancy_ElectronicsVME, _cOccupancy_FEDuTCA, _cOccupancy_FEDVME, _cOccupancyCut_depth, _cOccupancyCut_ElectronicsuTCA, _cOccupancyCut_ElectronicsVME, _cOccupancyCut_FEDuTCA, _cOccupancyCut_FEDVME, _cOccupancyCutvsBX_Subdet, _cOccupancyCutvsieta_Subdet, _cOccupancyCutvsiphi_SubdetPM, _cOccupancyCutvsiphivsLS_SubdetPM, _cOccupancyCutvsLS_Subdet, _cOccupancyvsieta_Subdet, _cOccupancyvsiphi_SubdetPM, _cOccupancyvsLS_Subdet, _cSummaryvsLS, _cSummaryvsLS_FED, _cTimingCut_depth, _cTimingCut_ElectronicsuTCA, _cTimingCut_ElectronicsVME, _cTimingCut_FEDuTCA, _cTimingCut_FEDVME, _cTimingCut_HBHEPartition, _cTimingCut_SubdetPM, _cTimingCutvsBX_SubdetPM, _cTimingCutvsieta_Subdet, _cTimingCutvsiphi_SubdetPM, _cTimingCutvsLS_FED, _cTimingvsEnergy_SubdetPM, _cutE_HBHE, _cutE_HF, _cutE_HO, _ehashmap, _emap, _filter_uTCA, _filter_VME, _gids, hcaldqm::DQModule::_maxLS, hcaldqm::DQModule::_name, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_subsystem, _unknownIdsPresent, _vflags, _vhashFEDs, _xUni, _xUniHF, HcalElectronicsMap::allPrecisionId(), hcaldqm::ContainerXXX< STDTYPE >::book(), hcaldqm::ContainerProf2D::book(), hcaldqm::ContainerProf1D::book(), hcaldqm::ContainerSingle2D::book(), hcaldqm::Container2D::book(), hcaldqm::Container1D::book(), DQMStore::IBooker::book1D(), bookHistograms(), hcaldqm::constants::CRATE_uTCA_MIN, hcaldqm::constants::CRATE_VME_MIN, hcaldqm::quantity::fBX, hcaldqm::electronicsmap::fD2EHashMap, hcaldqm::hashfunctions::fdepth, hcaldqm::utilities::fed2crate(), hcaldqm::constants::FED_VME_MIN, hcaldqm::hashfunctions::fElectronics, hcaldqm::quantity::fEnergy, hcaldqm::quantity::fEnergy_1TeV, hcaldqm::hashfunctions::fFED, hcaldqm::hashfunctions::fFEDSlot, hcaldqm::quantity::fFiberuTCAFiberCh, hcaldqm::quantity::fFiberVMEFiberCh, hcaldqm::filter::fFilter, hcaldqm::hashfunctions::fHBHEPartition, hcaldqm::constants::FIBER_uTCA_MIN1, hcaldqm::constants::FIBER_VME_MIN, hcaldqm::constants::FIBERCH_MIN, hcaldqm::quantity::fieta, hcaldqm::quantity::fiphi, hcaldqm::quantity::fN, hcaldqm::quantity::fN_to3000, hcaldqm::fOnline, hcaldqm::filter::fPreserver, hcaldqm::quantity::fSlotuTCA, hcaldqm::quantity::fSpigot, hcaldqm::quantity::fState, hcaldqm::hashfunctions::fSubdet, hcaldqm::hashfunctions::fSubdetPM, hcaldqm::quantity::fTiming_ns, edm::EventSetup::get(), hcaldqm::utilities::getFEDList(), hcaldqm::utilities::getFEDuTCAList(), hcaldqm::utilities::getFEDVMEList(), hcaldqm::ContainerProf2D::initialize(), hcaldqm::Container2D::initialize(), hcaldqm::ContainerProf1D::initialize(), hcaldqm::ContainerXXX< STDTYPE >::initialize(), hcaldqm::ContainerSingle2D::initialize(), hcaldqm::filter::HashFilter::initialize(), hcaldqm::electronicsmap::ElectronicsMap::initialize(), hcaldqm::Container1D::initialize(), meUnknownIds1LS, HcalElectronicsId::rawId(), DQMStore::IBooker::setCurrentFolder(), MonitorElement::setLumiFlag(), hcaldqm::constants::SLOT_uTCA_MIN, and hcaldqm::constants::SPIGOT_MIN.

36 {
38 
39  // GET WHAT YOU NEED
41  es.get<HcalDbRecord>().get(dbs);
42  _emap = dbs->getHcalMapping();
43  std::vector<int> vFEDs = hcaldqm::utilities::getFEDList(_emap);
44  std::vector<int> vFEDsVME = hcaldqm::utilities::getFEDVMEList(_emap);
45  std::vector<int> vFEDsuTCA = hcaldqm::utilities::getFEDuTCAList(_emap);
46  std::vector<uint32_t> vVME;
47  std::vector<uint32_t> vuTCA;
51  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
53  vVME);
55  vuTCA);
56 
57  // push the rawIds of each fed into the vector
58  for (std::vector<int>::const_iterator it=vFEDsVME.begin();
59  it!=vFEDsVME.end(); ++it)
60  _vhashFEDs.push_back(HcalElectronicsId(
62  for (std::vector<int>::const_iterator it=vFEDsuTCA.begin();
63  it!=vFEDsuTCA.end(); ++it)
64  {
65  std::pair<uint16_t, uint16_t> cspair = utilities::fed2crate(*it);
66  _vhashFEDs.push_back(HcalElectronicsId(
67  cspair.first, cspair.second, FIBER_uTCA_MIN1,
68  FIBERCH_MIN, false).rawId());
69  }
70 
71  // INITIALIZE FIRST
72  // Energy
80 
81  // Timing
86  _cTimingvsEnergy_SubdetPM.initialize(_name, "TimingvsEnergy",
91  _cTimingCut_FEDVME.initialize(_name, "TimingCut",
101  _cTimingCutvsLS_FED.initialize(_name, "TimingCutvsLS",
107  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
112  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
119  _cTimingCut_depth.initialize(_name, "TimingCut",
124 
125  // Occupancy
126  _cOccupancy_depth.initialize(_name, "Occupancy",
131  _cOccupancy_FEDVME.initialize(_name, "Occupancy",
136  _cOccupancy_FEDuTCA.initialize(_name, "Occupancy",
143  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
148  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
151  _cOccupancyvsLS_Subdet.initialize(_name, "OccupancyvsLS",
155  _cOccupancyCut_FEDVME.initialize(_name, "OccupancyCut",
160  _cOccupancyCut_FEDuTCA.initialize(_name, "OccupancyCut",
167  new hcaldqm::quantity::FEDQuantity(vFEDsVME),
172  new hcaldqm::quantity::FEDQuantity(vFEDsuTCA),
175  _cOccupancyCut_depth.initialize(_name, "OccupancyCut",
180 
181  // INITIALIZE HISTOGRAMS to be used only in Online
182  if (_ptype==fOnline)
183  {
184  _cEnergyvsieta_Subdet.initialize(_name, "Energyvsieta",
188  _cEnergyvsiphi_SubdetPM.initialize(_name, "Energyvsiphi",
192  _cEnergyvsLS_SubdetPM.initialize(_name, "EnergyvsLS",
196  _cEnergyvsBX_SubdetPM.initialize(_name, "EnergyvsBX",
200  _cTimingCutvsieta_Subdet.initialize(_name, "TimingCutvsieta",
204  _cTimingCutvsiphi_SubdetPM.initialize(_name, "TimingCutvsiphi",
208  _cTimingCutvsBX_SubdetPM.initialize(_name, "TimingCutvsBX",
212  _cOccupancyvsiphi_SubdetPM.initialize(_name, "Occupancyvsiphi",
216  _cOccupancyvsieta_Subdet.initialize(_name, "Occupancyvsieta",
220  _cOccupancyCutvsiphi_SubdetPM.initialize(_name, "OccupancyCutvsiphi",
224  _cOccupancyCutvsieta_Subdet.initialize(_name, "OccupancyCutvsieta",
228  _cOccupancyCutvsBX_Subdet.initialize(_name, "OccupancyCutvsBX",
233  "OccupancyCutvsiphivsLS", hcaldqm::hashfunctions::fSubdetPM,
237  _cOccupancyCutvsLS_Subdet.initialize(_name, "OccupancyCutvsLS",
241 
242  _cSummaryvsLS_FED.initialize(_name, "SummaryvsLS",
247  _cSummaryvsLS.initialize(_name, "SummaryvsLS",
251 
254  }
255 
256  // BOOK HISTOGRAMS
257  char cutstr[200];
258  sprintf(cutstr, "_EHBHE%dHO%dHF%d", int(_cutE_HBHE),
259  int(_cutE_HO), int(_cutE_HF));
260  char cutstr2[200];
261  sprintf(cutstr2, "_EHF%d", int(_cutE_HF));
262 
263  // Energy
266 
267  // Timing
277 
278  // Occupancy
290 
291  // BOOK HISTOGRAMS to be used only in Online
292  if (_ptype==fOnline)
293  {
310 
311  std::vector<uint32_t> vhashFEDHF;
312  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN,
313  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
314  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN,
315  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
316  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN,
317  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
318  vhashFEDHF.push_back(HcalElectronicsId(22, SLOT_uTCA_MIN+6,
319  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
320  vhashFEDHF.push_back(HcalElectronicsId(29, SLOT_uTCA_MIN+6,
321  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
322  vhashFEDHF.push_back(HcalElectronicsId(32, SLOT_uTCA_MIN+6,
323  FIBER_uTCA_MIN1, FIBERCH_MIN, false).rawId());
324  HashFilter filter_FEDHF;
326  vhashFEDHF);
327 
329  _xUniHF.book(_emap, filter_FEDHF);
330  _xUni.book(_emap);
331  }
332 
333  // initialize hash map
335 
336  // book some mes...
338  meUnknownIds1LS = ib.book1D("UnknownIds", "UnknownIds",
339  1, 0, 1);
340  _unknownIdsPresent = false;
342 }
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:121
hcaldqm::Container2D _cOccupancyCut_depth
Definition: RecHitTask.h:116
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:128
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:54
hcaldqm::ContainerProf1D _cOccupancyvsLS_Subdet
Definition: RecHitTask.h:106
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *qy=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container1D.cc:40
hcaldqm::ContainerProf2D _cEnergy_depth
Definition: RecHitTask.h:80
hcaldqm::Container2D _cTimingvsEnergy_SubdetPM
Definition: RecHitTask.h:85
int const CRATE_VME_MIN
Definition: Constants.h:60
hcaldqm::Container2D _cOccupancyCut_FEDVME
Definition: RecHitTask.h:111
hcaldqm::Container2D _cOccupancy_FEDVME
Definition: RecHitTask.h:102
double _cutE_HO
Definition: RecHitTask.h:50
std::pair< uint16_t, uint16_t > fed2crate(int fed)
Definition: Utilities.cc:13
uint32_t rawId() const
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:121
void initialize(HcalElectronicsMap const *, ElectronicsMapType etype=fHcalElectronicsMap)
hcaldqm::Container1D _cOccupancyCutvsiphi_SubdetPM
Definition: RecHitTask.h:117
hcaldqm::ContainerProf1D _cEnergyvsieta_Subdet
Definition: RecHitTask.h:78
hcaldqm::ContainerProf1D _cEnergyvsiphi_SubdetPM
Definition: RecHitTask.h:79
hcaldqm::Container2D _cOccupancyCutvsiphivsLS_SubdetPM
Definition: RecHitTask.h:120
std::vector< HcalGenericDetId > _gids
Definition: RecHitTask.h:127
hcaldqm::Container1D _cTimingCut_SubdetPM
Definition: RecHitTask.h:88
int const SPIGOT_MIN
Definition: Constants.h:85
hcaldqm::ContainerProf1D _cTimingCutvsieta_Subdet
Definition: RecHitTask.h:96
int const FIBER_VME_MIN
Definition: Constants.h:90
hcaldqm::ContainerProf1D _cEnergyvsBX_SubdetPM
Definition: RecHitTask.h:82
void bookHistograms(fwlite::EventContainer &eventCont)
hcaldqm::Container2D _cOccupancyCut_ElectronicsVME
Definition: RecHitTask.h:113
int const FIBERCH_MIN
Definition: Constants.h:100
virtual void book(DQMStore::IBooker &, std::string subsystem="Hcal", std::string aux="")
std::vector< int > getFEDVMEList(HcalElectronicsMap const *)
Definition: Utilities.cc:78
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsuTCA
Definition: RecHitTask.h:93
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:57
double _cutE_HBHE
Definition: RecHitTask.h:50
ProcessingType _ptype
Definition: DQModule.h:59
hcaldqm::Container1D _cEnergy_Subdet
Definition: RecHitTask.h:77
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, int debug=0)
hcaldqm::ContainerProf1D _cTimingCutvsLS_FED
Definition: RecHitTask.h:95
hcaldqm::ContainerProf2D _cTimingCut_FEDVME
Definition: RecHitTask.h:90
hcaldqm::Container2D _cOccupancyCut_ElectronicsuTCA
Definition: RecHitTask.h:114
hcaldqm::ContainerProf1D _cOccupancyCutvsBX_Subdet
Definition: RecHitTask.h:119
int const FED_VME_MIN
Definition: Constants.h:47
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fEnergy), int debug=0)
hcaldqm::Container2D _cOccupancy_ElectronicsVME
Definition: RecHitTask.h:104
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
virtual void initialize(std::string const &folder, hashfunctions::HashType, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
Definition: Container2D.cc:32
int const FIBER_uTCA_MIN1
Definition: Constants.h:93
double _cutE_HF
Definition: RecHitTask.h:50
std::vector< HcalGenericDetId > allPrecisionId() const
hcaldqm::Container2D _cOccupancyCut_FEDuTCA
Definition: RecHitTask.h:112
hcaldqm::electronicsmap::ElectronicsMap _ehashmap
Definition: RecHitTask.h:68
MonitorElement * meUnknownIds1LS
Definition: RecHitTask.h:124
std::string _name
Definition: DQModule.h:57
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RecHitTask.h:129
int const CRATE_uTCA_MIN
Definition: Constants.h:65
hcaldqm::Container2D _cOccupancy_ElectronicsuTCA
Definition: RecHitTask.h:105
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container2D.cc:895
virtual void book(HcalElectronicsMap const *)
Definition: ContainerXXX.h:99
virtual void initialize(std::string const &folder, Quantity *, Quantity *, Quantity *qz=new ValueQuantity(quantity::fN), int debug=0)
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
Definition: Container1D.cc:957
hcaldqm::Container2D _cOccupancy_FEDuTCA
Definition: RecHitTask.h:103
HcalElectronicsMap const * _emap
Definition: RecHitTask.h:67
hcaldqm::Container1D _cTimingCut_HBHEPartition
Definition: RecHitTask.h:89
hcaldqm::filter::HashFilter _filter_uTCA
Definition: RecHitTask.h:72
hcaldqm::ContainerProf1D _cOccupancyCutvsLS_Subdet
Definition: RecHitTask.h:115
hcaldqm::Container1D _cOccupancyvsieta_Subdet
Definition: RecHitTask.h:108
std::vector< int > getFEDList(HcalElectronicsMap const *)
Definition: Utilities.cc:54
std::vector< int > getFEDuTCAList(HcalElectronicsMap const *)
Definition: Utilities.cc:104
std::string _subsystem
Definition: DQModule.h:64
hcaldqm::ContainerProf1D _cTimingCutvsBX_SubdetPM
Definition: RecHitTask.h:98
hcaldqm::ContainerProf2D _cTimingCut_FEDuTCA
Definition: RecHitTask.h:91
virtual void initialize(hashfunctions::HashType, int debug=0)
Definition: ContainerXXX.h:91
virtual void initialize(FilterType ftype, HashType htype, std::vector< uint32_t > const &)
Definition: HashFilter.cc:26
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
virtual void book(DQMStore::IBooker &, HcalElectronicsMap const *, std::string subsystem="Hcal", std::string aux="")
hcaldqm::Container2D _cOccupancy_depth
Definition: RecHitTask.h:101
hcaldqm::ContainerProf1D _cTimingCutvsiphi_SubdetPM
Definition: RecHitTask.h:97
hcaldqm::ContainerProf2D _cTimingCut_depth
Definition: RecHitTask.h:94
Readout chain identification for Hcal.
hcaldqm::ContainerProf2D _cTimingCut_ElectronicsVME
Definition: RecHitTask.h:92
hcaldqm::filter::HashFilter _filter_VME
Definition: RecHitTask.h:71
hcaldqm::Container1D _cOccupancyCutvsieta_Subdet
Definition: RecHitTask.h:118
hcaldqm::Container1D _cOccupancyvsiphi_SubdetPM
Definition: RecHitTask.h:107
int const SLOT_uTCA_MIN
Definition: Constants.h:72
bool _unknownIdsPresent
Definition: RecHitTask.h:125
hcaldqm::ContainerProf1D _cEnergyvsLS_SubdetPM
Definition: RecHitTask.h:81
void RecHitTask::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
virtual

Reimplemented from hcaldqm::DQTask.

Definition at line 737 of file RecHitTask.cc.

References _cSummaryvsLS, _cSummaryvsLS_FED, hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_ptype, hcaldqm::DQModule::_runkeyVal, hcaldqm::flag::Flag::_state, _thresh_unihf, _unknownIdsPresent, hcaldqm::DQTask::_vcdaqEids, _vflags, _vhashFEDs, _xUni, _xUniHF, hcaldqm::ContainerXXX< STDTYPE >::begin(), hcaldqm::ContainerXXX< STDTYPE >::end(), hcaldqm::flag::fBAD, hcaldqm::flag::fGOOD, spr::find(), hcaldqm::flag::fNCDAQ, hcaldqm::fOnline, hcaldqm::flag::fPROBLEMATIC, fUni, fUnknownIds, hcaldqm::ContainerXXX< STDTYPE >::get(), hcaldqm::utilities::isFEDHF(), hcaldqm::ContainerXXX< STDTYPE >::reset(), hcaldqm::flag::Flag::reset(), hcaldqm::Container2D::setBinContent(), and hcaldqm::ContainerSingle2D::setBinContent().

739 {
740  if (_ptype!=fOnline)
741  return;
742 
743  //
744  // GENERATE STATUS ONLY FOR ONLINE
745  //
746 // for (std::vector<HcalGenericDetId>::const_iterator it=gids.begin();
747 // it!=gids.end(); ++it)
748 // {}
749 
750  for (uintCompactMap::const_iterator it=_xUniHF.begin();
751  it!=_xUniHF.end(); ++it)
752  {
753  uint32_t hash1 = it->first;
754  HcalElectronicsId eid1(hash1);
755  double x1 = it->second;
756 
757  for (uintCompactMap::const_iterator jt=_xUniHF.begin();
758  jt!=_xUniHF.end(); ++jt)
759  {
760  if (jt==it)
761  continue;
762  double x2 = jt->second;
763  if (x2==0)
764  continue;
765  if (x1/x2<_thresh_unihf)
766  _xUni.get(eid1)++;
767  }
768  }
769 
770  for (std::vector<uint32_t>::const_iterator it=_vhashFEDs.begin();
771  it!=_vhashFEDs.end(); ++it)
772  {
773  flag::Flag fSum("RECO");
775 
776  std::vector<uint32_t>::const_iterator cit=std::find(
777  _vcdaqEids.begin(), _vcdaqEids.end(), *it);
778  if (cit==_vcdaqEids.end())
779  {
780  // not @cDAQ
781  for (uint32_t iflag=0; iflag<_vflags.size(); iflag++)
782  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
783  int(flag::fNCDAQ));
785  continue;
786  }
787 
788  // FED is @cDAQ
789  if (hcaldqm::utilities::isFEDHF(eid) && (_runkeyVal==0 || _runkeyVal==4))
790  {
791  if (_xUni.get(eid)>0)
792  _vflags[fUni]._state = flag::fPROBLEMATIC;
793  else
794  _vflags[fUni]._state = flag::fGOOD;
795  }
796 
797  if (_unknownIdsPresent)
798  _vflags[fUnknownIds]._state = flag::fBAD;
799  else
800  _vflags[fUnknownIds]._state = flag::fGOOD;
801 
802  int iflag=0;
803  for (std::vector<flag::Flag>::iterator ft=_vflags.begin();
804  ft!=_vflags.end(); ++ft)
805  {
806  _cSummaryvsLS_FED.setBinContent(eid, _currentLS, int(iflag),
807  int(ft->_state));
808  fSum+=(*ft);
809  iflag++;
810 
811  // reset after using
812  ft->reset();
813  }
814  _cSummaryvsLS.setBinContent(eid, _currentLS, fSum._state);
815  }
816  _xUniHF.reset(); _xUni.reset();
817 
818  // in the end always do the DQTask::endLumi
819  DQTask::endLuminosityBlock(lb, es);
820 }
hcaldqm::ContainerXXX< uint32_t > _xUniHF
Definition: RecHitTask.h:121
hcaldqm::Container2D _cSummaryvsLS_FED
Definition: RecHitTask.h:128
std::vector< uint32_t > _vhashFEDs
Definition: RecHitTask.h:54
virtual void setBinContent(HcalDetId const &, int)
Definition: Container2D.cc:235
hcaldqm::ContainerXXX< uint32_t > _xUni
Definition: RecHitTask.h:121
virtual CompactMap::const_iterator begin()
Definition: ContainerXXX.h:75
virtual void reset()
Definition: ContainerXXX.h:366
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
virtual CompactMap::const_iterator end()
Definition: ContainerXXX.h:77
std::vector< hcaldqm::flag::Flag > _vflags
Definition: RecHitTask.h:57
ProcessingType _ptype
Definition: DQModule.h:59
virtual void setBinContent(int, int, int)
hcaldqm::ContainerSingle2D _cSummaryvsLS
Definition: RecHitTask.h:129
double _thresh_unihf
Definition: RecHitTask.h:51
virtual STDTYPE & get(HcalDetId const &)
Definition: ContainerXXX.h:249
std::vector< uint32_t > _vcdaqEids
Definition: DQTask.h:65
Readout chain identification for Hcal.
bool isFEDHF(HcalElectronicsId const &)
Definition: Utilities.cc:153
bool _unknownIdsPresent
Definition: RecHitTask.h:125

Member Data Documentation

hcaldqm::ContainerProf2D RecHitTask::_cEnergy_depth
protected

Definition at line 80 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cEnergy_Subdet
protected

Definition at line 77 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cEnergyvsBX_SubdetPM
protected

Definition at line 82 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cEnergyvsieta_Subdet
protected

Definition at line 78 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cEnergyvsiphi_SubdetPM
protected

Definition at line 79 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cEnergyvsLS_SubdetPM
protected

Definition at line 81 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancy_depth
protected

Definition at line 101 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancy_ElectronicsuTCA
protected

Definition at line 105 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancy_ElectronicsVME
protected

Definition at line 104 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancy_FEDuTCA
protected

Definition at line 103 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancy_FEDVME
protected

Definition at line 102 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCut_depth
protected

Definition at line 116 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCut_ElectronicsuTCA
protected

Definition at line 114 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCut_ElectronicsVME
protected

Definition at line 113 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCut_FEDuTCA
protected

Definition at line 112 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCut_FEDVME
protected

Definition at line 111 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cOccupancyCutvsBX_Subdet
protected

Definition at line 119 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cOccupancyCutvsieta_Subdet
protected

Definition at line 118 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cOccupancyCutvsiphi_SubdetPM
protected

Definition at line 117 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cOccupancyCutvsiphivsLS_SubdetPM
protected

Definition at line 120 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cOccupancyCutvsLS_Subdet
protected

Definition at line 115 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cOccupancyvsieta_Subdet
protected

Definition at line 108 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cOccupancyvsiphi_SubdetPM
protected

Definition at line 107 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cOccupancyvsLS_Subdet
protected

Definition at line 106 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerSingle2D RecHitTask::_cSummaryvsLS
protected

Definition at line 129 of file RecHitTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::Container2D RecHitTask::_cSummaryvsLS_FED
protected

Definition at line 128 of file RecHitTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerProf2D RecHitTask::_cTimingCut_depth
protected

Definition at line 94 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D RecHitTask::_cTimingCut_ElectronicsuTCA
protected

Definition at line 93 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D RecHitTask::_cTimingCut_ElectronicsVME
protected

Definition at line 92 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D RecHitTask::_cTimingCut_FEDuTCA
protected

Definition at line 91 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf2D RecHitTask::_cTimingCut_FEDVME
protected

Definition at line 90 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cTimingCut_HBHEPartition
protected

Definition at line 89 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container1D RecHitTask::_cTimingCut_SubdetPM
protected

Definition at line 88 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cTimingCutvsBX_SubdetPM
protected

Definition at line 98 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cTimingCutvsieta_Subdet
protected

Definition at line 96 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cTimingCutvsiphi_SubdetPM
protected

Definition at line 97 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::ContainerProf1D RecHitTask::_cTimingCutvsLS_FED
protected

Definition at line 95 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

hcaldqm::Container2D RecHitTask::_cTimingvsEnergy_SubdetPM
protected

Definition at line 85 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

double RecHitTask::_cutE_HBHE
protected

Definition at line 50 of file RecHitTask.h.

Referenced by _process(), bookHistograms(), and RecHitTask().

double RecHitTask::_cutE_HF
protected

Definition at line 50 of file RecHitTask.h.

Referenced by _process(), bookHistograms(), and RecHitTask().

double RecHitTask::_cutE_HO
protected

Definition at line 50 of file RecHitTask.h.

Referenced by _process(), bookHistograms(), and RecHitTask().

hcaldqm::electronicsmap::ElectronicsMap RecHitTask::_ehashmap
protected

Definition at line 68 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

HcalElectronicsMap const* RecHitTask::_emap
protected

Definition at line 67 of file RecHitTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter RecHitTask::_filter_FEDsuTCA
protected

Definition at line 74 of file RecHitTask.h.

hcaldqm::filter::HashFilter RecHitTask::_filter_FEDsVME
protected

Definition at line 73 of file RecHitTask.h.

hcaldqm::filter::HashFilter RecHitTask::_filter_uTCA
protected

Definition at line 72 of file RecHitTask.h.

Referenced by bookHistograms().

hcaldqm::filter::HashFilter RecHitTask::_filter_VME
protected

Definition at line 71 of file RecHitTask.h.

Referenced by bookHistograms().

std::vector<HcalGenericDetId> RecHitTask::_gids
protected

Definition at line 127 of file RecHitTask.h.

Referenced by bookHistograms().

edm::InputTag RecHitTask::_tagHBHE
protected

Definition at line 43 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

edm::InputTag RecHitTask::_tagHF
protected

Definition at line 45 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

edm::InputTag RecHitTask::_tagHO
protected

Definition at line 44 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

double RecHitTask::_thresh_unihf
protected

Definition at line 51 of file RecHitTask.h.

Referenced by endLuminosityBlock(), and RecHitTask().

edm::EDGetTokenT<HBHERecHitCollection> RecHitTask::_tokHBHE
protected

Definition at line 46 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

edm::EDGetTokenT<HFRecHitCollection> RecHitTask::_tokHF
protected

Definition at line 48 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

edm::EDGetTokenT<HORecHitCollection> RecHitTask::_tokHO
protected

Definition at line 47 of file RecHitTask.h.

Referenced by _process(), and RecHitTask().

bool RecHitTask::_unknownIdsPresent
protected

Definition at line 125 of file RecHitTask.h.

Referenced by _process(), _resetMonitors(), bookHistograms(), and endLuminosityBlock().

std::vector<hcaldqm::flag::Flag> RecHitTask::_vflags
protected

Definition at line 57 of file RecHitTask.h.

Referenced by bookHistograms(), endLuminosityBlock(), and RecHitTask().

std::vector<uint32_t> RecHitTask::_vhashFEDs
protected

Definition at line 54 of file RecHitTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RecHitTask::_xUni
protected

Definition at line 121 of file RecHitTask.h.

Referenced by bookHistograms(), and endLuminosityBlock().

hcaldqm::ContainerXXX<uint32_t> RecHitTask::_xUniHF
protected

Definition at line 121 of file RecHitTask.h.

Referenced by _process(), bookHistograms(), and endLuminosityBlock().

MonitorElement* RecHitTask::meUnknownIds1LS
protected

Definition at line 124 of file RecHitTask.h.

Referenced by _process(), and bookHistograms().

tuple RecHitTask.recHitTask
Initial value:
1 = cms.EDAnalyzer(
2  "RecHitTask",
3 
4  # standard parameters
5  name = cms.untracked.string("RecHitTask"),
6  debug = cms.untracked.int32(0),
7  runkeyVal = cms.untracked.int32(0),
8  runkeyName = cms.untracked.string("pp_run"),
9  ptype = cms.untracked.int32(0),
10  mtype = cms.untracked.bool(True),
11  subsystem = cms.untracked.string("Hcal"),
12 
13  # tags
14  tagHBHE = cms.untracked.InputTag("hbhereco"),
15  tagHO = cms.untracked.InputTag("horeco"),
16  tagHF = cms.untracked.InputTag("hfreco"),
17  tagRaw = cms.untracked.InputTag('rawDataCollector'),
18 
19  # thresholds
20  thresh_unihf = cms.untracked.double(0.2),
21 )

Definition at line 3 of file RecHitTask.py.