the pixel detector bytestream converter m.cobal (1), l. santi (2) (1) university of udine and infn...

17
The Pixel Detector The Pixel Detector ByteStream Converter ByteStream Converter M.Cobal M.Cobal (1) (1) , L. Santi , L. Santi (2) (2) (1) (1) University of Udine and INFN Trieste, Italy University of Udine and INFN Trieste, Italy (2) (2) University of Trieste and INFN Trieste, University of Trieste and INFN Trieste, Italy Italy

Upload: sheena-davidson

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel Detector The Pixel Detector ByteStream ConverterByteStream Converter

M.CobalM.Cobal(1)(1), L. Santi, L. Santi(2)(2)

(1)(1) University of Udine and INFN Trieste, ItalyUniversity of Udine and INFN Trieste, Italy

(2)(2) University of Trieste and INFN Trieste, ItalyUniversity of Trieste and INFN Trieste, Italy

Page 2: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

DataFlow for the Pixel DetectorDataFlow for the Pixel Detector

Future Data Flow for HLT/Offline: RawDataObject ReconstructionInputObject

G3/G4 Digits ROD Input Digits RDO RIO

ByteStream Offline Release 5.0.0 goal:

G3/G4 Digits (Zebra) RD event RDOZebra converter

ByteStream

Page 3: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

Definition of ByteStreamDefinition of ByteStream

ByteStream == file containing events in a format “as if it was coming from the real electronics of the experiment”.

Useful for LVL2 Trigger and Event Filter studies: data flow, timing, unpacking etc.

To build the ByteStream: need:

The ROD data are structured as a block of ROD words, each word contains a hit

A map gives the correspondence between each detector element (modules/pixels) in the ATLAS geometry (Off-line Identifier) and its position and number in the read-out tree

C++ code converts data to/from RawDataObjects

Page 4: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

Definition of ByteStreamDefinition of ByteStream

ROD fragment:

In Header: Source ID• Subdetector ID, ROB ID,....

Data element (RawDataWords array + Status elements array) Trailers

Pixels: From Header:

• Subdetector ID: 4 (Barrel, Forward A, Forward C, B-Layer)

• ROB ID: 120 (108 in barrel)

From RawDataWord: |mo|*|fe|row|col|tot

Page 5: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

Definition of RawDataObjectDefinition of RawDataObject Uncalibrated RawData converted into an object representing a set

of readout channels. Historically: Digit. Offline Identifiers: Offline Identifiers: DEDE and and RDORDO levels levels– PixelPixel (1744 DE): (1744 DE):

barrel(endcap)/layer(disk)/phi_module/eta_modulebarrel(endcap)/layer(disk)/phi_module/eta_module//phi_index/eta_indexphi_index/eta_index

ATL-SOFT-2001-004 Definition of Offline Readout Identifiers for the ATLAS detector

Veronique’s slides

Page 6: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

IdentifiableContainer <CollectionT,

InDetDetElemHash>

InDetRawData __________

-m_rdoId : Identifier #m_word : unsigned int

__________ +identify : Identifier +type:std::string

__________ word: unsigned int

Identifier

Identifier32Identifiable

HashIdentifier

Plottable

DataVector

InDetRawDataCollection __________

-m_id: const Identifier __________

+identify:Identifier +type:std::string

InDetRawDataContainer

CollectionT: class

RawDataT: class

PixelRDORawData __________ __________

+type:std::string __________

toT: int

Pixel1RawData __________ __________

+type:std::string __________

toT: int

SCT_RDORawData __________ __________

+type:std::string __________

groupSize: int

TRT_RDORawData __________ __________

+type:std::string __________

SCT1_RawData __________ __________

+type:std::string __________

groupSize: int

TRT_LoLumRawData __________ __________

+type:std::string __________

• Implementation Choices:

•Templates for Container, Collection

•Inheritance Tree

•DataVectorVero

nique’s sli

des

Page 7: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

ConvertersConverters

RDO to/from ByteStream Converters InnerDetector/InDetEventCnv/InDetRawDataByteStream

• Mapping from offline to online• Making use of Karr et al. previous converter work• Updates for DC1 geometry (e.g.: new Pixel mapping)• Collection to ROBID, channel to online channel ID (ROD)

• AlgTool for converting RDO Container to BS• AlgTool for converting BS to RDO collection

Making use of ByteStreamCnvSvc Following eFormat library 2.2 Following RDOs ordering when Writing BS

Provide jobOptions for: Creating RDOs, Writing BS, Reading BS

Page 8: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

Release 5.0.0Release 5.0.0

As requested, we delivered the Pixel ByteStream converter code for the offline Release 5.0

Pixel detector alone and together with the other two ID sub- systems tested: it works!

Page 9: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

/InnerDetector/InDetEventCnv/InDetRawDataByteStream/InDetRawDataByteStream

PixelHid2RESrcID.h PixelRC2Bytes.h PixelRawCollByteStreamTool.h (read BS - write RDO) PixelRawCollByteStreamTool.h (read BS - write RDO) PixelRawContByteStreamCnv.h (read RDO - write BS) PixelRawContByteStreamTool.h (read RDO -write BS)

Page 10: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

/InnerDetector/InDetEventCnv/InDetRawDataByteStream/src

PixelHid2RESrcID.cxx PixelRC2Bytes.cxx PixelRawContByteStreamCnv.cxx PixelRawContByteStreamTool.cxx

Page 11: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

/InnerDetector/InDetEventCnv/InDetRawDataByteStream/share

PixelBarrelMUR2RESrcIdMapping.dat half mur rob ros

PixelBarrelMUR2TEMapping.dat mur layer phi module layer eta mod min eta mod max eta mod half layer eta mod num phi mod

PixelEndcapMUR2RESrcIDMapping.dat PixelEndcapMUR2TEMapping.dat

Page 12: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

A Module

F E D C B A 9 8

0 1 2 3 4 5 6 7

(0,0)

(0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0)(0,0)

(0,0)(0,0)(0,0)(0,0)(0,0) (0,0)(0,0)

17,159

17,159

17,159

17,15917,15917,159

17,15917,159 17,159 17,159 17,159 17,159

17,159 17,159 17,159 17,159

Each pixel is identified by a row and a column number. Rows go from 0 to 159 Columns go from 0 to 17 B-Layer, slightly different structure: columns from 0 to 23. (btw in final design all modules will be the same)

Page 13: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

Barrel 3 layers: the inner one – B-layer or layer 0 –, layer 1 and layer 2. All staves in the Barrel have the same structure (13 modules) Each module contains 16 chips.

One stave: two semi-staves (one for each half-barrel). In one semi-stave there can be six or seven modules.

F, 0 at more

positive z

8, 7 at more

negative zSeen from positive z side

Page 14: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

BARREL

B-Layer 22 semi-staves: each one read by one ROD total of 44 RODs RODs numbering starts from module on x-axis (ROD1) continue in the anti clock-wise direction, until ROD22.

Layer 1 38 semi-staves: two read by one ROD total of 38 RODs

Layer 2 52 semi-staves: four read by one ROD26 total of 26 RODs.

Page 15: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

The Pixel ByteStream ConverterThe Pixel ByteStream Converter

END-CAPs

Each end-caps made of 3 disks. Each disk is divided in 8 sectors (of 6 modules)One disk is read by 2 RODs total of 12 RODs

F, 00F

8, 7

Page 16: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

Future PlansFuture Plans

Online to offline mapping needs to be optimised (e.g. don’t use ascii files for maps) Needs agreement in Detector Description

Mapping to ROCs still to be done

Remove RD event format from the chain (well known problems inherited from Geant3)

Page 17: The Pixel Detector ByteStream Converter M.Cobal (1), L. Santi (2) (1) University of Udine and INFN Trieste, Italy (2) University of Trieste and INFN Trieste,

ThanksThanks

Many thanks to:

Véronique Boisvert (HLT and ID) and Hong Ma (LAr)

but also to:

Nicole (pixels), for helping in our first approaches to cvs and cmt

Paolo, Kevin, Dario, Sasha (pixels), for helping in the Pixel mapping

Sasha (tiles), for many suggestions