!------------------------------------------------------------------------------ ! 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. !------------------------------------------------------------------------------