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