3 #ifndef EventFilter_L1TRawToDigi_EMTFUnpackerTools_h 4 #define EventFilter_L1TRawToDigi_EMTFUnpackerTools_h 27 if (exp == 0)
return 1;
28 if (exp == 1)
return base;
29 return base *
PowInt(base, exp-1);
34 if (bits >> (nBits - 1) == 0)
return bits;
35 else return bits -
PowInt(2, nBits);
39 inline uint16_t
GetHexBits(uint16_t word, uint16_t lowBit, uint16_t highBit) {
40 return ( (word >> lowBit) & (
PowInt(2, (1 + highBit - lowBit)) - 1) );
44 inline uint32_t
GetHexBits(uint32_t word, uint32_t lowBit, uint32_t highBit) {
45 return ( (word >> lowBit) & (
PowInt(2, (1 + highBit - lowBit)) - 1) );
49 inline uint32_t
GetHexBits(uint16_t word1, uint16_t lowBit1, uint16_t highBit1,
50 uint16_t word2, uint16_t lowBit2, uint16_t highBit2) {
51 uint16_t word1_sel = (word1 >> lowBit1) & (
PowInt(2, (1 + highBit1 - lowBit1)) - 1);
52 uint16_t word2_sel = (word2 >> lowBit2) & (
PowInt(2, (1 + highBit2 - lowBit2)) - 1);
53 return ( (word2_sel << (1 + highBit1 - lowBit1)) | word1_sel );
int PowInt(int base, int exp)
void ImportME(EMTFHit &_hit, const l1t::emtf::ME _ME, const int _endcap, const int _evt_sector)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void ImportRPC(EMTFHit &_hit, const l1t::emtf::RPC _RPC, const int _endcap, const int _evt_sector)
int TwosCompl(int nBits, int bits)
base
Make Sure CMSSW is Setup ##.
void ImportSP(EMTFTrack &_track, const l1t::emtf::SP _SP, const int _endcap, const int _evt_sector)
uint16_t GetHexBits(uint16_t word, uint16_t lowBit, uint16_t highBit)