CalTrigger


Introduction:
 
 

At Level 1 the calorimeter triggers are divided into 2 types: object triggers ( electrons, photons and jets) and global triggers ( E_T total and missing energy).

The object triggers are formed by applying thresholds to individual towers while thresholds for the global triggers are applied after summing energies from all towers.

The digitized calorimeter data are summed into trigger tower energies and weighted by sin(theta) on the front-end cards to produce the transverse E_T. Data are processed in the 6 L1CAL crates with final global sums and trigger summaries made in the Global L1 crate. The data are then forwarded to the L2 cluster finder after a L1 accept.

At Level 2 the clustering algorithms loops over all of the trigger towers, first comparing the transverse energies with different thresholds for the seeds. If a seed is found the information on eta, phi, and energy is stored in an array of information for a cluster. The seed is masked off, and four surrounding towers are flagged for the shoulder threshold passes. This continues until there are no more towers to be included in a given cluster. For each tower a word is created, containing the result of the clustering algorithm. (each tower can be seed or cluster member for a given pass). A schematic representation of the data flow in the Calorimeter code is shown below: 

Code

The following classes have been designed and coded (package CalTrigger):

In the class CalTriggerData there are several methods implementing the various steps of the trigger. The most important are: CalTrigger talk-to

 When running CalTriggerDataMaker, always remember to include the talk-to to CalibrationManager and CalorimetryModule . An example of talk-to to CalTriggerDataMaker, CalibrationManager and CalorimetryModule is in run_TRGSim++.tcl.

CalTrigger input and output

CalTrigger reads in input the calorimeter D-banks: CEMD, CHAD, PEMD, PHAD, WHAD.
It can also get its input from CalData, but in this case we need to control that the verb makeDbanks  is set t true in the CalorimetryModule talk-to.  To get CalData, one might need to puff it, via the talk to to PuffModule:
module talk PuffModule
    puffonly add CalData
exit

CalTrigger  gets also the track input from XTRD_StorableBank.

Starting witn 4.5.0int3 the verbs standalone and simulation have disappeared !

It is now possible to use the following verbs to run on  real or simulated data:

    use_software_CAL_banks : this verb allows the user to select real or simulated CALORIMETR data ( CEMD, CHAD,PEMD,PHAD,WHAD or CalData)
    use_xtrp  : this verb allows to use the XTRP track input, if it is set to f then no XTRP input is present ( --> no ELCTRONS!)
    use_hardware_xtrd:  this verb allows the user to select real or simulated XTRP data ( namely real or simulated XTRD_StorableBank)
    use_hardware_L1: this verb allows the user to select real or simulated trigger tower energies in the clustering simulation ( namely real TC2D or simulated energies)
 
 

So, for example to run on simulated data  without XTRP ( old standalone option) the user will need to set the following talk-to:

use_software_CAL_banks set  t
use_xtrp  set f
use_hardware_xtrd set f
use_hardware_L1 set  f
 
 

To run on simulated data  with XTRP the user will need to set the following talk-to:

use_software_CAL_banks set  t
use_xtrp  set t
use_hardware_xtrd set f
use_hardware_L1 set  f
 
 

CalTrigger produces in output the following banks:


Questions? Send e-mail to TRGSim team

Last updated  Sept 04 2001; Simona Rolli