CMS 3D CMS Logo

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

#include <CSCCLCTDigiValidation.h>

Inheritance diagram for CSCCLCTDigiValidation:
CSCBaseValidation

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &)
 
 CSCCLCTDigiValidation (const edm::ParameterSet &ps, edm::ConsumesCollector &&iC)
 
 ~CSCCLCTDigiValidation () override
 
- Public Member Functions inherited from CSCBaseValidation
 CSCBaseValidation (const edm::ParameterSet &ps)
 
void setGeometry (const CSCGeometry *geom)
 
void setSimHitMap (const PSimHitMap *simHitMap)
 
virtual ~CSCBaseValidation ()
 

Private Attributes

edm::EDGetTokenT< CSCCLCTDigiCollectionclcts_Token_
 
edm::InputTag inputTag_
 
MonitorElementtheNDigisPerChamberPlots [10]
 
MonitorElementtheNDigisPerEventPlot
 
MonitorElementtheTimeBinPlots [10]
 

Additional Inherited Members

- Public Types inherited from CSCBaseValidation
typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
- Protected Member Functions inherited from CSCBaseValidation
const CSCLayerfindLayer (int detId) const
 
- Protected Attributes inherited from CSCBaseValidation
bool doSim_
 
const CSCGeometrytheCSCGeometry
 
const PSimHitMaptheSimHitMap
 

Detailed Description

Definition at line 11 of file CSCCLCTDigiValidation.h.

Constructor & Destructor Documentation

◆ CSCCLCTDigiValidation()

CSCCLCTDigiValidation::CSCCLCTDigiValidation ( const edm::ParameterSet ps,
edm::ConsumesCollector &&  iC 
)

Definition at line 9 of file CSCCLCTDigiValidation.cc.

11  const auto &pset = ps.getParameterSet("cscCLCT");
12  inputTag_ = pset.getParameter<edm::InputTag>("inputTag");
14 }

References clcts_Token_, edm::ParameterSet::getParameterSet(), inputTag_, and muonDTDigis_cfi::pset.

◆ ~CSCCLCTDigiValidation()

CSCCLCTDigiValidation::~CSCCLCTDigiValidation ( )
override

Definition at line 16 of file CSCCLCTDigiValidation.cc.

16 {}

Member Function Documentation

◆ analyze()

void CSCCLCTDigiValidation::analyze ( const edm::Event e,
const edm::EventSetup  
)
overridevirtual

Implements CSCBaseValidation.

Definition at line 30 of file CSCCLCTDigiValidation.cc.

30  {
32  e.getByToken(clcts_Token_, clcts);
33  if (!clcts.isValid()) {
34  edm::LogError("CSCDigiDump") << "Cannot get CLCTs by label " << inputTag_.encode();
35  }
36 
37  unsigned nDigisPerEvent = 0;
38 
39  for (auto j = clcts->begin(); j != clcts->end(); j++) {
40  auto beginDigi = (*j).second.first;
41  auto endDigi = (*j).second.second;
42  CSCDetId detId((*j).first.rawId());
43  int chamberType = detId.iChamberType();
44 
45  int nDigis = endDigi - beginDigi;
46  nDigisPerEvent += nDigis;
47  theNDigisPerChamberPlots[chamberType - 1]->Fill(nDigis);
48 
49  for (auto digiItr = beginDigi; digiItr != endDigi; ++digiItr) {
50  theTimeBinPlots[chamberType - 1]->Fill(digiItr->getBX());
51  }
52  }
53  theNDigisPerEventPlot->Fill(nDigisPerEvent);
54 }

References clcts_Token_, MillePedeFileConverter_cfg::e, edm::InputTag::encode(), dqm::impl::MonitorElement::Fill(), CSCDetId::iChamberType(), inputTag_, edm::HandleBase::isValid(), dqmiolumiharvest::j, theNDigisPerChamberPlots, theNDigisPerEventPlot, and theTimeBinPlots.

◆ bookHistograms()

void CSCCLCTDigiValidation::bookHistograms ( DQMStore::IBooker iBooker)

Definition at line 18 of file CSCCLCTDigiValidation.cc.

18  {
19  theNDigisPerEventPlot = iBooker.book1D(
20  "CSCCLCTDigisPerEvent", "CLCT trigger primitives per event; Number of CLCTs; Entries", 100, 0, 100);
21  for (int i = 1; i <= 10; ++i) {
22  const std::string t1("CSCCLCTDigiTime_" + CSCDetId::chamberName(i));
23  const std::string t2("CSCCLCTDigisPerChamber_" + CSCDetId::chamberName(i));
24  theTimeBinPlots[i - 1] = iBooker.book1D(t1, "CLCT BX " + CSCDetId::chamberName(i) + ";CLCT BX; Entries", 16, 0, 16);
25  theNDigisPerChamberPlots[i - 1] = iBooker.book1D(
26  t2, "Number of CLCTs per chamber " + CSCDetId::chamberName(i) + ";Number of CLCTs per chamber;Entries", 4, 0, 4);
27  }
28 }

References dqm::implementation::IBooker::book1D(), CSCDetId::chamberName(), mps_fire::i, AlCaHLTBitMon_QueryRunRegistry::string, RandomServiceHelper::t1, RandomServiceHelper::t2, theNDigisPerChamberPlots, theNDigisPerEventPlot, and theTimeBinPlots.

Member Data Documentation

◆ clcts_Token_

edm::EDGetTokenT<CSCCLCTDigiCollection> CSCCLCTDigiValidation::clcts_Token_
private

Definition at line 19 of file CSCCLCTDigiValidation.h.

Referenced by analyze(), and CSCCLCTDigiValidation().

◆ inputTag_

edm::InputTag CSCCLCTDigiValidation::inputTag_
private

Definition at line 20 of file CSCCLCTDigiValidation.h.

Referenced by analyze(), and CSCCLCTDigiValidation().

◆ theNDigisPerChamberPlots

MonitorElement* CSCCLCTDigiValidation::theNDigisPerChamberPlots[10]
private

Definition at line 22 of file CSCCLCTDigiValidation.h.

Referenced by analyze(), and bookHistograms().

◆ theNDigisPerEventPlot

MonitorElement* CSCCLCTDigiValidation::theNDigisPerEventPlot
private

Definition at line 23 of file CSCCLCTDigiValidation.h.

Referenced by analyze(), and bookHistograms().

◆ theTimeBinPlots

MonitorElement* CSCCLCTDigiValidation::theTimeBinPlots[10]
private

Definition at line 21 of file CSCCLCTDigiValidation.h.

Referenced by analyze(), and bookHistograms().

RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
mps_fire.i
i
Definition: mps_fire.py:428
edm::Handle< CSCCLCTDigiCollection >
CSCDetId::iChamberType
unsigned short iChamberType() const
Definition: CSCDetId.h:96
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
CSCBaseValidation::CSCBaseValidation
CSCBaseValidation(const edm::ParameterSet &ps)
Definition: CSCBaseValidation.cc:4
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
CSCCLCTDigiValidation::theNDigisPerEventPlot
MonitorElement * theNDigisPerEventPlot
Definition: CSCCLCTDigiValidation.h:23
CSCCLCTDigiValidation::inputTag_
edm::InputTag inputTag_
Definition: CSCCLCTDigiValidation.h:20
CSCDetId
Definition: CSCDetId.h:26
CSCCLCTDigiValidation::theTimeBinPlots
MonitorElement * theTimeBinPlots[10]
Definition: CSCCLCTDigiValidation.h:21
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CSCCLCTDigiValidation::theNDigisPerChamberPlots
MonitorElement * theNDigisPerChamberPlots[10]
Definition: CSCCLCTDigiValidation.h:22
CSCCLCTDigiCollection
CSCDetId::chamberName
std::string chamberName() const
Definition: CSCDetId.cc:86
CSCCLCTDigiValidation::clcts_Token_
edm::EDGetTokenT< CSCCLCTDigiCollection > clcts_Token_
Definition: CSCCLCTDigiValidation.h:19
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::InputTag
Definition: InputTag.h:15
edm::ParameterSet::getParameterSet
ParameterSet const & getParameterSet(std::string const &) const
Definition: ParameterSet.cc:2128
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37