L1 Comparator

Complete: 3

Overview

The L1-Trigger validation tool for monitoring data|emulator consistency.

It performs the following tasks:

  1. reads in pairs of L1-Trigger digi collections (data|emulator)
  2. verifies the candidates' agreement on bit-by-bit level
  3. appends results of data|emulator comparison to the event
  4. dumps comparison information to file in human readable format

Digi production

The L1 digis are produced by the following two main sources:
? L1 Unpacker (code in CMS.EventFilter; cff), from input raw data
? L1 Emulator (code in L1Trigger, SimCalorimetry; cff), from input digis
The resulting digis are in the current context identified as Data and Emul respectively.

For pattern testing, digis are also converted from hardware output data
? TextToDigi (code, wiki), input from harwdare format txt

For software testing and validation purposes, we following auxiliary modules are available:
? DummyProducer (code, cfi), produces random, ad-hoc digis, from empty input
? EmulBias (code, cfi), introduces ad-hoc bias to mimic hardware failure, from input digis

Data types

The list of data collections currently supported:
EcalTrigPrimDigiCollection
HcalTrigPrimDigiCollection
L1CaloEmCollection
L1CaloRegionCollection
L1GctEmCandCollection
L1GctEmCandCollection
L1GctJetCandCollection
L1GctJetCandCollection
L1GctJetCandCollection
L1MuDTChambPhContainer
L1MuDTChambThContainer
L1MuRegionalCandCollection
L1MuDTTrackContainer
CSCALCTDigiCollection
CSCCLCTDigiCollection
CSCCorrelatedLCTDigiCollection
CSCCorrelatedLCTDigiCollection
L1MuRegionalCandCollection
L1CSCTrackCollection
L1CSCStatusDigiCollection
L1MuRegionalCandCollection
L1MuRegionalCandCollection
LTCDigiCollection
L1MuGMTCandCollection
L1MuGMTReadoutCollection
L1CMS.GlobalTriggerReadoutRecord
L1CMS.GlobalTriggerEvmReadoutRecord
L1CMS.GlobalTriggerObjectMapRecord
FEDRawDataCollection

Usage


? data|emulator comparison (principal)
? data|data consistency (eg in redundantly readout data)
? emul|emul software consistency (eg of pack/unpack sequences)

HowTo

Code

The code is located in L1Trigger/HardwareValidation/.

Please use the latest tag. The head version should be kept working and with the latest updates, please consider using it.

Configuration

For configuration and usage examples, please have a look at
? L1Comparator.cfi, default configuration
? testL1DECompare.cfg, simple test
? testDummyBiasDE.cfg, complete standalone test, with digi generation, bias, comparison, dump and display

As an explicit simple example, suppose one wishes to compare two sets of Ecal TP digis:

    include "L1Trigger/HardwareValidation/data/L1Comparator.cfi"
    replace l1compare.ETPsourceData = ecal_tp_digis_a
    replace l1compare.ETPsourceEmul = ecal_tp_digis_b
    replace l1compare.COMPARE_COLLS = { 1,0,0,0,0,0,0,0,0,0,0,0 }
    path cmp = {l1compare}

Configuration parameters:

  1. sourceData, sourceEmul InputTags for the two collections to be compared, prefixed with the subsystem identifier label ETP, HTP, RCT, GCT, DTP, DTF, CTP, CTF, RPC, LTC, GMT, GLT
  2. COMPARE_COLLS boolean vector specifying the subsystems to be processed, ordered as in above list
  3. DumpMode specifies comparison results: -1 (all non-empty candidates), 0 (none), 1 (disagreeing candidates only), 2 (location disagree), 3 (location agree), to be dumped to text file specified by DumpFile
  4. VerboseFlag flag for setting debug verbose level

Output
? appends DEdigi with comparison results into the event record
? dumps candidates into file (default dump.txt ) in user friendly format, if set

Improvements

Some proposed standardizations would be beneficial for improving in complexity and organization of the validation code.

Demand that all L1 digis be collections of objects that implement the following methods:
? bx() // bx of the digi relative to L1A
? empty() // digi is empty/zero
? raw() // raw data comprising the digi
? operator== , operator!= // (non-)equivalence
? operator<< // summary information to be dumped (preferably single line)
The collection should provide a std::vector< > interface to the forming set of candidates (excepting the GT output). Please send feedback on feasibility of proposed modifications to L1 DataFormats to JimBrooke and Nuno.

Review status

Reviewer/Editor and Date Comments
NunoLeonardo - 17 Dec 2007 moved page into swguide
NunoLeonardo - 20 Nov 2007 created

Responsible: NunoLeonardo
Last reviewed by: Never reviewed

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2010-07-23 - NunoLeonardo



 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 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