Detector%20Simulation - PowerPoint PPT Presentation

About This Presentation
Title:

Detector%20Simulation

Description:

instantiates (using Abstract Factory pattern) different 'actions' (makes them to ... For new geometry for example to turn on delta rays in RICH1 Aerogel (set in ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 23
Provided by: gco2
Category:

less

Transcript and Presenter's Notes

Title: Detector%20Simulation


1
Detector Simulation
LHCb-Italian Software Tutorial Updated on 13 July
2007
  • Gloria Corti
  • CERN

Gauss Tutorial
2
Outline
  • Overview of (Physics) Detector Simulation
  • Purpose reminder
  • Interaction with (use of) Geant4
  • Job options
  • Detectors
  • Physics processes
  • Input to and Output from Geant4
  • Output Data

3
Purpose a reminder
  • For Detector Simulation phase of Gauss
  • tracking of particles in the detector and
    interactions with the material
  • production of hits" when particles cross
    sensitive detectors
  • Data produced can be studied directly or in
    further processing
  • MCTruth as seen by the (LHCb) experimental setup
  • MCParticles and MCVertices
  • MCHits (Velo, PuVeto, TT, IT, OT, Muon system),
    MCRichHits and MCCaloHits
  • Output (.sim ) can be processed by Boole for
    digitization

4
Simulation phase reading generator event
  • Options are available in Gauss to run the
    simulation phase reading in the generator event
    from a file previously produced (although not
    really necessary from the CPU point of view)
  • ../slc3_ia32_gcc323/Gauss.exe GAUSSOPTS/v200601-
    SimPhase.opts

//------------------------------------------------
----------------- // Phases to be executed
//-----------------------------------------------
------------------ ApplicationMgr.TopAlg
GaudiSequencer/Simulation //-----------------
------------------------------------------------ /
/ Generator Phase //------------------------------
----------------------------------- include
"GAUSSOPTS/Generator.opts Generator.MeasureTime
true include "GAUSSOPTS/GenStandAlone.opts
//-----------------------------------------------
------------------ // Simulation
Phase //------------------------------------------
----------------------- // include
"GAUSSOPTS/Simulation.opts" //
Simulation.MeasureTime true
5
Simulation phase reading generator event
JobOpts
Initialize
Exchange model
GiGa
Geant4
HepMC
Monitor
Init
Cnv
Cnv
Cnv
POOL
Geometry
Detector Simulation
geometry of the detector (LHCb ? Geant4) tracking
through materials (Geant4) hit creation and MC
truth information (Geant4 ? LHCb)
6
Geant4
  • Gauss uses GEANT4 for transporting particles in
    the experimental setup and simulating the physics
    processes that can occur.
  • Navigation in EM fields
  • Physics processes for a variety of particles at
    different energies
  • GEANT4 is the successor of GEANT3, the
    world-standard toolkit for HEP detector
    simulation
  • GEANT4 is a C toolkit developed in the Physics
    community
  • International Collaboration 10 year old
  • used in HEP, nuclear physics, heavy ion physics,
    cosmic ray physics, astrophysics, space science
    and medical applications
  • GEANT4 coverage of physics comes from mixture of
    theory-driven, parameterized, and empirical
    formulae. Both cross-sections and models (final
    state generation) can be combined in arbitrary
    manners as necessary.
  • Standard and Low energy EM processes, Hadronic
    processes, Optical photon processes, Decay
    processes, etc.
  • Documentation from web Gauss ? Geant4 ? Geant4

6
7
GiGa
  • Gauss uses a dedicated Gaudi service to interact
    and communicate with Geant4
  • minimizes the couplings to Geant4
  • GIGA GEANT4 Interface for Gaudi Applications or
    Gaudi Interface to GEANT4 Applications
  • GEANT4 callable and controllable from within
    GAUDI environment
  • common detector geometry source used by other
    applications (reconstruction, visualisation)
  • use of Gaudi features as algorithms, tools,
    services
  • use of common services (ex. RandomNumberSvc,
    MagneticFieldSvc, DetectorDataSvc, etc.)
  • access to internal Geant4 event loop via
    GiGaRunManager
  • allows loading external physics lists
  • instantiates (using Abstract Factory pattern)
    different actions (makes them to be plugable
    components)
  • Documentation on the web from Gauss web page

6
8
Encapsulation of Geant4 in Gauss via GiGa
Single point of connection to Geant4
GiGa
Convertion of transient objects to/from Geant4
representation Detector geometry converted from
same source as other applications
Gaudi
GiGa
Event Loop controlled by Gaudi
Embedded Geant4, Geant4 control and Configuration
9
Control of simulation phase via JopOptions (1)
  • Simulation.opts is the steering options file
  • configuration of algorithms in Simulation phase

// Pass HepMCEvents to Geant4 Simulation.Members
"GeneratorToG4" // Perform the Geant4
simulation Simulation.Members
"GiGaFlushAlgorithm" // Check the G4Event
processing status Simulation.Members
"GiGaCheckEventStatus" // Populate the
MCParticles/MCVertices in the TES Simulation.Membe
rs "G4HepMCToMCTruth" // Populate
sensitive hits in the TES Simulation.Members
"GaudiSequencer/DetectorsHits"
DetectorsHits.Members "GetTrackerHitsAlg/GetV
eloHits" DetectorsHits.Members
"GetTrackerHitsAlg/GetTTHits" ...
DetectorsHits.Members "GetCaloHitsAlg/GetSpd
Hits" DetectorsHits.Members
"GetCaloHitsAlg/GetEcalHits" ...
DetectorsHits.Members "GetMCRichHitsAlg"
include GAUSSTRACKERROOT/options/TrackersHit
s.opts
10
Control of simulation phase via JopOptions (2)
  • configuration of GiGa to control Geant4 actions

// Mandatory run action GiGa.RunAction
"GiGaRunActionSequence/RunSeq" GiGa.RunSeq.Member
s "TrCutsRunAction/TrCuts" GiGa.RunSeq.Mem
bers "GiGaRunActionCommand/RunCommand"
GiGa.RunSeq.RunCommand.BeginOfRunCommands
"/tracking/verbose 0", "/tracking/storeTraj
ectory 1", "/process/eLoss/verbose
-1", //GiGa.RunSeq.RunCommand.BeginOfRunCommand
s "/process/list" // Mandatory event
action GiGa.EventAction "GiGaEventActionSeque
nce/EventSeq" GiGa.EventSeq.Members
"GaussEventActionHepMC/HepMCEvent"
setting cuts
MC truth internal in G4
11
Detector simulation
GiGaSensDetTracker
creates
G4TrackerHits
GetTrackerHitsAlg
ProcessHit()
Geant4 world
converts to
invoked when particle passed through the
sensitive volume
lvVolume as in XmlDDDB
MCHits in TES /Event/MC/OT/Hits
Gaudi world
ltlogvol material Silicon
name"lvLadder1" sensdet"GiGaSensDetTrac
ker/TTSDet"gt
GetTrackerHits configuration for TT
GetTTHits.CollectionName TTDSet/Hits
GetTTHits.MCHitsLocation /Event/MC/TT/Hits G
etTTHits.MCHitsLocation /dd/Structure/LHCb/Befo
reMagnetRegion/TT
9
12
Control of Detector simulation
  • In SimGeometry.opts
  • included from Simulation.opts
  • uses a special GiGa component
  • list of detectors to simulate
  • Can give different list switch off some
    detectors, add some new, Test Beam setup
  • Just need the sensdet Keyword in the XML Detector
    Description

Simulation.Members "GiGaInputStream/Geo"
include "GAUSSOPTS/SimGeometry.opts"
Geo.ConversionSvcName "GiGaGeo"
Geo.DataProviderSvcName "DetectorDataSvc"
Geo.StreamItems "/dd/Structure/LHCb/BeforeMagn
etRegion/Velo" Geo.StreamItems
"/dd/Structure/LHCb/BeforeMagnetRegion/Velo2Rich1
" Geo.StreamItems "/dd/Structure/LHCb/Before
MagnetRegion/Rich1" Geo.StreamItems
"/dd/Geometry/BeforeMagnetRegion/Rich1/Rich1Surfa
ces" ... // Geo.StreamItems
"/dd/Structure/LHCb/DownstreamRegion/Hcal" //
Geo.StreamItems "/dd/Structure/LHCb/Downstream
Region/Muon"
13
Physics processes and lists
  • Geant4 has a big variety of processes that can be
    combined as necessary in Physics Lists
  • crucial part of the whole simulation program
  • most of the stuff already implemented in Geant4
  • some specific processes needed implementation
  • for RICH photoelectric process (creation of
    photoelectrons in HPDs), energy loss in the
    silicon of HPDs
  • GiGa modular physics lists
  • allows dynamic loading (via jobOptions) of
    particular physics sublists
  • expected to increase flexibility and to make
    changes easier

10
14
Configuration of Physics lists to use
  • Defined as list of options that can be changed
  • In MuonLowEnergy.opts for example

GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltGeneralPhysicsgt/GeneralPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltEMPhysicsgt/EMPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltMuonPhysicsgt/MuonPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltHadronPhysicsLHEPgt/LHEPPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltIonPhysicsgt/IonPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaPhysConstructorOp"
GiGa.ModularPL.PhysicsConstructors
"GiGaPhysConstructorHpd"

LHCb RICH processes
set a different hadronic physics list with
neutrons to thermal energy
GiGa.ModularPL.PhysicsConstructors -
"GiGaExtPhysicsltHadronPhysicsLHEPgt/LHEPPhysics"
GiGa.ModularPL.PhysicsConstructors
"GiGaExtPhysicsltHadronPhysicsQGSP_BERT_HPgt/QGSP_BE
RT_HPPhysics"
15
Geant4 production thresholds
  • Geant4 has production thresholds for EM processes
  • Specify range (which is converted to energy for
    each material) at which continuous loss begins,
    track primary down to zero range
  • Create secondaries only above specified range, or
    add to continuous loss of primary for secondaries
    of less energetic than travelling the required
    range in the current material

Range cut 1.5 mm
Energy cut 450 KeV
(450 KeV in liq.Ar, 2 MeV in Pb)
16
LHCb tracking cuts
  • Introduce tracking cuts on Ekin of particles of
    all type (special Gauss stepping actions)
  • Track particle until cut-off energy is reached,
    stop it at that point
  • Possible also to set cuts per region
  • For new geometry for example to turn on delta
    rays in RICH1 Aerogel (set in Simulation.xml)

GiGa.RunSeq.Members "TrCutsRunAction/TrCuts"

Effect of cut value for ECAL with 30 GeV electron
particle gun
Processing time
Energy threshold below which the particle is not
tracked.
17
Control of cuts (1)
  • In job options for overall cuts

// Default production cuts for whole
detector GiGa.ModularPL.CutForElectron 10000.
mm GiGa.ModularPL.CutForPositron 5.0
mm GiGa.ModularPL.CutForGamma 10.0
mm // Default tracking cuts for whole
detector GiGa.RunSeq.TrCuts.MuonTrCut
10.0MeV GiGa.RunSeq.TrCuts.pKpiCut
10.0MeV GiGa.RunSeq.TrCuts.NeutrinoTrCut
0.0MeV GiGa.RunSeq.TrCuts.NeutronTrCut
10.0MeV GiGa.RunSeq.TrCuts.GammaTrCut
1.0MeV GiGa.RunSeq.TrCuts.ElectronTrCut
1.0MeV GiGa.RunSeq.TrCuts.OtherTrCut
0.0MeV
Production cuts
Tracking cuts
18
Control of cuts (2)
  • In Simulation-v200412.xml for detector specific
    cuts

ltSimAtt name"SimAttrMuFilt"
minEkine500.0MeV"/gt ltSimAtt
name"SimAttrMuon" minEkine"10.0MeV"/gt lt
Item name"/dd/Geometry/DownstreamRegion/Muon/lvMu
Filter1"gt ltCut particle"0"
attr"SimAttrMuFilt"/gt ltCut particle"13"
attr"SimAttrMuon"/gt ltCut particle"-13"
attr"SimAttrMuon"/gt lt/Itemgt
19
Understanding the simulation as a whole
  • To understand in depth the simulation, the
    information about the history of what happened in
    the detector is very important (trajectories and
    processes originating them)
  • MC truth filled at the end of an event processing
    by Geant4
  • Necessary to decide a priori what to store
  • when a particle is created, when it is being
    processed, when it stops being tracked
  • Set of criteria can be changed in job options

GiGa.TrackSeq.PostTrack.StoreAll
false GiGa.TrackSeq.PostTrack.StorePrimaries
true GiGa.TrackSeq.PostTrack.StoreForcedDecays
true GiGa.TrackSeq.PostTrack.StoreMarkedTracks
true // The following only for z12280mm
(i.e.PRS/SPD) GiGa.TrackSeq.PostTrack.StoreByOwnEn
ergy true GiGa.TrackSeq.PostTrack.OwnEnergyT
hreshold 100.0 MeV GiGa.TrackSeq.PostTrack.St
oreByChildProcess true GiGa.TrackSeq.PostTrac
k.StoredChildProcesses "RichG4Cerenkov" GiGa.
TrackSeq.PostTrack.StoreByOwnProcess
true GiGa.TrackSeq.PostTrack.StoredOwnProcesses
Decay
pp collision
by detectors
with E gt threshold
producing Cerenkov
from decay in detector
20
History information after simulation
  • History of particles traveling trough detector in
    dedicated LHCb event data classes MCParticles
    and MCVertices
  • Derive from basic LHCb event data class
    KeyedObject
  • Container support
  • Transient and Persistent support
  • Link from other classes ( MCHits for example, but
    also possibility to associate them to
    reconstructed Tracks, physics Particles)
  • Relationship between them holds the tree
    structure
  • An MCParticle has a SmartRefltMCVertexgt
    originVertex() and SmartRefVectorltMCVertexgt
    endVertices()
  • more than one end vertex (Bremsstrahlung)
  • An MCVertex has a SmartRefltMCParticlegt mother and
    SmartRefVectorltMCParticlesgt products
  • a primary vertex does not have a mother
    MCParticle
  • Keep originating process identifier in MCVertex
  • These classes are written out by the simulation
    and accessed in a variety of ways in successive
    processing

21
Output Files and extra information
  • List of output data objects in normal production
    can be found in GaussTape.opts
  • Sometimes necessary to have additional
    information for special studies ex. RICH
    extended info
  • To get the extra information and write it to tape
    uncomment GAUSSOPTS/RichExtendedInfo.opts in
    Simulation.opts

DetectorsHits.Members "GetMCRichOpticalPhotons
Alg, GetMCRichSegmentsAlg,
GetMCRichTracksAlg include
"GAUSSRICHROOT/options/RichExtendedInfo.opts"
GaussTape.OptItemList /Event/MC/Rich/Optic
alPhotons1 ,/Event/MC/Rich/Tracks1
,/Event/MC/Rich/Segments1
22
Exercises
  • You will get familiar with some controls of the
    simulation
  • Dont forget you can always read a file you
    produced
  • Guidelines for the exercises on the web
  • from the tutorial agenda
  • Packages used
  • Sim/Gauss v25r12 Mandatory
  • Tutorial/Simulation v2r0 Optional
  • exercises/README.txt exerciseN.txt
  • solutions/exerciseN/
  • Advanced exercises also available
Write a Comment
User Comments (0)
About PowerShow.com