<!DOCTYPE configuration SYSTEM "trigger_config.dtd">

<configuration name="global_L1CalMuon" version="1.1" type="global">

<!-- This trigger configuration file is intended to be used for global physics running
  Created:   6-Jul-2001 E.Gallas from global_timedin_checkfz-1.2 
  General notes:
	- All triggers filter ONLY at Level 1, including
		a min_bias trigger, a zero_bias trigger
		a set of Cal EM and Jet triggers, all repeated with fastz
		a set of muon triggers, most w/fastz and some with Cal jet requirment
		a L1Zee trigger

  Here is a list of modifications from global_timedin_checkfz-1.2:
  - set configuration type="global" as it should be
	I should really change the name to NOT include global, but since
	we (TB) don't have a convention yet, I will leave it for now.
	The name 'timedin_checkfz' has been changed to L1CalMuon, since
	all triggers (except min_bias) are using Cal and Muon at L1.
  - Calorimeter reference sets:
      	em refsets (thresholds of 5 and 8 with 2 in restricted eta,phi region):
		em5
		em5eta8phi3	- for CTT studies ETA(-4:4)PHI(4:6)
		em8		
		em8eta3phi2 	- for CAL studies ETA(1:3)PHI(10:11)
	hadveto refsets:  
		always null, extraneous hadveto refsets removed
  	jet refsets (with 2 in restricted eta,phi region):
		jt5, 
		jt10eta8phi3	- for CFT studies ETA(-4:4)PHI(4:6)
		jt25eta3phi2	- for CAL studies ETA(1:3)PHI(10:11)
		jt25
 
	Notes:
	1.  'eta3' stands for 3 trigger tower regions in eta(1:3)
  	    and 'phi2' stands for 2 trigger tower regions in phi(10:11)
	    'eta8' stands for 8 trigger tower regions in eta(-4:4)
  	    and 'phi3' stands for 3 trigger tower regions in phi(4:6)
	2.  All restricted TT refsets have the SAME eta and phi restrictions
	    (previously we had ETA(-4:4)PHI(5:6) for CTT and ETA(1:3)PHI(5:6) for CAL;
  	          they are now ETA(-4:4)PHI(4:6) for CTT and ETA(1:3)PHI(10:11),respectively.

  - would like to Set num_nodes="0" but L3 needs to be able to recognize it first,
	so I had to set it back to the max of num_nodes="5".
	In the long term, value "0" will be used for all global runs, which defaults 
	to use the maximum number of nodes available.  
	The DAQ shifter can always override using TAKER.

  - The trigger name of the first trigger was changed from min_bias0 to min_bias.
	We should never have 2 runs going, each having a trigger named min_bias.
	Also, recall that 2 physics runs can never be going at one time)

  - A zero_bias trigger is added.

  - some l1 trigger names have changed to be consistent with what the database
	will contain or construct in the xml file:
 	1.  The first trigger in this list:  'l1_min_bias' is now 'Afastz'
	2.  a number of other names changed consistent with the refset name changes
		for example:  CEM(1,em5_phi56) is now CEM(1,em5_3eta_2phi)

  - All l2trigger bit names have changed to be identical to the L1 name plus _none.
	Reason for 'none':  All triggers here have no level2 requirement 
	which has a special value called 'none' in the trigger database.
	For example:  for the first trigger, the l2trigger bit name is Afastz_none,
	reflecting both the l1 and l2 requirements.

	Just as previously done, when the fastz requirement is added to cal or muon terms,
	the L1 name gets _fz tacked on the end.

	Some of the L2 names get a bit long (5 characters longer than the L1 name).
	I am unaware of any restriction on the number of characters and daniel whiteson
	tried a really long name (like 80 chars) at my request and nothing choked.

  - Some L2 and L3 names for the muon triggers were changed to reflect the real L1muon 
	trigger (from the current list of 8 triggers now available), 
	not the one that is being used in the l1muo element to fool COOR 
	into using the right and/or term.  
	I discussed today with Ken how these will be entered into the database:  
	as l1specterm (with correct name) rather than l1muo (with unrelated name).  
	It is okay with Ken and makes more sense.
	I still have to okay this with Scott.  

        In some cases:  the L3 name is identical to the L1 name, but I don't think 
	that is a problem.
-->

&allcrates_readout;

  <l1refsets>
    <l1em_refset name="em5">
       TT_ETA(-4:4) Value 5.0
    </l1em_refset>
    <l1em_refset name="em5eta8phi3">
       TT_ETA(-4:4) TT_PHI(4:6) Value 5.0
    </l1em_refset>
    <l1em_refset name="em8">
       TT_ETA(-4:4) Value 8.0
    </l1em_refset>
    <l1em_refset name="em8eta3phi2">
       TT_ETA(1:3) TT_PHI(10:11) Value 8.0
    </l1em_refset>

    <l1hadveto_refset name="null">
       TT_ETA(-4:4) Value 10000.0
    </l1hadveto_refset>

    <l1jet_refset name="jt5">
       TT_ETA(-4:4) Value 5.0
    </l1jet_refset>
    <l1jet_refset name="jt10eta8phi3">
       TT_ETA(-4:4) TT_PHI(4:6) Value 10.0
    </l1jet_refset>
    <l1jet_refset name="jt25eta3phi2">
       TT_ETA(1:3) TT_PHI(10:11) Value 25.0
    </l1jet_refset>
    <l1jet_refset name="jt25">
       TT_ETA(-4:4) Value 25.0
    </l1jet_refset>

  </l1refsets>

  <trigdef num_nodes="5">

    <expogroup name="egall"  readout="allcrates">
      <l1termlist>
	  <l1specterm name="live_accel_bx"/>
      </l1termlist>
<!-- min_bias -->
      <l1trigger name="Afastz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
	<l2trigger name="Afastz_none">
          <l3trigger name="min_bias"/>
        </l2trigger>
      </l1trigger>
<!-- zero_bias -->
      <l1trigger name="ALiveBX" prescale="10000">
        <l1termlist>
          <l1specterm name="live_accel_bx"/> 
        </l1termlist>
	<l2trigger name="ALiveBX_none">
          <l3trigger name="zero_bias"/>
        </l2trigger>
      </l1trigger>
<!-- Cal EM -->
      <l1trigger name="CEM(1,5)" prescale="10000">
        <l1termlist>
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em5" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM5_none">
          <l3trigger name="CEM5"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,em5eta8phi3)" prescale="10000">
        <l1termlist>
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em5eta8phi3" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM5eta8phi3_none">
          <l3trigger name="CEM5eta8phi3"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,em8eta3phi2)" prescale="10000">
        <l1termlist>
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em8eta3phi2" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM8eta3phi2_none">
          <l3trigger name="CEM8eta3phi2"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,8)" prescale="10000">
        <l1termlist>
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em8" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM8_none">
          <l3trigger name="CEM8"/>
        </l2trigger>
      </l1trigger>
<!-- Cal JET -->
      <l1trigger name="CJT(1,5)" prescale="10000">
        <l1termlist>
          <l1jetcount jet_refset="jt5" count="1"/>
          <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT5_none">
          <l3trigger name="CJT5"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,jt10eta8phi3)" prescale="10000">
        <l1termlist>
          <l1jetcount jet_refset="jt10eta8phi3" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT10eta8phi3_none">
          <l3trigger name="CJT10eta8phi3"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,jt25eta3phi2)" prescale="10000">
        <l1termlist>
          <l1jetcount jet_refset="jt25eta3phi2" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT25eta3phi2_none">
          <l3trigger name="CJT25eta3phi2"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,25)" prescale="10000">
        <l1termlist>
          <l1jetcount jet_refset="jt25" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT25_none">
          <l3trigger name="CJT25"/>
        </l2trigger>
      </l1trigger>
<!-- Cal EM -->
      <l1trigger name="CEM(1,5)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em5" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM5_fz_none">
          <l3trigger name="CEM5_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,em5eta8phi3)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em5eta8phi3" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM5eta8phi3_fz_none">
          <l3trigger name="CEM5eta8phi3_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,em8eta3phi2)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em8eta3phi2" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM8eta3phi2_fz_none">
          <l3trigger name="CEM8eta3phi2_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CEM(1,8)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em8" hadveto_refset="null" count="1"/>
        </l1termlist>
	<l2trigger name="CEM8_fz_none">
          <l3trigger name="CEM8_fz"/>
        </l2trigger>
      </l1trigger>
<!-- Cal JET -->
      <l1trigger name="CJT(1,5)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1jetcount jet_refset="jt5" count="1"/>
          <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT5_fz_none">
          <l3trigger name="CJT5_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,jt10eta8phi3)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1jetcount jet_refset="jt10eta8phi3" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT10eta8phi3_fz_none">
          <l3trigger name="CJT10eta8phi3_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,jt25eta3phi2)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1jetcount jet_refset="jt25eta3phi2" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT25eta3phi2_fz_none">
          <l3trigger name="CJT25eta3phi2_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="CJT(1,25)_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1jetcount jet_refset="jt25" count="1"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="CJT25_fz_none">
          <l3trigger name="CJT25_fz"/>
        </l2trigger>
      </l1trigger>
<!-- Muon -->
      <l1trigger name="mu1cmsc_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt1cllx"/>
      	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1cmsc_fz_none">
          <l3trigger name="mu1cmsc_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="mu1pixn_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt2cllx"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1pixn_fz_none">
          <l3trigger name="mu1pixn_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="mu1pixs_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt3cllx"/>
       	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1pixs_fz_none">
          <l3trigger name="mu1pixs_fz"/>
        </l2trigger>
      </l1trigger>
<!-- Muon plus jet -->
      <l1trigger name="mu1cmsc_j5_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt1cllx"/>
          <l1jetcount jet_refset="jt5" count="1"/>
          <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1cmsc_j5_fz_none">
          <l3trigger name="mu1cmsc_j5_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="mu1cmsc_j25_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt1cllx"/>
          <l1jetcount jet_refset="jt25" count="1"/>
          <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1cmsc_j25_fz_none">
          <l3trigger name="mu1cmsc_j25_fz"/>
        </l2trigger>
      </l1trigger>
      <l1trigger name="mu1cmsc_j10m_fz" prescale="10000">
        <l1termlist>
          <l1specterm name="fastz"/> 
          <l1muo name="mu1pt1cllx"/>
          <l1jetcount jet_refset="jt5" count="1"/>
          <l1jetcount jet_refset="jt10eta8phi3" count="1"/>
      	  <l1specterm name="live_accel_bx"/>
        </l1termlist>
        <l2trigger name="mu1cmsc_j10m_fz_none">
          <l3trigger name="mu1cmsc_j10m_fz"/>
        </l2trigger>
      </l1trigger>
<!-- Z to ee -->
      <l1trigger name="CEM(2,8)" prescale="10000">
        <l1termlist>
	  <l1specterm name="live_accel_bx"/>
          <l1emcount em_refset="em8" hadveto_refset="null" count="2"/>
        </l1termlist>
	<l2trigger name="L1Zee_none">
          <l3trigger name="L1Zee"/>
        </l2trigger>
      </l1trigger>

    </expogroup>

    <triglist>
    |SRDirective useL1=yes
    |RUN_CFG L3RunConfigMgr(runcfg_file="cfg.dat")
    |ERR1 L3ErrHandle(port=52245, logfile=testfile1, statsfile=stat1, filethreshold=error, statsthreshold=info, host="d0olc.fnal.gov", exename="Srnode")
    |L2Trig Afastz_none
    |filter min_bias
    |L3FMarkAndPass(key=mpx1 pass_1_of_n=1. Stream="all")
    |L2Trig ALiveBX_none
    |filter zero_bias
    |L3FMarkAndPass(key=mpx2 pass_1_of_n=1. Stream="all")
    |L2Trig CEM5_none
    |filter CEM5
    |L3FMarkAndPass(key=mpx3 pass_1_of_n=1. Stream="all")
    |L2Trig CEM5eta8phi3_none
    |filter CEM5eta8phi3
    |L3FMarkAndPass(key=mpx4 pass_1_of_n=1. Stream="all")
    |L2Trig CEM8eta3phi2_none
    |filter CEM8eta3phi2
    |L3FMarkAndPass(key=mpx5 pass_1_of_n=1. Stream="all")
    |L2Trig CEM8_none
    |filter CEM8
    |L3FMarkAndPass(key=mpx6 pass_1_of_n=1. Stream="all")
    |L2Trig CJT5_none
    |filter CJT5
    |L3FMarkAndPass(key=mpx7 pass_1_of_n=1. Stream="all")
    |L2Trig CJT10eta8phi3_none
    |filter CJT10eta8phi3
    |L3FMarkAndPass(key=mpx8 pass_1_of_n=1. Stream="all")
    |L2Trig CJT25eta3phi2_none
    |filter CJT25eta3phi2
    |L3FMarkAndPass(key=mpx9 pass_1_of_n=1. Stream="all")
    |L2Trig CJT25_none
    |filter CJT25
    |L3FMarkAndPass(key=mpx10 pass_1_of_n=1. Stream="all")
    |L2Trig CEM5_fz_none
    |filter CEM5_fz
    |L3FMarkAndPass(key=mpx11 pass_1_of_n=1. Stream="all")
    |L2Trig CEM5eta8phi3_fz_none
    |filter CEM5eta8phi3_fz
    |L3FMarkAndPass(key=mpx12 pass_1_of_n=1. Stream="all")
    |L2Trig CEM8eta3phi2_fz_none
    |filter CEM8eta3phi2_fz
    |L3FMarkAndPass(key=mpx13 pass_1_of_n=1. Stream="all")
    |L2Trig CEM8_fz_none
    |filter CEM8_fz
    |L3FMarkAndPass(key=mpx14 pass_1_of_n=1. Stream="all")
    |L2Trig CJT5_fz_none
    |filter CJT5_fz
    |L3FMarkAndPass(key=mpx15 pass_1_of_n=1. Stream="all")
    |L2Trig CJT10eta8phi3_fz_none
    |filter CJT10eta8phi3_fz
    |L3FMarkAndPass(key=mpx16 pass_1_of_n=1. Stream="all")
    |L2Trig CJT25eta3phi2_fz_none
    |filter CJT25eta3phi2_fz
    |L3FMarkAndPass(key=mpx17 pass_1_of_n=1. Stream="all")
    |L2Trig CJT25_fz_none
    |filter CJT25_fz
    |L3FMarkAndPass(key=mpx18 pass_1_of_n=1. Stream="all")
    |L2Trig mu1cmsc_fz_none
    |filter mu1cmsc_fz
    |L3FMarkAndPass(key=mpx19 pass_1_of_n=1. Stream="all")
    |L2Trig mu1pixn_fz_none
    |filter mu1pixn_fz
    |L3FMarkAndPass(key=mpx20 pass_1_of_n=1. Stream="all")
    |L2Trig mu1pixs_fz_none
    |filter mu1pixs_fz
    |L3FMarkAndPass(key=mpx21 pass_1_of_n=1. Stream="all")
    |L2Trig mu1cmsc_j5_fz_none
    |filter mu1cmsc_j5_fz
    |L3FMarkAndPass(key=mpx22 pass_1_of_n=1. Stream="all")
    |L2Trig mu1cmsc_j25_fz_none
    |filter mu1cmsc_j25_fz
    |L3FMarkAndPass(key=mpx23 pass_1_of_n=1. Stream="all")
    |L2Trig mu1cmsc_j10m_fz_none
    |filter mu1cmsc_j10m_fz
    |L3FMarkAndPass(key=mpx24 pass_1_of_n=1. Stream="all")
    |L2Trig L1Zee_none
    |filter L1Zee_noprescale
    |L3FMarkAndPass(key=mpx25 pass_1_of_n=1. Stream="all")
    |
    </triglist>
  </trigdef>
  <stream name="all" relrate="100.0"/>
</configuration>

