Progress on MTD filtering

For the proposal, see: You do not have access to view this node (presented at an S&C meeting last fall)

Filtering in this case means a two-stage production, and three primary codes. Here is the status of each (work being done by S&C team together with MTD group):
  1. Limitation of TPC tracking to only those sectors in-line with triggered MTD trays (first pass)
    • Code written: StMtdEvtFilterMaker/StMtdTrackingMaskMaker.*
    • Status: code review done, code tested successfully
    • Re-uses database table Calibrations_trg / trgOfflineFilter for identification of triggers of interest (first pass)
  2. Identification of J/psi candidates from the limited tracking
    • Code written: StMtdEvtFilterMaker/StMtdEvtFilterMaker.*
    • Status: code review done, code tested successfully
    • Database table added for J/psi cuts
    • Tag table added to record rejection variables (propagated via tags.root file)
  3. Full processing (all sectors, all reconstruction sodtware) on events with J/psi candidates, skipping other events (second pass)
    • Code written:
      • StDataFilterMaker/StTagFilterMaker.*: generic, abstract base class for skipping events based on information from a tags.root file
      • StDataFilterMaker/StMtdEvtFilterApplyMaker.*: derived implementation specific to this MTD case
    • Status: code unreviewed, code tested successfully

Other codes modified in the process:
  • StBFChain: add new makers, and order the makers properly
  • StTpcHitMaker: exclude sectors as directed by sector mask from MTD codes
  • StEvent & StMuDst: add information on whether overlapping triggers would have been skipped and which sectors were evaluated in StMtdHeader
To-do:
  • Finalize how to handle intermediate tags.root
  • Code Review for StDataFilterMaker
  • Further tuning of cuts for J/psi identifiction
Some preliminary results of tests using a single machine:
  • Run 13: (tested on ~4k st_mtd events)
    • 42% of all events rejected
    • 95% of di-muon triggers rejected
      • Rejection for di-muons is high, but lots of non-di-muon triggers
  • Run 14: (tested on ~4k st_mtd events)
    • 64% of all events rejected
    • 65% of di-muon triggers rejected
      • Rejection for di-muons is modest, but not many non-di-muon triggers
    • Total reconstruction time with two passes reduced by 50% compared to one usual pass
      • First pass takes 15% of usual pass
      • Second pass takes 35% of usual pass, similar to expectation from "% of all events rejected"
    • MuDst.root & event.root space savings similar to expectation from "% of all events rejected"

Run 14 test results:
  • Ratio of two-pass filtered production time per event to normal one-pass full production vs. normal one-pass time per event:
  • Ratio of two-pass filtered production time per event to normal one-pass full production vs. number of TPC sectors reconstructed in the first pass, demonstrating that the bands seen in the previous plot are correlated with the number of TPC sectors reconstructed in the first pass:
  • Number of sectors reconstructed in first pass for events rejected by filter (blue) and not rejected (red):


-Gene