1 / 21

Signal Processing in PHAT (P. Decowski, A. Olszewski, H. Pernegger, P. Sarin)

Signal 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

Download Presentation

Signal Processing in PHAT (P. Decowski, A. Olszewski, H. Pernegger, P. Sarin)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Signal 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

  2. What 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!) -> 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

  4. Layout of the signal measurement can contributions to the measured “ADC value” Preamp OutBuffer ADC InputAmp shaper FEC Module Signal+Noise+CM+Pedestal (Signal+Noise+CM+Pedestal)*gain Signal+Noise+CM • The measured ADC(I)=S(I)+Ped(I)+CM(k) I…channel 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

  5. How 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

  6. Overview 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

  7. Raw 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

  8. Raw data format for Zero Suppressed Data • One basic block per FEC, one 24bit word per channel with a hit:12 bit integer for the signal value (LSB=1ADC) + 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.

  9. Special “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

  10. The Initalization phase • Get start values for pedestal and noise • Structure is based on FEC and String units • TPhFECDetector::PedPreProcess • calculated the average ADC value for each channel for N events • output is a preliminary pedestal value/channel • TPhFECDetector::PedProcess • calculated the average ADC value for each channel for N events for all channels where ADC-Ped< 0.5 MIPADC ( this removes eventual signals) • output is a mean ADC value (PedMean) and its rms (PedRMS) • there is no common mode correction • TPhFECDetector::NoiseProcess • calculated the rms for S=ADC-Ped-CM for all channels where ADC-Ped< n*PedRMS ( this removes signals) • output is a rms(S)=Noise/channel

  11. The Event Loop • Corrects common mode shifts and zero-suppresses empty channels • Each function is called once/event and processes all FECs • TPhFECDetector::CMNProcess • calculated the average ADC-Ped value for one chip for all signals with abs(ADC-PedMean)< n*PedRMS • checks that a minimum of 5 channels are used in the calculation • stores the CMNMean for each chip • TPhFECDetector::ZeroSuppress • calculated the signal for each channel as S=ADC-PedMean-CMNMean • suppressed all channels with abs(S(I))<n*Noise(I) • channels on chips where CM correction failed are not suppressed • Stores S in TPhRawHitFECs0 (as integer...!) with LSB=1ADC count

  12. Signal Processing after Zero-Suppression • Get the detector geometry, our sensor layout and the FEC assignment to sensors: all processing is based on physical sensors • TPhDetector::MakeHitArrays • takes the ZS data (string/channels) and fills it to the sensors as signal on pads row/column • stores the data in HitArray containers • TPhDetector::Calibrate • 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 • TPhDetector::MakeHitsOutOfHitArray • converts charge to energy loss (in GeV) • stores all pads with signal>0 as hits with their geometrical coordinates x,y,z • NOW you merge hits and start the TrackSeedFinder and reconstruct the tracks with Inkyu’s code

  13. First 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

  14. The calculated pedestal • Output of TPhFECDetector::PedProcess

  15. The noise before and after CM correction • Output of TPhFECDetector::PedProcess and Noise Process

  16. Zero-Suppressed signals on a good module • Output of TPhFECDetector::ZeroSuppress for MOD10003 (2 noisy channels/sensor )

  17. After making the calibration... • Output of TPhDetector::Calibrate for MOD10003

  18. After making hits we reconstruct the first tracks in 4 planes • Use 4 plane for a TPhTrackSeedFinder for a planes NA,NB,NC,ND

  19. Landau distribution in keV and reconstructed tracks • Signal for hits after hit-merging, which are associated with the track in planes NA,NB,NC,ND

  20. X-Y hit distribution for reconstructed tracks • We had one dead chip (unfortunately…)

  21. Open 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...

More Related