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