CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
GEMDQMBase Class Reference

#include <GEMDQMBase.h>

Inheritance diagram for GEMDQMBase:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator > GEMDAQStatusSource GEMDigiSource GEMRecHitSource

Classes

class  BookingHelper
 
class  MEMapInfT
 
class  MEStationInfo
 

Public Types

typedef MEMapInfT< MEMap2Ids, ME2IdsKeyMEMap2Inf
 
typedef MEMapInfT< MEMap3Ids, ME3IdsKeyMEMap3Inf
 
typedef MEMapInfT< MEMap4Ids, ME4IdsKeyMEMap4Inf
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Public Member Functions

 GEMDQMBase (const edm::ParameterSet &cfg)
 
 ~GEMDQMBase () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Public Attributes

std::string log_category_
 

Protected Member Functions

template<typename T >
bool checkRefs (const std::vector< T * > &)
 
dqm::impl::MonitorElementCreateSummaryHist (DQMStore::IBooker &ibooker, TString strName)
 
int GenerateMEPerChamber (DQMStore::IBooker &ibooker)
 
int getDetOccXBin (const int, const int, const int)
 
int getIEtaFromVFAT (const int station, const int vfat)
 
int getIEtaFromVFATGE11 (const int vfat)
 
int getMaxVFAT (const int)
 
int getNumEtaPartitions (const GEMStation *)
 
int getVFATNumber (const int, const int, const int)
 
int getVFATNumberByDigi (const int, const int, const int)
 
int getVFATNumberGE11 (const int, const int, const int)
 
int initGeometry (edm::EventSetup const &iSetup)
 
ME2IdsKey key3Tokey2 (ME3IdsKey key)
 
ME3IdsKey key4Tokey3 (ME4IdsKey key)
 
int keyToChamber (ME4IdsKey key)
 
int keyToIEta (ME3IdsKey key)
 
int keyToIEta (ME4IdsKey key)
 
int keyToLayer (ME3IdsKey key)
 
int keyToLayer (ME4IdsKey key)
 
int keyToRegion (ME2IdsKey key)
 
int keyToRegion (ME3IdsKey key)
 
int keyToRegion (ME4IdsKey key)
 
int keyToStation (ME2IdsKey key)
 
int keyToStation (ME3IdsKey key)
 
int keyToStation (ME4IdsKey key)
 
int loadChambers ()
 
virtual int ProcessWithMEMap2 (BookingHelper &bh, ME2IdsKey key)
 
virtual int ProcessWithMEMap2AbsReWithEta (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap2WithEta (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap3 (BookingHelper &bh, ME3IdsKey key)
 
virtual int ProcessWithMEMap3WithChamber (BookingHelper &bh, ME4IdsKey key)
 
virtual int ProcessWithMEMap4 (BookingHelper &bh, ME4IdsKey key)
 
int readRadiusEtaPartition (int nRegion, int nStation)
 
int SortingLayers (std::vector< ME3IdsKey > &listLayers)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Protected Attributes

std::vector< GEMChambergemChambers_
 
const GEMGeometryGEMGeometry_
 
edm::ESGetToken< GEMGeometry, MuonGeometryRecordgeomToken_
 
std::map< ME3IdsKey, MEStationInfomapStationInfo_
 
std::map< ME3IdsKey, int > mapStationToIdx_
 
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
 
std::map< ME2IdsKey, bool > MEMap2Check_
 
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
 
std::map< ME3IdsKey, bool > MEMap3Check_
 
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
 
std::map< ME4IdsKey, bool > MEMap4Check_
 
int nMaxNumCh_
 
Int_t nNumEtaPartitionGE0_
 
Int_t nNumEtaPartitionGE11_
 
Int_t nNumEtaPartitionGE21_
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Detailed Description

Definition at line 29 of file GEMDQMBase.h.

Member Typedef Documentation

◆ MEMap2Inf

Definition at line 418 of file GEMDQMBase.h.

◆ MEMap3Inf

Definition at line 419 of file GEMDQMBase.h.

◆ MEMap4Inf

Definition at line 420 of file GEMDQMBase.h.

Constructor & Destructor Documentation

◆ GEMDQMBase()

GEMDQMBase::GEMDQMBase ( const edm::ParameterSet cfg)
explicit

Definition at line 7 of file GEMDQMBase.cc.

7  : geomToken_(esConsumes<edm::Transition::BeginRun>()) {
8  log_category_ = cfg.getUntrackedParameter<std::string>("logCategory");
9 
13 }

References edm::BeginRun, looper::cfg, log_category_, nNumEtaPartitionGE0_, nNumEtaPartitionGE11_, nNumEtaPartitionGE21_, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~GEMDQMBase()

GEMDQMBase::~GEMDQMBase ( )
inlineoverride

Definition at line 457 of file GEMDQMBase.h.

457 {};

Member Function Documentation

◆ checkRefs()

template<typename T >
bool GEMDQMBase::checkRefs ( const std::vector< T * > &  refs)
inlineprotected

Definition at line 534 of file GEMDQMBase.h.

534  {
535  if (refs.empty())
536  return false;
537  if (refs.front() == nullptr)
538  return false;
539  return true;
540 }

Referenced by getNumEtaPartitions().

◆ CreateSummaryHist()

dqm::impl::MonitorElement * GEMDQMBase::CreateSummaryHist ( DQMStore::IBooker ibooker,
TString  strName 
)
protected

Definition at line 122 of file GEMDQMBase.cc.

122  {
123  std::vector<ME3IdsKey> listLayers;
124  for (auto const& [key, stationInfo] : mapStationInfo_)
125  listLayers.push_back(key);
126  SortingLayers(listLayers);
127  for (Int_t i = 0; i < (Int_t)listLayers.size(); i++)
128  mapStationToIdx_[listLayers[i]] = i + 1;
129 
130  auto h2Res =
131  ibooker.book2D(strName, "", nMaxNumCh_, 0.5, nMaxNumCh_ + 0.5, listLayers.size(), 0.5, listLayers.size() + 0.5);
132  h2Res->setXTitle("Chamber");
133  h2Res->setYTitle("Layer");
134 
135  if (h2Res == nullptr)
136  return nullptr;
137 
138  for (Int_t i = 1; i <= nMaxNumCh_; i++)
139  h2Res->setBinLabel(i, Form("%i", i), 1);
140  for (Int_t i = 1; i <= (Int_t)listLayers.size(); i++) {
141  auto key = listLayers[i - 1];
142  auto strInfo = GEMUtils::getSuffixName(key); // NOTE: It starts with '_'
143  auto region = keyToRegion(key);
144  auto label = Form("GE%i%i-%cL%i;%s",
145  std::abs(region),
146  keyToStation(key),
147  (region > 0 ? 'P' : 'M'),
148  keyToLayer(key),
149  strInfo.Data());
150  h2Res->setBinLabel(i, label, 2);
151  Int_t nNumCh = mapStationInfo_[key].nNumChambers_;
152  h2Res->setBinContent(0, i, nNumCh);
153  }
154 
155  return h2Res;
156 }

References funct::abs(), dqm::implementation::IBooker::book2D(), GEMUtils::getSuffixName(), mps_fire::i, crabWrapper::key, keyToLayer(), keyToRegion(), keyToStation(), label, mapStationInfo_, mapStationToIdx_, nMaxNumCh_, HLT_FULL_cff::region, dqm::impl::MonitorElement::setXTitle(), and SortingLayers().

Referenced by GEMDigiSource::bookHistograms(), and GEMDAQStatusSource::bookHistograms().

◆ GenerateMEPerChamber()

int GEMDQMBase::GenerateMEPerChamber ( DQMStore::IBooker ibooker)
protected

Definition at line 158 of file GEMDQMBase.cc.

158  {
159  MEMap2Check_.clear();
160  MEMap2WithEtaCheck_.clear();
161  MEMap2AbsReWithEtaCheck_.clear();
162  MEMap3Check_.clear();
163  MEMap3WithChCheck_.clear();
164  MEMap4Check_.clear();
165  for (const auto& ch : gemChambers_) {
166  GEMDetId gid = ch.id();
167  ME2IdsKey key2{gid.region(), gid.station()};
168  ME3IdsKey key3{gid.region(), gid.station(), gid.layer()};
169  ME4IdsKey key3WithChamber{gid.region(), gid.station(), gid.layer(), gid.chamber()};
170  if (!MEMap2Check_[key2]) {
171  auto strSuffixName = GEMUtils::getSuffixName(key2);
172  auto strSuffixTitle = GEMUtils::getSuffixTitle(key2);
173  BookingHelper bh2(ibooker, strSuffixName, strSuffixTitle);
174  ProcessWithMEMap2(bh2, key2);
175  MEMap2Check_[key2] = true;
176  }
177  if (!MEMap3Check_[key3]) {
178  auto strSuffixName = GEMUtils::getSuffixName(key3);
179  auto strSuffixTitle = GEMUtils::getSuffixTitle(key3);
180  BookingHelper bh3(ibooker, strSuffixName, strSuffixTitle);
181  ProcessWithMEMap3(bh3, key3);
182  MEMap3Check_[key3] = true;
183  }
184  if (!MEMap3WithChCheck_[key3WithChamber]) {
185  Int_t nCh = gid.chamber();
186  Int_t nLa = gid.layer();
187  char cLS = (nCh % 2 == 0 ? 'L' : 'S'); // FIXME: Is it general enough?
188  auto strSuffixName = GEMUtils::getSuffixName(key2) + Form("-%02iL%i-%c", nCh, nLa, cLS);
189  auto strSuffixTitle = GEMUtils::getSuffixTitle(key2) + Form("-%02iL%i-%c", nCh, nLa, cLS);
190  BookingHelper bh3Ch(ibooker, strSuffixName, strSuffixTitle);
191  ProcessWithMEMap3WithChamber(bh3Ch, key3WithChamber);
192  MEMap3WithChCheck_[key3WithChamber] = true;
193  }
194  for (auto iEta : ch.etaPartitions()) {
195  GEMDetId eId = iEta->id();
196  ME4IdsKey key4{gid.region(), gid.station(), gid.layer(), eId.ieta()};
197  ME3IdsKey key2WithEta{gid.region(), gid.station(), eId.ieta()};
198  ME3IdsKey key2AbsReWithEta{std::abs(gid.region()), gid.station(), eId.ieta()};
199  if (!MEMap4Check_[key4]) {
200  auto strSuffixName = GEMUtils::getSuffixName(key3) + Form("-E%02i", eId.ieta());
201  auto strSuffixTitle = GEMUtils::getSuffixTitle(key3) + Form("-E%02i", eId.ieta());
202  BookingHelper bh4(ibooker, strSuffixName, strSuffixTitle);
203  ProcessWithMEMap4(bh4, key4);
204  MEMap4Check_[key4] = true;
205  }
206  if (!MEMap2WithEtaCheck_[key2WithEta]) {
207  auto strSuffixName = GEMUtils::getSuffixName(key2) + Form("-E%02i", eId.ieta());
208  auto strSuffixTitle = GEMUtils::getSuffixTitle(key2) + Form("-E%02i", eId.ieta());
209  BookingHelper bh3(ibooker, strSuffixName, strSuffixTitle);
210  ProcessWithMEMap2WithEta(bh3, key2WithEta);
211  MEMap2WithEtaCheck_[key2WithEta] = true;
212  }
213  if (!MEMap2AbsReWithEtaCheck_[key2AbsReWithEta]) {
214  auto strSuffixName = Form("_GE%i%i-E%02i", std::abs(gid.region()), gid.station(), eId.ieta());
215  auto strSuffixTitle = Form(" GE%i%i-E%02i", std::abs(gid.region()), gid.station(), eId.ieta());
216  BookingHelper bh3(ibooker, strSuffixName, strSuffixTitle);
217  ProcessWithMEMap2AbsReWithEta(bh3, key2AbsReWithEta);
218  MEMap2AbsReWithEtaCheck_[key2AbsReWithEta] = true;
219  }
220  }
221  }
222  return 0;
223 }

References funct::abs(), GEMDetId::chamber(), gemChambers_, GEMUtils::getSuffixName(), GEMUtils::getSuffixTitle(), L1TowerCalibrationProducer_cfi::iEta, GEMDetId::ieta(), GEMDetId::layer(), MEMap2AbsReWithEtaCheck_, MEMap2Check_, MEMap2WithEtaCheck_, MEMap3Check_, MEMap3WithChCheck_, MEMap4Check_, ProcessWithMEMap2(), ProcessWithMEMap2AbsReWithEta(), ProcessWithMEMap2WithEta(), ProcessWithMEMap3(), ProcessWithMEMap3WithChamber(), ProcessWithMEMap4(), GEMDetId::region(), and GEMDetId::station().

Referenced by GEMRecHitSource::bookHistograms(), GEMDigiSource::bookHistograms(), and GEMDAQStatusSource::bookHistograms().

◆ getDetOccXBin()

int GEMDQMBase::getDetOccXBin ( const int  chamber,
const int  layer,
const int  n_chambers 
)
inlineprotected

Definition at line 575 of file GEMDQMBase.h.

575  {
576  return n_chambers * (chamber - 1) + layer;
577 }

References relativeConstraints::chamber, and phase1PixelTopology::layer.

◆ getIEtaFromVFAT()

int GEMDQMBase::getIEtaFromVFAT ( const int  station,
const int  vfat 
)
inlineprotected

Definition at line 567 of file GEMDQMBase.h.

567  {
568  if (station == 1)
569  return getIEtaFromVFATGE11(vfat);
570  return getIEtaFromVFATGE11(vfat); // FIXME: What about GE21 and GE0?
571 }

References getIEtaFromVFATGE11(), and relativeConstraints::station.

Referenced by GEMDQMBase::MEMapInfT< M, K >::SetLabelForVFATs().

◆ getIEtaFromVFATGE11()

int GEMDQMBase::getIEtaFromVFATGE11 ( const int  vfat)
inlineprotected

Definition at line 573 of file GEMDQMBase.h.

573 { return 8 - (vfat % nNumEtaPartitionGE11_); }

References nNumEtaPartitionGE11_.

Referenced by getIEtaFromVFAT().

◆ getMaxVFAT()

int GEMDQMBase::getMaxVFAT ( const int  station)
inlineprotected

Definition at line 543 of file GEMDQMBase.h.

543  {
544  if (station == 1)
545  return GEMeMap::maxVFatGE11_;
546  else if (station == 2)
547  return GEMeMap::maxVFatGE21_;
548  else
549  return -1;
550 }

References GEMeMap::maxVFatGE11_, GEMeMap::maxVFatGE21_, and relativeConstraints::station.

Referenced by loadChambers().

◆ getNumEtaPartitions()

int GEMDQMBase::getNumEtaPartitions ( const GEMStation station)
protected

Definition at line 30 of file GEMDQMBase.cc.

30  {
31  const auto&& superchambers = station->superChambers();
32  if (not checkRefs(superchambers)) {
33  edm::LogError(log_category_) << "failed to get a valid vector of GEMSuperChamber ptrs" << std::endl;
34  return 0;
35  }
36 
37  const auto& chambers = superchambers.front()->chambers();
38  if (not checkRefs(chambers)) {
39  edm::LogError(log_category_) << "failed to get a valid vector of GEMChamber ptrs" << std::endl;
40  return 0;
41  }
42 
43  return chambers.front()->nEtaPartitions();
44 }

References chambers, checkRefs(), log_category_, and relativeConstraints::station.

Referenced by loadChambers().

◆ getVFATNumber()

int GEMDQMBase::getVFATNumber ( const int  station,
const int  ieta,
const int  vfat_phi 
)
inlineprotected

Definition at line 552 of file GEMDQMBase.h.

552  {
553  if (station == 1)
554  return getVFATNumberGE11(station, ieta, vfat_phi);
555  return getVFATNumberGE11(station, ieta, vfat_phi); // FIXME: What about GE21 and GE0?
556 }

References getVFATNumberGE11(), LEDCalibrationChannels::ieta, and relativeConstraints::station.

Referenced by GEMDAQStatusSource::analyze(), and getVFATNumberByDigi().

◆ getVFATNumberByDigi()

int GEMDQMBase::getVFATNumberByDigi ( const int  station,
const int  ieta,
const int  digi 
)
inlineprotected

Definition at line 562 of file GEMDQMBase.h.

562  {
563  const int vfat_phi = digi / GEMeMap::maxChan_;
564  return getVFATNumber(station, ieta, vfat_phi);
565 }

References getVFATNumber(), LEDCalibrationChannels::ieta, GEMeMap::maxChan_, and relativeConstraints::station.

Referenced by GEMDigiSource::analyze().

◆ getVFATNumberGE11()

int GEMDQMBase::getVFATNumberGE11 ( const int  station,
const int  ieta,
const int  vfat_phi 
)
inlineprotected

Definition at line 558 of file GEMDQMBase.h.

558  {
559  return vfat_phi * nNumEtaPartitionGE11_ + (nNumEtaPartitionGE11_ - ieta);
560 }

References LEDCalibrationChannels::ieta, and nNumEtaPartitionGE11_.

Referenced by getVFATNumber().

◆ initGeometry()

int GEMDQMBase::initGeometry ( edm::EventSetup const &  iSetup)
protected

Definition at line 15 of file GEMDQMBase.cc.

15  {
16  GEMGeometry_ = nullptr;
17  try {
18  //edm::ESHandle<GEMGeometry> hGeom;
19  //iSetup.get<MuonGeometryRecord>().get(hGeom);
20  GEMGeometry_ = &iSetup.getData(geomToken_);
22  edm::LogError(log_category_) << "+++ Error : GEM geometry is unavailable on event loop. +++\n";
23  return -1;
24  }
25 
26  return 0;
27 }

References MillePedeFileConverter_cfg::e, GEMGeometry_, geomToken_, edm::EventSetup::getData(), and log_category_.

Referenced by GEMRecHitSource::bookHistograms(), GEMDigiSource::bookHistograms(), and GEMDAQStatusSource::bookHistograms().

◆ key3Tokey2()

ME2IdsKey GEMDQMBase::key3Tokey2 ( ME3IdsKey  key)
inlineprotected

Definition at line 486 of file GEMDQMBase.h.

486  {
487  auto keyNew = ME2IdsKey{keyToRegion(key), keyToStation(key)};
488  return keyNew;
489  };

References crabWrapper::key, keyToRegion(), and keyToStation().

◆ key4Tokey3()

ME3IdsKey GEMDQMBase::key4Tokey3 ( ME4IdsKey  key)
inlineprotected

◆ keyToChamber()

int GEMDQMBase::keyToChamber ( ME4IdsKey  key)
inlineprotected

Definition at line 482 of file GEMDQMBase.h.

482 { return std::get<3>(key); };

References crabWrapper::key.

Referenced by GEMDAQStatusSource::analyze().

◆ keyToIEta() [1/2]

int GEMDQMBase::keyToIEta ( ME3IdsKey  key)
inlineprotected

Definition at line 483 of file GEMDQMBase.h.

483 { return std::get<2>(key); };

References crabWrapper::key.

Referenced by GEMRecHitSource::analyze().

◆ keyToIEta() [2/2]

int GEMDQMBase::keyToIEta ( ME4IdsKey  key)
inlineprotected

Definition at line 484 of file GEMDQMBase.h.

484 { return std::get<3>(key); };

References crabWrapper::key.

◆ keyToLayer() [1/2]

int GEMDQMBase::keyToLayer ( ME3IdsKey  key)
inlineprotected

Definition at line 480 of file GEMDQMBase.h.

480 { return std::get<2>(key); };

References crabWrapper::key.

Referenced by CreateSummaryHist(), and key4Tokey3().

◆ keyToLayer() [2/2]

int GEMDQMBase::keyToLayer ( ME4IdsKey  key)
inlineprotected

Definition at line 481 of file GEMDQMBase.h.

481 { return std::get<2>(key); };

References crabWrapper::key.

◆ keyToRegion() [1/3]

int GEMDQMBase::keyToRegion ( ME2IdsKey  key)
inlineprotected

Definition at line 474 of file GEMDQMBase.h.

474 { return std::get<0>(key); };

References crabWrapper::key.

Referenced by CreateSummaryHist(), key3Tokey2(), and key4Tokey3().

◆ keyToRegion() [2/3]

int GEMDQMBase::keyToRegion ( ME3IdsKey  key)
inlineprotected

Definition at line 475 of file GEMDQMBase.h.

475 { return std::get<0>(key); };

References crabWrapper::key.

◆ keyToRegion() [3/3]

int GEMDQMBase::keyToRegion ( ME4IdsKey  key)
inlineprotected

Definition at line 476 of file GEMDQMBase.h.

476 { return std::get<0>(key); };

References crabWrapper::key.

◆ keyToStation() [1/3]

int GEMDQMBase::keyToStation ( ME2IdsKey  key)
inlineprotected

Definition at line 477 of file GEMDQMBase.h.

477 { return std::get<1>(key); };

References crabWrapper::key.

Referenced by CreateSummaryHist(), key3Tokey2(), and key4Tokey3().

◆ keyToStation() [2/3]

int GEMDQMBase::keyToStation ( ME3IdsKey  key)
inlineprotected

Definition at line 478 of file GEMDQMBase.h.

478 { return std::get<1>(key); };

References crabWrapper::key.

◆ keyToStation() [3/3]

int GEMDQMBase::keyToStation ( ME4IdsKey  key)
inlineprotected

Definition at line 479 of file GEMDQMBase.h.

479 { return std::get<1>(key); };

References crabWrapper::key.

◆ loadChambers()

int GEMDQMBase::loadChambers ( )
protected

Definition at line 46 of file GEMDQMBase.cc.

46  {
47  if (GEMGeometry_ == nullptr)
48  return -1;
49  gemChambers_.clear();
50  const std::vector<const GEMSuperChamber*>& superChambers_ = GEMGeometry_->superChambers();
51  for (auto sch : superChambers_) { // FIXME: This loop can be merged into the below loop
52  int n_lay = sch->nChambers();
53  for (int l = 0; l < n_lay; l++) {
54  Bool_t bExist = false;
55  for (const auto& ch : gemChambers_) {
56  if (ch.id() == sch->chamber(l + 1)->id()) {
57  bExist = true;
58  break;
59  }
60  }
61  if (bExist)
62  continue;
63  gemChambers_.push_back(*sch->chamber(l + 1));
64  }
65  }
66 
67  // Borrwed from DQMOffline/Muon/src/GEMOfflineMonitor.cc
68  nMaxNumCh_ = 0;
69  for (const GEMRegion* region : GEMGeometry_->regions()) {
70  const int region_number = region->region();
71 
72  for (const GEMStation* station : region->stations()) {
73  const auto&& superchambers = station->superChambers();
74 
75  const int station_number = station->station();
76  const int num_superchambers = superchambers.size();
77  const int num_layers = superchambers.front()->nChambers();
78  const int max_vfat = getMaxVFAT(station->station()); // the number of VFATs per GEMEtaPartition
79  const int num_etas = getNumEtaPartitions(station); // the number of eta partitions per GEMChamber
80  const int num_vfat = num_etas * max_vfat; // the number of VFATs per GEMChamber
81  const int num_digi = GEMeMap::maxChan_; // the number of digis (channels) per VFAT
82 
83  nMaxNumCh_ = std::max(nMaxNumCh_, num_superchambers);
84 
85  for (int layer_number = 1; layer_number <= num_layers; layer_number++) {
86  ME3IdsKey key3(region_number, station_number, layer_number);
87  mapStationInfo_[key3] =
88  MEStationInfo(region_number, station_number, layer_number, num_superchambers, num_etas, num_vfat, num_digi);
89  }
90  }
91  }
92 
93  if (mapStationInfo_.find(ME3IdsKey(-1, 0, 1)) != mapStationInfo_.end())
94  nNumEtaPartitionGE0_ = mapStationInfo_[ME3IdsKey(-1, 0, 1)].nNumEtaPartitions_;
95  if (mapStationInfo_.find(ME3IdsKey(-1, 1, 1)) != mapStationInfo_.end())
96  nNumEtaPartitionGE11_ = mapStationInfo_[ME3IdsKey(-1, 1, 1)].nNumEtaPartitions_;
97  if (mapStationInfo_.find(ME3IdsKey(-1, 2, 1)) != mapStationInfo_.end())
98  nNumEtaPartitionGE21_ = mapStationInfo_[ME3IdsKey(-1, 2, 1)].nNumEtaPartitions_;
99 
100  return 0;
101 }

References gemChambers_, GEMGeometry_, getMaxVFAT(), getNumEtaPartitions(), cmsLHEtoEOSManager::l, mapStationInfo_, SiStripPI::max, GEMeMap::maxChan_, nMaxNumCh_, nNumEtaPartitionGE0_, nNumEtaPartitionGE11_, nNumEtaPartitionGE21_, HLT_FULL_cff::region, GEMGeometry::regions(), relativeConstraints::station, and GEMGeometry::superChambers().

Referenced by GEMRecHitSource::bookHistograms(), GEMDigiSource::bookHistograms(), and GEMDAQStatusSource::bookHistograms().

◆ ProcessWithMEMap2()

virtual int GEMDQMBase::ProcessWithMEMap2 ( BookingHelper bh,
ME2IdsKey  key 
)
inlineprotectedvirtual

Definition at line 467 of file GEMDQMBase.h.

467 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ ProcessWithMEMap2AbsReWithEta()

virtual int GEMDQMBase::ProcessWithMEMap2AbsReWithEta ( BookingHelper bh,
ME3IdsKey  key 
)
inlineprotectedvirtual

Reimplemented in GEMRecHitSource.

Definition at line 469 of file GEMDQMBase.h.

469 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ ProcessWithMEMap2WithEta()

virtual int GEMDQMBase::ProcessWithMEMap2WithEta ( BookingHelper bh,
ME3IdsKey  key 
)
inlineprotectedvirtual

Reimplemented in GEMDigiSource, and GEMRecHitSource.

Definition at line 468 of file GEMDQMBase.h.

468 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ ProcessWithMEMap3()

virtual int GEMDQMBase::ProcessWithMEMap3 ( BookingHelper bh,
ME3IdsKey  key 
)
inlineprotectedvirtual

Reimplemented in GEMDAQStatusSource, GEMDigiSource, and GEMRecHitSource.

Definition at line 470 of file GEMDQMBase.h.

470 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ ProcessWithMEMap3WithChamber()

virtual int GEMDQMBase::ProcessWithMEMap3WithChamber ( BookingHelper bh,
ME4IdsKey  key 
)
inlineprotectedvirtual

Reimplemented in GEMDAQStatusSource, GEMDigiSource, and GEMRecHitSource.

Definition at line 472 of file GEMDQMBase.h.

472 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ ProcessWithMEMap4()

virtual int GEMDQMBase::ProcessWithMEMap4 ( BookingHelper bh,
ME4IdsKey  key 
)
inlineprotectedvirtual

Definition at line 471 of file GEMDQMBase.h.

471 { return 0; }; // must be overrided

Referenced by GenerateMEPerChamber().

◆ readRadiusEtaPartition()

int GEMDQMBase::readRadiusEtaPartition ( int  nRegion,
int  nStation 
)
protected

◆ SortingLayers()

int GEMDQMBase::SortingLayers ( std::vector< ME3IdsKey > &  listLayers)
protected

Definition at line 103 of file GEMDQMBase.cc.

103  {
104  std::sort(listLayers.begin(), listLayers.end(), [](ME3IdsKey key1, ME3IdsKey key2) {
105  Int_t re1 = std::get<0>(key1), st1 = std::get<1>(key1), la1 = std::get<2>(key1);
106  Int_t re2 = std::get<0>(key2), st2 = std::get<1>(key2), la2 = std::get<2>(key2);
107  if (re1 < 0 && re2 > 0)
108  return false;
109  if (re1 > 0 && re2 < 0)
110  return true;
111  Bool_t bRes = (re1 < 0); // == re2 < 0
112  Int_t sum1 = 256 * std::abs(re1) + 16 * st1 + 1 * la1;
113  Int_t sum2 = 256 * std::abs(re2) + 16 * st2 + 1 * la2;
114  if (sum1 <= sum2)
115  return bRes;
116  return !bRes;
117  });
118 
119  return 0;
120 }

References funct::abs(), jetUpdater_cfi::sort, and combinedConstraintHelpers::sum2().

Referenced by CreateSummaryHist().

Member Data Documentation

◆ gemChambers_

std::vector<GEMChamber> GEMDQMBase::gemChambers_
protected

◆ GEMGeometry_

const GEMGeometry* GEMDQMBase::GEMGeometry_
protected

◆ geomToken_

edm::ESGetToken<GEMGeometry, MuonGeometryRecord> GEMDQMBase::geomToken_
protected

Definition at line 512 of file GEMDQMBase.h.

Referenced by initGeometry().

◆ log_category_

std::string GEMDQMBase::log_category_

◆ mapStationInfo_

std::map<ME3IdsKey, MEStationInfo> GEMDQMBase::mapStationInfo_
protected

◆ mapStationToIdx_

std::map<ME3IdsKey, int> GEMDQMBase::mapStationToIdx_
protected

◆ MEMap2AbsReWithEtaCheck_

std::map<ME3IdsKey, bool> GEMDQMBase::MEMap2AbsReWithEtaCheck_
protected

Definition at line 518 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ MEMap2Check_

std::map<ME2IdsKey, bool> GEMDQMBase::MEMap2Check_
protected

Definition at line 516 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ MEMap2WithEtaCheck_

std::map<ME3IdsKey, bool> GEMDQMBase::MEMap2WithEtaCheck_
protected

Definition at line 517 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ MEMap3Check_

std::map<ME3IdsKey, bool> GEMDQMBase::MEMap3Check_
protected

Definition at line 519 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ MEMap3WithChCheck_

std::map<ME4IdsKey, bool> GEMDQMBase::MEMap3WithChCheck_
protected

Definition at line 520 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ MEMap4Check_

std::map<ME4IdsKey, bool> GEMDQMBase::MEMap4Check_
protected

Definition at line 521 of file GEMDQMBase.h.

Referenced by GenerateMEPerChamber().

◆ nMaxNumCh_

int GEMDQMBase::nMaxNumCh_
protected

Definition at line 523 of file GEMDQMBase.h.

Referenced by CreateSummaryHist(), and loadChambers().

◆ nNumEtaPartitionGE0_

Int_t GEMDQMBase::nNumEtaPartitionGE0_
protected

Definition at line 527 of file GEMDQMBase.h.

Referenced by GEMDQMBase(), and loadChambers().

◆ nNumEtaPartitionGE11_

Int_t GEMDQMBase::nNumEtaPartitionGE11_
protected

Definition at line 528 of file GEMDQMBase.h.

Referenced by GEMDQMBase(), getIEtaFromVFATGE11(), getVFATNumberGE11(), and loadChambers().

◆ nNumEtaPartitionGE21_

Int_t GEMDQMBase::nNumEtaPartitionGE21_
protected

Definition at line 529 of file GEMDQMBase.h.

Referenced by GEMDQMBase(), and loadChambers().

GEMDQMBase::MEMap3Check_
std::map< ME3IdsKey, bool > MEMap3Check_
Definition: GEMDQMBase.h:519
GEMDQMBase::MEMap2AbsReWithEtaCheck_
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
Definition: GEMDQMBase.h:518
GEMDQMBase::gemChambers_
std::vector< GEMChamber > gemChambers_
Definition: GEMDQMBase.h:514
ME2IdsKey
std::tuple< Int_t, Int_t > ME2IdsKey
Definition: GEMValidationUtils.h:16
GEMDQMBase::MEMap4Check_
std::map< ME4IdsKey, bool > MEMap4Check_
Definition: GEMDQMBase.h:521
mps_fire.i
i
Definition: mps_fire.py:428
GEMDQMBase::keyToStation
int keyToStation(ME2IdsKey key)
Definition: GEMDQMBase.h:477
GEMDetId::layer
constexpr int layer() const
Definition: GEMDetId.h:190
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:171
relativeConstraints.station
station
Definition: relativeConstraints.py:67
GEMDQMBase::GEMGeometry_
const GEMGeometry * GEMGeometry_
Definition: GEMDQMBase.h:511
ME4IdsKey
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
Definition: GEMValidationUtils.h:20
GEMDQMBase::MEMap2WithEtaCheck_
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
Definition: GEMDQMBase.h:517
GEMDQMBase::SortingLayers
int SortingLayers(std::vector< ME3IdsKey > &listLayers)
Definition: GEMDQMBase.cc:103
GEMDQMBase::getMaxVFAT
int getMaxVFAT(const int)
Definition: GEMDQMBase.h:543
GEMDQMBase::nMaxNumCh_
int nMaxNumCh_
Definition: GEMDQMBase.h:523
GEMDQMBase::ProcessWithMEMap2WithEta
virtual int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:468
GEMUtils::getSuffixName
TString getSuffixName(Int_t region_id)
Definition: GEMValidationUtils.cc:5
GEMDQMBase::nNumEtaPartitionGE0_
Int_t nNumEtaPartitionGE0_
Definition: GEMDQMBase.h:527
GEMeMap::maxVFatGE21_
static const int maxVFatGE21_
Definition: GEMeMap.h:68
GEMDQMBase::getVFATNumberGE11
int getVFATNumberGE11(const int, const int, const int)
Definition: GEMDQMBase.h:558
GEMDQMBase::nNumEtaPartitionGE21_
Int_t nNumEtaPartitionGE21_
Definition: GEMDQMBase.h:529
GEMStation
Definition: GEMStation.h:19
dqm::impl::MonitorElement::setXTitle
virtual void setXTitle(std::string const &title)
Definition: MonitorElement.cc:852
GEMeMap::maxVFatGE11_
static const int maxVFatGE11_
Definition: GEMeMap.h:67
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
GEMDetId::chamber
constexpr int chamber() const
Definition: GEMDetId.h:183
GEMDQMBase::getVFATNumber
int getVFATNumber(const int, const int, const int)
Definition: GEMDQMBase.h:552
GEMDQMBase::MEMap3WithChCheck_
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
Definition: GEMDQMBase.h:520
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
GEMDQMBase::ProcessWithMEMap2AbsReWithEta
virtual int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:469
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
GEMDQMBase::ProcessWithMEMap2
virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key)
Definition: GEMDQMBase.h:467
GEMDetId
Definition: GEMDetId.h:18
GEMDQMBase::checkRefs
bool checkRefs(const std::vector< T * > &)
Definition: GEMDQMBase.h:534
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88286
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
GEMGeometry::regions
const std::vector< const GEMRegion * > & regions() const
Return a vector of all GEM regions.
Definition: GEMGeometry.cc:30
GEMDQMBase::nNumEtaPartitionGE11_
Int_t nNumEtaPartitionGE11_
Definition: GEMDQMBase.h:528
GEMDQMBase::ProcessWithMEMap4
virtual int ProcessWithMEMap4(BookingHelper &bh, ME4IdsKey key)
Definition: GEMDQMBase.h:471
combinedConstraintHelpers::sum2
void sum2(T &x, T y)
Definition: CombinedKinematicConstraintT.h:74
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
looper.cfg
cfg
Definition: looper.py:296
GEMDQMBase::keyToLayer
int keyToLayer(ME3IdsKey key)
Definition: GEMDQMBase.h:480
GEMDQMBase::log_category_
std::string log_category_
Definition: GEMDQMBase.h:457
GEMDQMBase::mapStationInfo_
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
Definition: GEMDQMBase.h:525
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
GEMUtils::getSuffixTitle
TString getSuffixTitle(Int_t region_id)
Definition: GEMValidationUtils.cc:34
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
ME3IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
Definition: GEMValidationUtils.h:19
GEMDQMBase::mapStationToIdx_
std::map< ME3IdsKey, int > mapStationToIdx_
Definition: GEMDQMBase.h:524
GEMDQMBase::keyToRegion
int keyToRegion(ME2IdsKey key)
Definition: GEMDQMBase.h:474
edm::eventsetup::NoProxyException
Definition: NoProxyException.h:31
L1TowerCalibrationProducer_cfi.iEta
iEta
Definition: L1TowerCalibrationProducer_cfi.py:60
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:179
GEMDQMBase::MEMap2Check_
std::map< ME2IdsKey, bool > MEMap2Check_
Definition: GEMDQMBase.h:516
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
GEMGeometry::superChambers
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
Definition: GEMGeometry.cc:36
GEMRegion
Definition: GEMRegion.h:19
GEMDetId::ieta
constexpr int ieta() const
Definition: GEMDetId.h:199
GEMDQMBase::geomToken_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
Definition: GEMDQMBase.h:512
GEMDQMBase::ProcessWithMEMap3WithChamber
virtual int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key)
Definition: GEMDQMBase.h:472
GEMDQMBase::getNumEtaPartitions
int getNumEtaPartitions(const GEMStation *)
Definition: GEMDQMBase.cc:30
crabWrapper.key
key
Definition: crabWrapper.py:19
GEMDQMBase::getIEtaFromVFATGE11
int getIEtaFromVFATGE11(const int vfat)
Definition: GEMDQMBase.h:573
GEMDQMBase::ProcessWithMEMap3
virtual int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key)
Definition: GEMDQMBase.h:470
label
const char * label
Definition: PFTauDecayModeTools.cc:11
GEMeMap::maxChan_
static const int maxChan_
Definition: GEMeMap.h:72
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37