TWiki
>
CMSPublic Web
>
SWGuide
>
SWGuideOnSel
>
SWGuideL1Trigger
>
SWGuideL1Comparator
(revision 3) (raw view)
Edit
Attach
PDF
---+!! L1 Comparator %COMPLETE3% %TOC{title="Contents:"}% ---++ Overview The L1-Trigger validation tool for monitoring data|emulator consistency. It performs the following tasks: i. reads in pairs of L1-Trigger digi collections (data|emulator) i. verifies the candidates' agreement on bit-by-bit level i. appends results of data|emulator comparison to the event i. dumps comparison information to file in human readable format <!--Documentation %COMPLETE0%--> <!--%TOC{title="Contents:"}%--> ---++ Digi production The L1 digis are produced by the following two main sources: %BB2% L1 *Unpacker* (code in [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/EventFilter/][EventFilter]]; cff), from input [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/FEDRawData/interface/FEDRawDataCollection.h][raw]] data %BB2% L1 *Emulator* (code in [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/][L1Trigger]], [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/SimCalorimetry/][SimCalorimetry]]; [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Configuration/StandardSequences/data/L1Emulator.cff][cff]]), from input digis %BR% 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 %BB2% !TextToDigi ([[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/TextToDigi/][code]], [[https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideL1TextToDigi][wiki]]), input from harwdare format txt For software testing and validation purposes, we following auxiliary modules are available: %BB2% !DummyProducer ([[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/plugins/L1DummyProducer.h][code]], [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/data/L1DummyProducer.cfi?view=log][cfi]]), produces random, ad-hoc digis, from empty input %BB2% !EmulBias ([[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/plugins/L1EmulBias.h][code]], [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/data/L1EmulBias.cfi?view=log][cfi]]), introduces ad-hoc bias to mimic hardware failure, from input digis ---++ Data types The list of data collections currently supported: <verbatim> 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 L1GlobalTriggerReadoutRecord L1GlobalTriggerEvmReadoutRecord L1GlobalTriggerObjectMapRecord FEDRawDataCollection </verbatim> ---++ Usage %BB2% data|emulator comparison (principal) %BB2% data|data consistency (eg in redundantly readout data) %BB2% emul|emul software consistency (eg of pack/unpack sequences) ---++ !HowTo *Code* The code is located in [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/][L1Trigger/HardwareValidation/]]. *Configuration* For configuration and usage examples, please have a look at %BB2% [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/data/L1Comparator.cfi][L1Comparator.cfi]], default configuration %BB2% [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/test/testL1DECompare.cfg][testL1DECompare.cfg]], simple test %BB2% [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/L1Trigger/HardwareValidation/test/testDummyBiasDE.cfg][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: <verbatim> 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} </verbatim> Configuration parameters: i. =sourceData, sourceEmul= !InputTags for the two collections to be compared, prefixed with the subsystem identifier label %GRAY%ETP, HTP, !RCT, GCT, DTP, DTF, CTP, CTF, RPC, LTC, GMT, GLT%ENDCOLOR% i. =COMPARE_COLLS= boolean vector specifying the subsystems to be processed, ordered as in above list i. =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= i. =VerboseFlag= flag for setting debug verbose level *Output* %BB2% appends [[http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/L1Trigger/interface/L1DataEmulRecord.h][DEdigi]] with comparison results into the event record %BB2% 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: %BB2% =bx()= // bx of the digi relative to !L1A %BB2% =empty()= // digi is empty/zero %BB2% =raw()= // raw data comprising the digi %BB2% =operator=== , =operator!== // (non-)equivalence %BB2% =operator<<= // summary information to be dumped (preferably single line) %BR% The collection should provide a std::vector< > interface to the forming set of candidates (excepting the GT output). %GRAY%Please send feedback on feasibility of proposed modifications to L1 !DataFormats to !JimBrooke and Nuno.%ENDCOLOR% #ReviewStatus ---++!! Review status | *Reviewer/Editor and Date* | *Comments* | | Main.NunoLeonardo - 17 Dec 2007 | moved page into swguide | | Main.NunoLeonardo - 20 Nov 2007 | created | %RESPONSIBLE% Main.NunoLeonardo %BR% %REVIEW% _Never reviewed_
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r3 - 2008-02-22
-
NunoLeonardo
Log In
CMSPublic
CMSPublic Web
CMSPrivate Web
Create New Topic
Index
Search
Changes
Notifications
Statistics
Preferences
Offline SW Guide
Summary of Changes
Site Map
Preface
Contributors Guide
Developers Guide
Offline Workbook
Glossary/Index
User Support
Reference Manual
Main Areas
Framework and EDM
Detector Description
Event Generation
Full Simulation
Fast Simulation
Calibration and Alignment
Conditions Database
High Level Trigger
L1 Trigger
Online Selection
Reconstruction
Detector Reco Objects
Tracks
Ecal Reco
Hcal Reco
Muon System Reco
Vertex Reco
Physics Reco Objects
Muons
Electrons/Photons
Jets, missing ET
b Tagging
Particle flow
Tau-ID
Analysis/Software Tools
Physics Tools
MC Truth Tools
Visualization
Trouble Shooting
Code Performance
Port to New Release
CRAB
Analysis Examples
Higgs
SUSY/BSM
Electroweak
Top
Heavy Ions
Public webs
Public webs
ABATBEA
ACPP
ADCgroup
AEGIS
AfricaMap
AgileInfrastructure
ALICE
AliceEbyE
AliceSPD
AliceSSD
AliceTOF
AliFemto
ALPHA
Altair
ArdaGrid
ASACUSA
AthenaFCalTBAna
Atlas
AtlasLBNL
AXIALPET
CAE
CALICE
CDS
CENF
CERNSearch
CLIC
Cloud
CloudServices
CMS
Controls
CTA
CvmFS
DB
DefaultWeb
DESgroup
DPHEP
DM-LHC
DSSGroup
EGEE
EgeePtf
ELFms
EMI
ETICS
FIOgroup
FlukaTeam
Frontier
Gaudi
GeneratorServices
GuidesInfo
HardwareLabs
HCC
HEPIX
ILCBDSColl
ILCTPC
IMWG
Inspire
IPv6
IT
ItCommTeam
ITCoord
ITdeptTechForum
ITDRP
ITGT
ITSDC
LAr
LCG
LCGAAWorkbook
Leade
LHCAccess
LHCAtHome
LHCb
LHCgas
LHCONE
LHCOPN
LinuxSupport
Main
Medipix
Messaging
MPGD
NA49
NA61
NA62
NTOF
Openlab
PDBService
Persistency
PESgroup
Plugins
PSAccess
PSBUpgrade
R2Eproject
RCTF
RD42
RFCond12
RFLowLevel
ROXIE
Sandbox
SocialActivities
SPI
SRMDev
SSM
Student
SuperComputing
Support
SwfCatalogue
TMVA
TOTEM
TWiki
UNOSAT
Virtualization
VOBox
WITCH
XTCA
Cern Search
TWiki Search
Google Search
CMSPublic
All webs
Copyright &© 2008-2022 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