This file: http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/tcc/coor/using_l1cal2b.txt Collecting events using the Run IIb L1Cal -- an overview -- 24-Jan-2006 1) User Would like to analyze events which "Require at least 1 jet with Et at least 10 GeV within |eta| of 3.2" cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/algos.html 2) Trigger Database Input (in part): User (or Trigger Meister) defines a requirement for "CSWJT(1,10.,3.2)" (plus other filtering L1 requirements, L2, L3) cf. http://d0db-prd.fnal.gov/trigdb/cgi/tdb_report_element.py?function=L1Script&insname=CSWJT(1,10.,3.2)_ncu&insversion=1 cf. http://d0db-prd.fnal.gov/trigdb/cgi/tdb_report_element.py?function=Trigger_List&intlname=First_Run2b_list&intlversion=2.00 Actions: Generate the XML files defining these triggering requirements to COOR cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/coor/coor_syntax.html 3) COOR (via Taker) Input (in part): [...] [... other andor term requirements ...] [... L2 and L3 requirements ...] [...] cf. http://www-d0online.fnal.gov/www/groups/trigger/official/special/Run2b/First_Run2b_list-2.00.xml Actions (in part): Send messages to L1Cal TCC to program the L1Cal resources Allocate one of the 7 TAB Jet Reference Sets for this request Program this reference set with a threshold of 10 GeV and an eta coverage of 3.2 Allocate one of the GAB's CSWJT Terms to listen to this Reference Set and require at least one jet above threshold cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/trig_terms/trig_terms.html and http://www.nevis.columbia.edu/~evans/l1cal/algos/trig_terms/coor_params.html Send messages to L1FW TCC Allocate a L1 Specific Trigger to implement this request Program this SpTrg to require this L1Cal andor term (among others) Specify which crates need reading out when this Specific Trigger Fires Start a new Run Number with this Specific Trigger Requirement 4) L1Cal TCC Input: "L1CAL_Ref_Set Jet_Et_Ref_Set 1 TT_Eta(-16:16) Energy_Threshold 10.0" "L1CAL_to_L1FW Jet_All_Term 0 Use_Ref_Set 1 Count_Threshold 1" cf. http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/tcc/coor/coor_to_l1caltcc_message_syntax.txt Actions: Server receives these messages from COOR Parser understands the message syntax and extracts the request Dispatcher calls the corresponding executer routine with corresponding arguments Executer loop over all TABs (or single GAB) within TT_Eta/TT_Phi coverage calls the apropriate hook from the TabGab library to configure each TAB (or single GAB) resource keep track of overall success Server sends acknowledgement message (ok/bad) back to coor for each message 5) TabGab Library Program the TAB and GAB control registers via the VME/SCL Created and maintained by Mike Mulhearn, linked into L1Cal TCC Control Software cf. http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/tcc/coor/l1caltcc_to_tabgab_software_interface.txt ------------------------------------------------------ Above this line we were programming the system Below this line we will be filtering and recording events ------------------------------------------------------ 6) TAB and GAB Firmware Process each Beam Crossing Apply the (e.g. Jet) algorithm to the 1280 Trigger Tower EM and HD data received from the ADF-2 Cards Count and filter the objects found Generate up to 64 Andor Term which are sent to the L1 Framework 7) L1 Framework Process each Beam Crossing Watch all Specific Trigger requirements, including the specified Andor Term from L1Cal Watch the L1 Busy signals from all specified crates When all requirements are met, and all Crates are ready Send L1 Accept with request to readout to all specified crates 8) TAB and GAB Firmware Upon receiving a L1 Accept with request for L1Cal readout (via the VME/SCL ) Retrieve and Send the data from the triggered crossing to the VTC/VRBs in the L1Cal Readout Crate The same data is sent (via optical splitter) to the L2Cal Preprocessor 9) L2Cal Preprocessor L2Cal receives data from L1 Cal for this Beam Crossing L2Cal finds Calorimeter objects and sends its results to L2 Global 10) L2Global L2Global decides if the conditions for this (and all) Specific Trigger are met L2Global sends its L2 Decision to the L1 Framework 11) L1 Framework When all L2 Crates are ready to process this L2 Decision Send corresponding L2 Accept/Reject to all the crates that received L1 Accept 12) L1Cal VRB Crate Upon receiving a L2 Accept The VRBC tells the SBC to collect the data from all VRBs The SBC sends this crate's data to the L3 Processing Farm Upon receiving a L2 Reject The VRBC drops the VRB data corresponding to that L1 Accept 13) L3/DAQ/Online Host Collects the raw data from all crates (including L2) Accepted events are sent to the online host (Collector) The online host (Data Logger) sends the events to data repository 14) User Analysis Retrieve events via SAM, eg. using the Run Number Analyze events using D0 Framework