Title: Signal Processing in PHAT P' Decowski, A' Olszewski, H' Pernegger, P' Sarin
1Signal Processing in PHAT(P. Decowski, A.
Olszewski, H. Pernegger, P. Sarin)
- Outline
- Requirement for the signal calculation
- Layout of the measurement chain and contributions
to the measured ADC value - Overview of the signal processing in PHAT
- Definition of the data format
- How to obtain pedestal and noise values
- How to common-mode correct and zero-suppress the
data - Calibration, HitArrays and Hits
- First test results using this chain
- Open questions
2What are the aims of the signal processing
- TWO quite different detector with different aims
- The Octagon measures multiplicity by
- summation of calibrated but non-zero-suppressed
signals in a given detector area - application of a threshold and digital counting
of pads with signals above a threshold - This requires to minimizes systematic errors in
the calculation - from large correlated common mode shifts
- calibration errors
- pile-up
- Statistical fluctuation from the Landau
distribution and intrinsic noise are less
important than in the spectrometer
3- The Spectrometer want to reconstruct tracks and
identify particles - clearly identify pads with hits with high
efficiency for straight and inclined tracks - minimize the number of hits not associated with
tracks for an easier pattern recognition - understand (and minimize) the width of the
measured signal distribution for good pion-kaon
separation - This requires for the tracking to
- apply signal threshold as low as possible
(inclined tracks!) -gt reduce the calculated noise
value to the intrinsic noise - filter out defect channels with strong
fluctuations, which fake signals - and for the particle ID to minimize the signal
distribution width. Irreducible is the energy
straggling and intrinsic noise but reducible
components are - common mode shift
- gain fluctuations and variation in the detector
thickness - systematic differences in the signal response
from type 1 to type 5 detectors
4Layout of the signal measurement can
contributions to the measured ADC value
Preamp
OutBuffer
ADC
InputAmp
shaper
FEC
Module
SignalNoiseCMPedestal
(SignalNoiseCMPedestal)gain
SignalNoiseCM
- The measured ADC(I)S(I)Ped(I)CM(k) Ichannel
k chip - the particle signal intrinsic noise (S)
- the channel pedestal (Ped) which corresponds to
the channels DC levels in the chip - the common mode shift (CM) for a group of
channels
5How large are this contributions in our module
tests?
- The tests are done on final modules but without
FEC or final power supplies - The Signal and Noise
- from a 90Sr source (close to MIP energy
deposition) - peak S 23mV with a peak variation of /- 1.5mV
- The rms noise is 1.2mV to 1.6mV depending on
sensor type and quality (analog readout
contribution is 0.4mV) - The Common Mode Noise
- for most modules rms common mode noise is 1.5mV
to 2mV - few sensors (approx. 5) have large common mode
noise (4 to 10mV rms) - The noise level of defect channels (approx 1)
is varies between 3 and 12mV rms. Some channels
fake signals. - The Pedestal Variation
- per chip 200mV pp, I.e 10MIPs
- per string 400mV pp , I.e. 20MIPs
6Overview of the signal processing steps in PHAT
- The aim for ZSS is to unfold Ped and CM
contributions and find hits - the code in PHAT and the Mercury system needs to
be consistent - Precise calibration and unfold systematic effects
(hit merging, detector thickness, track
inclination) are NOT part of the ZSS - The algorithm used at the moment is the one
provided by Pradeep and implemented by Andrzej.
Initialization
Raw n0
PedPre Process
Pedestal Process
Noise Process
CM Correct
Zero Suppress
Make HitArray
Make Hits
Do PR tracking
Calibrate
Raw s0
Event Loop
7Raw data format for Non-Zero Suppressed Data
- One basic block per FEC, one 16bit word per
channel with 12 bit integer for the ADC value
20 words trailer - all channels are written without any processing
8Raw data format for Zero Suppressed Data
- One basic block per FEC, one 24bit word per
channel with a hit12 bit integer for the signal
value (LSB1ADC) trailer with CM correction for
each chip - calculation in the ZSS are based on 32float
- only channels with signals larger than a
threshold are written.
9Special Events
- The present data format do not contain any
information on pedestal and noise used for zero
suppression - The present assumption is that
- noise and pedestal values will be preprocessed
offline - they are loaded to the Mercury system which uses
them for ZS - they are written to the data stream for all
channels once at the beginning and at the end of
the run - We need to define a format for these special
events - The algorithms for offline preprocessing exist
and are tested
10The Initalization phase
- Get start values for pedestal and noise
- Structure is based on FEC and String units
- TPhFECDetectorPedPreProcess
- calculated the average ADC value for each channel
for N events - output is a preliminary pedestal value/channel
- TPhFECDetectorPedProcess
- calculated the average ADC value for each channel
for N events for all channels where ADC-Pedlt 0.5
MIPADC ( this removes eventual signals) - output is a mean ADC value (PedMean) and its rms
(PedRMS) - there is no common mode correction
- TPhFECDetectorNoiseProcess
- calculated the rms for SADC-Ped-CM for all
channels where ADC-Pedlt nPedRMS ( this removes
signals) - output is a rms(S)Noise/channel
11The Event Loop
- Corrects common mode shifts and zero-suppresses
empty channels - Each function is called once/event and processes
all FECs - TPhFECDetectorCMNProcess
- calculated the average ADC-Ped value for one chip
for all signals with abs(ADC-PedMean)lt nPedRMS - checks that a minimum of 5 channels are used in
the calculation - stores the CMNMean for each chip
- TPhFECDetectorZeroSuppress
- calculated the signal for each channel as
SADC-PedMean-CMNMean - suppressed all channels with abs(S(I))ltnNoise(I)
- channels on chips where CM correction failed are
not suppressed - Stores S in TPhRawHitFECs0 (as integer...!) with
LSB1ADC count
12Signal Processing after Zero-Suppression
- Get the detector geometry, our sensor layout and
the FEC assignment to sensors all processing is
based on physical sensors - TPhDetectorMakeHitArrays
- takes the ZS data (string/channels) and fills it
to the sensors as signal on pads row/column - stores the data in HitArray containers
- TPhDetectorCalibrate
- converts the measured ADC values to deposited
charge using a pre-measured calibration curve .
Charge is stored in units of 0.1fC - The present calibration curve is a 2nd order
polynom plus a cutoff parameter - TPhDetectorMakeHitsOutOfHitArray
- converts charge to energy loss (in GeV)
- stores all pads with signalgt0 as hits with their
geometrical coordinates x,y,z - NOW you merge hits and start the TrackSeedFinder
and reconstruct the tracks with Inkyus code
13First Results of tests with real data
- Data are from the october beam test at AGS
- ADC are 12bit with similar dynamic range as the
FEC - data are written in the PHAT non-zero-suppressed
data format - we used 4 type 1 module (MOD10001,0002,003,0006)
- What were the first tests
- The pedestal for one string
- The noise before and after common mode correction
- The signal distribution for zero-suppressed data
on a nice and a less nice module - The Hit-signal after calibration
- The final Landau distribution in keV after hit
merging and track reconstruction
14The calculated pedestal
- Output of TPhFECDetectorPedProcess
15The noise before and after CM correction
- Output of TPhFECDetectorPedProcess and Noise
Process
16Zero-Suppressed signals on a good module
- Output of TPhFECDetectorZeroSuppress for
MOD10003 (2 noisy channels/sensor )
17After making the calibration...
- Output of TPhDetectorCalibrate for MOD10003
18After making hits we reconstruct the first tracks
in 4 planes
- Use 4 plane for a TPhTrackSeedFinder for a planes
NA,NB,NC,ND
19Landau distribution in keV and reconstructed
tracks
- Signal for hits after hit-merging, which are
associated with the track in planes NA,NB,NC,ND
20X-Y hit distribution for reconstructed tracks
- We had one dead chip (unfortunately)
21Open questions
- Definition of raw data format for loading and
writing noise and pedestal information - Procedure for offline processing of pedestal,
noise, gains - Proper definition of the signal value for optimal
processing (how to treat negative signals, what
is the LSB) - Consistent variable definition for signal, ADC,
pedestal, noise, CMN - Test of the common mode calculation
- and...
-
-
-