37 const auto&
chambers = superchambers.front()->chambers();
43 return chambers.front()->nEtaPartitions();
51 for (
auto sch : superChambers_) {
52 int n_lay = sch->nChambers();
53 for (
int l = 0;
l < n_lay;
l++) {
54 Bool_t bExist =
false;
55 if (not sch->chamber(
l + 1))
58 if (ch.id() == sch->chamber(
l + 1)->id()) {
65 gemChambers_.push_back(*sch->chamber(
l + 1));
72 const int region_number =
region->region();
75 const auto&& superchambers =
station->superChambers();
77 const int station_number =
station->station();
78 const int num_superchambers = superchambers.size();
79 const int num_layers = superchambers.front()->nChambers();
82 const int num_vfat = num_etas * max_vfat;
87 for (
int layer_number = 1; layer_number <= num_layers; layer_number++) {
88 ME3IdsKey key3(region_number, station_number, layer_number);
90 MEStationInfo(region_number, station_number, layer_number, num_superchambers, num_etas, num_vfat, num_digi);
108 Int_t re1 = std::get<0>(key1), st1 = std::get<1>(key1), la1 = std::get<2>(key1);
109 Int_t re2 = std::get<0>(key2), st2 = std::get<1>(key2), la2 = std::get<2>(key2);
110 if (re1 < 0 && re2 > 0)
112 if (re1 > 0 && re2 < 0)
114 Bool_t bRes = (re1 < 0);
115 Int_t sum1 = 256 *
std::abs(re1) + 16 * st1 + 1 * la1;
116 Int_t sum2 = 256 *
std::abs(re2) + 16 * st2 + 1 * la2;
126 std::vector<ME3IdsKey> listLayers;
128 listLayers.push_back(
key);
130 for (Int_t
i = 0;
i < (Int_t)listLayers.size();
i++)
136 h2Res->setYTitle(
"Layer");
138 if (h2Res ==
nullptr)
142 h2Res->setBinLabel(
i, Form(
"%i",
i), 1);
143 for (Int_t
i = 1;
i <= (Int_t)listLayers.size();
i++) {
144 auto key = listLayers[
i - 1];
147 auto label = Form(
"GE%i%i-%cL%i;%s",
153 h2Res->setBinLabel(
i,
label, 2);
154 Int_t nNumCh = mapStationInfo_[
key].nNumChambers_;
155 h2Res->setBinContent(0,
i, nNumCh);
189 Int_t nLa = gid.
layer();
190 char cLS = (nCh % 2 == 0 ?
'L' :
'S');
197 for (
auto iEta : ch.etaPartitions()) {
217 auto strSuffixName = Form(
"_GE%d1-E%02i", gid.
station(), eId.
ieta());
218 auto strSuffixTitle = Form(
" GE%d1-E%02i", gid.
station(), eId.
ieta());
T getUntrackedParameter(std::string const &, T const &) const
Int_t nNumEtaPartitionGE11_
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
bool checkRefs(const std::vector< T * > &)
virtual int ProcessWithMEMap4(BookingHelper &bh, ME4IdsKey key)
TString getSuffixName(Int_t region_id)
virtual int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key)
int initGeometry(edm::EventSetup const &iSetup)
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
int keyToRegion(ME2IdsKey key)
std::map< ME3IdsKey, int > mapStationToIdx_
static const int maxChan_
int keyToLayer(ME3IdsKey key)
Log< level::Error, false > LogError
TString getSuffixTitle(Int_t region_id)
std::string log_category_
constexpr int ieta() const
std::vector< const GEMSuperChamber * > superChambers() const
Return the super chambers in the region.
bool getData(T &iHolder) const
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
std::map< ME2IdsKey, bool > MEMap2Check_
virtual int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key)
virtual void setXTitle(std::string const &title)
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
std::map< ME3IdsKey, bool > MEMap3Check_
constexpr int region() const
const std::vector< const GEMRegion * > & regions() const
Return a vector of all GEM regions.
int getNumEtaPartitions(const GEMStation *)
virtual int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key)
std::vector< GEMChamber > gemChambers_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
tuple key
prepare the HTCondor submission files and eventually submit them
Abs< T >::type abs(const T &t)
int getMaxVFAT(const int)
int keyToStation(ME2IdsKey key)
std::map< ME4IdsKey, bool > MEMap4Check_
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
const GEMGeometry * GEMGeometry_
constexpr int chamber() const
constexpr int layer() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
constexpr int station() const
virtual int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key)
int SortingLayers(std::vector< ME3IdsKey > &listLayers)
GEMDQMBase(const edm::ParameterSet &cfg)
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
std::tuple< Int_t, Int_t > ME2IdsKey
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
static char chambers[264][20]
Int_t nNumEtaPartitionGE0_
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
Int_t nNumEtaPartitionGE21_
virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key)