Post on 31-Jan-2016
description
transcript
1
The status of the SDD detectorThe status of the SDD detector- OFFLINE -- OFFLINE -
Francesco Prino INFN Sezione di Torino
ALICE CLUB – October 14th 2008
2
Raw Data FormatRaw Data Format
3
Raw Data FormatRaw Data Format
Empty event size from the CarlosRX acquisition card: Headers+Footers (6 words x 32 bit x Nmodules): 6 kB/event End Of Row Summary (21 bit x 512 anodes x Nmodules): 350 kB/event Fifo words: 160 kB/event Total: 516 kB/event
Two solutions to reduce data size have been investigated: HLT SOLUTION: decode the data from the CarlosRX in the HLT
PCs and write them in a different format Tested and validated in september 2008.
HARDWARE SOLUTION: decode the data in the FPGAs of the CarlosRX and write them in a different format
Under investigation
4
New (compressed) data formatNew (compressed) data formatBase requirements: Reduce the data size by a factor 20 or more Interface with the SDD Cluster Finder in the same way as
the previous format In order to minimize the changes in the reconstruction software
Proposed solution: 1 data word (32 bit) for each firing cell (anode/time bin) 1 control word (32 bit) at the end of the data of each
module (needed by the Cluster Finder) 1 jitter word (32 bit) at the end of each DDL to store the
JITTER
Empty event size: DATA: 4 Bytes * number of cells firing (≈4000) CONTROL: 4 Bytes * 288 (24 DDL * 12 Carlos per DDL) JITTER: 4 Bytes * 24 (DDLs) Total: ≈ 17 kB/event
5
ImplementationImplementationCode modifications (all in v4-15-Release): New class AliITSCompressRawDataSDD
Used by the HLT to decode data and encode in the new format New class AliITSRawStreamSDDCompressed
Read and decode data written in the new format Possibility to write the simulated raw data in the new format
Tested and validated at P2, event rate ≈ 600-800 Hz Example Plots from test runs: event 25 from run 62157 with
HLT mode B (both data formats available in the raw data)
6
SDD Calibration: DAsSDD Calibration: DAs
7
SDD Calibration runs and DAsSDD Calibration runs and DAs3 DAs to extract SDD calibration parameters
Run Type: PEDESTAL, DA: ITSSDDBASda.cxx Analyzes special SDD calibration runs taken without zero
suppression during LHC fill periods (every ≈24h) Provides: Baselines, Noise, Common Mode Corrected
Noise, Noisy anodes
Run Type: PULSER, DA: ITSSDDGAINda.cxx Analyzes special SDD calibration runs taken with Test Pulse
signal to front-end electronics during LHC fill periods (every ≈24h)
Provides: Anode gain, Dead anodes
Run Type: INJECTOR, DA: ITSSDDINJda.cxx Analyzes injector events collected every ≈ 10 min. during
physics runs Provides Drift speed (anode dependent)
8
Pedestal runsPedestal runsUsed to measure baselines noise (raw and common
mode corrected)
for each anode
9
Anode statistics from pedestalAnode statistics from pedestal
10
Pedestal results vs. timePedestal results vs. time
11
Pulser runsPulser runsUsed to measure gain for each anode sending Test Pulse to the input of front-end electronics
Test Pulse Signal
12
Anode statistics from pulserAnode statistics from pulser
13
Pulser results vs. timePulser results vs. time
ADC sampling set at 20 MHz
14
Injector runsInjector runsUsed to measure drift speed 33 (1 each 8
anodes) x 3 injectors on each half module
Drift speed extracted from measured drift time vs. known drift distance fit
Drift speed depends on anode coordinate Drift speed depends
on temperature: vdrift = eE , eT-2.4
Heat sources (voltage dividers) on the edges
15
Drift speed vs. moduleDrift speed vs. moduleAverage drift speed over 60 events (1 minute)Error bar = drift speed RMS Fluctuations in 1 minute below 0.15% for most of the modules
16
Temperature vs. moduleTemperature vs. moduleDrift speed depends on Dopant concentration Temperature:
4.2)(, KTEv eedrift 4.2
1
29315.293)(
K
drift
e
EvKT
17
Drift speed stabilityDrift speed stabilityFrom run 24906 collected with muon trigger about 5 triggers/minute, 200 analyzed events from 1 raw data
file
Drift speed constant on a time scale of 1 hour of data taking
Timestamp=1204588292Mon, 03 Mar 2008 23:51:32 GMT
Timestamp=1204592726Tue, 04 Mar 2008 01:05:26 GMT
18
Drift speed vs. time (I)Drift speed vs. time (I)
Layer 3 was offless heating
Layer 3, Ladder 6, Mod 275, Anode 200
Layer 4, Ladder 14, Mod 428, Anode 200
July 11th 2008 October 14th 2008
19
Drift speed vs. time (I)Drift speed vs. time (I)
Layer 3, Ladder 6, Mod 275, Anode 200
July 11th 2008 October 14th 2008
20
SDD Calibration: OCDB filesSDD Calibration: OCDB files
21
SDD Calibration objects (I)SDD Calibration objects (I)
DDLMapSDD One AliITSDDLModuleMapSDD object with the DDL map Contains: conversion from DDL/Carlos (hardware)
numbers to aliroot module number Updated: at the beginning of each data taking period
(last update June 2008)
HLTforSDD One AliITSHLTforSDD object with the HLT mode which
defines the data format Contains: flag for HLT mode Updated: by the preprocessor at each PHYSICS run
22
SDD Calibration objects (II)SDD Calibration objects (II)CalibSDD One array of 260 AliITSCalibrationSDD objects (one for
each SDD detector) with the calibration parameters used in both simulation and reconstruction
Contains: baselines, noise and gain for each anode + flag for bad module, bad chip, bad anode + flag for zero suppression and sampling frequency
Updated: by the preprocessor after each PEDESTAL+PULSER runs
RespSDD One AliITSresponseSDD object with calibration
parameters (common to all the 260 SDD detectors) used only in reconstrucion
Contains: time offset, conversion factor ADCkeV Updated: after offline analysis of reconstructed points
23
SDD Calibration objects (III)SDD Calibration objects (III)DriftSpeedSDD One array of 520 AliITSDriftSpeedArraySDD objects (one
for each drift side of the 260 SDD detectors) Contains: drift speed (parametrized) vs. anode number Updated: by the preprocessor after each INJECTOR run.
In the future also at each PHYSICS runs using the dedicated injector triggers
DCS data points (only for reference) Contains:
260 HV values 1 per module 260 MV values 1 per module 520 temperature values 1 per hybrid + Status values
Updated: every 2 minutes only if the value exits from confidence band around last stored value
Calculate drift field
backup estimation of drift speed
24
SDD Calibration objects (IV)SDD Calibration objects (IV)MapTimeSDD: One array of 520 AliITSMapSDD
objects (one for each drift side of the 260 SDD detectors)
Contains: matrices with systematic deviations on the drift time coordinate of the reconstructed points
Used to correct for systematic effects due to non-constant drift field or dopant inhomogeneities
Measured during the testing phase for all SDD modules by means of laser scans
Updated: never (static objects)
25
Offline QAOffline QA
2626
SDD Quality Assurance (& DQM)SDD Quality Assurance (& DQM)
Approach: same code for Online & Offline, in AliRoot Online: amoreAgent as wrapper Offline: AliRoot standard QA
Same classes
Status Online DQM
Successfully tested during the cosmic run Being upgraded (optimisation, long term stability)
Offline QA DataMaker(Sim/Rec): generates distributions Checker: test implementation, which will evolve in parallel to the understanding
of the detector behaviour/performance– If possible, it will be self-consistent (i.e., no use of Reference distributions)
Plans upgrade online iteratively upgrade QA Checker iteratively
27
Status of the Offline QAStatus of the Offline QAHistograms in expert mode: 1081 from raw data + 8 from RecPoints
Histograms for the offline shifter: 2 from raw data (Z-phi occupancy x 2 layers) 4 from Rec Points (Z-phi + charge x 2 layers)
Offline - ESD
Offline - Digits
Offline - RecPoints
Offline - RAW
Online - RAW
Comparison with ref. data
Warnings
Code in SVN
Code implementati
on
Definition of
monitored objects
SOURCE
Online - RecP
READY
IN PROGRESS
NOT STARTED
28
Example plots from Offline QAExample plots from Offline QAZ-phi raw occupancy from beam dump
Module occupancy from noise run
RecPoint transverse coordinates
29
SDD Local ReconstructionSDD Local Reconstruction
30
SDD Cluster FinderSDD Cluster FinderApply further noise suppression same algorithm used on-line, with thresholds set according to
the measured noise of each anode (from OCDB/ITS/Calib/CalibSDD)
Parameters to be tuned: Charge conversion ADCkeV factor Time Zero = time measured for particles with zero drift distance
without SDD noise correction with SDD noise correction
run 37603 ev. 126
31
Charge calibrationCharge calibrationDistribution of charge of clusters from cosmic tracks Fitted with a convolution of Landau+Gaussian
Possible to extract with good precision the conversion factor from ADC units to keV Using the knowledge of the most probable value for
energy deposition of a MIP in 200 mm of silicon (=82 keV)
32
Charge vs. drift distance (I)Charge vs. drift distance (I)Collected charge depends on drift distance Charge loss due to trapping of electrons in the silicon ? Or effect of the zero suppression algorithm which cuts the
tails of the clusters ?
33
Two hints that the effect comes from zero suppression: Simulated data (where
the trapping effects are not there) show the same slope of charge vs. drift distance as the cosmic data
In the laser test data, taken without zero suppression, the cluster charge is independent of the drift distance
Charge vs. drift Charge vs. drift distance (II)distance (II)
34
Time Zero calibrationTime Zero calibrationTwo strategies have been developed on simulated data
Minimum drift time Time offset extracted from time distribution of all the measured
clusters Advantages:
Time directly measured, no need to use calibration quantities (e.g. drift speed) SDD standaalone measurement, no need to use information from other layers
Disadvantages: Large statistics of RecPoints required
NOTE: time offset as a first approximation is equal for all modules a part from simple corrections for module dependent differences on cable lengths which can be easily introduced
Analysis of track-cluster residuals Time offset extracted by exploiting the opposite sign of residuals in
the two detector sides Advantages:
Less statistics required Disadvantages:
Requires use of drift speed and correction maps Requires track reconstruction in the SPD(SSD), might be some bias from SPD(SSD)
mis-alignment?
35
Time Zero from minimum drift timeTime Zero from minimum drift timeVery simple idea: particles crossing the detector on the anodes have drift distance = 0 , so they should be measured at time = 0. The minimum drift time observed (t0 > 0) is the time offset
which should be subtracted from measured drift time Ideal case:
Real case: vDRIFT anode and module dependentDrift Time (ns)
t0 tMAX=t0 + dMAX / vDRIFT
where dMAX = max. drift path = 3.5 cm
36
Time Zero from minimum drift timeTime Zero from minimum drift timeSimulated statistics = 10000 clusters
ZOOM in the t0 region (bin size = 5 ns)
Correct value for offset = 54.3 ns
Simulated data
37
Time Zero from residualsTime Zero from residuals
UP HALF
DOWN HALF
ANODES
ANODES
INT
EG
RA
TE
D D
IVID
ER
INT
EG
RA
TE
D D
IVID
ER
DRIFT
Local X coordinate from the drift path L calculated as: L = ( tMEAS –t0 ) vDRIFT
a bad calibrated time offset would lead to overestimate / underestimate the drift path on both sides and therefore to residuals XMEAS – XTRUE of opposite sign in the two sides
True position
Reco position
38
Time Zero from residualsTime Zero from residualsCalculate the residuals between track crossing point and cluster coordinates separately for the two drift sides
peak distance = 2vDRIFT t0
In agreement with estimation from minimum drift time
ns8.545.62
712
20
DRIFTv
dt
Simulated data
39
Time Zero from cosmic dataTime Zero from cosmic dataMethod of minimum drift time not applicable Reason: the delay applied to the L0 trigger in the acquisition chain
was slightly too large (by about 40 ns) and therefore the particles crossing close to the anodes are out of the acquired time window
Results from the track-cluster residuals: Track fitted in SPD and SSD, residuals calculated in SDD Difference between Time Zero in side A and C (partly) due to
different cable lengths
Side A Side C
40
ConclusionsConclusionsDA and preprocessor performed well during the cosmic data taking Only minor modifications are expected, essentially related to
the introduction of the INJECTOR triggers in the PHYSICS runs
Detector Calibration quantities extracted from online DAs (noise, gain, drift speed) are under control no further offline processing expected
QA and online DQM implemented and tested Minor upgrades and checker ready for the next data taking
Presently working on reconstructed clusters to calibrate the “second-step” parameters Charge calibration and dependence on drift speed expected
to be addressed in the next 4-6 weeks thanks to the cosmic data that we are collecting in Turin on few modules without zero suppression
Time Zero issue being investigated. Needed for the alignment procedures
41
BackupBackup
42
Raw Data FormatRaw Data FormatSDD acquisition chain: 260 Modules, each reading 512 anodes x 256(128) time bin
cells 260 Carlos cards (1 for each module, inside the ITS)
Apply Zero Suppression, data format
24 CarlosRX cards (DDLs) each treating the data of 12 Carlos Each CarlosRX has 4 FIFOs each treating the data of 3 Carlos
Control words written by CARLOS in the raw data: 21 bit of End of Row summary for each anode
260(modules)* 512 (anodes)*21 bit = 2795 kbit/event = 350 kBytes/event
3 Headers (32 bit words) for each Carlos 3 Footers (32 bit words) for each Carlos
246(modules) * 6 * 32 = 47 kbit/event = 6 kBytes/event
Other words are added by the CarlosRX to manage the (frequent) changes of FIFO transmitting the data
43
Carlos+CarlosRX data formatCarlos+CarlosRX data formatHeaders (red: FIFO words, blu: Carlos Headers, black: data words):
64) 30000010 30000012 30000008 20018006 | ...0 ...0 ...0 ... |80) 20018006 20018006 f3e01810 e0044b94 | ... ... .... .K.. |96) 30000013 30000009 20018006 20018006 | ...0 ...0 ... ... |112) 20018006 3000000a 20018006 20018006 | ... ...0 ... ... |128) 20018006 87200439 c7208439 3000000b | ... 9. . 9. . ...0 |
Data (red: FIFO words, black: data words): 592) 30000001 b98221c8 f98221c8 30000011 | ...0 .!.. .!.. ...0 | 608) b98021c8 f98221c8 30000003 b98021c8 | .!.. .!.. ...0 .!.. | 624) f98021c8 30000004 b98221c8 f98221c8 | .!.. ...0 .!.. .!.. | 640) 30000012 30000008 a21c8010 ce408873 | ...0 ...0 .... s.@. | 656) 30000006 821c8010 c21c8010 30000007 | ...0 .... .... ...0 |
Footers (red: FIFO words, blu: Carlos Footers, green: CarlosRX footers, black: data words):
27552) 30000008 c0001044 3fffffff 3fffffff | ...0 D... ...? ...? |27568) 3fffffff 30000006 3fffffff 3fffffff | ...? ...0 ...? ...? |27584) 3fffffff 3f1f1f1f 3f1f1f1f 3f1f1f1f | ...? ...? ...? ...? |27600) 30000013 3000000a 3fffffff 3fffffff | ...0 ...0 ...? ...? |27616) 3fffffff 3f1f1f1f 3f1f1f1f 3f1f1f1f | ...? ...? ...? ...? |
44
New (compressed) data formatNew (compressed) data format
Data word:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Control bit
Carlos identifier(0-11)
Detector side(0-1)
Anode number(0-255)
Time bin number(0-255)
ADC counts(10 bits)