From 907e52e1e677a6c4896fe2d6cc08a786202cad53 Mon Sep 17 00:00:00 2001 From: Alexandre Sakharov Date: Thu, 12 Nov 2009 16:42:32 +0000 Subject: [PATCH] --- yaml --- r: 77785 b: "refs/heads/CMSSW_7_1_X" c: f9b19d23d7e95847422d9e60e89ac525af295b5b h: "refs/heads/CMSSW_7_1_X" i: 77783: a1e4f938c5d0904860828427853d9f33cc40f297 v: v3 --- [refs] | 2 +- trunk/EventFilter/CSCRawToDigi/src/CSCRPCData.cc | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 2c27babc0a9d6..0ac2dd2a9d209 100644 --- a/[refs] +++ b/[refs] @@ -1,3 +1,3 @@ --- refs/heads/gh-pages: 09c786f70121f131b3715aaf3464996502bbeb7e -"refs/heads/CMSSW_7_1_X": 9bccf310447e78a1de9a80bad8ae87cc242cc224 +"refs/heads/CMSSW_7_1_X": f9b19d23d7e95847422d9e60e89ac525af295b5b diff --git a/trunk/EventFilter/CSCRawToDigi/src/CSCRPCData.cc b/trunk/EventFilter/CSCRawToDigi/src/CSCRPCData.cc index 01f729c48b59b..1e893c47caa7a 100644 --- a/trunk/EventFilter/CSCRawToDigi/src/CSCRPCData.cc +++ b/trunk/EventFilter/CSCRawToDigi/src/CSCRPCData.cc @@ -75,7 +75,8 @@ std::vector CSCRPCData::BXN() const { /// make the two pad words into one and see if it's empty //int pad = theData[pos] & 0xff + ((theData[pos+1] & 0x3f) << 8); - int bxnnew = (((theData[pos+1] >> 8) & 0x3 )<<2) | ((theData[pos+1]>>6)&0x3) ; + int bxnnew = ((theData[pos+1] >> 8) & 0x7 ) ; + //int bxnnew = (((theData[pos+1] >> 8) & 0x3 )<<2) | ((theData[pos+1]>>6)&0x3) ; int rpc = (theData[pos] >> 12) & 0x7; //int tbin = (theData[pos] >> 8) & 0xf; @@ -92,16 +93,22 @@ std::vector CSCRPCData::digis() const { std::vector result; int bxnold =0 ; int bxnnew =0 ; + //int bxnewGreg; for(int linePair = 0; linePair < ((size_-2)/2); ++linePair) { // skip header word int pos = linePair*2 + 1; + // LogTrace("RPC") << "+++ CSCRPCData " << std::hex << theData[pos] + // << " " << theData[pos+1]; if (debug) LogTrace("CSCRPCData|CSCRawToDigi") << "+++ CSCRPCData " << std::hex << theData[pos] << " " << theData[pos+1]; // make the two pad words into one and see if it's empty int pad = (theData[pos] & 0xff) + ((theData[pos+1] & 0xff) << 8); - bxnnew = (((theData[pos+1] >> 8) & 0x3 )<<2) | ((theData[pos+1]>>6)&0x3) ; + //bxnnew = (((theData[pos+1] >> 8) & 0x3 )<<2) | ((theData[pos+1]>>6)&0x3) ; + bxnnew = ((theData[pos+1] >> 8) & 0x7 ) ; + //LogTrace("RPC") << " " << "bxnnew" << " " << bxnnew; + //LogTrace("RPC") << " " << "bxnnewGreg" << " " << bxnewGreg; if ( linePair == 0 ) bxnold = bxnnew; if ( bxnnew - bxnold > 1 ) LogTrace("CSCRPCData|CSCRawToDigi") << "+++ CSCRPCData warning: RPC BXN is incrementing by more than 1 clock cycle"; @@ -114,10 +121,12 @@ std::vector CSCRPCData::digis() const { int rpc = (theData[pos] >> 12) & 0x7; int tbin = (theData[pos] >> 8) & 0xf; int bxn = bxnnew; + //LogTrace("RPC") << " rpc: " << rpc << " bxn: " << bxn << " tbin: " << tbin; for(int i = 0; i < 16; ++i) { // if the bit is set, make a digi if((pad>>i)&1) { result.push_back(CSCRPCDigi(rpc, i, bxn, tbin)); + //LogTrace("RPC") << "digi-->" << " rpc: " << rpc << " i: " << i << " bxn: " << bxn << " tbin: " << tbin; } } }