!------------------------------------------------------------------------------ ! This file type holds Trigger Tower Info and Control Values for one, several, ! or typically the whole set of L1 Calorimeter Trigger Towers. ! This information includes the DAC values needed to achieve the nominal Zero ! Input Energy Response out of the ADCs (i.e. the Pedestal Control DAC Values). ! This information includes the DAC values needed to achieve the nominal Gain ! Coefficient out of the ADCs (i.e. the Gain Control DAC Values). ! This information includes the Prom Lookup Coefficients needed to describe ! the content of the Energy Lookup Proms. ! Comments start with an exclamation mark ("!") anywhere on a line. ! See end of file for more syntax information. !------------------------------------------------------------------------------ ! Revision: 21-May-02 ! This file is a template ! and a list of the syntax rules for Trigger Tower Info Files !-------------------------------------------------------------------- ! Define some cosmetic constants to use in defining PROM coefficients !-------------------------------------------------------------------- ! Trigger Tower Channel Type $TT_EM_Channel= 0 $TT_HD_Channel= 1 ! Trigger Tower Eta Sign $TT_Eta_Pos= 0 $TT_Eta_Neg= 1 ! Trigger Tower PROM Types $TT_EM_PROM= 0 $TT_HD_PROM= 1 $TT_PX_PROM= 2 $TT_PY_PROM= 3 !Transfer Slop Math functions $MATH_ABS_SIN_PHI= 0 $MATH_ABS_COS_PHI= 1 !--------------------------- ! Define Pedestal DAC Values !--------------------------- TT_Channel: $TT_EM_Channel ! use a cosmetic constant to specify channel type TT_Eta_Sign: $TT_Eta_Pos TT_Eta_Magn: 1 TT_Phi: 1 Pedestal_Control_DAC: 12 TT_Eta_Magn: 1 TT_Phi: 2 Pedestal_Control_DAC: 14 TT_Eta_Magn: 2 TT_Phi: 1 Pedestal_Control_DAC: 20 TT_Phi: 2 Pedestal_Control_DAC: 24 !------------------------ ! Define ADC Gain Control !------------------------ TT_Channel: $TT_HD_Channel TT_Eta_Sign: $TT_Eta_Neg To_TT_Eta_Sign: $TT_Eta_Pos TT_Eta_Magn: 1 To_TT_Eta_Magn: 4 TT_Phi: 1 To_TT_Phi: 32 Gain_Control_DAC: 210 ! this example illustrates a TT range; ! a specific TT could instead be addressed !------------------- ! Define PROM Lookup !------------------- TT_PROM: $TT_EM_PROM ! use a cosmetic constant to specify prom type TT_Eta_Sign: $TT_Eta_Neg To_TT_Eta_Sign: $TT_Eta_Pos !note: from-to values above are reversed is ok.
=
TT_Eta_Magn: 1
TT_Phi: 1 To_TT_Phi: 32
Transfer_Slope: 1.0 Zero_Energy_Count: 8
! A page with 1/2 GeV Cut
Symmetric_Energy_Cut: 0.5 Apply_To_Page: 0
! A page with 3/4 GeV Cut
Symmetric_Energy_Cut: 0.75 Apply_To_Page: 1
! A page with 1.0 GeV Cut
Symmetric_Energy_Cut: 1.0 Apply_To_Page: 2
!This is a page with all zeroes
Transfer_Slope: 0 Symmetric_Energy_Cut: 0.
Zero_Energy_Count: 0 Apply_To_Page: 5
!This is a page with all eights
Transfer_Slope: 0 Symmetric_Energy_Cut: 0.
Zero_Energy_Count: 8 Apply_To_Page: 6
!This is a one-to-one page
Transfer_Slope: 1.0 Zero_Energy_Count: 8
Symmetric_Energy_Cut: 0.0 Apply_To_Page: 7
TT_PROM: $TT_PY_PROM ! we give the slope values here as an example
! but the built-in math functions can be used
! as illustrated below for TT_PROM: $TT_PX_PROM
TT_Eta_Sign: $TT_Eta_Neg
TT_Eta_Magn: 1 To_TT_Eta_Magn: 4
TT_Phi: 1
Transfer_Slope: 0.0980 !these are all equivalent representations
Transfer_Slope: .0980
Transfer_Slope: .98e-1
Transfer_Slope: 0.98e-1
Transfer_Slope: 9.8e-2
Transfer_Slope: 98e-3
Transfer_Slope: 98.e-3
Transfer_Slope: 98.0e-3
Zero_Energy_Count: 8 !these are all equivalent representations
Zero_Energy_Count: 8. !i.e. integers can be entered as floats
Zero_Energy_Count: .8e1
Zero_Energy_Count: 0.8e1
Zero_Energy_Count: 80e-1
Symmetric_Energy_Cut: 1.0 Apply_To_Page: 0
Symmetric_Energy_Cut: 1.5 Apply_To_Page: 1
Transfer_Slope: 0 !these are all equivalent representations
Transfer_Slope: 0x00 !floating point numbers can be entered as integers
Transfer_Slope: 0b0
Transfer_Slope: 0.
Transfer_Slope: 0.0
Transfer_Slope: 0e0
Transfer_Slope: 0.e0
Transfer_Slope: 0.e+0
Transfer_Slope: 0.e-0
Symmetric_Energy_Cut: 0.
Zero_Energy_Count: 0 Apply_To_Page: 5 !all zeroes
Zero_Energy_Count: 8 Apply_To_Page: 6 !all eights
Transfer_Slope: 1 !these are all equivalent representations
Transfer_Slope: 0x1
Transfer_Slope: 0b1
Transfer_Slope: 1.
Transfer_Slope: 1e0
Transfer_Slope: 1E0
Transfer_Slope: 1.e0
Transfer_Slope: 1.0e0
Transfer_Slope: .1e1
Transfer_Slope: 0.1e1
Transfer_Slope: 0.1e+1
Transfer_Slope: 10e-1
Transfer_Slope: 10.e-1
Transfer_Slope: 10.0e-1
Zero_Energy_Count: 8
Symmetric_Energy_Cut: 0 Apply_To_Page: 7 !one-to-one
TT_PROM: $TT_PX_PROM
TT_Eta_Sign: $TT_Eta_Neg
TT_Eta_Magn: 1 To_TT_Eta_Magn: 4
TT_Phi: 1 To_TT_Phi: 32
Transfer_Math: $MATH_ABS_COS_PHI
Zero_Energy_Count: 8
Symmetric_Energy_Cut: 1.0 Apply_To_Page: 0
Symmetric_Energy_Cut: 1.5 Apply_To_Page: 1
Call_File: \users\default\Another.Ped
!------------------------------------------------------------------------------
! 21-May-02
! * Recommended file extension is ".TTI" (but not required).
!
! Syntax rules:
!
! - Blank lines are ignored.
!
! - Comments start after an exclamation mark ("!") anywhere on a line.
!
! * Recognized Keywords are (with colon required)
! TT_Channel: (0= EM Channel, 1= HD Channel)
! TT_Eta_Sign: (0= Positive Eta, 1= Negative Eta)
! To_TT_Eta_Sign: (Optional specification of an upper Eta Sign in a range)
! TT_Eta_Magn: (Trg Twr Eta Magnitude in the range [1..20])
! TT_Phi: (Trg Twr Phi in the range [1..32])
! To_TT_Eta_Magn: (Optional specification of an upper Eta Magn in a range)
! To_TT_Phi: (Optional specification of an upper Phi in a range)
!
! Gain_Control_DAC: (Gain DAC Value in the range [0..255] for RunII Only)
! Pedestal_Control_DAC: (Pedestal DAC Value in range [0..255] for RunI DAC
! and [0..4095] for RunII DAC)
! Dac_Value: (syn. to Pedestal_Control_DAC for backw. compatibility)
!
! Legacy_AFE: (Special Flag to specify that a Trigger Tower)
! (is using the Run I Legacy Analog Front End Circuitry.)
! (This property can be skipped for Run II hardware.)
! (0= Run II [default], 1= Run I hardware)
!
! TT_PROM: (0= EM PROM, 1= HD, 2= Px, 3= Py)
! Zero_Energy_Count: (Zero Energy Response for a given Lookup Page)
! (specified as an integer in units of output counts.)
! Symmetric_Energy_Cut: (Symmetrical Cut around Zero_Energy_Count,)
! (specified as a floating point number in GeV.)
! (A Symmetric_Energy_Cut of X GeV implies that)
! (the aboslute value of the Transverse Energy)
! (must be X GeV or above to contribute to)
! (the downstream comparisons and sums.)
! Transfer_Slope: (PROM Transfer Slope, specified as)
! (a floating point number in the range [0..1])
! Transfer_Math: (PROM Transfer Math = alternate way to specify)
! (a PROM Transfer Slope)
! (0= |Sin(Phi)|, 1= |Cos(Phi)|)
! (with Phi derived from the TT_Phi Index [1..32] as)
! (Phi = (2xPi) x (TT_Phi - 0.5) / 32 )
! Apply_To_Page: (PROM Lookup Page in the range [0..7])
!
! Call_File: (Recursive call to another file)
! MilliSecond_Sleep:(Suspend execution of the command file)
!
! - Keywords are NOT case-sensitive.
!
! - Each Keyword must be followed by one and only one positive integer Value
! (with the exception of the Called_File Keyword).
!
! - One or more Keyword/Value pair may appear on a same line.
!
! - a Keyword and its matching Value may be separated by any number of spaces,
! and/or Tabs, but must appear on the same line.
!
! - Successive Keyword/Value pairs may be separated by any number of spaces,
! Tabs and/or Carriage_Returns (blank lines), or comments.
!
! * Pedestal Control DAC Value(s) will be programmed into the hardware only
! when a "Pedestal_Control_DAC:" Keyword is encountered.
!
! * The "Gain_Control_DAC:" keyword is accepted but the Gain Control
! functionality is not yet functional.
!
! * PROM Coefficient Value(s) will be registered only when a "Apply_To_Page:"
! Keyword is encountered.
!
! * All Trigger Tower Coordinate Keywords ( "TT_Channel:", "TT_Eta_Sign:",
! "TT_Eta_Magn:", "TT_Phi:", and optionally "To_TT_Eta_Sign:",
! "To_TT_Eta_Magn:", and "To_TT_Phi:") must have been specified before
! a "Pedestal_Control_DAC:" or "Gain_Control_DAC:" Keyword may be specified.
!
! * All Trigger Tower Coordinate Keywords ( "TT_Channel:", "TT_Eta_Sign:",
! "TT_Eta_Magn:", "TT_Phi:", and optionally "To_TT_Eta_Sign:",
! "To_TT_Eta_Magn:", and "To_TT_Phi:"), a "TT_PROM:" Keyword, and all
! PROM page coefficient Keywords ("Zero_Energy_Count:",
! "Symmetric_Energy_Cut:" and "Transfer_Slope:" or "Transfer_Math:" )
! must have been specified before an "Apply_To_Page:" Keyword
! may be specified.
!
! * The "Transfer_Math:" Keyword is a convenienv way to define the
! Sin(Phi) and Cos(Phi) transfer function of Momemtum Lookup PROMs.
! This is an alternate way of supplyint the Transfer_Slope coefficient
! by specifying a math function instead of explicit values for each
! Trigger Tower.
!
! * The "Transfer_Slope:" and "Transfer_Math:" are mutually exclusive,
! meaning that they override each other. Specifying a "Transfer_Math:"
! value will override any previously defined "Transfer_Slope:" value,
! and vice versa.
!
! * A "TT_Eta_Magn:" (resp. "TT_Eta_Sign:" or "TT_Phi:") Keyword must have
! been specified before a "To_TT_Eta_Magn:" (resp. "To_TT_Eta_Sign:" or
! "To_TT_Phi:") may be specified.
!
! * The syntax parsing is tolerant of reversed range boundaries, namely where
! "To_TT_Eta_Magn:" (resp. "TT_Eta_Sign:" or "To_TT_Phi:") is smaller than
! "TT_Eta_Magn:" (resp. "To_TT_Eta_Sign:" or "TT_Phi:")
!
! * A "TT_Eta_Magn:" and "To_TT_Eta_Magn:" (resp. "TT_Eta_Sign:" and
! "To_TT_Eta_Sign:" or "TT_Phi:" and "To_TT_Phi:") values specify a Range
! of consecutive Trigger Tower Eta Magniture (resp. Trigger Tower Eta Sign
! or Trigger Tower Phi) that will receive the Control Value specified
! with the next "Pedestal_Control_DAC:" (or other) Keyword.
!
! * Keyword/Values for Trigger Tower Coordinates specified for a previous
! Control Value are still active for subsequent Control Values until they
! are explicitely overwritten.
! * Exception: A new "TT_Eta_Magn:" (resp. "TT_Eta_Sign:" or "TT_Phi:") Keyword
! must be specified after a "To_TT_Eta_Magn:" (resp. "To_TT_Eta_Sign:" or
! "To_TT_Phi:") before another "To_TT_Eta_Magn:" (resp. "To_TT_Eta_Sign:"
! or "To_TT_Phi:") Keyword may be specified.
! * Another Exception: When switching PROM type the user is required to
! re-specify all tower coordinates and prom page description variables
! to help avoid an operator error.
!
! - The "MilliSecond_Sleep:" Keyword causes the execution of the command file
! to be suspended for the number of milliseconds specified in the associated
! value (integer values only).
!
! - The "Call_File" Keyword causes a recursive call to read the specified file.
!
! - Full local Keyword/Value context present before the "Call_File" Keyword
! is still valid after. i.e. Context changes made in the Called file are
! NOT propagated back to the Calling file.
!
! - The syntax rules within a called file are the same as described here.
! The local Keyword/Value context present before the Call_File Keyword
! is imported into the Called File. i.e. You can define some Keyword Values
! in the Calling File which will be valid inside the Called File.
!------------------------------------------------------------------------------
! - Symbol usage in command files:
!
! Symbols may be defined and used in command files.
! A symbol name must start with a dollar sign "$".
!
! A symbol is defined by giving it a numeric value.
! A symbol is defined using a Keyword/Value syntax where the Keyword is
! the symbol's name, starting with its own dollar sign but with an additional
! equal character appended to the end of the symbol name, while the value
! is the desired symbol value.
! e.g. To define a symbol named "$Slot_AONM" and give it a value "5"
! enter the following:
! $Slot_AONM= 5
! The equal sign "=" is required and must appear directly after the last
! character of the symbol name, with no space or tab in-between.
! Any number of spaces, or tabs may appear between the symbol definition and
! its value, but the symbol and its value must appear on the same line.
! Previously defined symbols can be re-defined to change their value.
! Previously defined symbols cannot be un-defined.
!
! A symbol may be used anywhere a value is required, i.e. in any Keyword/Value
! pair and the symbol value will be substituted. e.g.
! Slot: $Slot_AONM
! A symbol must have been defined before it can be used.
! There are no predefined symbols.
! Symbols are NOT case sensitive.
! Symbol names may include any alpha numeric characters (e.g. _[(}./$< ),
! (but no space, tabs, or end of line). For clarity one should avoid
! using embedded quotation marks, equal signs, colon.
! A symbol value may be used to define another new symbol.
!
! All symbols defined before a "Call_File" Keyword are propagated into
! the Called File. i.e. You can define symbols in the Calling File
! and use those symbols (or modify them) inside the Called File.
! Symbols created or modified inside a Called File are NOT propagated
! back to the Calling file.
!------------------------------------------------------------------------------