L1 HF Trigger Emulation

This page contains instructions for accessing new HF trigger quantities in the L1 emulator.


HF tower count

The HF trigger primitive generation sets a single bit for each HF region if one of the six towers within the region is over threshold. The number of set bits is then counted in the GCT, for + and - HF separately. Finally, the GT demands one or both of the +/- counts is over threshold.

HF ring sums

The GCT sums Et deposited in HF regions in rings around the beampipe. Four sums are currently calculated (for the purposes of study - it is assumed this can be reduced at some point in future) over the following ranges of pseudorapidity :

  • -5.0 < eta < -4.5
  • -4.5 < eta < -4.0
  • 4.0 < eta < 4.5
  • 4.5 < eta < 5.0

The ring sums can be bitshifted before output to the GT. Speak to GCT experts for details!

Getting the code

CMSSW 21X/22X/30X


The following tags are required to run the new triggers in 18X series releases :

cvs co -r V00-04-05 CalibCalorimetry/HcalTPGAlgos
cvs co -r V00-01-01 CalibCalorimetry/HcalTPGEventSetup
cvs co -r V03-01-03 SimCalorimetry/HcalTrigPrimAlgos
cvs co -r V00-01-13 SimCalorimetry/HcalTrigPrimProducers
cvs co -r V02-05-17 DataFormats/L1GlobalCaloTrigger
cvs co -r V01-13-04 L1Trigger/GlobalCaloTrigger

And the following dependent packages need to be recompiled. Depending on your use-case, there may be others. Run checkdeps to find out.

eval `scramv1 ru -sh`              
addpkg DataFormats/HLTReco                                               
addpkg DataFormats/L1Trigger                            
addpkg EventFilter/EcalRawToDigi                        
addpkg EventFilter/GctRawToDigi                         
addpkg HLTrigger/Egamma                                 
addpkg HLTrigger/HLTanalyzers                           
addpkg HLTrigger/HLTcore                                
addpkg HLTrigger/HLTfilters                             
addpkg HLTrigger/special                                
addpkg L1Trigger/Configuration                                               
addpkg L1Trigger/GlobalTrigger                          
addpkg L1Trigger/HardwareValidation                     
addpkg L1TriggerOffline/L1Analyzer                      
addpkg RecoEgamma/EgammaHLTProducers                    
addpkg RecoTauTag/HLTProducers                          
scramv1 b


These triggers are available by default in 20X series and onwards.

Running the emulators

Re-run the full L1 Emulator chain (including trigger primitives) by following the instructions for Workflow 1 at https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideReRunningL1

Adjusting parameters

The feature-bit threshold is set using a unsigned int parameter with LSB = 1/16 GeV. The default value is 1, but can be reset in your job using :

replace hcalTriggerPrimitiveDigis.FG_threshold = 32 // for a 2 GeV threshold

Accessing the output

The GCT output for HF tower counts and ring sums are transmitted to the GT using bits previously assigned for jet counts. They are therefore saved in the L1GctJetCount object (for 18X and 20X series at least). To retrieve this object from the Event, use :

  Handle< L1GctJetCounts > jetCountDigi ;
  iEvent.getByLabel( "gctDigis", jetCountDigi ) ;

The tower counts and ring sums can be accessed using the L1GctJetCount::count(int i) method with arguments as below :

Jet Count Quantity
6 HFTowerCountPositiveEta
7 HFTowerCountNegativeEta
8 HFRing0EtSumPositiveEta
9 HFRing0EtSumNegativeEta
10 HFRing1EtSumPositiveEta
11 HFRing1EtSumNegativeEta

For convenience, the tower counts and ring sums can also be accessed using the following methods of L1GctJetCounts :


The default LSB for the ring sums is 0.5 GeV

-- JimBrooke - 26 Feb 2008

Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r9 - 2008-11-04 - JimBrooke
    • 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-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