|
|
#include <RPCMonitorDigi.h>
|
void | analyze (const edm::Event &, const edm::EventSetup &) override |
|
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override |
|
void | bookRegionME (DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &) |
| Booking of MonitoringElemnt at region (Barrel/Endcap) level. More...
|
|
void | bookRollME (DQMStore::IBooker &, const RPCDetId &, const RPCGeometry *rpcGeo, const std::string &, std::map< std::string, MonitorElement * > &) |
| Booking of MonitoringElement for one RPCDetId (= roll) More...
|
|
void | bookSectorRingME (DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &) |
| Booking of MonitoringElement at Sector/Ring level. More...
|
|
void | bookWheelDiskME (DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &) |
| Booking of MonitoringElemnt at Wheel/Disk level. More...
|
|
uint64_t | meId () const |
|
|
int | counter |
|
std::string | globalFolder_ |
|
std::map< std::string, std::map< std::string, MonitorElement * > > | meMuonCollection |
|
std::map< std::string, std::map< std::string, MonitorElement * > > | meNoiseCollection |
|
float | muEtaCut_ |
|
std::string | muonFolder_ |
|
edm::EDGetTokenT< reco::CandidateView > | muonLabel_ |
|
MonitorElement * | muonRPCEvents_ |
|
float | muPtCut_ |
|
std::string | noiseFolder_ |
|
MonitorElement * | noiseRPCEvents_ |
|
int | numberOfDisks_ |
|
int | numberOfInnerRings_ |
|
MonitorElement * | NumberOfMuon_ |
|
MonitorElement * | NumberOfRecHitMuon_ |
|
std::map< std::string, MonitorElement * > | regionMuonCollection |
|
std::map< std::string, MonitorElement * > | regionNoiseCollection |
|
edm::EDGetTokenT< RPCRecHitCollection > | rpcRecHitLabel_ |
|
edm::EDGetTokenT< DcsStatusCollection > | scalersRawToDigiLabel_ |
|
std::map< std::string, MonitorElement * > | sectorRingMuonCollection |
|
std::map< std::string, MonitorElement * > | sectorRingNoiseCollection |
|
std::string | subsystemFolder_ |
|
bool | useMuonDigis_ |
|
bool | useRollInfo_ |
|
std::map< std::string, MonitorElement * > | wheelDiskMuonCollection |
|
std::map< std::string, MonitorElement * > | wheelDiskNoiseCollection |
|
|
static const std::array< std::string, 3 > | regionNames_ = {{"Endcap-", "Barrel", "Endcap+"}} |
|
Definition at line 21 of file RPCMonitorDigi.h.
◆ RPCMonitorDigi()
Definition at line 18 of file RPCMonitorDigi.cc.
28 muPtCut_ =
pset.getUntrackedParameter<
double>(
"MuonPtCut", 3.0);
29 muEtaCut_ =
pset.getUntrackedParameter<
double>(
"MuonEtaCut", 1.9);
References globalFolder_, muEtaCut_, muonFolder_, muonLabel_, muPtCut_, noiseFolder_, muonDTDigis_cfi::pset, rpcRecHitLabel_, scalersRawToDigiLabel_, AlCaHLTBitMon_QueryRunRegistry::string, subsystemFolder_, useMuonDigis_, and useRollInfo_.
◆ ~RPCMonitorDigi()
RPCMonitorDigi::~RPCMonitorDigi |
( |
| ) |
|
|
overridedefault |
◆ analyze()
Reimplemented from DQMEDAnalyzer.
Definition at line 116 of file RPCMonitorDigi.cc.
118 edm::LogInfo(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: Beginning analyzing event " <<
counter;
124 std::map<RPCDetId, std::vector<RPCRecHit> > rechitMuon;
127 int numRPCRecHit = 0;
130 int nStaMuons = muonCands->
size();
132 for (
int i = 0;
i < nStaMuons;
i++) {
134 const reco::Muon* muCand = dynamic_cast<const reco::Muon*>(&goodMuon);
142 std::vector<TrackingRecHitRef> rpcTrackRecHits;
145 if (!(*it)->isValid())
147 int muSubDetId = (*it)->geographicalId().subdetId();
151 RPCRecHit* rpcRecHit = dynamic_cast<RPCRecHit*>(tkRecHit);
152 int detId = (
int)rpcRecHit->
rpcId();
153 if (rechitMuon.find(detId) == rechitMuon.end() || rechitMuon[detId].empty()) {
154 std::vector<RPCRecHit> myVect(1, *rpcRecHit);
155 rechitMuon[detId] = myVect;
157 rechitMuon[detId].push_back(*rpcRecHit);
182 edm::LogError(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: Muons - Product not valid for event" <<
counter;
188 std::map<RPCDetId, std::vector<RPCRecHit> > rechitNoise;
192 for (
auto rpcRecHitIter = rpcHits->begin(); rpcRecHitIter != rpcHits->end(); rpcRecHitIter++) {
195 if (rechitNoise.find(detId) == rechitNoise.end() || rechitNoise[detId].empty()) {
196 std::vector<RPCRecHit> myVect(1, rpcRecHit);
197 rechitNoise[detId] = myVect;
199 rechitNoise[detId].push_back(rpcRecHit);
203 edm::LogError(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: RPCRecHits - Product not valid for event" <<
counter;
References TrackingRecHit::clone(), counter, reco::LeafCandidate::eta(), dqm::impl::MonitorElement::Fill(), mps_fire::i, createfilelist::int, reco::Muon::isGlobalMuon(), edm::HandleBase::isValid(), muEtaCut_, muonFolder_, muonLabel_, muonRPCEvents_, muPtCut_, noiseFolder_, noiseRPCEvents_, NumberOfMuon_, NumberOfRecHitMuon_, patZpeak::numMuons, reco::Muon::outerTrack(), performSourceOperation(), reco::LeafCandidate::pt(), reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), MuonSubdetId::RPC, RPCRecHit::rpcId(), rpcRecHitLabel_, and edm::View< T >::size().
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 43 of file RPCMonitorDigi.cc.
44 edm::LogInfo(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: Begin Run ";
46 std::set<int> disk_set, ring_set;
52 edm::LogInfo(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: Booking histograms per roll. ";
53 for (TrackingGeometry::DetContainer::const_iterator it = rpcGeo->
dets().begin(); it < rpcGeo->
dets().end(); it++) {
54 if (dynamic_cast<const RPCChamber*>(*it) !=
nullptr) {
55 const RPCChamber* ch = dynamic_cast<const RPCChamber*>(*it);
56 std::vector<const RPCRoll*> roles = (ch->
rolls());
58 for (std::vector<const RPCRoll*>::const_iterator
r = roles.begin();
r != roles.end(); ++
r) {
63 disk_set.insert(rpcId.
station());
64 ring_set.insert(rpcId.
ring());
82 disk_set.insert(rpcId.
station());
83 ring_set.insert(rpcId.
ring());
References dqm::implementation::IBooker::book1D(), bookRegionME(), bookRollME(), bookSectorRingME(), bookWheelDiskME(), RPCGeomServ::chambername(), RPCGeometry::dets(), edm::EventSetup::get(), get, meMuonCollection, meNoiseCollection, muonFolder_, muonRPCEvents_, RPCGeomServ::name(), noiseFolder_, noiseRPCEvents_, numberOfDisks_, numberOfInnerRings_, NumberOfMuon_, NumberOfRecHitMuon_, edm::ESHandle< T >::product(), alignCSCRings::r, RPCDetId::region(), regionMuonCollection, regionNoiseCollection, RPCDetId::ring(), RPCChamber::rolls(), sectorRingMuonCollection, sectorRingNoiseCollection, dqm::implementation::NavigatorBase::setCurrentFolder(), RPCDetId::station(), AlCaHLTBitMon_QueryRunRegistry::string, subsystemFolder_, useMuonDigis_, useRollInfo_, wheelDiskMuonCollection, and wheelDiskNoiseCollection.
◆ bookRegionME()
Booking of MonitoringElemnt at region (Barrel/Endcap) level.
Definition at line 287 of file RPCBookDetUnitME.cc.
293 std::stringstream
name;
294 std::stringstream
title;
295 for (
int r = 0;
r < 3;
r++) {
301 name <<
"ClusterSize_" << regionName;
302 title <<
"ClusterSize - " << regionName;
309 name <<
"NumberOfClusters_Barrel";
310 title <<
"Number of Clusters per Event - Barrel";
315 name <<
"NumberOfClusters_Endcap+";
316 title <<
"Number of Clusters per Event - Endcap+";
321 name <<
"NumberOfClusters_Endcap-";
322 title <<
"Number of Clusters per Event - Endcap-";
328 name <<
"Multiplicity_Barrel";
329 title <<
"Multiplicity per Event per Roll - Barrel";
334 name <<
"Multiplicity_Endcap+";
335 title <<
"Multiplicity per Event per Roll - Endcap+";
340 name <<
"Multiplicity_Endcap-";
341 title <<
"Multiplicity per Event per Roll - Endcap-";
360 meMap[
"Occupancy_for_Endcap"] = ibooker.
book2D(
"Occupancy_for_Endcap",
369 meMap[
"Occupancy_for_Endcap"]->setAxisTitle(
"Ring", 2);
371 std::stringstream binlabel;
379 meMap[
"Occupancy_for_Endcap"]->setBinLabel(
bin, binlabel.str(), 1);
382 meMap[
"Occupancy_for_Endcap"]->setBinLabel(1,
"2", 2);
383 meMap[
"Occupancy_for_Endcap"]->setBinLabel(2,
"3", 2);
385 meMap[
"Occupancy_for_Barrel"] =
386 ibooker.
book2D(
"Occupancy_for_Barrel",
"Occupancy Barrel", 12, 0.5, 12.5, 5, -2.5, 2.5);
388 meMap[
"Occupancy_for_Barrel"]->setAxisTitle(
"Wheel", 2);
393 meMap[
"Occupancy_for_Barrel"]->setBinLabel(
bin, binlabel.str(), 1);
396 binlabel << (
bin - 3);
397 meMap[
"Occupancy_for_Barrel"]->setBinLabel(
bin, binlabel.str(), 2);
References newFWLiteAna::bin, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), globalFolder_, phase1PixelTopology::layer, Skims_PA_cff::name, numberOfDisks_, numberOfInnerRings_, alignCSCRings::r, regionNames_, relativeConstraints::ring, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, subsystemFolder_, and runGCPTkAlMap::title.
Referenced by bookHistograms().
◆ bookRollME()
Booking of MonitoringElement for one RPCDetId (= roll)
Name components common to current RPCDetId
Definition at line 8 of file RPCBookDetUnitME.cc.
29 nameRoll = RPCname.name();
31 nameRoll = RPCname.chambername();
45 os <<
"Occupancy_" << nameRoll;
46 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), nstrips, 0.5, nstrips + 0.5);
49 os <<
"BXDistribution_" << nameRoll;
50 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 7, -3.5, 3.5);
54 os <<
"ClusterSize_" << nameRoll;
55 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 15, 0.5, 15.5);
58 os <<
"Multiplicity_" << nameRoll;
59 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 30, 0.5, 30.5);
63 os <<
"ClusterSize_" << nameRoll;
64 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 10, 0.5, 10.5);
67 os <<
"Multiplicity_" << nameRoll;
68 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 15, 0.5, 15.5);
72 os <<
"NumberOfClusters_" << nameRoll;
73 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 10, 0.5, 10.5);
References funct::abs(), dqm::implementation::IBooker::book1D(), RPCGeomServ::chambername(), printsummarytable::folder, RPCBookFolderStructure::folderStructure(), RPCDetId::layer(), RPCGeomServ::name(), RPCDetId::region(), RPCDetId::ring(), dqm::implementation::NavigatorBase::setCurrentFolder(), RPCDetId::station(), AlCaHLTBitMon_QueryRunRegistry::string, stripsInRoll(), subsystemFolder_, and useRollInfo_.
Referenced by bookHistograms().
◆ bookSectorRingME()
Booking of MonitoringElement at Sector/Ring level.
Definition at line 76 of file RPCBookDetUnitME.cc.
86 for (
int sector = 1; sector <= 12; sector++) {
88 os <<
"Occupancy_Wheel_" <<
wheel <<
"_Sector_" << sector;
90 if (sector == 9 || sector == 11)
91 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 91, 0.5, 91.5, 15, 0.5, 15.5);
93 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 91, 0.5, 91.5, 21, 0.5, 21.5);
95 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 91, 0.5, 91.5, 17, 0.5, 17.5);
109 regionName =
"Endcap+";
114 <<
"/SummaryByRings/";
120 os <<
"Occupancy_Disk_" << (
region * disk) <<
"_Ring_" <<
ring <<
"_CH01-CH18";
122 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 96, 0.5, 96.5, 18, 0.5, 18.5);
126 std::stringstream yLabel;
127 for (
int i = 1;
i <= 18;
i++) {
129 yLabel <<
"R" <<
ring <<
"_CH" << std::setw(2) << std::setfill(
'0') <<
i;
130 meMap[os.str()]->setBinLabel(
i, yLabel.str(), 2);
133 for (
int i = 1;
i <= 96;
i++) {
135 meMap[os.str()]->setBinLabel(
i,
"1", 1);
137 meMap[os.str()]->setBinLabel(
i,
"RollA", 1);
139 meMap[os.str()]->setBinLabel(
i,
"32", 1);
141 meMap[os.str()]->setBinLabel(
i,
"1", 1);
143 meMap[os.str()]->setBinLabel(
i,
"RollB", 1);
145 meMap[os.str()]->setBinLabel(
i,
"32", 1);
147 meMap[os.str()]->setBinLabel(
i,
"1", 1);
149 meMap[os.str()]->setBinLabel(
i,
"RollC", 1);
151 meMap[os.str()]->setBinLabel(
i,
"32", 1);
153 meMap[os.str()]->setBinLabel(
i,
"", 1);
157 os <<
"Occupancy_Disk_" << (
region * disk) <<
"_Ring_" <<
ring <<
"_CH19-CH36";
159 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 96, 0.5, 96.5, 18, 18.5, 36.5);
163 for (
int i = 1;
i <= 18;
i++) {
165 yLabel <<
"R" <<
ring <<
"_CH" <<
i + 18;
166 meMap[os.str()]->setBinLabel(
i, yLabel.str(), 2);
169 for (
int i = 1;
i <= 96;
i++) {
171 meMap[os.str()]->setBinLabel(
i,
"1", 1);
173 meMap[os.str()]->setBinLabel(
i,
"RollA", 1);
175 meMap[os.str()]->setBinLabel(
i,
"32", 1);
177 meMap[os.str()]->setBinLabel(
i,
"1", 1);
179 meMap[os.str()]->setBinLabel(
i,
"RollB", 1);
181 meMap[os.str()]->setBinLabel(
i,
"32", 1);
183 meMap[os.str()]->setBinLabel(
i,
"1", 1);
185 meMap[os.str()]->setBinLabel(
i,
"RollC", 1);
187 meMap[os.str()]->setBinLabel(
i,
"32", 1);
189 meMap[os.str()]->setBinLabel(
i,
"", 1);
References dqm::implementation::IBooker::book2D(), mps_fire::i, rpcdqm::utils::labelYAxisRoll(), numberOfDisks_, numberOfInnerRings_, HLT_FULL_cff::region, relativeConstraints::ring, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), rpcdqm::RPCMEHelper::setNoAlphanumeric(), AlCaHLTBitMon_QueryRunRegistry::string, subsystemFolder_, and makeMuonMisalignmentScenario::wheel.
Referenced by bookHistograms().
◆ bookWheelDiskME()
Booking of MonitoringElemnt at Wheel/Disk level.
Definition at line 197 of file RPCBookDetUnitME.cc.
207 os <<
"1DOccupancy_Wheel_" <<
wheel;
208 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 12, 0.5, 12.5);
209 for (
int i = 1;
i < 12;
i++) {
212 meMap[os.str()]->setBinLabel(
i,
label.str(), 1);
216 os <<
"Occupancy_Roll_vs_Sector_Wheel_" <<
wheel;
217 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 12, 0.5, 12.5, 21, 0.5, 21.5);
222 os <<
"BxDistribution_Wheel_" <<
wheel;
223 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 9, -4.5, 4.5);
240 os <<
"Occupancy_Ring_vs_Segment_Disk_" << disk;
241 meMap[os.str()] = ibooker.
book2D(os.str(), os.str(), 36, 0.5, 36.5, 6, 0.5, 6.5);
247 os <<
"BxDistribution_Disk_" << disk;
248 meMap[os.str()] = ibooker.
book1D(os.str(), os.str(), 9, -4.5, 4.5);
253 name <<
"ClusterSize_Disk_" << disk <<
"_Ring" <<
ring;
254 title <<
"ClusterSize - Disk" << disk <<
" Ring" <<
ring;
261 os <<
"1DOccupancy_Ring_" <<
ring;
262 meMap[os.str()] = ibooker.
book1D(os.str(),
273 meMap[os.str()]->setBinLabel(xbin,
label.str(), 1);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), globalFolder_, mps_fire::i, label, rpcdqm::utils::labelXAxisSector(), rpcdqm::utils::labelXAxisSegment(), rpcdqm::utils::labelYAxisRing(), rpcdqm::utils::labelYAxisRoll(), phase1PixelTopology::layer, Skims_PA_cff::name, numberOfDisks_, numberOfInnerRings_, relativeConstraints::ring, dqm::implementation::NavigatorBase::setCurrentFolder(), subsystemFolder_, runGCPTkAlMap::title, and makeMuonMisalignmentScenario::wheel.
Referenced by bookHistograms().
◆ performSourceOperation()
void RPCMonitorDigi::performSourceOperation |
( |
std::map< RPCDetId, std::vector< RPCRecHit > > & |
recHitMap, |
|
|
std::string |
recHittype |
|
) |
| |
|
private |
Definition at line 214 of file RPCMonitorDigi.cc.
216 edm::LogInfo(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: Performing DQM source operations for ";
218 if (recHitMap.empty())
221 std::map<std::string, std::map<std::string, MonitorElement*> > meRollCollection;
222 std::map<std::string, MonitorElement*> meWheelDisk;
223 std::map<std::string, MonitorElement*> meRegion;
224 std::map<std::string, MonitorElement*> meSectorRing;
237 edm::LogWarning(
"rpcmonitordigi") <<
"[RPCMonitorDigi]: RecHit type not valid.";
241 int totalNumberOfRecHits[3] = {0, 0, 0};
242 std::stringstream os;
245 for (
std::map<
RPCDetId, std::vector<RPCRecHit> >::const_iterator detIdIter = recHitMap.begin();
246 detIdIter != recHitMap.end();
248 RPCDetId detId = (*detIdIter).first;
258 nameRoll = geoServ.name();
260 nameRoll = geoServ.chambername();
263 int wheelOrDiskNumber;
266 int sector = detId.
sector();
269 int roll = detId.
roll();
271 wheelOrDiskType =
"Wheel";
272 wheelOrDiskNumber = (
int)detId.
ring();
276 if (detId.
layer() == 1) {
286 if (detId.
layer() == 1) {
288 if (
abs(wheelOrDiskNumber) == 2 && roll == 3) {
294 if (
abs(wheelOrDiskNumber) != 2 && roll == 3) {
312 wheelOrDiskType =
"Disk";
317 std::vector<RPCRecHit>
recHits = (*detIdIter).second;
318 int numberOfRecHits =
recHits.size();
319 totalNumberOfRecHits[
region + 1] += numberOfRecHits;
324 std::map<std::string, MonitorElement*> meMap = meRollCollection[nameRoll];
327 for (std::vector<RPCRecHit>::const_iterator recHitIter =
recHits.begin(); recHitIter !=
recHits.end();
333 int clusterSize = (
int)
recHit.clusterSize();
334 numDigi += clusterSize;
335 int firstStrip =
recHit.firstClusterStrip();
336 int lastStrip = clusterSize + firstStrip - 1;
341 os <<
"Occupancy_" << nameRoll;
342 if (meMap[os.str()]) {
343 for (
int s = firstStrip;
s <= lastStrip;
s++) {
345 meMap[os.str()]->Fill(
s);
347 int nstrips = meMap[os.str()]->getNbinsX() / totalRolls;
348 meMap[os.str()]->Fill(
s + nstrips * (roll - 1));
354 os <<
"BXDistribution_" << nameRoll;
356 meMap[os.str()]->Fill(
bx);
359 os <<
"ClusterSize_" << nameRoll;
361 meMap[os.str()]->Fill(clusterSize);
366 os <<
"Occupancy_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber <<
"_Sector_" << sector;
367 if (meSectorRing[os.str()]) {
368 for (
int s = firstStrip;
s <= lastStrip;
s++) {
369 meSectorRing[os.str()]->Fill(
s,
nr);
374 if (geoServ.segment() > 0 && geoServ.segment() < 19) {
375 os <<
"Occupancy_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber <<
"_Ring_" <<
ring <<
"_CH01-CH18";
376 }
else if (geoServ.segment() > 18) {
377 os <<
"Occupancy_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber <<
"_Ring_" <<
ring <<
"_CH19-CH36";
380 if (meSectorRing[os.str()]) {
381 for (
int s = firstStrip;
s <= lastStrip;
s++) {
382 meSectorRing[os.str()]->Fill(
s + 32 * (detId.
roll() - 1), geoServ.segment());
389 os <<
"1DOccupancy_Wheel_" << wheelOrDiskNumber;
390 if (meWheelDisk[os.str()])
391 meWheelDisk[os.str()]->Fill(sector, clusterSize);
394 os <<
"Occupancy_Roll_vs_Sector_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber;
395 if (meWheelDisk[os.str()])
396 meWheelDisk[os.str()]->Fill(sector,
nr, clusterSize);
400 os <<
"1DOccupancy_Ring_" <<
ring;
401 if ((meWheelDisk[os.str()])) {
402 if (wheelOrDiskNumber > 0) {
403 meWheelDisk[os.str()]->Fill(wheelOrDiskNumber +
numberOfDisks_, clusterSize);
405 meWheelDisk[os.str()]->Fill(wheelOrDiskNumber +
numberOfDisks_ + 1, clusterSize);
410 os <<
"Occupancy_Ring_vs_Segment_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber;
411 if (meWheelDisk[os.str()])
412 meWheelDisk[os.str()]->Fill(geoServ.segment(), (
ring - 1) * 3 - detId.
roll() + 1, clusterSize);
416 os <<
"BxDistribution_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber;
417 if (meWheelDisk[os.str()])
418 meWheelDisk[os.str()]->Fill(
bx);
421 os <<
"ClusterSize_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber <<
"_Layer" <<
layer;
422 if (meWheelDisk[os.str()])
423 meWheelDisk[os.str()]->Fill(clusterSize);
426 os <<
"ClusterSize_" << wheelOrDiskType <<
"_" << wheelOrDiskNumber <<
"_Ring" <<
ring;
427 if (meWheelDisk[os.str()])
428 meWheelDisk[os.str()]->Fill(clusterSize);
434 if (meRegion[os.str()])
435 meRegion[os.str()]->Fill(clusterSize);
438 os <<
"ClusterSize_";
440 os <<
"Layer" <<
layer;
442 os <<
"Ring" <<
ring;
444 if (meRegion[os.str()])
445 meRegion[os.str()]->Fill(clusterSize);
450 os <<
"BXWithData_" << nameRoll;
452 meMap[os.str()]->Fill(bxSet.size());
455 os <<
"NumberOfClusters_" << nameRoll;
457 meMap[os.str()]->Fill(numberOfRecHits);
461 if (meRegion[os.str()])
462 meRegion[os.str()]->Fill(numDigi);
466 os <<
"Occupancy_for_Barrel";
467 if (meRegion[os.str()])
468 meRegion[os.str()]->Fill(sector, wheelOrDiskNumber, numDigi);
470 os <<
"Occupancy_for_Endcap";
475 if (meRegion[os.str()]) {
476 meRegion[os.str()]->Fill(xbin,
ring, numDigi);
481 os <<
"Multiplicity_" << nameRoll;
483 meMap[os.str()]->Fill(numDigi);
487 for (
int i = 0;
i < 3;
i++) {
490 if (meRegion[os.str()])
491 meRegion[os.str()]->Fill(totalNumberOfRecHits[
i]);
References funct::abs(), l1GtPatternGenerator_cfi::bx, RPCGeomServ::chambername(), rpcdqm::utils::detId2RollNr(), mps_fire::i, createfilelist::int, RPCDetId::layer(), phase1PixelTopology::layer, genParticles_cff::map, meMuonCollection, meNoiseCollection, muonFolder_, RPCGeomServ::name(), noiseFolder_, EgHLTOffHistBins_cfi::nr, numberOfDisks_, rpcPointValidation_cfi::recHit, FastTrackerRecHitMaskProducer_cfi::recHits, RPCDetId::region(), HLT_FULL_cff::region, regionMuonCollection, regionNames_, regionNoiseCollection, RPCDetId::ring(), relativeConstraints::ring, RPCDetId::roll(), alignCSCRings::s, RPCDetId::sector(), sectorRingMuonCollection, sectorRingNoiseCollection, RPCGeomServ::segment(), relativeConstraints::station, RPCDetId::station(), AlCaHLTBitMon_QueryRunRegistry::string, useRollInfo_, wheelDiskMuonCollection, and wheelDiskNoiseCollection.
Referenced by analyze().
◆ stripsInRoll()
◆ counter
int RPCMonitorDigi::counter |
|
private |
◆ globalFolder_
std::string RPCMonitorDigi::globalFolder_ |
|
private |
◆ meMuonCollection
std::map<std::string, std::map<std::string, MonitorElement *> > RPCMonitorDigi::meMuonCollection |
|
private |
◆ meNoiseCollection
std::map<std::string, std::map<std::string, MonitorElement *> > RPCMonitorDigi::meNoiseCollection |
|
private |
◆ muEtaCut_
float RPCMonitorDigi::muEtaCut_ |
|
private |
◆ muonFolder_
std::string RPCMonitorDigi::muonFolder_ |
|
private |
◆ muonLabel_
◆ muonRPCEvents_
◆ muPtCut_
float RPCMonitorDigi::muPtCut_ |
|
private |
◆ noiseFolder_
std::string RPCMonitorDigi::noiseFolder_ |
|
private |
◆ noiseRPCEvents_
◆ numberOfDisks_
int RPCMonitorDigi::numberOfDisks_ |
|
private |
◆ numberOfInnerRings_
int RPCMonitorDigi::numberOfInnerRings_ |
|
private |
◆ NumberOfMuon_
◆ NumberOfRecHitMuon_
◆ regionMuonCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::regionMuonCollection |
|
private |
◆ regionNames_
const std::array< std::string, 3 > RPCMonitorDigi::regionNames_ = {{"Endcap-", "Barrel", "Endcap+"}} |
|
staticprivate |
◆ regionNoiseCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::regionNoiseCollection |
|
private |
◆ rpcRecHitLabel_
◆ scalersRawToDigiLabel_
◆ sectorRingMuonCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::sectorRingMuonCollection |
|
private |
◆ sectorRingNoiseCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::sectorRingNoiseCollection |
|
private |
◆ subsystemFolder_
std::string RPCMonitorDigi::subsystemFolder_ |
|
private |
◆ useMuonDigis_
bool RPCMonitorDigi::useMuonDigis_ |
|
private |
◆ useRollInfo_
bool RPCMonitorDigi::useRollInfo_ |
|
private |
◆ wheelDiskMuonCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::wheelDiskMuonCollection |
|
private |
◆ wheelDiskNoiseCollection
std::map<std::string, MonitorElement *> RPCMonitorDigi::wheelDiskNoiseCollection |
|
private |
void labelXAxisSegment(MonitorElement *myMe)
T const * product() const
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
MonitorElement * NumberOfRecHitMuon_
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
static void setNoAlphanumeric(MonitorElement *myMe)
void performSourceOperation(std::map< RPCDetId, std::vector< RPCRecHit > > &, std::string)
MonitorElement * NumberOfMuon_
virtual void setCurrentFolder(std::string const &fullpath)
std::map< std::string, MonitorElement * > sectorRingNoiseCollection
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
void labelYAxisRoll(MonitorElement *myMe, int region, int ring, bool useRollInfo)
std::string subsystemFolder_
double pt() const final
transverse momentum
Log< level::Info, false > LogInfo
const std::vector< const RPCRoll * > & rolls() const
Return the Rolls.
Log< level::Warning, false > LogWarning
std::map< std::string, std::map< std::string, MonitorElement * > > meMuonCollection
std::string folderStructure(RPCDetId detId)
void bookRollME(DQMStore::IBooker &, const RPCDetId &, const RPCGeometry *rpcGeo, const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElement for one RPCDetId (= roll)
std::map< std::string, MonitorElement * > wheelDiskNoiseCollection
std::map< std::string, MonitorElement * > regionMuonCollection
edm::EDGetTokenT< reco::CandidateView > muonLabel_
trackingRecHit_iterator recHitsEnd() const
Iterator to last hit on the track.
virtual TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
edm::EDGetTokenT< DcsStatusCollection > scalersRawToDigiLabel_
constexpr std::array< uint8_t, layerIndexSize > layer
static const std::array< std::string, 3 > regionNames_
bool isGlobalMuon() const override
void bookWheelDiskME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElemnt at Wheel/Disk level.
double eta() const final
momentum pseudorapidity
int stripsInRoll(const RPCDetId &id, const RPCGeometry *rpcGeo) const
std::map< std::string, std::map< std::string, MonitorElement * > > meNoiseCollection
void labelYAxisRing(MonitorElement *myMe, int numberOfRings, bool useRollInfo)
MonitorElement * noiseRPCEvents_
void bookRegionME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElemnt at region (Barrel/Endcap) level.
int detId2RollNr(const RPCDetId &_id)
Log< level::Error, false > LogError
virtual TrackingRecHit * clone() const =0
std::map< std::string, MonitorElement * > sectorRingMuonCollection
std::string globalFolder_
std::map< std::string, MonitorElement * > regionNoiseCollection
void bookSectorRingME(DQMStore::IBooker &, const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElement at Sector/Ring level.
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
void labelXAxisSector(MonitorElement *myMe)
std::map< std::string, MonitorElement * > wheelDiskMuonCollection
Abs< T >::type abs(const T &t)
edm::EDGetTokenT< RPCRecHitCollection > rpcRecHitLabel_
RPCDetId rpcId() const
Return the rpcId.
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * muonRPCEvents_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())