Upload
marshall-knapp
View
36
Download
4
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
LHCb Simulation Tutorial
CERN, 21st-22nd February 2012
0110100111011010100010101010110100B00le
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
Outline General Overview of detector Description
Concept of Volumes and Detector Elements
Geometry visualization
Considerations for Design
3Simulation Tutorial - Feb. 2012
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
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
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
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
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:
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
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
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
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
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
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
<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
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
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
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
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
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
• 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
SummaryThe concept of Volumes and detector elements are
introduced
Practical examples and exercises in the next part.
22Simulation Tutorial - Feb. 2012