1 / 16

Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas

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

ronny
Download Presentation

Use of a Generic Identification Scheme Connecting Events and Detector Description in Atlas

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. 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 RD Schaffer & C. Arnault CHEP03

  2. 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 RD Schaffer & C. Arnault CHEP03

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

  4. 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 1..n 1..n Subdetector Detector element Readout channel RD Schaffer & C. Arnault CHEP03

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

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

  7. 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<Range>) • Both provide • iterators over ids • match(id) - id validity check RD Schaffer & C. Arnault CHEP03

  8. 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) RD Schaffer & C. Arnault CHEP03

  9. 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 RD Schaffer & C. Arnault CHEP03

  10. Infrastructure: Helper classes (2) • Part of interface of PixelID helpers ; PixelID 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; RD Schaffer & C. Arnault CHEP03

  11. 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 RD Schaffer & C. Arnault CHEP03

  12. 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 RD Schaffer & C. Arnault CHEP03

  13. 1..n 1..n Container Collection T: Digit 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 detElem Hash id Readout channel id RD Schaffer & C. Arnault CHEP03

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

  15. 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 RD Schaffer & C. Arnault CHEP03

  16. 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 RD Schaffer & C. Arnault CHEP03

More Related