The status of the SDD detector - OFFLINE -

44
1 The status of the SDD detector The status of the SDD detector - OFFLINE - - OFFLINE - Francesco Prino INFN Sezione di Torino ALICE CLUB – October 14th 2008

description

The status of the SDD detector - OFFLINE -. Francesco Prino INFN Sezione di Torino. ALICE CLUB – October 14th 2008. Raw Data Format. Raw Data Format. Empty event size from the CarlosRX acquisition card: Headers+Footers (6 words x 32 bit x Nmodules): 6 kB/event - PowerPoint PPT Presentation

Transcript of The status of the SDD detector - OFFLINE -

Page 1: The status of the SDD detector - OFFLINE -

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

Page 2: The status of the SDD detector - OFFLINE -

2

Raw Data FormatRaw Data Format

Page 3: The status of the SDD detector - OFFLINE -

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

Page 4: The status of the SDD detector - OFFLINE -

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

Page 5: The status of the SDD detector - OFFLINE -

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)

Page 6: The status of the SDD detector - OFFLINE -

6

SDD Calibration: DAsSDD Calibration: DAs

Page 7: The status of the SDD detector - OFFLINE -

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)

Page 8: The status of the SDD detector - OFFLINE -

8

Pedestal runsPedestal runsUsed to measure baselines noise (raw and common

mode corrected)

for each anode

Page 9: The status of the SDD detector - OFFLINE -

9

Anode statistics from pedestalAnode statistics from pedestal

Page 10: The status of the SDD detector - OFFLINE -

10

Pedestal results vs. timePedestal results vs. time

Page 11: The status of the SDD detector - OFFLINE -

11

Pulser runsPulser runsUsed to measure gain for each anode sending Test Pulse to the input of front-end electronics

Test Pulse Signal

Page 12: The status of the SDD detector - OFFLINE -

12

Anode statistics from pulserAnode statistics from pulser

Page 13: The status of the SDD detector - OFFLINE -

13

Pulser results vs. timePulser results vs. time

ADC sampling set at 20 MHz

Page 14: The status of the SDD detector - OFFLINE -

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

Page 15: The status of the SDD detector - OFFLINE -

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

Page 16: The status of the SDD detector - OFFLINE -

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

Page 17: The status of the SDD detector - OFFLINE -

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

Page 18: The status of the SDD detector - OFFLINE -

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

Page 19: The status of the SDD detector - OFFLINE -

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

Page 20: The status of the SDD detector - OFFLINE -

20

SDD Calibration: OCDB filesSDD Calibration: OCDB files

Page 21: The status of the SDD detector - OFFLINE -

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

Page 22: The status of the SDD detector - OFFLINE -

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

Page 23: The status of the SDD detector - OFFLINE -

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

Page 24: The status of the SDD detector - OFFLINE -

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)

Page 25: The status of the SDD detector - OFFLINE -

25

Offline QAOffline QA

Page 26: The status of the SDD detector - OFFLINE -

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

Page 27: The status of the SDD detector - OFFLINE -

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

Page 28: The status of the SDD detector - OFFLINE -

28

Example plots from Offline QAExample plots from Offline QAZ-phi raw occupancy from beam dump

Module occupancy from noise run

RecPoint transverse coordinates

Page 29: The status of the SDD detector - OFFLINE -

29

SDD Local ReconstructionSDD Local Reconstruction

Page 30: The status of the SDD detector - OFFLINE -

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

Page 31: The status of the SDD detector - OFFLINE -

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)

Page 32: The status of the SDD detector - OFFLINE -

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 ?

Page 33: The status of the SDD detector - OFFLINE -

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)

Page 34: The status of the SDD detector - OFFLINE -

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?

Page 35: The status of the SDD detector - OFFLINE -

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

Page 36: The status of the SDD detector - OFFLINE -

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

Page 37: The status of the SDD detector - OFFLINE -

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

Page 38: The status of the SDD detector - OFFLINE -

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

Page 39: The status of the SDD detector - OFFLINE -

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

Page 40: The status of the SDD detector - OFFLINE -

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

Page 41: The status of the SDD detector - OFFLINE -

41

BackupBackup

Page 42: The status of the SDD detector - OFFLINE -

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

Page 43: The status of the SDD detector - OFFLINE -

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

Page 44: The status of the SDD detector - OFFLINE -

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)