From 84b7157bf803f10e655d85362300d89ee9e4c6e7 Mon Sep 17 00:00:00 2001 From: Sven Dildick Date: Thu, 13 May 2021 11:17:02 -0500 Subject: [PATCH] Data members for Run-3 variables --- DataFormats/CSCDigi/interface/CSCCLCTDigi.h | 50 ++++++------- .../CSCDigi/interface/CSCCorrelatedLCTDigi.h | 58 +++++++-------- DataFormats/CSCDigi/interface/CSCShowerDigi.h | 21 ++---- DataFormats/CSCDigi/src/CSCCLCTDigi.cc | 68 ----------------- .../CSCDigi/src/CSCCorrelatedLCTDigi.cc | 73 +------------------ DataFormats/CSCDigi/src/CSCShowerDigi.cc | 41 ++++------- DataFormats/CSCDigi/src/classes_def.xml | 9 ++- .../L1CSCTrackFinder/src/classes_def.xml | 3 +- .../src/CSCMotherboard.cc | 4 +- .../src/SectorProcessorShower.cc | 4 +- 10 files changed, 88 insertions(+), 243 deletions(-) diff --git a/DataFormats/CSCDigi/interface/CSCCLCTDigi.h b/DataFormats/CSCDigi/interface/CSCCLCTDigi.h index cc777f80d8314..1c1ed1942a377 100644 --- a/DataFormats/CSCDigi/interface/CSCCLCTDigi.h +++ b/DataFormats/CSCDigi/interface/CSCCLCTDigi.h @@ -18,11 +18,6 @@ class CSCCLCTDigi { public: typedef std::vector> ComparatorContainer; - enum CLCTKeyStripMasks { kEighthStripMask = 0x1, kQuartStripMask = 0x1, kHalfStripMask = 0x1f }; - enum CLCTKeyStripShifts { kEighthStripShift = 6, kQuartStripShift = 5, kHalfStripShift = 0 }; - // temporary to facilitate CCLUT-EMTF/OMTF integration studies - enum CLCTPatternMasks { kRun3SlopeMask = 0xf, kRun3PatternMask = 0x7, kLegacyPatternMask = 0xf }; - enum CLCTPatternShifts { kRun3SlopeShift = 7, kRun3PatternShift = 4, kLegacyPatternShift = 0 }; enum class Version { Legacy = 0, Run3 }; // for data vs emulator studies enum CLCTBXMask { kBXDataMask = 0x3 }; @@ -59,22 +54,22 @@ class CSCCLCTDigi { void setQuality(const uint16_t quality) { quality_ = quality; } /// return pattern - uint16_t getPattern() const; + uint16_t getPattern() const { return pattern_; } /// set pattern - void setPattern(const uint16_t pattern); + void setPattern(const uint16_t pattern) { pattern_ = pattern; } /// return pattern - uint16_t getRun3Pattern() const; + uint16_t getRun3Pattern() const { return run3_pattern_; } /// set pattern - void setRun3Pattern(const uint16_t pattern); + void setRun3Pattern(const uint16_t pattern) { run3_pattern_ = pattern; } /// return the slope - uint16_t getSlope() const; + uint16_t getSlope() const { return run3_slope_; } /// set the slope - void setSlope(const uint16_t slope); + void setSlope(const uint16_t slope) { run3_slope_ = slope; } /// slope in number of half-strips/layer /// negative means left-bending @@ -96,22 +91,22 @@ class CSCCLCTDigi { void setBend(const uint16_t bend) { bend_ = bend; } /// return halfstrip that goes from 0 to 31 in a (D)CFEB - uint16_t getStrip() const; + uint16_t getStrip() const { return strip_; } /// set strip void setStrip(const uint16_t strip) { strip_ = strip; } /// set single quart strip bit - void setQuartStrip(const bool quartStrip); + void setQuartStrip(const bool quartStrip) { run3_quart_strip_bit_ = quartStrip; } /// get single quart strip bit - bool getQuartStrip() const; + bool getQuartStrip() const { return run3_quart_strip_bit_; } /// set single eighth strip bit - void setEighthStrip(const bool eighthStrip); + void setEighthStrip(const bool eighthStrip) { run3_eighth_strip_bit_ = eighthStrip; } /// get single eighth strip bit - bool getEighthStrip() const; + bool getEighthStrip() const { return run3_eighth_strip_bit_; } /// return Key CFEB ID uint16_t getCFEB() const { return cfeb_; } @@ -197,22 +192,18 @@ class CSCCLCTDigi { void setRun3(bool isRun3); private: - void setDataWord(const uint16_t newWord, uint16_t& word, const unsigned shift, const unsigned mask); - uint16_t getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const; - uint16_t valid_; uint16_t quality_; - // In Run-3, the 4-bit pattern number is reinterpreted as the - // 4-bit bending value. There will be 16 bending values * 2 (left/right) + // Run-1/2 pattern number. + // For Run-3 CLCTs, please use run3_pattern_. For some backward + // compatibility the trigger emulator translates run3_pattern_ + // approximately into pattern_ with a lookup table uint16_t pattern_; uint16_t striptype_; // not used since mid-2008 // Common definition for left/right bending in Run-1, Run-2 and Run-3. // 0: right; 1: left uint16_t bend_; - // In Run-3, the strip number receives two additional bits - // strip[4:0] -> 1/2 strip value - // strip[5] -> 1/4 strip bit - // strip[6] -> 1/8 strip bit + // actually the half-strip number uint16_t strip_; // There are up to 7 (D)CFEBs in a chamber uint16_t cfeb_; @@ -220,6 +211,15 @@ class CSCCLCTDigi { uint16_t trknmb_; uint16_t fullbx_; + // 1/4-strip bit set by CCLUT + bool run3_quart_strip_bit_; + // 1/8-strip bit set by CCLUT + bool run3_eighth_strip_bit_; + // In Run-3, the CLCT digi has 3-bit pattern ID, 0 through 4 + uint16_t run3_pattern_; + // 4-bit bending value. There will be 16 bending values * 2 (left/right) + uint16_t run3_slope_; + // new in Run-3: 12-bit comparator code // set by default to -1 for Run-1 and Run-2 CLCTs int16_t compCode_; diff --git a/DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h b/DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h index 74d1f7a6c330e..35e24b9557024 100644 --- a/DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h +++ b/DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h @@ -18,11 +18,6 @@ class CSCCorrelatedLCTDigi { public: - enum LCTKeyStripMasks { kEighthStripMask = 0x1, kQuartStripMask = 0x1, kHalfStripMask = 0xff }; - enum LCTKeyStripShifts { kEighthStripShift = 9, kQuartStripShift = 8, kHalfStripShift = 0 }; - // temporary to facilitate CCLUT-EMTF/OMTF integration studies - enum LCTPatternMasks { kRun3SlopeMask = 0xf, kRun3PatternMask = 0x7, kLegacyPatternMask = 0xf }; - enum LCTPatternShifts { kRun3SlopeShift = 7, kRun3PatternShift = 4, kLegacyPatternShift = 0 }; enum class Version { Legacy = 0, Run3 }; // for data vs emulator studies enum LCTBXMask { kBXDataMask = 0x1 }; @@ -64,16 +59,16 @@ class CSCCorrelatedLCTDigi { uint16_t getStrip(uint16_t n = 2) const; /// set single quart strip bit - void setQuartStrip(const bool quartStrip); + void setQuartStrip(const bool quartStrip) { run3_quart_strip_bit_ = quartStrip; } /// get single quart strip bit - bool getQuartStrip() const; + bool getQuartStrip() const { return run3_quart_strip_bit_; } /// set single eighth strip bit - void setEighthStrip(const bool eighthStrip); + void setEighthStrip(const bool eighthStrip) { run3_eighth_strip_bit_ = eighthStrip; } /// get single eighth strip bit - bool getEighthStrip() const; + bool getEighthStrip() const { return run3_eighth_strip_bit_; } /* Strips are numbered starting from 1 in CMSSW @@ -94,15 +89,14 @@ class CSCCorrelatedLCTDigi { */ float getFractionalStrip(uint16_t n = 2) const; - /// Legacy: return pattern ID - /// Run-3: return the bending angle value - uint16_t getPattern() const; + /// return the Run-2 pattern ID + uint16_t getPattern() const { return pattern; } - /// return pattern - uint16_t getRun3Pattern() const; + /// return the Run-3 pattern ID + uint16_t getRun3Pattern() const { return run3_pattern_; } /// return the slope - uint16_t getSlope() const; + uint16_t getSlope() const { return run3_slope_; } /// slope in number of half-strips/layer /// negative means left-bending @@ -166,13 +160,13 @@ class CSCCorrelatedLCTDigi { void setStrip(const uint16_t s) { strip = s; } /// set pattern - void setPattern(const uint16_t p); + void setPattern(const uint16_t p) { pattern = p; } - /// set pattern - void setRun3Pattern(const uint16_t pattern); + /// set Run-3 pattern + void setRun3Pattern(const uint16_t pattern) { run3_pattern_ = pattern; } /// set the slope - void setSlope(const uint16_t slope); + void setSlope(const uint16_t slope) { run3_slope_ = slope; } /// set bend void setBend(const uint16_t b) { bend = b; } @@ -223,9 +217,6 @@ class CSCCorrelatedLCTDigi { const GEMPadDigi& getGEM2() const { return gem2_; } private: - void setDataWord(const uint16_t newWord, uint16_t& word, const unsigned shift, const unsigned mask); - uint16_t getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const; - // Note: The Run-3 data format is substantially different than the // Run-1/2 data format. Some explanation is provided below. For // more information, please check "DN-20-016". @@ -241,13 +232,12 @@ class CSCCorrelatedLCTDigi { uint16_t quality; // 7-bit key wire uint16_t keywire; - // In Run-3, the strip number receives two additional bits - // strip[7:0] -> 1/2 strip value - // strip[8] -> 1/4 strip bit - // strip[9] -> 1/8 strip bit + // actually the 8-bit half-strip number uint16_t strip; - // In Run-3, the 4-bit pattern number is reinterpreted as the - // 4-bit bending value. There will be 16 bending values * 2 (left/right) + // Run-1/2 pattern number. + // For Run-3 CLCTs, please use run3_pattern_. For some backward + // compatibility the trigger emulator translates run3_pattern_ + // approximately into pattern_ with a lookup table uint16_t pattern; // Common definition for left/right bending in Run-1, Run-2 and Run-3. // 0: right; 1: left @@ -261,11 +251,17 @@ class CSCCorrelatedLCTDigi { uint16_t cscID; // In Run-3, LCT data will be carrying the high-multiplicity bits // for chamber. These bits may indicate the observation of "exotic" events - // Depending on the chamber type 2 or 3 bits will be repurposed - // in the 32-bit LCT data word from the synchronization bit and - // quality bits. uint16_t hmt; + // 1/4-strip bit set by CCLUT + bool run3_quart_strip_bit_; + // 1/8-strip bit set by CCLUT + bool run3_eighth_strip_bit_; + // In Run-3, the CLCT digi has 3-bit pattern ID, 0 through 4 + uint16_t run3_pattern_; + // 4-bit bending value. There will be 16 bending values * 2 (left/right) + uint16_t run3_slope_; + /// SIMULATION ONLY //// int type_; diff --git a/DataFormats/CSCDigi/interface/CSCShowerDigi.h b/DataFormats/CSCDigi/interface/CSCShowerDigi.h index b07ec5c4c6a16..942bbec739398 100644 --- a/DataFormats/CSCDigi/interface/CSCShowerDigi.h +++ b/DataFormats/CSCDigi/interface/CSCShowerDigi.h @@ -10,8 +10,6 @@ class CSCShowerDigi { public: // Run-3 definitions as provided in DN-20-033 enum Run3Shower { kInvalid = 0, kLoose = 1, kNominal = 2, kTight = 3 }; - enum BitMask { kInTimeMask = 0x2, kOutTimeMask = 0x2 }; - enum BitShift { kInTimeShift = 0, kOutTimeShift = 2 }; /// Constructors CSCShowerDigi(const uint16_t inTimeBits, const uint16_t outTimeBits, const uint16_t cscID); @@ -19,7 +17,7 @@ class CSCShowerDigi { CSCShowerDigi(); /// clear this Shower - void clear() { bits_ = 0; } + void clear(); /// data bool isValid() const; @@ -27,13 +25,12 @@ class CSCShowerDigi { bool isLooseInTime() const; bool isNominalInTime() const; bool isTightInTime() const; - bool isLooseOutTime() const; - bool isNominalOutTime() const; - bool isTightOutTime() const; + bool isLooseOutOfTime() const; + bool isNominalOutOfTime() const; + bool isTightOutOfTime() const; - uint16_t bits() const { return bits_; } - uint16_t bitsInTime() const; - uint16_t bitsOutTime() const; + uint16_t bitsInTime() const { return bitsInTime_; } + uint16_t bitsOutOfTime() const { return bitsOutOfTime_; } uint16_t getCSCID() const { return cscID_; } @@ -41,10 +38,8 @@ class CSCShowerDigi { void setCSCID(const uint16_t c) { cscID_ = c; } private: - void setDataWord(const uint16_t newWord, uint16_t& word, const unsigned shift, const unsigned mask); - uint16_t getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const; - - uint16_t bits_; + uint16_t bitsInTime_; + uint16_t bitsOutOfTime_; // 4-bit CSC chamber identifier uint16_t cscID_; }; diff --git a/DataFormats/CSCDigi/src/CSCCLCTDigi.cc b/DataFormats/CSCDigi/src/CSCCLCTDigi.cc index 6861d0ec056f3..fe6baaab7660d 100644 --- a/DataFormats/CSCDigi/src/CSCCLCTDigi.cc +++ b/DataFormats/CSCDigi/src/CSCCLCTDigi.cc @@ -85,36 +85,6 @@ void CSCCLCTDigi::clear() { setSlope(0); } -uint16_t CSCCLCTDigi::getPattern() const { return getDataWord(pattern_, kLegacyPatternShift, kLegacyPatternMask); } - -void CSCCLCTDigi::setPattern(const uint16_t pattern) { - setDataWord(pattern, pattern_, kLegacyPatternShift, kLegacyPatternMask); -} - -uint16_t CSCCLCTDigi::getRun3Pattern() const { - if (!isRun3()) - return 0; - return getDataWord(pattern_, kRun3PatternShift, kRun3PatternMask); -} - -void CSCCLCTDigi::setRun3Pattern(const uint16_t pattern) { - if (!isRun3()) - return; - setDataWord(pattern, pattern_, kRun3PatternShift, kRun3PatternMask); -} - -uint16_t CSCCLCTDigi::getSlope() const { - if (!isRun3()) - return 0; - return getDataWord(pattern_, kRun3SlopeShift, kRun3SlopeMask); -} - -void CSCCLCTDigi::setSlope(const uint16_t slope) { - if (!isRun3()) - return; - setDataWord(slope, pattern_, kRun3SlopeShift, kRun3SlopeMask); -} - // slope in number of half-strips/layer float CSCCLCTDigi::getFractionalSlope() const { if (isRun3()) { @@ -154,32 +124,6 @@ float CSCCLCTDigi::getFractionalStrip(const uint16_t n) const { } } -uint16_t CSCCLCTDigi::getStrip() const { return getDataWord(strip_, kHalfStripShift, kHalfStripMask); } - -bool CSCCLCTDigi::getQuartStrip() const { - if (!isRun3()) - return false; - return getDataWord(strip_, kQuartStripShift, kQuartStripMask); -} - -bool CSCCLCTDigi::getEighthStrip() const { - if (!isRun3()) - return false; - return getDataWord(strip_, kEighthStripShift, kEighthStripMask); -} - -void CSCCLCTDigi::setQuartStrip(const bool quartStrip) { - if (!isRun3()) - return; - setDataWord(quartStrip, strip_, kQuartStripShift, kQuartStripMask); -} - -void CSCCLCTDigi::setEighthStrip(const bool eighthStrip) { - if (!isRun3()) - return; - setDataWord(eighthStrip, strip_, kEighthStripShift, kEighthStripMask); -} - void CSCCLCTDigi::setRun3(const bool isRun3) { version_ = isRun3 ? Version::Run3 : Version::Legacy; } bool CSCCLCTDigi::operator>(const CSCCLCTDigi& rhs) const { @@ -263,18 +207,6 @@ void CSCCLCTDigi::print() const { } } -void CSCCLCTDigi::setDataWord(const uint16_t newWord, uint16_t& word, const unsigned shift, const unsigned mask) { - // clear the old value - word &= ~(mask << shift); - - // set the new value - word |= newWord << shift; -} - -uint16_t CSCCLCTDigi::getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const { - return (word >> shift) & mask; -} - std::ostream& operator<<(std::ostream& o, const CSCCLCTDigi& digi) { return o << "CSC CLCT #" << digi.getTrknmb() << ": Valid = " << digi.isValid() << " Quality = " << digi.getQuality() << " Pattern = " << digi.getPattern() << " StripType = " << digi.getStripType() diff --git a/DataFormats/CSCDigi/src/CSCCorrelatedLCTDigi.cc b/DataFormats/CSCDigi/src/CSCCorrelatedLCTDigi.cc index e0cd1a8810f04..96d550d87e655 100644 --- a/DataFormats/CSCDigi/src/CSCCorrelatedLCTDigi.cc +++ b/DataFormats/CSCDigi/src/CSCCorrelatedLCTDigi.cc @@ -80,46 +80,10 @@ uint16_t CSCCorrelatedLCTDigi::getStrip(const uint16_t n) const { } // lowest 8 bits else { - return strip & kHalfStripMask; + return strip; } } -void CSCCorrelatedLCTDigi::setQuartStrip(const bool quartStrip) { - if (!isRun3()) - return; - setDataWord(quartStrip, strip, kQuartStripShift, kQuartStripMask); -} - -void CSCCorrelatedLCTDigi::setEighthStrip(const bool eighthStrip) { - if (!isRun3()) - return; - setDataWord(eighthStrip, strip, kEighthStripShift, kEighthStripMask); -} - -bool CSCCorrelatedLCTDigi::getQuartStrip() const { - if (!isRun3()) - return false; - return getDataWord(strip, kQuartStripShift, kQuartStripMask); -} - -bool CSCCorrelatedLCTDigi::getEighthStrip() const { - if (!isRun3()) - return false; - return getDataWord(strip, kEighthStripShift, kEighthStripMask); -} - -uint16_t CSCCorrelatedLCTDigi::getSlope() const { - if (!isRun3()) - return 0; - return getDataWord(pattern, kRun3SlopeShift, kRun3SlopeMask); -} - -void CSCCorrelatedLCTDigi::setSlope(const uint16_t slope) { - if (!isRun3()) - return; - setDataWord(slope, pattern, kRun3SlopeShift, kRun3SlopeMask); -} - // slope in number of half-strips/layer float CSCCorrelatedLCTDigi::getFractionalSlope() const { if (isRun3()) { @@ -148,26 +112,6 @@ uint16_t CSCCorrelatedLCTDigi::getCLCTPattern() const { return (isRun3() ? std::numeric_limits::max() : (pattern & 0xF)); } -uint16_t CSCCorrelatedLCTDigi::getPattern() const { - return getDataWord(pattern, kLegacyPatternShift, kLegacyPatternMask); -} - -void CSCCorrelatedLCTDigi::setPattern(const uint16_t pat) { - setDataWord(pat, pattern, kLegacyPatternShift, kLegacyPatternMask); -} - -uint16_t CSCCorrelatedLCTDigi::getRun3Pattern() const { - if (!isRun3()) - return 0; - return getDataWord(pattern, kRun3PatternShift, kRun3PatternMask); -} - -void CSCCorrelatedLCTDigi::setRun3Pattern(const uint16_t pat) { - if (!isRun3()) - return; - setDataWord(pat, pattern, kRun3PatternShift, kRun3PatternMask); -} - uint16_t CSCCorrelatedLCTDigi::getHMT() const { return (isRun3() ? hmt : std::numeric_limits::max()); } void CSCCorrelatedLCTDigi::setHMT(const uint16_t h) { hmt = isRun3() ? h : std::numeric_limits::max(); } @@ -195,21 +139,6 @@ void CSCCorrelatedLCTDigi::print() const { } } -void CSCCorrelatedLCTDigi::setDataWord(const uint16_t newWord, - uint16_t& word, - const unsigned shift, - const unsigned mask) { - // clear the old value - word &= ~(mask << shift); - - // set the new value - word |= newWord << shift; -} - -uint16_t CSCCorrelatedLCTDigi::getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const { - return (word >> shift) & mask; -} - std::ostream& operator<<(std::ostream& o, const CSCCorrelatedLCTDigi& digi) { return o << "CSC LCT #" << digi.getTrknmb() << ": Valid = " << digi.isValid() << " Quality = " << digi.getQuality() << " MPC Link = " << digi.getMPCLink() << " cscID = " << digi.getCSCID() diff --git a/DataFormats/CSCDigi/src/CSCShowerDigi.cc b/DataFormats/CSCDigi/src/CSCShowerDigi.cc index 7a4545d219340..9a50ef75cb39b 100644 --- a/DataFormats/CSCDigi/src/CSCShowerDigi.cc +++ b/DataFormats/CSCDigi/src/CSCShowerDigi.cc @@ -6,18 +6,21 @@ using namespace std; /// Constructors -CSCShowerDigi::CSCShowerDigi(const uint16_t bitsInTime, const uint16_t bitsOutTime, const uint16_t cscID) - : cscID_(cscID) { - setDataWord(bitsInTime, bits_, kInTimeShift, kInTimeMask); - setDataWord(bitsOutTime, bits_, kOutTimeShift, kOutTimeMask); -} +CSCShowerDigi::CSCShowerDigi(const uint16_t bitsInTime, const uint16_t bitsOutOfTime, const uint16_t cscID) + : bitsInTime_(bitsInTime), bitsOutOfTime_(bitsOutOfTime), cscID_(cscID) {} /// Default -CSCShowerDigi::CSCShowerDigi() : bits_(0), cscID_(0) {} +CSCShowerDigi::CSCShowerDigi() : bitsInTime_(0), bitsOutOfTime_(0), cscID_(0) {} + +void CSCShowerDigi::clear() { + bitsInTime_ = 0; + bitsOutOfTime_ = 0; + cscID_ = 0; +} bool CSCShowerDigi::isValid() const { // any loose shower is valid - return isLooseInTime() or isLooseOutTime(); + return isLooseInTime() or isLooseOutOfTime(); } bool CSCShowerDigi::isLooseInTime() const { return bitsInTime() >= kLoose; } @@ -26,26 +29,12 @@ bool CSCShowerDigi::isNominalInTime() const { return bitsInTime() >= kNominal; } bool CSCShowerDigi::isTightInTime() const { return bitsInTime() >= kTight; } -bool CSCShowerDigi::isLooseOutTime() const { return bitsOutTime() >= kLoose; } - -bool CSCShowerDigi::isNominalOutTime() const { return bitsOutTime() >= kNominal; } - -bool CSCShowerDigi::isTightOutTime() const { return bitsOutTime() >= kTight; } +bool CSCShowerDigi::isLooseOutOfTime() const { return bitsOutOfTime() >= kLoose; } -uint16_t CSCShowerDigi::bitsInTime() const { return getDataWord(bits_, kInTimeShift, kInTimeMask); } +bool CSCShowerDigi::isNominalOutOfTime() const { return bitsOutOfTime() >= kNominal; } -uint16_t CSCShowerDigi::bitsOutTime() const { return getDataWord(bits_, kOutTimeShift, kOutTimeMask); } +bool CSCShowerDigi::isTightOutOfTime() const { return bitsOutOfTime() >= kTight; } -void CSCShowerDigi::setDataWord(const uint16_t newWord, uint16_t& word, const unsigned shift, const unsigned mask) { - // clear the old value - word &= ~(mask << shift); - - // set the new value - word |= newWord << shift; -} - -uint16_t CSCShowerDigi::getDataWord(const uint16_t word, const unsigned shift, const unsigned mask) const { - return (word >> shift) & mask; +std::ostream& operator<<(std::ostream& o, const CSCShowerDigi& digi) { + return o << "CSC Shower: in-time bits " << digi.bitsInTime() << ", out-of-time bits " << digi.bitsOutOfTime(); } - -std::ostream& operator<<(std::ostream& o, const CSCShowerDigi& digi) { return o << "CSC Shower: " << digi.bits(); } diff --git a/DataFormats/CSCDigi/src/classes_def.xml b/DataFormats/CSCDigi/src/classes_def.xml index 848aeeddd3639..0427fc5aa91b7 100644 --- a/DataFormats/CSCDigi/src/classes_def.xml +++ b/DataFormats/CSCDigi/src/classes_def.xml @@ -11,7 +11,8 @@ - + + @@ -20,7 +21,8 @@ - + + @@ -37,7 +39,8 @@ - + + diff --git a/DataFormats/L1CSCTrackFinder/src/classes_def.xml b/DataFormats/L1CSCTrackFinder/src/classes_def.xml index 969b0f82291b7..5fe81effe24ca 100644 --- a/DataFormats/L1CSCTrackFinder/src/classes_def.xml +++ b/DataFormats/L1CSCTrackFinder/src/classes_def.xml @@ -13,7 +13,8 @@ - + + diff --git a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc index 76282679800eb..eb5b72aec9296 100644 --- a/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc +++ b/L1Trigger/CSCTriggerPrimitives/src/CSCMotherboard.cc @@ -515,8 +515,8 @@ void CSCMotherboard::encodeHighMultiplicityBits() { outTimeHMT_ = anodeOutTime; break; case 2: - inTimeHMT_ = (anodeInTime & CSCShowerDigi::kInTimeMask) | (cathodeInTime & CSCShowerDigi::kInTimeMask); - outTimeHMT_ = (anodeOutTime & CSCShowerDigi::kOutTimeMask) | (cathodeOutTime & CSCShowerDigi::kOutTimeMask); + inTimeHMT_ = anodeInTime | cathodeInTime; + outTimeHMT_ = anodeOutTime | cathodeOutTime; break; default: inTimeHMT_ = cathodeInTime; diff --git a/L1Trigger/L1TMuonEndCap/src/SectorProcessorShower.cc b/L1Trigger/L1TMuonEndCap/src/SectorProcessorShower.cc index dd855674fa8fa..12995249f03bc 100644 --- a/L1Trigger/L1TMuonEndCap/src/SectorProcessorShower.cc +++ b/L1Trigger/L1TMuonEndCap/src/SectorProcessorShower.cc @@ -48,9 +48,9 @@ void SectorProcessorShower::process(const CSCShowerDigiCollection& in_showers, const unsigned nNominalInTime(std::count_if( selected_showers.begin(), selected_showers.end(), [](CSCShowerDigi p) { return p.isNominalInTime(); })); const unsigned nLooseOutOfTime(std::count_if( - selected_showers.begin(), selected_showers.end(), [](CSCShowerDigi p) { return p.isLooseOutTime(); })); + selected_showers.begin(), selected_showers.end(), [](CSCShowerDigi p) { return p.isLooseOutOfTime(); })); const unsigned nNominalOutOfTime(std::count_if( - selected_showers.begin(), selected_showers.end(), [](CSCShowerDigi p) { return p.isNominalOutTime(); })); + selected_showers.begin(), selected_showers.end(), [](CSCShowerDigi p) { return p.isNominalOutOfTime(); })); const bool hasTwoLooseInTime(nLooseInTime >= nLooseShowers_); const bool hasOneNominalInTime(nNominalInTime >= nNominalShowers_);