22
LHCb Simulation Tutorial CERN, 21 st -22 nd February 2012 0110100111 0110101000 10101010 110100 B00le Detector Description in LHCb

Detector Description in LHCb

Embed Size (px)

DESCRIPTION

Detector Description in LHCb. Introductions to Gauss and GEANT4 in previous lectures Goal: To simulate the performance of the real detector Simulation involves, among other things, creating the geometry and material descriptions in the database. Detector Simulation. - PowerPoint PPT Presentation

Citation preview

Page 1: Detector   Description in  LHCb

LHCb Simulation Tutorial

CERN, 21st-22nd February 2012

0110100111011010100010101010110100B00le

Detector Description in LHCb

Page 2: Detector   Description in  LHCb

Detector SimulationIntroductions to Gauss and GEANT4 in previous lectures

Goal: To simulate the performance of the real detector

Simulation involves, among other things,

creating the geometry and material descriptions in the database.

2Simulation Tutorial - Feb. 2012

Page 3: Detector   Description in  LHCb

Outline General Overview of detector Description

Concept of Volumes and Detector Elements

Geometry visualization

Considerations for Design

3Simulation Tutorial - Feb. 2012

Page 4: Detector   Description in  LHCb

Detector Description Architecture

Sub-Architecture of GaudiSame principlesTransient/Persistent representations

Focus on the “Physics Algorithm”

Access to Detector Transient Store

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

Simulation Tutorial - Feb. 2012 4

Page 5: Detector   Description in  LHCb

Detector DescriptionLogical Structure : Gaudi (LHCb)

Breakdown of detectors

Identification

Geometry Structure : Gaudi(LHCb)

copied to GEANT4

Hierarchy of geometrical volumes

LogicalVolumes (unplaced dimensioned shape)

PhysicalVolumes (placed volume)

Other detector data : Gaudi (LHCb)

Calibration, Alignment, Readout maps, Slow control, etc.

Simulation Tutorial - Feb. 2012 5

Page 6: Detector   Description in  LHCb

Two Hierarchies

DetElement

LHCb

Detector Description Geometry

DetElement

LHCb

DetElement

Tracking

DetElement

Calo

DetElement

HCAL

DetElement

ECAL

DetElement

Module2

DetElement

Module1

LVolume

Experiment

PVolume PVolume PVolume

LVolume

ECAL

LVolume

HCAL

LVolume

RICH

PVolume PVolume

LVolume

HCALModule

Logical structure Geometry structure

Simulation Tutorial - Feb. 2012 - 6

Page 7: Detector   Description in  LHCb

Logical Volume: Contains the info of the Shape and Material of a Volume

Physical Volume : Contains the placement info of the Logical Volume ie. Physical location and orientation of a Volume.

Logical Volume also has (a ) the information regarding which other physical volumes are contained in that Volume. (b ) the graphics attributes needed for visualization. ( c ) user defined parameters needed for tracking, electromagnetic field. ( d ) flags to indicate if the volume is a sensitive detector ( to create hits)

More info: LHCb-2004-020

The syntax for creating these objects in the DB : Definition in DTD files. One can use the current DB as an example.

Volumes

7Simulation Tutorial - Feb. 2012

Page 8: Detector   Description in  LHCb

Shapes:

http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04.html

CSG (Constructed Solid Geometry) Solids, BREPS (Boundary Represented Solids) , Tessellated Solids

Simple shapes,. Easy to use and gives better performance compared to other Types. Geant4 has even more CSG shapes. We use the ones available in LHCb.

BREPS: Volumes defined by the description of their boundaries Tessellated Solids: Volumes defined by a number of facets. Useful for importing complex shapes created by CAD systems.More Info:

Boolean operations: Combination of two solids. (Subtraction, intersection ,union etc). For performance reasons unions are avoided in general. Also Boolean operations with disjoint solids or those that share the surfaces to be avoided.

This tutorial: CSG solids , Boolean operations . Use shapes available in LHCb.

Shapes: Attributes to Volumes

8Simulation Tutorial - Feb. 2012

Shapes in LHCb ( CSG ) : Box, Tubs, Cons, Trd, Sphere etc.

More info: LHCb-2004-018

Geant4 also has:

Page 9: Detector   Description in  LHCb

Logical StructureThe basic object is a Detector Element

Identification

Navigation (tree-like)

DetectorElement is an 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 can be coded

by “Physicists”

DetectorElement objects are shared by all Algorithms

DetElement

*

MyDetector

Simulation Tutorial - Feb. 2012 9

Page 10: Detector   Description in  LHCb

TransientDetector Store

Algorithm Accessing Detector Data

Geometry

DetectorDataService

Algorithm

• 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

• More about detector elements in the following lecture

Simulation Tutorial - Feb. 2012 - 10

Page 11: Detector   Description in  LHCb

Transient Store Organization

Standard Gaudi Transient Store

“Catalogs” of Logical Volumes and Materials

“Structure” as a tree

All elements identified with names of the form: /xxx/yyy/zzzz

Simulation Tutorial - Feb. 2012 11

Page 12: Detector   Description in  LHCb

Persistency based on XML filesXML is used as persistent representation of the Structure, Geometry and Materials

Why XML?Instead of inventing our own format use a standard one (extendible)

Many available Parsers and Tools

Considered as Strategic technology a decade ago.

Simulation Tutorial - Feb. 2012 12

Divided into 3 main partsstructure

geometry

material All these defined by the DTD files

Page 13: Detector   Description in  LHCb

The data is accessed from an SQLITE or ORACLE database when

running the applications. Data created is converted into these formats during

DB updates.

The DB creation is normally done by creating text files which are in XML format.

One can also run from a ‘DB slice’ which is in XML format.

The tags to use in these XML files are defined in the ‘DTD’ files.

One needs to create the DB using the syntax specified by the DTD files.

In this tutorial, few examples of this , would be discussed.

- 13

Persistency: Data base technologies

Simulation Tutorial - Feb. 2012

Page 14: Detector   Description in  LHCb

Some Examples of XML Expressions evaluator – units & functions known

12.2*mm + .17*m / tan (34*degree)12.2*mm + .17*m / tan (34*degree)

parameter : a kind of macro

<parameter name="InCell" value="40.6667*mm"/><parameter name="MidCell" value="1.5*InCell"/>

<parameter name="InCell" value="40.6667*mm"/><parameter name="MidCell" value="1.5*InCell"/>

References : element + “ref”

<detelemref href="LHCb/structure.xml#LHCb"/><detelemref href="LHCb/structure.xml#LHCb"/>

Simulation Tutorial - Feb. 2012 14

Page 15: Detector   Description in  LHCb

<logvol name="lvTexSSBBasic“ material="IT/G10"> <box name="TutorialExampleSSBBasicBox" sizeX="TexSSBXSize" sizeY="TexSSBYSize" sizeZ="TexSSBZSize" /></logvol>

<parameter name="TexSSBXSize" value= "70*mm" /><parameter name="TexSSBYSize" value= "120*mm" /><parameter name="TexSSBZSize" value= "90*mm" />

• This Logical Volume has also theVisualization attribute (color)

Example of a Volume : Small Simple Box (SSB)

15Simulation Tutorial - Feb. 2012

Page 16: Detector   Description in  LHCb

16

<logvol name="lvTexSSBTypeA" material="IT/G10"> <subtraction name="TutorialSSBTypeASub" > <box name="TutorialExampleSSBTypeAWithSubBox" sizeX="TexSSBXSize" sizeY="TexSSBYSize" sizeZ="TexSSBZSize" /> <tubs name="TutorialSSBTypeAHoleCyl" sizeZ="TexSSBZHoleLargeZSize" outerRadius="TexSSBZHoleRadius" /> <posXYZ x="TexSSBZHoleAXLocation" y="TexSSBZHoleAYLocation" /> </subtraction></logvol>

Example of a Boolean Solid: SSB with a hole

Simulation Tutorial - Feb. 2012

Page 17: Detector   Description in  LHCb

Geometry Elements :Examples

DDDB : the root

catalog : a list

logvol : logical volume

physvol : physical volume

paramphysvol(2D)(3D) : replication of physical volumes

tabproperty : tabulated properties

<DDDB> <catalog name=“…”> <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> </logvol> <logvol name=“…”> <paramphysvol number="5"> <physvol logvol=“…” name=“…”/> <posXYZ z="20*cm"/> </paramphysvol> </logvol> </catalog></DDDB>

<DDDB> <catalog name=“…”> <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> </logvol> <logvol name=“…”> <paramphysvol number="5"> <physvol logvol=“…” name=“…”/> <posXYZ z="20*cm"/> </paramphysvol> </logvol> </catalog></DDDB>

Simulation Tutorial - Feb. 2012 17

Page 18: Detector   Description in  LHCb

Geometry Elements(2)

posXYZ, posRPhiZ, posRThPhi : translations

rotXYZ, rotAxis : rotations

transformation : composition of transformations

box, trd, trap, cons, tub, sphere

union, intersection, subtraction : boolean solids

surface

<subtraction name="sub2"> <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/></subtraction><posXYZ z="-40*cm"/><rotXYZ rotX=“90*degree”/>

<subtraction name="sub2"> <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/></subtraction><posXYZ z="-40*cm"/><rotXYZ rotX=“90*degree”/>

Simulation Tutorial - Feb. 2012 18

Page 19: Detector   Description in  LHCb

Material Elements: Examples

materials : the root

catalog : a list

tabproperty : tabulated properties

atom

isotope

element : a mixture of isotopes

material : mixtures of elements or materials

<isotope A="11*g/mole“ name="Bor_11“ …/><element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/></element><element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/></element><material name="CO2“ …> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/></material>

<isotope A="11*g/mole“ name="Bor_11“ …/><element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/></element><element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/></element><material name="CO2“ …> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/></material>

Simulation Tutorial - Feb. 2012 19

Page 20: Detector   Description in  LHCb

Structure Elements:ExamplesDDDB : the root

catalog : a list

detelem : a detector element

geometryInfo : connection to the geometry

userParameter(Vector) : hook for adding parameters

specific : hook for extending the DTD

<DDDB> <catalog name=“…"> <detelem name=“…"> <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … </userParameter> <specific> … </specific> </detelem> </catalog></DDDB>

<DDDB> <catalog name=“…"> <detelem name=“…"> <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … </userParameter> <specific> … </specific> </detelem> </catalog></DDDB>

Simulation Tutorial - Feb. 2012 20

Page 21: Detector   Description in  LHCb

• First find what all parts need to be simulated.

• Discuss the design with colleagues.

• When designing:

Everything should be made as simple as possible, but not simpler. A. Einstein

• Check with graphics to see what you created is OK.

• Test for overlaps

• Run particles through to see if it gives the hits as intended

• Test with full b-event simulation

• Create the detector elements as needed.

• Write events out and then run through the reconstruction for verification.

Designing the Detector Description

21Simulation Tutorial - Feb. 2012

Page 22: Detector   Description in  LHCb

SummaryThe concept of Volumes and detector elements are

introduced

Practical examples and exercises in the next part.

22Simulation Tutorial - Feb. 2012