Transcript ppt
OnboardFilter Richard E. Hughes, Brian L. Winer The Ohio State University JJ Russell SLAC Richard Hughes IAW6 28-Feb-06; p.1 The OnboardFilter During normal operation, the filtering software: monitors event data for integrity, tracking changes in event and detector statistics. The software notifies the SIU software in the event of any errors or anomalies. filters the input stream of events (i.e., those accepted by the electronic trigger) into an output stream whose volume meets the spacecraft storage rate and capacity, while keeping events that meet the science objectives. Data is sent to the Filter 18 blocks: 1 GLT, 16 TEM, 1 ACD Limited to 4k packets; if event is larger, multiple packets are sent Richard Hughes IAW6 28-Feb-06; p.2 Some Details Hardware: FSW runs on EPU (133MHz RAD750) Operating System: VxWorks Language: Mostly C, some Assembler Packages: Primary: EDS (data structures), EFC (filter code) Support: Many GLEAM interface Wrapper code interfaces to actual FSW code Richard Hughes IAW6 28-Feb-06; p.3 Overview Using the OnboardFilter within GLEAM: Digis EbfWriter DAQ/Trigger Testbed: FES Input TDS Code from Flight Software OnBoardFilter TDS FilterAlg/Other Richard Hughes IAW6 28-Feb-06; p.4 Filter Philosophy Events are rejected based on a progressively more time consuming strategy Usual mode: as soon as a reason (“veto”) is found to pitch the event, filter processing stops However, can run in “passthrough”, in which all vetoes are tested, regardless of whether one has fired or not Total of 16 vetoes defined, although a few are presently disabled. Vetoes are ordered so that the simplest/quickest are tested first. Richard Hughes IAW6 28-Feb-06; p.5 Filter Vetoes: Trigger Discriminant Tests These tests, which check whether the data is consistent with the presence of cosmic rays, are very fast and quite effective (eliminating 75% of the candidate events). They use data from the GEM (Global Trigger), including anticoincidence hit maps, which tracker towers had "3-in-a-row" triggers, and trigger information from the CAL (low- and high-energy) discriminators. GFC_STATUS_V_NOCALLO_FILTER_TILE = 30, there are no calLO; AND (top or side_filter tiles hit) info right from GEM Removes cosmics which miss the CAL GFC_STATUS_V_SPLASH_0 = 29, there are no calHI; AND >= splashCount tiles set OR there is no calHI; and pattern matches acd.splashMap ==> 3 tiles, not clustered Removes upward going gammas ==> should eliminate low energy background (since no calHI) Richard Hughes IAW6 28-Feb-06; p.6 Filter Vetoes: Energy Level Tests These tests requires significant compute time (~10x that of the previous set). They use energy information from the CAL, which must be unpacked. GFC_STATUS_V_E0_TILE = 28, cal energy < 10MEV and any hits in ACD top or side Removes low energy cosmics GFC_STATUS_V_E350_FILTER_TILE= 27, cal energy < 350 and any hits in ACD top or side_filter (1st two rows) GFC_STATUS_V_TOP = 25, tower has 7/8 or 6/6, and track begins in top 3 layers (top 6 planes), and shadowed acd tile has hits GFC_STATUS_V_SIDE = 24, tower has 7/8 or 6/6, and track begins in layer consistent with and shadowed acd side_filter tiles with hits GFC_STATUS_V_ZBOTTOM = 21, cal energy > 10 MeV and NO strip hits in any of 4 of the 6 layers of silicon closest to the CAL Richard Hughes IAW6 Removes MIPS Removes cosmics Removes cosmics Removes upward going cosmics which create upward going gammas 28-Feb-06; p.7 Filter Vetoes: Projection Tests These tests depend on finding X-Z and Y-Z projections, using the fullyunpacked tracker data. They are very compute-intensive, requiring perhaps 50x the processing time of the initial tests. Fortunately, we're down to a small fraction of the initial events, so the aggregate compute time isn't a big issue. GFC_STATUS_V_TKR_TOP = 20, energy<30,000 MeV AND x and y projection meet in a tile with hits GFC_STATUS_V_TKR_ROW01 energy< 10,000 MEV = 19, GFC_STATUS_V_TKR_ROW2 = 18, energy < 30,000 MEV AND GFC_STATUS_V_TKR_SKIRT = 16, energy=0 and projection points to skirt (gap btw ACD and top of CAL) GFC_STATUS_V_TKR_EQ_0 = 17, tcids==0 AND energy>250MeV OR less than 2 projections no energy requirement Richard Hughes IAW6 28-Feb-06; p.8 Vetoes Currently Disabled GFC_STATUS_V_SPLASH_1 = 26, cal energy < 40,000 MeV and >4 tiles hit OR cal energy < 40,000 MeV and 3 tiles hits and pattern of tiles is right GFC_STATUS_V_EL0_ETOT_01 = 23, GFC_STATUS_V_EL0_ETOT_90 = 22, Both tests look for behavior inconsistent with electromagnetic showering GFC_STATUS_V_TKR_LT_2_ELO = 15, two projections AND energy <5 MeV Richard Hughes IAW6 28-Feb-06; p.9 Testing the Filter Code Using GLEAM to do this Can also produce files (both EBF and FES) which can be used to test the filter code on the testbed platform Everything I show here will be for ntuple-level testing (i.e. not the tested) unless noted Release: GlastRelease_v7r3p3 Updated versions of Trigger, EbfWriter, OnboardFilter Samples: DC2 background AllGamma GRB Richard Hughes IAW6 28-Feb-06; p.10 DAQ/Trigger Testbed VxWorks Nodes GLEAM/ EbfWriter CAL/TKR/ACD Files FrontEnd Simulators (FES) Software Event TEMs Compare Predicted vs Observed GASU Hardware Event DAQ/Trigger Testbead Samples: Single Particle AllGamma Sample Background Sample Data Challenge 1 Integrity Testing Rate Testing Filter Testing OnBoardFilter Results: 1) Testbed matches gleam 2) Photon processing: ~120usecs 3) Background: ~25usecs Richard Hughes IAW6 28-Feb-06; p.11 Background Composition Source ID 0 0 1 1 2 2 1000 10 1001 11 1002 12 2000 20 2001 21 2002 22 3000 30 4000 40 5000 50 Richard Hughes Source Name CrProtonPrimary CrProtonReentrant CrProtonSplash CrElectronPrimary CrElectronReentrant CrElectronSplash CrPositronPrimary CrPositronReentrant CrPositronSplash CrAlpha CrHeavyIon Earth10 IAW6 counts (typical 0.1 sec) 1054 148 168 7 356 338 1 700 720 130 23 1115 28-Feb-06; p.12 Trigger Rates Sample is DC2 background, at 0.1 sec per minute simulated The plot shows the trigger rate prior to application of the filter The trigger requirement corresponds to Steve Ritz’s configuration #2. Richard Hughes IAW6 28-Feb-06; p.13 DC2 Background Filter Rates Now we apply the filter vetoes as described above The “red” points are the new filter configuration. The solid histogram is the default onboard filter code. The agreement is pretty good… but note: the overall rate is about 20% lower than the comparable plot from Steve’s presentation. Not a filter problem… since the old filter shows the same effect. Richard Hughes IAW6 28-Feb-06; p.14 Background Composition After triggering On input, largest contributors: CrHeavyIon, CrPositronReentrant, CrPositronSplash, CrPrimaryProton After filtering After trigger, largest contributors: CrPrimaryProton, CrPositronReentrant After filtering, largest contributors CrHeavyIon, CrPrimaryProton, CrPositronSplash Richard Hughes IAW6 28-Feb-06; p.15 Event Size The main purpose of the filter is to reduce the overall rate so that data shipped down fit within the downlink rate 1.2Mbit/sec average Event size has some variation dependent upon the source ID CrHeavyIon and CrProtonPrimary are largest average event size But CrProtonPrimary dominates Richard Hughes IAW6 28-Feb-06; p.16 Which Vetoes Fire? DC2bck DC2bck AllGamma AllGamma Richard Hughes IAW6 28-Feb-06; p.17 Trigger and Filter Efficiency Black: AllGamma Red: DC2 Background Black: AllGamma Red: DC2 Background MeV Values: 20 150 1100 8100 Black: AllGamma Red: DC2 Background Richard Hughes IAW6 28-Feb-06; p.18 Energy Distributions DC2 background: ~40% of events have zero energy in cal AllGamma: ~10% have zero energy in cala Richard Hughes IAW6 28-Feb-06; p.19 Work in progress Software difficulties The “new” Gleam version of the Onboardfilter is an extremely faithful representation of the FSW version GOOD: can be sure that results should match Tested and WORKING on Linux BAD: Many difficulties getting this to work in the Windows world Primary problem: filter configuration is loaded via shared object libraries, using some specific feature of the gcc compiler Configuration means: which filter, which cal constants, which geometry, etc. This does not work on Windows Dedicated filters Tracker alignment Calorimeter calibration using Heavy Ions GRB Photon selection OnboardScience GRB localization and alerts Richard Hughes IAW6 28-Feb-06; p.20