Skip to content

Commit

Permalink
Merge pull request #37423 from jshlee/GEMAMC13-bugfix-12_2_1_patch2
Browse files Browse the repository at this point in the history
[GEM] bugfix - BC and OrbitCounter in AMC13 - backport
  • Loading branch information
cmsbuild committed Apr 4, 2022
2 parents 7aaa4a4 + 586dd77 commit 44941d8
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
2 changes: 2 additions & 0 deletions DataFormats/GEMDigi/interface/GEMAMC13.h
Expand Up @@ -109,6 +109,8 @@ class GEMAMC13 {
void addAMCpayload(const GEMAMC& a) { amcs_.push_back(a); }
void clearAMCpayloads() { amcs_.clear(); }

static const int lastBC = 3564;

private:
uint64_t cdfh_; // CDFHeader
uint64_t amc13h_; // AMC13Header
Expand Down
8 changes: 6 additions & 2 deletions DataFormats/GEMDigi/interface/GEMAMCStatus.h
Expand Up @@ -34,9 +34,13 @@ class GEMAMCStatus {
amcNum_ = amc.amcNum();
Errors error{0};
error.badEC = (amc13->lv1Id() != amc.lv1Id());
error.badBC = (amc13->bunchCrossing() != amc.bunchCrossing());
// Last BC in AMC13 is different to TCDS, AMC, and VFAT
error.badBC = !((amc13->bunchCrossing() == amc.bunchCrossing()) ||
(amc13->bunchCrossing() == 0 && amc.bunchCrossing() == GEMAMC13::lastBC));
error.badRunType = amc.runType() != 0x1;
error.badOC = (uint16_t(amc13->orbitNumber()) != amc.orbitNumber());
// Last OC in AMC13 is different to TCDS, AMC, and VFAT
error.badOC = !((uint16_t(amc13->orbitNumber()) == amc.orbitNumber()) ||
(amc13->bunchCrossing() == 0 && uint16_t(amc.orbitNumber() + 1) == uint16_t(amc13->orbitNumber())));
error.MMCMlocked = !amc.mmcmLocked();
error.DAQclocklocked = !amc.daqClockLocked();
error.DAQnotReday = !amc.daqReady();
Expand Down

0 comments on commit 44941d8

Please sign in to comment.