Presentation is loading. Please wait.

Presentation is loading. Please wait.

27 March 2003RD Schaffer & C. Arnault CHEP031 Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas  Authors: C.

Similar presentations


Presentation on theme: "27 March 2003RD Schaffer & C. Arnault CHEP031 Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas  Authors: C."— Presentation transcript:

1 27 March 2003RD Schaffer & C. Arnault CHEP031 Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas  Authors: C. Arnault, RD Schaffer (LAL Orsay)  The problem: Data coming from a HEP detector requires access to “detector description” to be used E.g. geometry, calibration, alignment This can be done in many ways, but ultimately this relies on a key- lookup to match the readout data with its detector description data  The chosen solution: An identification scheme which follows an hierarchical structure of the detector Support: id dictionary, various identifiers, and id “helpers” - factories/manipulators

2 27 March 2003RD Schaffer & C. Arnault CHEP032 A historical overview  Basic identifier classes available - 1998 Incorporation in first C++ event model Based on expanded form of Identifier  Migration to next generation event model - 2002 - today Deployment of an Identifier dictionary Movement to compact and hash identifiers Use of an two-level container based on hashes

3 27 March 2003RD Schaffer & C. Arnault CHEP033 The Identifier Specification  We have defined a tree-like identifier for all detectors: E.g. Silicon Strip Tracker (SCT): InnerDetector disk 0layer 0layer 1layer 2disk 1disk 2disk 1disk 0disk 2NegEndCapBarrelPosEndCapSCTPixelTRT wafer phi 0wafer phi N … strip 0strip N … wafer eta 0wafer eta N … ID levels radial phi eta Detector element level Readout channel level Detector system subsystem

4 27 March 2003RD Schaffer & C. Arnault CHEP034 The Identifier Specification (2)  Specification may identify different parts, depending upon the depth Subdetector, barrel/endcap, detector elements, readout channels  As will be seen, this has led to a three-level model used in different parts of the software SubdetectorDetector element Readout channel 1..n

5 27 March 2003RD Schaffer & C. Arnault CHEP035 Infrastructure: Basic Model ID Helper ID Dictionary DOM Parser client XML specification id wafer_id(values) pack id read parse and build Get id for a particular wafer Initialize dictionary

6 27 March 2003RD Schaffer & C. Arnault CHEP036 Infrastructure: Identifier classes  Various identifier classes only contain numbers - no strings Expanded - internal representation is vector Compact - 32 bit, created by id dictionary Hash - 32 bit, transformation of id to number 0 - N elements Allows constant-time table look-up

7 27 March 2003RD Schaffer & C. Arnault CHEP037 Infrastructure: Range classes  Specification “capture” Range class contains the allowed values at each level for a region of identifiers  Each level: min/max or enumeration (plus wild-carded min/max)  2 / -2, 2 / 1 / -6 : 6 / 0 : 55 / 0 : 767 MultiRange class full specification for a part of detector (vector ) Both provide iterators over ids match(id) - id validity check

8 27 March 2003RD Schaffer & C. Arnault CHEP038 Infrastructure: Identifier dictionary  Features: Defines logical hierarchy, providing a name for each level Specifies the non-overlapping regions of valid identifier values E.g. each barrel layer is a different region because N  changes  Primary specification is in XML files => DOM parser builds IdDictDictionary in memory  Dictionary operations: Can perform various queries on dictionary Extract MultiRange object for a subset of the specification Pack/unpack identifiers (expanded compact 32 bit)

9 27 March 2003RD Schaffer & C. Arnault CHEP039 Infrastructure: Helper classes  The client interface to the ID dictionary Each detector system has an ID helper class There is a common implementation base class Create/decode compact ids Defines which ids can be created E.g. detector element or readout channel Converts compact id hash id Provides iterators over all identifiers Can provide (limited) access to neighbour identifiers Dictionary contains previous/next, min/max, wrap around

10 27 March 2003RD Schaffer & C. Arnault CHEP0310 Infrastructure: Helper classes (2)  Part of interface of PixelID helpers Identifier wafer_id ( int barrel_ec, int layer_disk, int phi_module, int eta_module ) const; Identifier pixel_id ( const Identifier& id, int phi_index, int eta_index) const; int barrel_ec (const Identifier& id) const; int layer_disk (const Identifier& id) const; int phi_module (const Identifier& id) const; int eta_module (const Identifier& id) const; int phi_index (const Identifier& id) const; int eta_index (const Identifier& id) const; ; PixelID

11 27 March 2003RD Schaffer & C. Arnault CHEP0311 More on compact and hash ids  Dictionary packs level values in an optimized binary representation Want to fit all readout channels into 32-bit id Maintaining simple decoding of each of the different levels  I.e. simple “mask and shift” operations Pixel readout channel id requires some special treatment (36 bits) Use generic packing algorithm takes into account non- overlapping sub-regions Packed id stores indices - level values kept in dictionary  Compact id can be used as a key in a binary look-up

12 27 March 2003RD Schaffer & C. Arnault CHEP0312 More on compact and hash ids (2)  The term “hash id” is not quite exact The dictionary “knows” the extent of values for any subset of compact identifiers This can be used to convert a subset into a sequence of 0 to N-1 Binary look-up becomes constant-time look-up Look-up table size is known and minimized  The hash id allows “pointer-like” navigation while “decoupling” different parts of the model

13 27 March 2003RD Schaffer & C. Arnault CHEP0313 Impact of identifiers on the data model  Introduced a two-level container used for event data: Currently being used in High Level Trigger studies for data access for reconstruction within region-of-interest (ROI) ROI from LVL1 trigger =>  => hash ids => collections to decode from online byte-stream  Integrated in the triggering of the Athena conversion services Used in offline reconstruction for data access within roads ContainerCollection T: Digit 1..n detElem Hash id Readout channel id

14 27 March 2003RD Schaffer & C. Arnault CHEP0314 Impact of identifiers on the data model (2)  Connection to detElem transformation matrices Alg DetDescrMgr Descriptor DetDescrElement (position) 1 1 0..* 1..* IdHelper 1 DetNode PhyVol children parent position Detector Element hierarchy GeoModel node hierarchy 1..* DetDescr interface Alg root 1 1..* 1 Detector Store Hash id

15 27 March 2003RD Schaffer & C. Arnault CHEP0315 Summary  We have set up an hierarchical identification system reflecting the structure of the detectors  Used to identify detector elements and readout channels  The identification specification is captured in memory in an “identifier dictionary” Fed by an XML description  Various forms of identifiers are being used: Compact 32-bit identifiers Hash ids provide constant-time look-ups

16 27 March 2003RD Schaffer & C. Arnault CHEP0316 Summary (2)  Use cases for identifiers include: The connection of event data to detector description Access to event data within regions-of-interest  A new iteration of the definition of our event model is being completed and incorporate for a first time compact and hash ids  The usefulness of the identifiers will be understood better in the coming weeks as studies are performed for the High Level Trigger Technical Design Report


Download ppt "27 March 2003RD Schaffer & C. Arnault CHEP031 Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas  Authors: C."

Similar presentations


Ads by Google