Subject: Summary of coor xml syntax for new run2b l1 cal terms
From: scott snyder
Date: Wed, 12 Oct 2005 15:20:46 -0500
CC: Philippe Laurens , Hal Evans , Michael J Mulhearn , Sabine Lammers , Marco Verzocchi , Bob Hirosky , Chip Brock , Daniel Edmunds , Jason Biel , snyder@fnal.gov

hi -

I've now implemented in coor the xml parsing for the new l1 calorimeter
trigger.  The currently implemented syntax is summarized below.
This is revised slightly from the proposal i sent earlier;
the spelling of some of the names has been changed slightly for
better legibility, l1iso_em has been separated from l1em,
and the rsnumber attribute has been added.

The X's below represent required attributes, the O's optional ones.
In addition to the attributes below, all terms take the optional
attributes `number', to explicitly specify which term to allocate,
`ownmode', to specify the coor ownership mode, and `require',
to specify the require/veto sense of the term in a term list.

<run2b.l1jet     thresh="X" count="X" maxeta="O" rsnumber="O"/>
<run2b.l1tau     thresh="X" count="X" maxeta="O" rsnumber="O"/>
<run2b.l1em      thresh="X" count="X" maxeta="O" rsnumber="O"/>
<run2b.l1iso_em  thresh="X" count="X" maxeta="O" rsnumber="O" emf="O" iso="O"/>
<run2b.l1miss_et thresh="X"/>
<run2b.l1tot_et  thresh="X"/>
<run2b.l1bb_em   thresh="X"   maxeta="O"   rsnumber="O"/>
<run2b.l1aco_jet thresh="X"   maxeta="O"   rsnumber="O"
                 thresh_v="O" maxeta_v="O" rsnumber_v="O"/>

Some notes.  Coor parameterizes reference sets in terms of a threshold
and a maximum eta (defaulting to the full calorimeter).  Outside the specified
eta range, the refset threshold will be set to the maximum.  Due to the
sorting requirement, not all combinations of threshold/maxeta will
be possible.  However, if the maxeta specified matches the hardwired
cutoff for a `central' term, that `central' term will be used,
with the refset itself including the full eta coverage.

The rsnumber attribute can be used to force allocation of a specific
reference set; otherwise, coor will choose.

For l1iso_em, the emfraction and isolation ratios may be specified.
If defaulted, they are taken as `0' (no requirement).
These settings must be the same for all l1iso_em terms used
at any one time.

l1aco_jet has two associated reference sets; the second (veto) is specified
via the attributes ending in `_v'.  If they are all defaulted, then
the two reference sets used will be identical.  (This is the only
configuration that's allowed by the current firmware, anyway.)

Here are some usage examples:

          <run2b.l1jet count='1' thresh='20'/>
          <run2b.l1jet count='1' thresh='30' maxeta='1.6'/>
          <run2b.l1jet count='1' thresh='10'/>
          <run2b.l1jet count='1' thresh='10' maxeta='1.0'/>
          <run2b.l1jet count='2' thresh='20'/>
          <run2b.l1tau count='1' thresh='10'/>
          <run2b.l1em  count='1' thresh='10'/>
          <run2b.l1miss_et thresh='50'/>
          <run2b.l1tot_et thresh='500'/>
          <run2b.l1bb_em thresh='10'/>
          <run2b.l1aco_jet thresh='20'/>
          <run2b.l1iso_em  count='1' thresh='10' emf='4' iso='2'/>

Please let me know if this seems in any way unworkable or incomplete!

sss