|DØ Trigger Studies Group|
|Home | Meetings Info | Tools | Data Samples | Results | How-to | To-Do List | Useful Links | Help | Contact us|
The assignment of And/Or terms can vary from run to run. You can use --> --the following script provided by Marco to access the run database and get the proper mapping for a particular run:
Note: Again, only the And/Or terms that are mapped (used) in the trigger list are stored in the run database.
And/Or terms not used in the trigger list
If you want to know the position of And/Or terms NOT used in the trigger list, well it's a bit more tricky.
L1CTT: Info about the current L1CTT And/Or term mapping can be found at L1CTT online webpage (This mapping represent the current status and is not necessarily representative of the mapping in earlier runs)
L1Muon: The L1 And/Or terms are located in terms 80-95 and 192-207.
The following mapping are the "stable" mapping for the And/Or terms used in the trigger list (of course that can always chance, please check against the information contained in the database, see script above):
Term80 - mu1ptxctxx Term81 - mu1ptxbtxx Term82 - mu2ptxbtxx Term83 - mu2ptxctxx Term84 - mu1ptxwtxx Term85 - mu1ptxatxx Term86 - mu2ptxwtxx Term87 - mu2ptxatxx Term88 - mu1ptxclxa Term89 - mu2ptxctxl Term90 - mu2ptxclxx Term91 - mu1ptxwtlx Term92 - mu2ptxalxx Term93 - mu1ptxatlx Term94 - mu2pt1clxx Term95 - mu2ptxcllx Term192 - mu1ptxctlx Term193 - OR of all BOTs Term194 - AND of all BOTs Term195 - mu1pt4wlxx Term196 - mu2pt4wlxx Term197 - mu1pt4wllx Term198 - mu1pt4wtxx Term23 - mu1pt3wtlx Term24 - mu2pt1cllx Term25 - mu1pt2wtlx
All the other L1Muon And/Or terms are for debugging/testing purposes
and change all the time.
Here's an explanation for the level3.sim file (note the useL2=no, which means ScriptRunner will try all triggers on all events, if you set this to "yes", ScriptRunner will only run specific L3 triggers on events that fired specific L2 triggers, see below): begin_store 1 set_client 0 global_CMT-12.20 trigger_list 0 SRDirective (useL2=no)| SRDirective (monitorinfo=10)| SRDirective (sendmoninfo=no)| SRDirective (allowInclusiveMonitorStream=yes)| L3ERR_online L3ErrHandle( ... (this is the list of tools, and you would have to insert a new tool here, for example: PrVTX3 L3TCFTVertex( TRACKER=GlobalTracker, ptcut=3., UsePt=FALSE, tooltype="data")| is an instance of tool L3TCFTVertex named PrVtx3. It uses tracks from a L3TGlobalTracker instance named GlobalTracker, and has a few other parameters). The list of tools is sequential, and tools using other tools (like PrVtx3 using GlobalTracker) need to come _after_ the tools they use in this list. After the tool list comes the filter list (or trigger list). Here's a hand-made example: L2trig 13^E1_ELE_MP| filter E1_SHT7_T5 | L3FEle key=t15s1_Ele refset=ELE_NLV_SHT number=1 MinEt=7. MinEta=0. MaxEta=3.6 MinEoverp=-99. MaxEoverp=99. Stream="ALL" | L3FTrack key=t15s2_Track refset=PhTrk1 number=1 MinPt=5. MaxDCA=1. MinXYHits=10 MinZHits=0 Stream="ALL" | Line-by-line: -L2Trig tells ScriptRunner which L2 trigger this trigger hangs off of. This is not very important if useL2=no, but critical otherwise: in that case, ScriptRunner will only try this trigger if the corresponding L2 trigger fired. In simulation mode, I wouldn't do this. This is more useful for verification. - filter E1_SHT7_T5 | is the actual L3 trigger name, the one you use to determine if this trigger passed or failed. This is written in the TMB if the trigger passes (in principle, but we've seen problems in MC). -This particular trigger uses two filters, the first one is L3FEle key=t15s1_Ele refset=ELE_NLV_SHT number=1 MinEt=7. MinEta=0. MaxEta=3.6 MinEoverp=-99. MaxEoverp=99. Stream="ALL" | This is an instance of the electron filter named t15s1_Ele, which looks at the candidates found by the tool named ELE_NLV_SHT for at least 1 candidate with at least 7 GeV ET, and |eta| <= 3.6. Events that pass would go to stream "ALL". If this filter passes, the next one is tried (t15s2_Track). If that one passes, the event is accepted and is written out. For simulation purposes, it is generally useful to also have those events that failed all triggers (for turn-on curves, accounting x-checks etc.), so at the very top of the trigger part I have L2trig 1^min_bias_NCU| filter min_bias_NCU | L3FPassFraction key=t1s1_PassFraction passFraction=1. Stream="ALL" | which passes all events. That part is followed by a lot of technical lines ScriptRunner requires: L2trig 159^MWLT10_2EM3_SHT7| filter MWLXT10_2EM3_L12 | L3FEle key=t160s1_Ele refset=ELE_NLV number=1 MinEt=12. MinEta=0. MaxEta=3.6 MinEoverp=-99. MaxEoverp=99. Stream="ALL" | || farm_nodes 0 regular 0 l1bit 0 Afastz_ncu 16:17 19:20 22:25 31:37 48:59 64:74 76 80:83 96:107 112:117 l ... l2bit 0 1^min_bias_NCU ... Each L1 and L2 bit needs to be defined (with name here). For pure simulation, this could be kept to 2 triggers at each level. Each L1 trigger is followed by a list of crates (16:17...), which is not really relevant in simulation mode. define_trigger 0 0 0 0 min_bias_NCU ... define_trigger 4 0 2 2 E1_SHT7_T5 .. This is important: the first digit is the trigger number, the second I don't remember, and the third and 4th are the level 1 and two trigger numbers as defined above. Finally: stream 1 0 all stream 2 0 monitor configure runinfo 0 1 start_run 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 defines the existing streams, etc. (the last line has all the level 3 triggers). I have attached an example hacked level3.sim file.
Information on how to calculate luminosity can be found on the
luminosity group webpage