10 :
CSCBaseValidation(inputTag), doSim_(doSim), theTimeBinPlots(), theNDigisPerLayerPlots() {
18 for (
int i = 0;
i < 10; ++
i) {
19 char title1[200], title2[200], title3[200];
20 sprintf(title1,
"CSCWireDigiTimeType%d",
i + 1);
21 sprintf(title2,
"CSCWireDigisPerLayerType%d",
i + 1);
22 sprintf(title3,
"CSCWireDigiResolution%d",
i + 1);
38 unsigned nDigisPerEvent = 0;
41 std::vector<CSCWireDigi>::const_iterator beginDigi = (*j).second.first;
42 std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
43 int detId = (*j).first.rawId();
47 int nDigis = endDigi - beginDigi;
48 nDigisPerEvent += nDigis;
51 for (std::vector<CSCWireDigi>::const_iterator digiItr = beginDigi; digiItr != endDigi; ++digiItr) {
57 if (nDigis == 1 && simHits.size() == 1) {
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
edm::InputTag theInputTag
MonitorElement * theNDigisPerEventPlot
MonitorElement * theResolutionPlots[10]
bool getByToken(EDGetToken token, Handle< PROD > &result) const
float yOfWireGroup(int wireGroup, float x=0.) const
const CSCChamberSpecs * specs() const
Local3DPoint localPosition() const
const PSimHitMap * theSimHitMap
edm::EDGetTokenT< CSCWireDigiCollection > wires_Token_
const edm::PSimHitContainer & hits(int detId) const
MonitorElement * theNDigisPerLayerPlots[10]
~CSCWireDigiValidation() override
CSCWireDigiValidation(const edm::InputTag &inputTag, edm::ConsumesCollector &&iC, bool doSim)
void plotResolution(const PSimHit &hit, const CSCWireDigi &digi, const CSCLayer *layer, int chamberType)
MonitorElement * theTimeBinPlots[10]
int getWireGroup() const
default
void bookHistograms(DQMStore::IBooker &)
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< PSimHit > PSimHitContainer
const CSCChamber * chamber() const
const CSCLayerGeometry * geometry() const
const CSCLayer * findLayer(int detId) const