HCAL Trigger Primitive Generator Offline Software

Complete: 1


This page describes the offline software for HCAL TPG emulation.


HCALTPG-specific Packages:

Other packages including code used by HCAL-TPG:

Example Codes and Configurations

HCAL-TPG codes for DQM:

HCAL-TPG example codes:

Current implementation

The HcalTrigPrimProducer class takes HBDataFrame, HEdataFrame and HFdataFrame and collections and constructs an HcalTriggerPrimitiveDigi for each trigger tower found. The software design aims at reflecting the hardware as far as possible.


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



In order to run the emulation by yourself include the above line in your cfg and add the module process.hcalTriggerPrimitiveDigis to the path.

The default configuration of hcalTriggerPrimitiveDigis assumes running over HCAL unsuppressed digis.

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

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

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

To read the XML LUT, add these two lines to your configuration file:

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


LUTs used by the hardware for global runs (and also for use with the emulator) are here.

To retrieve LUT from condition database (e.g. running emulator on real data), add the following: process.HcalTPGCoderULU.LUTGenerationMode = cms.bool(False)

Otherwise, a new LUT will be generated using the most update calibrations value.

Global Run Validation

Basic instructions and tags are available here. Appropriate LUTs from the above link need to be used.

Note: The data/emulator validation has been implemented in standard DQM module. The above links for manual validation is no longer required.


Contact: Tutanon Sinthuprasith and Pablo Goldenzweig

Global Run Validation

Older Validation results:

These show comparison/correlation plots for TPGs and RecHits. Some recent results are at:

1_6_X: http://home.fnal.gov/~tulika/l1emu/1_6_X/

1_7_X: http://home.fnal.gov/~tulika/l1emu/1_7_X/


3_1_pre9 + cvs tags


The HCAL TPG emulation uses calibration constants from the conditions database in order to dynamically generate the 7-to10 bit linearization LUTs (for the HTR cards). This generation also allows us to automatically calibrate TPGs against RecHits since reco uses the same calibration constants. This requires that conditions information be provided either using FakeConditions or FrontierCondtions.

Coding Rules

HCAL TPG specific coding rules:

Information sources

Review status

Responsible: Tulika Bose, Greg Landsberg

Reviewer/Editor and Date (copy from screen) Comments
VasileGhete - 16 Jan 2009 created wiki page
Last reviewed by: VasileGhete - 16 Jan 2009 minimal content added, copy/paste from HcalTPG wiki
Edit | Attach | Watch | Print version | History: r11 | r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r6 - 2012-03-12 - TutanonSinthuprasith

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