GAUSS GEANT 4 based simulation for LHCb GEANT
GAUSS - GEANT 4 based simulation for LHCb GEANT 4 Users’ Workshop 14 November 2002 W. Pokorski / CERN 14/11/2002 LHCb Simulation
Contents Introduction to LHCb Overview of Gauss project Gi. Ga – Gaudi interface to GEANT 4 overview and presentation of a few selected topics Summary 14/11/2002 LHCb Simulation 2
LHCb Experiment Precision Measurements of CP violation in the B Meson System §From the CP asymmetries in the final states of B-meson decays, measure CKM Angles. §Large Sample of Events with Bd and Bs Mesons §Most of the b hadrons are produced at small polar angles. LHCb: Single Forward Arm Spectrometer with Open Geometry. This design is being modified to optimize the performance of LHCb. 14/11/2002 LHCb Simulation 3
GAUDI – LHCb software framework all of the LHCb event processing software is built within a framework – Gaudi framework separation between data and algorithms data store-centred architectural style separation between transient and persistent data isolation of user codes/algorithms from underlying persistency technologies components interact through their abstract interfaces 14/11/2002 LHCb Simulation 4
GAUDI - Object Diagram Interactive Service Application Manager Message Service Job. Options Service Particle Prop. Service Other Services 14/11/2002 Converter Event Selector Persistency Service Data Files Detec. Data Service Transient Detector Store Persistency Service Data Files Histogram Service Transient Histogram Store Persistency Service Data Files Event Data Service Transient Event Store Algorithm LHCb Simulation 5
Gauss application Job. Opts Int. face Gi. Ga Geant 4 Cnv Hep. MC Cnv Pythia etc Job. Opts MCParticle MCVertex MCHit Digi Geant 4 Alg (Gi. Ga) Digit MCDigit Cnv Geometry Generator 14/11/2002 Detector Simulation LHCb Simulation Digitization 6
Gi. Ga overview GEANT 4 Interface for Gaudi Applications or Gaudi Interface to GEANT 4 Applications makes GEANT 4 callable and controllable from within GAUDI environment common detector geometry source used by other applications (reconstruction, visualisation) communication via Transient Stores (Event, Detector Data) as any other service or algorithm in Gaudi use of common services (Particle. Property. Svc, Random. Number. Svc, Magnetic. Field. Svc, etc. ) 14/11/2002 LHCb Simulation 7
Gi. Ga structure Persistency Service Application Manager Event Service Transient Event Store Converter Cnv Algorithm Data Files Gi. Ga. Kine Conversion Service G 4 Kine Gi. Ga. Hits Conversion Service G 4 Hits Gi. Ga Service Geant 4 Other Services 14/11/2002 Detec. Service Transient Detector Store Persistency Service Gi. Ga. Geom Conversion Service G 4 Geom Action Data Files LHCb Simulation 8
Gi. Ga features it is a façade pattern minimizes the couplings to Geant 4 all interactions with Geant 4 only through abstract interfaces of Gi. Ga Service provides access to internal G 4 event loop via Gi. Ga. Run. Manager instantiates different “actions” and physics lists using abstract factory approach (makes them to be plugable components) 14/11/2002 LHCb Simulation 9
A few selected topics: Dynamic loading and instantiation using Abstract Factories Gi. Ga. Run. Manager Gauss. Trajectory and Gauss. Event. Action Loading the Geometry Sensitive Detectors Physics lists 14/11/2002 LHCb Simulation 10
Abstract Factory approach (1/3) concrete implementations of different functional parts (user actions, physics lists, etc) are collected in “component libraries” not linked to the main program, used purely at runtime changes in the implementation of the component library does not require the application to be relinked configurable at run-time set of components (different User. Actions, Physics lists, etc) can be changed by specifying different job. Options of the application 14/11/2002 LHCb Simulation 11
Abstract Factory approach (2/3) List of dlls to load Application. Mgr Set of options for components (for ex cuts for physics list) get. Factory. Table {instantiate} IFactory Svc. Factory xxx. Factory {new} Application Table of components that could be instantiated Factories which are in charge of instantiating concrete objects “new” executed here!!! User. Actions, Service Physics Lists, etc DLL DLL 14/11/2002 LHCb Simulation 12
Abstract Factory approach (3/3) Gaudi world G 4 world virtual Gaudi Services Abstract Factory returns pointer to this concrete implementations of components 14/11/2002 LHCb Simulation 13
Gi. Ga. Run. Manager is a specialization of G 4 Run. Manager no beam. On method, “event loop” external to Gi. Ga. Run. Manager, no “G 4 run” concept simulation of single events triggered (and controlled) externally calls directly to G 4 Event. Manager: : process. One. Event construction of primary events controlled from outside of G 4 “event building” controlled from job. Options no User. Primary. Generator. Action: : Generate. Primaries direct control over calls to G 4 Event: : Add. Primary. Vertex possibility of combining several generated events (pile-up) inside one G 4 events by setting appropriate job. Options 14/11/2002 LHCb Simulation 14
Gauss. Trajectory implements G 4 VTrajectory in addition to G 4 Trajectory: time of flight at each Trajectory. Point – needed in order to convert to LHCb event model speciallized Append. Step method – triggered by a flag set in Gauss. Step. Action: : User. Stepping. Action controls which trajectory points to append (begin, end, reflections of optical photons, creation of interesting particles, etc) storing (or not) of trajectories controlled by Gauss. Tracking. Action 14/11/2002 LHCb Simulation 15
Gauss. Tracking Action Post. User. Tracking. Action: takes decision whether to store given trajectory several criteria implemented (to be extended) depending on: energy, energy of secondaries particle type, particle type of secondaries creation of a hit etc in case a trajectory is not stored, consistency is assured by updating Parent. ID of the secondaries to the last (in given decay chain) stored trajectory 14/11/2002 LHCb Simulation 16
Gi. Ga - Geometry Conversion Xml description Xml Cnv Materials Volumes Geo Conversion Service Gaudi transient store 14/11/2002 Converter Geant 4 Materials LHCb Simulation Converter Geant 4 Volumes 17
Geometry conversion ex. (RICH 1) Xml Gaudi Gi. Ga G 4 Open. GL 14/11/2002 LHCb Simulation 18
Sensitive Detectors & Hits Gi. Ga. Sens. Det. Tracker Process. Hit() creates G 4 Tracker. Hits invoked when particle passed through the sensitive volume lv. Volume (Xml. DDDB) Gi. Ga. Tracker. Hits. Cnv (Geant 4) Geant 4 world Gaudi world converts to: MCHits (/Event/MC/OT/Hits) <logvol name="lv. U_Active. Layer" … sensdet="Gi. Ga. Sens. Det. Tracker/my. Det"> 14/11/2002 LHCb Simulation 19
Detector Simulation – “physics lists” physics lists: crucial part of the whole simulation program – will certainly require several tuning iterations most of the stuff already implemented in Geant 4 some specific processes needed implementation for RICH: photoelectric process (creation of photoelectrons in HPDs), energy loss: in the silicon of HPDs modular physics lists implemented using Abstract Factories concept allows dynamic loading and configuration (via job. Options) of different physics lists, not need to recompile anything expected to increase flexibility and to make validation easier 14/11/2002 LHCb Simulation 20
RICH 1 with Single. Particle. Gun RICH 1 Event Pion with 7 Ge. V/c. Cherenkov Photons In Aerogel and C 4 F 10. Rayleigh scattering Switched off for Illustration. S. Easo 14/11/2002 LHCb Simulation 21
RICH 1 Hits 14/11/2002 LHCb Simulation 22
Panoramix view of MCHits 14/11/2002 LHCb Simulation 23
Panoramix view of MCHits (2) 14/11/2002 LHCb Simulation 24
Summary LHCb simulation application build within common LHCb software framework (used by reconstruction, visualization, analysis) communication with GEANT 4 via an interface (Gi. Ga) allowing flexible use of G 4 functionalities extensive use of Abstract. Factory concept, allowing run-time loading of specific components 14/11/2002 LHCb Simulation 25
- Slides: 25