CMS 3D CMS Logo

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

#include <DQMScalInfo.h>

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

 DQMScalInfo (const edm::ParameterSet &ps)
 Constructor. More...
 
 ~DQMScalInfo () 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 () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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 &, edm::Run const &, edm::EventSetup const &) override
 
- 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 Member Functions

void makeL1Scalars (const edm::Event &e)
 
void makeLumiScalars (const edm::Event &e)
 

Private Attributes

edm::EDGetTokenT< DcsStatusCollectiondcsStatusCollection_
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordgtCollection_
 
MonitorElementhinstLumi_
 
MonitorElementhlEC0_
 
MonitorElementhlHR_
 
MonitorElementhlOC0_
 
MonitorElementhlresync_
 
MonitorElementhlstart_
 
MonitorElementhlTE_
 
MonitorElementhphysTrig_
 
edm::EDGetTokenT< Level1TriggerScalersCollectionl1tscollectionToken_
 
edm::EDGetTokenT< LumiScalersCollectionlumicollectionToken_
 
edm::ParameterSet parameters_
 
std::string scalfolder_
 

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 33 of file DQMScalInfo.h.

Constructor & Destructor Documentation

DQMScalInfo::DQMScalInfo ( const edm::ParameterSet ps)

Constructor.

Definition at line 27 of file DQMScalInfo.cc.

References edm::ParameterSet::getUntrackedParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and ~DQMScalInfo().

28 {
29  parameters_ = ps;
30 
31  scalfolder_ = parameters_.getUntrackedParameter<std::string>("dqmScalFolder", "Scal") ;
32  gtCollection_ = consumes<L1GlobalTriggerReadoutRecord>(parameters_.getUntrackedParameter<edm::InputTag>("gtCollection", edm::InputTag("gtDigis")));
33  dcsStatusCollection_ = consumes<DcsStatusCollection>(parameters_.getUntrackedParameter<edm::InputTag>("dcsStatusCollection", edm::InputTag("scalersRawToDigi")));
34  l1tscollectionToken_ = consumes<Level1TriggerScalersCollection>(parameters_.getUntrackedParameter<edm::InputTag>("l1TSCollection", edm::InputTag("scalersRawToDigi")));
35  lumicollectionToken_ = consumes<LumiScalersCollection>(parameters_.getUntrackedParameter<edm::InputTag>("lumiCollection", edm::InputTag("scalersRawToDigi")));
36 }
T getUntrackedParameter(std::string const &, T const &) const
std::string scalfolder_
Definition: DQMScalInfo.h:55
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMScalInfo.h:57
edm::EDGetTokenT< LumiScalersCollection > lumicollectionToken_
Definition: DQMScalInfo.h:59
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtCollection_
Definition: DQMScalInfo.h:56
edm::ParameterSet parameters_
Definition: DQMScalInfo.h:54
edm::EDGetTokenT< Level1TriggerScalersCollection > l1tscollectionToken_
Definition: DQMScalInfo.h:58
DQMScalInfo::~DQMScalInfo ( )
overridedefault

Destructor.

Referenced by DQMScalInfo().

Member Function Documentation

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

Analyze.

Definition at line 66 of file DQMScalInfo.cc.

66  {
67  makeL1Scalars(e);
68  makeLumiScalars(e);
69  return;
70 }
void makeL1Scalars(const edm::Event &e)
Definition: DQMScalInfo.cc:73
void makeLumiScalars(const edm::Event &e)
Definition: DQMScalInfo.cc:99
void DQMScalInfo::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 40 of file DQMScalInfo.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::cd(), MonitorElement::setAxisTitle(), and DQMStore::IBooker::setCurrentFolder().

42  {
43 
44  const int maxNbins = 2001;
45 
46  // Fetch GlobalTag information and fill the string/ME.
47  ibooker.cd();
48  ibooker.setCurrentFolder(scalfolder_ +"/L1TriggerScalers/");
49  const int fracLS = 16;
50  const int maxLS = 250;
51  hlresync_ = ibooker.book1D("lresync","Orbit of last resync",fracLS*maxLS,0,maxLS*262144);
52  hlOC0_ = ibooker.book1D("lOC0","Orbit of last OC0",fracLS*maxLS,0,maxLS*262144);
53  hlTE_ = ibooker.book1D("lTE","Orbit of last TestEnable",fracLS*maxLS,0,maxLS*262144);
54  hlstart_ = ibooker.book1D("lstart","Orbit of last Start",fracLS*maxLS,0,maxLS*262144);
55  hlEC0_ = ibooker.book1D("lEC0","Orbit of last EC0",fracLS*maxLS,0,maxLS*262144);
56  hlHR_ = ibooker.book1D("lHR","Orbit of last HardReset",fracLS*maxLS,0,maxLS*262144);
57 
58  hphysTrig_ = ibooker.book1D("Physics_Triggers", "Physics Triggers", maxNbins, -0.5, double(maxNbins)-0.5);
59  hphysTrig_->setAxisTitle("Lumi Section", 1);
60 
61  ibooker.cd();
62  ibooker.setCurrentFolder(scalfolder_ +"/LumiScalers/");
63  hinstLumi_ = ibooker.book1D("Instant_Lumi", "Instant Lumi", maxNbins, -0.5, double(maxNbins)-0.5);
64 }
MonitorElement * hlOC0_
Definition: DQMScalInfo.h:63
std::string scalfolder_
Definition: DQMScalInfo.h:55
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * hphysTrig_
Definition: DQMScalInfo.h:68
MonitorElement * hinstLumi_
Definition: DQMScalInfo.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * hlstart_
Definition: DQMScalInfo.h:65
MonitorElement * hlTE_
Definition: DQMScalInfo.h:64
MonitorElement * hlEC0_
Definition: DQMScalInfo.h:66
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * hlHR_
Definition: DQMScalInfo.h:67
MonitorElement * hlresync_
Definition: DQMScalInfo.h:62
void DQMScalInfo::makeL1Scalars ( const edm::Event e)
private

Definition at line 73 of file DQMScalInfo.cc.

References edm::Event::getByToken(), and mathSSE::return().

74 {
78  e.getByToken(lumicollectionToken_,lumiScalers);
79 
80  auto it = l1ts->begin();
81 
82  if(l1ts->empty()) return;
83  hlresync_->Fill((*l1ts)[0].lastResync());
84  hlOC0_->Fill((*l1ts)[0].lastOrbitCounter0());
85  hlTE_->Fill((*l1ts)[0].lastTestEnable());
86  hlstart_->Fill((*l1ts)[0].lastStart());
87  hlEC0_->Fill((*l1ts)[0].lastEventCounter0());
88  hlHR_->Fill((*l1ts)[0].lastHardReset());
89 
90  unsigned int lumisection = it->lumiSegmentNr();
91  if(lumisection){
92  hphysTrig_->setBinContent(lumisection + 1, it->l1AsPhysics());
93  }
94 
95  return ;
96 }
void setBinContent(int binx, double content)
set content of bin (1-D)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
MonitorElement * hlOC0_
Definition: DQMScalInfo.h:63
return((rh^lh)&mask)
void Fill(long long x)
MonitorElement * hphysTrig_
Definition: DQMScalInfo.h:68
edm::EDGetTokenT< LumiScalersCollection > lumicollectionToken_
Definition: DQMScalInfo.h:59
MonitorElement * hlstart_
Definition: DQMScalInfo.h:65
MonitorElement * hlTE_
Definition: DQMScalInfo.h:64
MonitorElement * hlEC0_
Definition: DQMScalInfo.h:66
edm::EDGetTokenT< Level1TriggerScalersCollection > l1tscollectionToken_
Definition: DQMScalInfo.h:58
MonitorElement * hlHR_
Definition: DQMScalInfo.h:67
MonitorElement * hlresync_
Definition: DQMScalInfo.h:62
void DQMScalInfo::makeLumiScalars ( const edm::Event e)
private

Definition at line 99 of file DQMScalInfo.cc.

References edm::Event::getByToken().

100 {
102  e.getByToken(lumicollectionToken_,lumiScalers);
103 
104  auto it = lumiScalers->begin();
105 
106  if(!lumiScalers->empty()){
107  unsigned int lumisection = it->sectionNumber();
108  if(lumisection){
109  hinstLumi_->setBinContent(lumisection + 1, it->instantLumi());
110  }
111  }
112 
113  return;
114 }
void setBinContent(int binx, double content)
set content of bin (1-D)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
MonitorElement * hinstLumi_
Definition: DQMScalInfo.h:70
edm::EDGetTokenT< LumiScalersCollection > lumicollectionToken_
Definition: DQMScalInfo.h:59

Member Data Documentation

edm::EDGetTokenT<DcsStatusCollection> DQMScalInfo::dcsStatusCollection_
private

Definition at line 57 of file DQMScalInfo.h.

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> DQMScalInfo::gtCollection_
private

Definition at line 56 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hinstLumi_
private

Definition at line 70 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlEC0_
private

Definition at line 66 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlHR_
private

Definition at line 67 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlOC0_
private

Definition at line 63 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlresync_
private

Definition at line 62 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlstart_
private

Definition at line 65 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hlTE_
private

Definition at line 64 of file DQMScalInfo.h.

MonitorElement* DQMScalInfo::hphysTrig_
private

Definition at line 68 of file DQMScalInfo.h.

edm::EDGetTokenT<Level1TriggerScalersCollection> DQMScalInfo::l1tscollectionToken_
private

Definition at line 58 of file DQMScalInfo.h.

edm::EDGetTokenT<LumiScalersCollection> DQMScalInfo::lumicollectionToken_
private

Definition at line 59 of file DQMScalInfo.h.

edm::ParameterSet DQMScalInfo::parameters_
private
std::string DQMScalInfo::scalfolder_
private

Definition at line 55 of file DQMScalInfo.h.