@@ -147,6 +147,13 @@ int GEMDQMBase::SortingLayers(std::vector<ME4IdsKey>& listLayers) {
147147 return 0 ;
148148}
149149
150+ int GEMDQMBase::getDisplayModuleNumber (int station, int layer, int module_number) {
151+ // For GE2/1 Layer 1, labeling module numbers as 5–8 instead of 1–4
152+ if (station == 2 && layer == 1 )
153+ return module_number + 4 ;
154+ return module_number;
155+ }
156+
150157dqm::impl::MonitorElement* GEMDQMBase::CreateSummaryHist (DQMStore::IBooker& ibooker, TString strName) {
151158 std::vector<ME4IdsKey> listLayers;
152159 for (auto const & [key3, stationInfo] : mapStationInfo_) {
@@ -175,14 +182,15 @@ dqm::impl::MonitorElement* GEMDQMBase::CreateSummaryHist(DQMStore::IBooker& iboo
175182
176183 auto region = keyToRegion (key);
177184 auto strInfo = GEMUtils::getSuffixName (key3); // NOTE: It starts with '_'
185+ auto module_number = getDisplayModuleNumber (keyToStation (key), keyToLayer (key), keyToModule (key));
178186 if (mapStationInfo_[key3].nNumModules_ > 1 ) {
179- strInfo += Form (" -M%i" , keyToModule (key) );
187+ strInfo += Form (" -M%i" , module_number );
180188 }
181189 auto label = Form (" GE%+i1-%cL%i-M%i;%s" ,
182190 region * keyToStation (key),
183191 (region > 0 ? ' P' : ' M' ),
184192 keyToLayer (key),
185- keyToModule (key) ,
193+ module_number ,
186194 strInfo.Data ());
187195 h2Res->setBinLabel (i, label, 2 );
188196 Int_t nNumCh = mapStationInfo_[key3].nNumChambers_ ;
@@ -246,8 +254,10 @@ int GEMDQMBase::GenerateMEPerChamber(DQMStore::IBooker& ibooker) {
246254 if (!MEMap4Check_[key4]) {
247255 Int_t nLa = gid.layer ();
248256 TString strSuffixCh = Form (" -L%i" , nLa);
249- if (mapStationInfo_[key3].nNumModules_ > 1 )
250- strSuffixCh = Form (" -L%i-M%i" , nLa, module_number);
257+ if (mapStationInfo_[key3].nNumModules_ > 1 ) {
258+ Int_t nMo = getDisplayModuleNumber (gid.station (), nLa, module_number);
259+ strSuffixCh = Form (" -L%i-M%i" , nLa, nMo);
260+ }
251261 auto strSuffixName = GEMUtils::getSuffixName (key2) + strSuffixCh;
252262 auto strSuffixTitle = GEMUtils::getSuffixTitle (key2) + strSuffixCh;
253263 BookingHelper bh4 (ibooker, strSuffixName, strSuffixTitle);
@@ -270,8 +280,10 @@ int GEMDQMBase::GenerateMEPerChamber(DQMStore::IBooker& ibooker) {
270280 Int_t nLa = gid.layer ();
271281 char cLS = (nCh % 2 == 0 ? ' L' : ' S' ); // FIXME: Is it general enough?
272282 TString strSuffixCh = Form (" -%02iL%i-%c" , nCh, nLa, cLS);
273- if (mapStationInfo_[key3].nNumModules_ > 1 )
274- strSuffixCh = Form (" -%02iL%i-M%i-%c" , nCh, nLa, module_number, cLS);
283+ if (mapStationInfo_[key3].nNumModules_ > 1 ) {
284+ Int_t nMo = getDisplayModuleNumber (gid.station (), nLa, module_number);
285+ strSuffixCh = Form (" -%02iL%i-M%i-%c" , nCh, nLa, nMo, cLS);
286+ }
275287 auto strSuffixName = GEMUtils::getSuffixName (key2) + strSuffixCh;
276288 auto strSuffixTitle = GEMUtils::getSuffixTitle (key2) + strSuffixCh;
277289 BookingHelper bh5Ch (ibooker, strSuffixName, strSuffixTitle);
0 commit comments