Detector Description in LHCb

18
Detector Description in LHCb Detector Description Workshop 22 May 2001 P. Mato / CERN

description

Detector Description in LHCb. Detector Description Workshop 22 May 2001 P. Mato / CERN. Contents. Architecture Technical Choices Current Implementation Status Plans. Converter. Converter. Application Manager. Converter. Event Selector. Transient Event Store. Data Files. Message - PowerPoint PPT Presentation

Transcript of Detector Description in LHCb

Page 1: Detector Description in LHCb

Detector Description in LHCb

Detector Description Workshop22 May 2001P. Mato / CERN

Page 2: Detector Description in LHCb

22/05/2001 LHCb Detector Description 2

Contents

Architecture Technical Choices Current Implementation Status Plans

Page 3: Detector Description in LHCb

22/05/2001 LHCb Detector Description 3

Architecture

Sub-Architecture of Gaudi– Same principles– Transient/Persistent

representations Focus on the “Physics

Algorithm” Coherent access to

“all” detector data– Geometry,

Calibration, Slow Control, etc.

Converter

Algorithm

Event DataService

PersistencyService

DataFiles

AlgorithmAlgorithm

Transient Event Store

Detec. DataService

PersistencyService

DataFiles

Transient Detector

Store

MessageService

JobOptionsService

Particle Prop.Service

OtherServices

HistogramService

PersistencyService

DataFiles

TransientHistogram

Store

ApplicationManager

ConverterConverterEvent

Selector

Gaudi Architecture

Page 4: Detector Description in LHCb

22/05/2001 LHCb Detector Description 4

Logical Structure

The basic object is a Detector Element– Identification– Navigation (tree-like)

DetElement as information center– Be able to answer any detector

related question» E.g. global position of strip#,

temperature of detector, absolute channel gain, etc.

– Placeholder for specific code» The specific answers will be coded by

“Physicists”

DetElement

*

MyDetector

Page 5: Detector Description in LHCb

22/05/2001 LHCb Detector Description 5

Algorithm Accessing Detector Data

Geometry

DetectorDataService

Algorithm

TransientDetector Store

• Manages store• Synchronization

updates

DetElement

GeometryInfo

IGeometryInfo

Calibration

ReadOut

IReadOut

ICalibration

IDetElement

MuonStation

request

request: get, update

reference

beginEvent

ConditionsDB

Other DBs

PersistencyService

ConversionService

ConversionService

ConversionService

Page 6: Detector Description in LHCb

22/05/2001 LHCb Detector Description 6

Simplified Diagram (simplified)

DetectorElement

MuonStation

GeometryInfo

IGeometryInfo

ReadOut

Hierarchy

Calibration

IReadOut

ICalibration

Specific detector description

questions from algorithms

LVolume

PVolume

DataObject

Solid

ISolid

Material

ElementMixture

IMaterial

Detector Description Geometry Material

IDetectorElementILVolume

SolidSolidSolidBox

Isotope

IPVolume

*

*

* *

Association resolved on demand

Page 7: Detector Description in LHCb

22/05/2001 LHCb Detector Description 7

Interfacing with Geant4

We integrate Gaudi with Geant4 by providing a number of “Gaudi Services” (GiGa)

The GiGaGeomCnvSvc is able to convert transient objects (DetElem, LVolume, Surfaces, etc.) into G4 geometry objects– The conversion do not require “user”

code– Flexibility in mapping Gaudi model to

Geant4 modelSingle source of Geometry information

Page 8: Detector Description in LHCb

22/05/2001 LHCb Detector Description 8

Geometry Visualization

Visualization is essential for developing the geometry– Applicable at the

different data representations

Generic geometry information conversion to 3D graphics data

GaudiLab (Onx)

TransientStore

Structure+

Geometry

VisualCnvSvc

G4Geometry

GigaCnvSvc

Display

VisualCnvSvc

Display

CnvSvc

Vis Display

Page 9: Detector Description in LHCb

22/05/2001 LHCb Detector Description 9

Conditions DB

Accessing detector conditions data (calibration, slow control, alignment, etc.) should be the same as geometry data – Time validity period– Versioning

Detector geometry may simply be a concrete type of conditions data– Store it using the same DB implementation

Page 10: Detector Description in LHCb

22/05/2001 LHCb Detector Description 10

Persistency based on XML files

XML is used as persistent representation of the Structure, Geometry and Materials (eventually also Conditions)

Mapping each C++ class into an XML element– Inheritance emulation (Generic and Specific

Detector Element)– Relationships using “Links” and symbolic names

Allow math expressions with parameters and physical units– Using expression evaluator (available in CLHEP)

Page 11: Detector Description in LHCb

22/05/2001 LHCb Detector Description 11

XML Converters

Capable of converting (one way for the time being) XML into C++ objects– Originally using SAX interface, re-

implemented with DOM (Xerces-C)– Specific converters for specific “DetElement”

Available Converters– Structure: Catalog, DetElement– Geometry: LVolume, Surface, Solids (various

shapes, boolean), PVolumes (parametric)– Materials: Isotope, Element, Mixture,

TabulatedProperty

Page 12: Detector Description in LHCb

22/05/2001 LHCb Detector Description 12

XML Files Separated XML files

– By sub-detector and data type (structure, geometry, material)

– Low coupling of developments

Versioning done using CVS

Possible migration to the “Conditions DB”

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE DDDB (View Source for full doctype...)> <DDDB version="3.1"> <detelem name="LHCb" type="passive" classID="2"> <author>Radovan Chytracek</author> <version>0.1</version> <geometryinfo lvname="/dd/Geometry/LHCb/lvLHCb" /> <detelemref href="../Velo/structure.xml#Velo" /> <detelemref href="../Rich1/structure.xml#Rich1" /> <detelemref href="../Shield/structure.xml#Shield" /> <detelemref href="../Magnet/structure.xml#Magnet" /> <detelemref href="../Tracker/structure.xml#Tracker"/> <detelemref href="../Rich2/structure.xml#Rich2" /> <detelemref href="../Spd/structure.xml#Spd" /> <detelemref href="../Prs/structure.xml#Prs" /> <detelemref href="../Ecal/structure.xml#Ecal" /> <detelemref href="../Hcal/structure.xml#Hcal" /> <detelemref href="../Muon/structure.xml#Muon" /> </detelem></DDDB>

Page 13: Detector Description in LHCb

22/05/2001 LHCb Detector Description 13

XML Detector Description Editor

Developed an graphical editor to “hide” XML to the end-users (physicists)– It understands our model (DTD)– It understands “links” and allow us to edit a

web of XML files– Generic (possible to use another DTD)– Implemented in Java (portable)

Page 14: Detector Description in LHCb

22/05/2001 LHCb Detector Description 14

XMLEditor

Page 15: Detector Description in LHCb

22/05/2001 LHCb Detector Description 15

Status of LHCb Detector Description

The DetDesc framework is functional (transient classes, XML DTD, XML converters, editor, etc)

Several sub-detectors are already describing their structure and geometry using the provided framework– Calorimeters (HCAL, ECAL,…), RICH, …

Other sub-detectors (+Magnet) coming soon Visualization based on OnX (GaudiLab) Conversion to Geant4 exists

– Ready to start tests with G4 in Gaudi

Page 16: Detector Description in LHCb

22/05/2001 LHCb Detector Description 16

Example

The complete LHCb detector geometry

Page 17: Detector Description in LHCb

22/05/2001 LHCb Detector Description 17

Example (2)

Detailed view of the VELO and RICH I

Page 18: Detector Description in LHCb

22/05/2001 LHCb Detector Description 18

Plans

Continue with the consolidation and deployment of the DetDesc framework– Most of sub-detector code still needs to be

developed. We will discover new use-cases. Study the possibility of generating XML

converters using data dictionary services Integration with Conditions DB

– Uniform access from Algorithms– Wish to format conditions data in XML