What the MU does in words....
These flags are not correlated. The MU always (for every
event) determines the trigger LVL2 decision and writes this into the corresponding bit.
Additionally, at the very end, it checks if the downscaling
condition is met. If yes, then the event will be triggered positively, but the decision-bit stays what it is, it is not touched from the former calculation.
Let's focus on the trigger algorithm:
In the configuration (in the moment trigconc_p.tcl) there are the variables:
set mu(trig_rich_hits) 1
set mu(trig_meta_hits) 1
set mu(trig_leptons) 1
set mu(trig_dileptons) 0
Basically, these values control
the trigger algorithm of the MU.
The above means the following:
- Check if there is at least 1 hit in the RICH
- if yes, then check if there is at least 1 hit in META
- if yes, then check if there is at least 1 lepton found
- if yes, then check if there is at least 0 dilepton found
- if yes, trigger positively
That's all, and it is simple!
Things which are not seen from these numbers:
- The MU first just counts the number of data-words (it's a lower limit of hits!) in RICH and SHOWER, without unpacking (convert row and colum to theta and phi) them
- if the
ENABLE_SHORT_CUT_IF_TOO_MANY_RINGS is defined in scheduler.h, then it checks for the number
G_MAX_RICH_RINGS_TO_LOOP_OVER, which in principle can be set via control-files, but up to now is just hardcoded to 6.
- If this number is exceeded
(number_of_hits_in_RICH >= *G_MAX_RICH_RINGS_TO_LOOP_OVER ) then the event will be triggered positively.
- if( (number_of_hits_in_SHOWER + number_of_hits_in_TOF) * number_of_hits_in_RICH >= *MAX_COMBINATORIAL_VALUE) => trigger positively
- The main-logic is used (found number of META-hits is >=
- before the unpacking and angle matching is done, first it is checked, if the Rich-hits find a corresponding hit in the META in the same sector...
- then the hits of RICH, SHOWER and TOF are unpacked, the new corrected number of events for RICH and SHOWER are written in the MU sub-sub-event.
- a) RICH unpacker has again a hard coded cut: after finding 6 or more rings in all sectors, it stops unpacking)
- b) Shower is only unpacked up to 60 hits, if exceeded triggered pos.due to next cut (3+4) automatically
- Then the cut nr. 3+4 is applied again
- then the hits are really matched (with angles) and the momenta of the leptons are determined
- dileptons: implemented by cutting on the invariant mass of all lepton pairs (has to be electron and positron!). (not used in the trigger up to now!)
Downscaling and TriggerDecisions
This topic generated a lot of confusion in the past (I don't know why...).
So, it better to let some other person to explain this topic (Joachim Stroth):
LVL1 triggered events are handled by the MU using two different "machines". Machine 1 is the downscaler and machine 2 is the
LVL2-Trigger. Both machines work completely independent - and that is very important. Machine 1 does not know what machine 2
does and vice versa. The result of the "handling" is each a bit which can be high or low. Events are transported to mass
storage if at least one of the bits is true. In analysis the bit of machine 1 is called DSflag and the other TrigDec (or
something like this).
And here is a picture, which illustrates this again... As attachment, as I don't know how to insert it directly into the text...
- 22 Jun 2005