Documentation on use of two CMSSW modules, EricScan and EricDump. These modules scan HCAL data for a specific set of problems, and produce hex dumps for hardware experts to ponder.

Released Code:

Sample scripts and output:

EricScan

This module reads run data, looks for problems, and produces a simple text report as output tagging the events to be dumped. Configuration file parameters:

Parameter Description Default
uint32_t DCCVersion DCC firmware version (needed for versions < 0x2c1f) 0x2c18
uint32_t HTRstatusBits mask of HTR status bits to look for 0x008f
uint32_t LRBstatusBits mask of LRB error bits to look for 0xff
bool checkEvN enable checking of EvN across all HTRs, DCC true
bool checkBcN enable checking of BcN across all HTRs, DCC true
int minHtrSize minimum size for HTR payload in 32-bit words 6
(values < 6 will cause 6 to be used)
bool checkAllCRC check CRC on every event (SLOW) false
bool checkBadCRC check CRC on events matching above conditions true
int maxEvtPerHTR save this many events per HTR for dumping 10
uint32_t startEvt starting EvN for analysis 1
uint32_t endEvt ending EvN for analysis 99999

Sample Configuration

process DUMP = {

//  untracked PSet maxEvents = {untracked int32 input = 1000}

    source = NewEventStreamFileReader {
     untracked vstring fileNames =  {
"file:/data/ehazen/work/GlobalMar08/emulator.00037842.0001.A.storageManager.0.0000.dat",
"file:/data/ehazen/work/GlobalMar08/emulator.00037842.0001.A.storageManager.1.0000.dat"
     }
     int32 max_event_size = 2000000
     int32 max_queue_depth = 5
   }

   service = MessageLogger {
      untracked PSet default = { untracked int32 reportEvery   = 100 }
   }

   module dumper = EricScan {   
        // use default parameters
   }

   path p = { dumper }
}

EricDump

This module reads the text output from EricScan and actually dumps the specified events. It looks for tags like this, which you could construct yourself for custom dumps:

   [DUMP] EvN 1 FED 4 HTR 3 reason "HTR status=8ec0"

EvN is event number. FED is fed_id minus 700. HTR is DCC spigot number 0-14. reason is a quoted string giving the reason for the dump.

Configuration file parameters:

Parameter Description Default
uint32 DCCVersion DCC firmware revision (needed up to 0x2c1f) 0x2c18
string ReportFileName Input file name for output from EricScan "report.txt"
string DumpFileName Output file name for event dumps "dump.txt"
int32 evtRange Number of events before and after specified event to dump 3
int32 debugLevel Debug output (0, 1, 2) 1

Sample Configuration File

process DUMP = {

//  untracked PSet maxEvents = {untracked int32 input = 100}

   source = NewEventStreamFileReader  {

     untracked vstring fileNames =  {
"file:/data/ehazen/work/GlobalMar08/emulator.00037842.0001.A.storageManager.0.0000.dat",
"file:/data/ehazen/work/GlobalMar08/emulator.00037842.0001.A.storageManager.1.0000.dat" }
       int32 max_event_size = 2000000
       int32 max_queue_depth = 5
     }

   service = MessageLogger {
     untracked PSet default = { untracked int32 reportEvery   = 500 }
   }

    module dumper = EricDump {
      untracked int32   debugLevel = 0
        untracked string ReportFileName = "EricScan37842_report.txt"
      untracked string DumpFileName = "EricDump37842_dump.txt"
    }
    path p = { dumper }
}

-- EricHazen - 25 Mar 2008

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2008-03-25 - EricHazen
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback