HCAL Trigger Primitive Generator Offline Software

Complete: 1


This page describes the offline software for HCAL TPG emulation.

List of Packages

HCALTPG-specific Packages:

Other packages including code used by HCAL-TPG:

List of Example Codes and Configurations

HCAL-TPG codes for DQM:

HCAL-TPG example codes:


Snippet from example of the configuration file above

process.debug = cms.EDAnalyzer('DebugTPExample',
   dataLabel = cms.InputTag('hcalDigis'),
   emulLabel = cms.InputTag('emulDigis')

process.emulDigis = process.simHcalTriggerPrimitiveDigis.clone()
process.emulDigis.inputLabel = cms.VInputTag('hcalDigis', 'hcalDigis')
process.HcalTPGCoderULUT.LUTGenerationMode = cms.bool(False)

process.p = cms.Path(
   + process.emulDigis


    • Access to LUTs in developing mode (not in Global Tag)

a) Access mode through python:

List of tags

   process.es_pool2 = cms.ESSource("PoolDBESSource",
                                timetype = cms.string('runnumber'),
                                toGet = cms.VPSet(
             record = cms.string('HcalL1TriggerObjectsRcd'),
             tag =
     connect = cms.string('frontier://FrontierProd/CMS_COND_31X_HCAL'),
     authenticationMethod = cms.untracked.uint32(0),
process.es_prefer_es_pool2 = cms.ESPrefer( "PoolDBESSource", "es_pool2")

b) In order to read the XML LUTs, add these two lines to your configuration file:

process.HcalTPGCoderULUT.read_XML_LUTs = cms.bool(True)
process.HcalTPGCoderULUT.inputLUTs = cms.FileInPath('Physics2012v1a.xml')

I suggested you download the XML LUTs from database and emulate TP based on specific set of LUTs as above. See the instrunction on how to download XML LUTs. If you cannot download XML LUTs due to your limited priviledge to access DB, please find the XML LUTs in castor


    • The HCAL trigger emulation is run by default during "digitization". The main driving configuration fragment included in hcaltpdigi_cfi.py is below:


    • In order to run on HCAL suppressed digis (on real data) add the following lines to your cfg:

process.simHcalTriggerPrimitiveDigis.inputLabel =cms.VInputTag(cms.InputTag('hcalDigis'),cms.InputTag('hcalDigis'))

    • In order to run the emulation, include the above line in your cfg and add this module to the path.


A full list of configurable parameters can be obtained from hcaltpdigi_cfi.py.

Example Code

To get the collections of emulated TP:

edm::Handle<HcalTrigPrimDigiCollection> emulTPs;
iEvent.getByLabel(emulLabel_, emulTPs);

Once you have the collections of emulTP, you can access, for instance, compressedEt() and other variables of interest. See HcalTriggerPrimitiveDigi.h


This instruction has been tested with CMSSW_4_2_5 release and Global Tag GR_R_42_V8

Reviewer/Editor and Date (copy from screen) Comments
VasileGhete - 16 Jan 2009 created wiki page
Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r11 - 2012-03-15 - OlgaKodolova

    • 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-2020 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