Download presentation
Presentation is loading. Please wait.
Published byClifton Lawson Modified over 8 years ago
1
Maria Grazia Pia INFN Genova Geant4 Collaboration XI Giornate sui Rivelatori Torino, 1-2 March 2001
2
Introduction Author: Maria Grazia Pia Geant4 Training Kit
3
An example of how simulation can be mission-critical Courtesy of NASA/CXC/SAO
4
Chandra X-ray Observatory Status Update September 14, 1999 MSFC/CXC CHANDRA CONTINUES TO TAKE SHARPEST IMAGES EVER; TEAM STUDIES INSTRUMENT DETECTOR CONCERN Normally every complex space facility encounters a few problems during its checkout period; even though Chandra’s has gone very smoothly, the science and engineering team is working a concern with a portion of one science instrument. The team is investigating a reduction in the energy resolution of one of two sets of X-ray detectors in the Advanced Charge-coupled Device Imaging Spectrometer (ACIS) science instrument. A series of diagnostic activities to characterize the degradation, identify possible causes, and test potential remedial procedures is underway. The degradation appeared in the front-side illuminated Charge-Coupled Device (CCD) chips of the ACIS. The instrument’s back-side illuminated chips have shown no reduction in capability and continue to perform flawlessly. An excerpt of a press release Courtesy of NASA/CXC/SAO
5
l l Radiation belt electrons? l l Scattered in the mirror shells? l l Effectiveness of Magnetic “brooms” l l Electron damage mechanism? - NIEL? l l Other particles? Protons, cosmic rays? l l Path to CCD? Wall penetration? What can affect CCD’s on X-ray astronomy missions? Proposal: set the problem up in Geant4 as a case-study
6
XMM
7
ESA Space Environment & Effects Analysis Section EPIC RGS Q1Q1 Q1Q1 Q2Q2 Courtesy of
8
ESA Space Environment & Effects Analysis Section CCD displacement damage: front vs. back-illuminated. 30 m 2 m 30 m 2 m 30 m Si ~1.5 MeV p+ Active layer Passive layer “Electron deflector” EPI C RG S Low-E (~100 keV to few MeV), low- angle (~0°-5°) proton scattering: Obscure problem; not much analysed Courtesy of
9
How well can Geant4 simulate low energy protons? Courtesy of R. Gotta, Thesis
10
What happened next? XMM was launched on 10 December 1999 from Kourou EPIC image of the two flaring Castor components and the brighter YY Gem Courtesy of
11
The role of simulation designdesign of the experimental set-up physics outputevaluation and definition of the potential physics output of the project risksevaluation of potential risks to the project performanceassessment of the performance of the experiment reconstruction analysis softwaredevelopment, test and optimisation of reconstruction and physics analysis software physics resultscontribution to the calculation and validation of physics results The scope of these lectures (and of Geant4) encompasses the simulation of the passage of particles through matter there are other kinds of simulation components, such as physics event generators, detector/electronics response generators, etc. often the simulation of a complex experiment consists of several of these components interfaced to one another Simulation plays a fundamental role in various domains and phases of an experimental physics project
12
Domains of application HEP, nuclear, astrophysics and astro-particle physics experiments the most “traditional” field of application Radiation studies evaluation of safety constraints and shielding for the experimental apparatus and human beings, on earth and in space Medical applications radiotherapy design of instruments for therapeutic use Biological applications radiation effects (in human beings, food etc.), at cellular and DNA level …and more
13
What is required Modeling the experimental set-up Tracking particles through matter Interaction of particles with matter Modeling the detector response Run and event control Accessory utilities (random number generators, PDG particle information, physical constants, system of units etc.) User interface Interface to event generators Visualisation (of the set-up, tracks, hits etc.) Persistency Analysis
14
Fast and full simulation Usually in a typical HEP experiment there are two types of simulations Fast simulation mainly used for feasibility studies and quick evaluations coarse set-up description and physics modeling usually directly interfaced to event generators Full simulation used for precise physics and detector studies requires a detailed description of the experimental set-up and a complex physics modeling usually interfaced to event generators and event reconstruction Traditionally fast and full simulation are done by different programs and are not integrated in the same environment ècomplexity of maintenance and evolution èpossibility of controversial results
15
EGS4, EGS5, EGSnrc MCNP, MCNPX, A3MCNP, MCNP-DSP, MCNP4B Penelope Geant3, Geant4 Tripoli-3, Tripoli-3 A, Tripoli-4 Peregrine MVP, MVP-BURN MARS MCU MORSE TRAX MONK MCBEND VMC++ LAHET RTS&T-2000 NMTC HERMES FLUKA EA-MC DPM SCALE GEM MF3D...and I probably forgot some more Many codes not publicly distributed A lot of business around MC The zoo Monte Carlo codes presented at the MC200 Conference, Lisbon, October 2000
16
Integrated suites vs specialised codes Pro: the specific issue is treated in great detail sometimes the package is based on a wealth of specific experimental data simple code, usually relatively easy to install and use Contra: a typical experiment covers many domains, not just one domains are often inter-connected Pro: the same environment provides all the functionality Contra: it is more difficult to ensure detailed coverage of all the components at the same high quality level monolithic: take all or nothing limited or no options for alternative models usually complex to install and use difficult maintenance and evolution Specialised packages cover a specific simulation domain Integrated packages cover all/many simulation domains
17
The Toolkit approach A toolkit is a set of compatible components each component is specialised for a specific functionality each component can be refined independently to a great detail components can be integrated at any degree of complexity components can work together to handle inter-connected domains it is easy to provide (and use) alternative components the simulation application can be customised by the user according to his/her needs maintenance and evolution - both of the components and of the user application - is greatly facilitated...but what is the price to pay? the user is invested of a greater responsibility he/she must critically evaluate and decide what he/she needs and wants to use
18
The role of Geant Geant has been a simulation tool, that provides a general infrastructure for the description of geometry and materials particle transport and interaction with matter the description of detector response visualisation of geometries, tracks and hits The user develops the specific code for the primary event generator the geometrical description of the set-up the description of the detector response
19
The past: Geant3 Geant 3 has been used by most major HEP experiments frozen since March 1994 (Geant3.21) ~200K lines of code equivalent of ~50 man-years, along 15 years used also in nuclear physics experiments, medical physics, radiation background studies, space applications etc. The result is a complex system because its problem domain is complex because it requires flexibility for a variety of applications because its management and maintenance are complex It is not self-sufficient hadronic physics is not native, it is handled through the interface to external packages
20
User requirements formally collected and coded according to PSS-05 standard Geant4 User Requirements Document New simulation requirements High statistics to be simulated robustness and reliability for large scale production Exchange of CAD detector models especially relevant for large scale experiments Transparent physics for validation of physics results Physics extensions to high energies LHC, cosmic ray experiments... Physics extensions to low energies space applications, medical physics, X-ray analysis, astrophysics, nuclear and atomic physics... Reliable hadronic physics not only for calorimetry, but also for PID applications (CP violation experiments) ...etc.
21
What is Geant4? OO toolkit for the simulation of next generation HEP detectors...of the current generation too...not only of HEP detectors already used also in nuclear physics, astrophysics, medical physics, space applications, radiation background studies etc. distributed software production and management It is also a successful experiment of distributed software production and management, as a large international collaboration with the participation of various experiments, labs and institutes application of rigorous software engineering and Object Oriented technologies It is also a successful experiment of application of rigorous software engineering and Object Oriented technologies to the HEP environment
22
Approved as R&D end 1994 > 100 physicists and software engineers ~ 40 institutes, international collaboration responded to DRCC/LCB Milestones: end 1995 OO methodology, problem domain analysis, full OOAD tracking prototype, performance evaluation Milestones: spring 1997 release with the same functionality as Geant 3.21 persistency (hits), ODBMS transparency of physics models Milestone: July 1998 public release Milestone: end 1998 production release: Geant4.0, end of the R&D phase All milestones have been met by RD44 Reconfiguration at the end of the R&D phase International Geant4 Collaboration since 1/1/1999 Management of the production phase Continuing R&D also in the production phase RD44
23
Members of National Institutes, Laboratories and Experiments participating in Geant4 Collaboration acquire the right to the Production Service and User Support For others: free code and user support on best effort basis Budker Inst. of Physics IHEP Protvino MEPHI Moscow Pittsburg University MoU based Distribution, development and User Support Geant4 Collaboration Atlas, BaBar, CMS, HARP, LHCB CERN, JNL,KEK, SLAC, TRIUMF ESA, Frankfurt Univ., IGD, IN2P3, Karolinska Inst., Lebedev, TERA COMMON (Serpukov, Novosibirsk, Pittsburg etc.) other memberships currently being discussed Collaboration Board manages resources and responsibilities Technical Steering Board manages scientific and technical matters Working Groups maintenance, development, QA, etc.
24
Software engineering Geant4 rigorous approach to software
25
Outline Motivations for software engineering in HEP The software process Components of the software life-cycle Object Oriented technologies Brief digression on basic OO concepts OOAD in Geant4 Quality Assurance Standards
26
The benefits of software engineering The way to progress is to study and improve the way software is produced better technology only helps once the organizational framework is set there is evidence that going for new technology instead of improving the process can make things worst The practices of SPI are well established, and have been applied in a large number of organizations for several years the results prove that the economical benefits are largely worth the investment early defect detection, time to market, and quality also improve, to the point that the return on investment for SPI is about 500% better softwarelower cost predictable resource allocationstime estimates The goal: producing better software at lower cost, within predictable resource allocations and time estimates, and happier users of the software the people involved the organization of the development process the technology used Three key components:
27
Software life-cycle Various phases: User Requirements definition Software Requirements definition Architectural Design Detailed Design and construction Delivery to the user Operations Frequently the tasks of different life cycle phases are performed somewhat in parallel to consider them disjoint in time is a simplification It is however important to distinguish them logically to identify documents that are the outcome of the various phases
28
The software process Complex domain, evolving, with many types of models available Examples of software process models: The Waterfall model analysis design coding each phase starts following the completion of the previous one The Iterative Incremental Development model cycles of analysis design coding, with incremental refinement It is the set of actions, tasks and procedures involved in producing a software system, through its life-cycle
29
Software process standards Capability Maturity Model Software Engineering Institute SPICE, ISO 15504 the path to an international standard PSS-05, ECSS ESA Development or Engineering processes: system and software requirements analysis, software design, software construction, software integration and unit testing, software maintenance Documentation Configuration and Change Management Problem Resolution Quality Assurance and Measurement System Testing, Acceptance and Releasing Verification and Validation Reviews, Audits and Joint Reviews Project tasks Management Improvement Process Process Establishment Human resource Management Infrastructure User Support, Distribution Primary life-cycle of software development Supporting life-cycle Management process Organizational life-cycle User-supplier processes etc. Process categories
30
Why software engineering in HEP? Software engineering is somewhat new to the HEP environment other engineering branches more consolidated in this environment (mechanics, electronics, accelerators etc.) Benefits derive from a rigorous approach to software the lesson can be learned from the world of software professionals! even the most talented professionals need an organized environment to do cooperative work advanced technology cannot be fully effective without an organizational framework Software Engineering plays a fundamental role in Geant4 Software process SPI User requirements OOAD Quality Assurance
31
The software process in Geant4 Spiral-type life-cycle model adopted in most domains both iterative and incremental a large international collaboration complex software mature categories in production and maintenance mode as well as categories in full development sensitive and mission-critical user applications product with a long life-timeOOADimplementation testing Software Process Improvement understand, determine and propose procedures to software development and maintenance gradual process, life-cycle driven regular assessment, according to the ISO 15504 model A challenge:
32
Requirements Requirements are the quantifiable and verifiable behaviours that a system must possess constraints that a system must work within User requirements this phase defines the scope of the system Software requirements this is the analysis phase of a software project builds a model describing what the software has to do (not how to do it) Requirements are subject to evolution in the lifetime of a software project! èability to cope with the evolution of the requirements
33
Geant4 requirements Geant4 has adopted a rigorous approach to requirements user requirements collected from the user communities in the initial phase coded according the PSS-05 software engineering standard continuously updated Geant4 User Requirements Document Geant4 User Requirements Document
34
Object Oriented technology object model OO technology is built upon a sound engineering foundation, whose elements are called the object model The object model encompasses the principles of abstraction encapsulation modularity hierarchy typing concurrency persistence brought together in a synergistic way Geant4 is based on Object Oriented technology
35
What is an object? G. Booch (in OOAD with Applications): state, behavioridentity class “An object has state, behavior and identity; the structure and behavior of similar objects are defined in their common class”.
36
Some fundamental concepts in OOD -1 The Open Closed Principle Open for extension, Closed for modification A software module that is designed to be reusable, maintainable and robust must be extensible without requiring modification new features are added by adding new code, rather than by changing old, already working, code The primary mechanisms behind are abstraction and polymorphism The Liskov Substitution Principle Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it Derived types must be substitutable for their base types It is an important feature for conforming to the OCP
37
Some fundamental concepts in OOD -2 The Dependency Inversion Principle Modules that implement high level policy should not depend on the modules that implement low level details Both high level policy and low level details should depend on abstractions This ensures reusability and maintainability The interdependence makes a design rigid, fragile and immobile: a single change triggers a cascade of changes in dependent modules The Interface Segregation Principle Clients should not be forced to depend on interfaces that they do not use Polluted interfaces generate unnecessary couplings We want to separate interfaces whenever possible to avoid the disadvantages of couplings
38
Analysis Webster definitions: separation or breaking up of a whole into its fundamental elements or component parts a detailed examination of anything complex the practice of proving a mathematical proposition by assuming the result and reasoning back to the data or already established principles In the software world: it is the decomposition of a problem into its constituent parts it is accomplished by beginning with a set of stated requirements, and reasoning back from those requirements to a set of established software components and structures OOA is the act of determining the abstractions that underlie the requirements In OOA the components are objects and their collaborations
39
Design Design embodies the set of decisions that determine how the components will look like In OOD typically class inheritance and composition hierarchies are among the decisions OOA and OOD cooperate synergically they are best done concurrently The output of OOAD is a set of class and object diagrams, showing the static structure the collaborations
40
UML: Unified Modeling Language UML represents a unification of the concepts and notations previously in use (Booch, OMT, Jcobson) standard data representationMeta-Model UML has a standard data representation (the Meta-Model) the Meta-Model is a description of UML in UML it describes the objects, attributes and relationships necessary to represents the concepts of UML within a software application notation UML notation is comprised of two major subdivisions: static elementsa notation for modeling the static elements of a design (classes, attributes, relationships...) dynamic elementsa notation for modeling the dynamic elements of a design (objects, messages, finite state machines...) UML is the industry-standard language for specifying, visualising, constructing and documenting the design of software systems
41
C++ OO technology and C++ are not equivalent! OO methodologies can be implemented in a variety of languages, not only in C++ One can write procedural code in C++, that is not object oriented C++ provides many features that make it suitable for OO implementations of large scale software projects An overview of C++ language features and OO technology is beyond the scope of these lectures Many textbooks, courses and online material are available as learning aids, eg. I. Pohl, OO programming using C++ S. B. Lippman, J. Lajoie, C++ primer B. Stroustrup, The C++ programming language G. Booch, OO analysis and design R. Martin, Designing OO C++ applications using the Booch method
42
OO design fundamental for distributed parallel approach Every part can be developed, refined, maintained independently Problem domain decomposition and OOAD result into a unidirectional dependency of class categories Flexibility alternative models and implementations Interface to external software, without dependencies databases for persistency visualisation libraries tools for UI etc. OO technology in Geant4 Openness to evolution l Extensibility, implementation of new models and algorithms without interfering with existing software l The user can extend the toolkit with his/her model and dataTransparency decoupling from implementation Booch methodology adopted for OOAD choice resulting from a thorough study of various models
43
Geant4 architecture exploits advanced Software Engineering techniques and Object Oriented technology to achieve transparency of physics implementation.
44
OO design: an example of top level design
45
OO design: an example of a detailed design Class diagram of Low Energy e.m. processes: hadrons
46
Quality Assurance Commercial t Insure++, CodeWizard, Workshop etc. C++ coding guidelines scripts to verify their applications automatically Code inspections within working groups and across groups Walk-throughs with specialized tools for monitoring against violations of coding rules Checks on run-time memory management Checks for violations of the dependency structure of categories Performance benchmarks and monitoring Testing Unit testing in most cases down to class level granularity Integration testing sets of logically connected classes Test-bench for each category eg.: test-suite of 375 tests for hadronic physics parameterised models System testing exercising all Geant4 functionalities in realistic set-ups Physics testing comparisons with experimental data Extensive use of QA systems in Geant4 fundamental for a toolkit of wide public use
47
Standards Units Geant4 is independent from the system of units all numerical quantities expressed with their units explicitly user not constrained to use any specific system of units Geant4 adopts standards, ISO and de facto OpenGL e VRML for graphics CVS for code management C ++ as programming language STEP engineering and CAD systems ODMG RD45 Have you heard of the “incident” with NASA’s Mars Climate Orbiter ($125 million)?
48
Data libraries Systematic collection and evaluation of experimental data from many sources worldwide Databases ENDF/B, JENDL, FENDL, CENDL, ENSDF,JEF, BROND, EFF, MENDL, IRDF, SAID, EPDL, EEDL, EADL, SANDIA, ICRU etc. Collaborating distribution centres NEA, LLNL, BNL, KEK, IAEA, IHEP, TRIUMF, FNAL, Helsinki, Durham, Japan etc. The use of evaluated data is important for the validation of physics results of the experiments
49
Physics From the Minutes of LCB (LHCC Computing Board) meeting on 21 October, 1997: differently from the concept of packages “It was noted that experiments have requirements for independent, alternative physics models. In Geant4 these models, differently from the concept of packages, allow the user to understand how the results are produced, and hence improve the physics validation. Geant4 is developed with a modular architecture and is the ideal framework where existing components are integrated and new models continue to be developed.”
50
The approach to physics independent, alternative physics models Ample variety of independent, alternative physics models available in Geant4 No more black boxes of packages exposed to the physics The users are directly exposed to the physics they use in their simulation fundamental for the validation This approach is fundamental for the validation of the experiments’ physics results
51
Features of Geant4 Physics Abstract interface to physics processes tracking independent from the type of process Distinction between processes and models often multiple models for the same process final state The generation of the final state is independent from the access and use of cross sections and from tracking Transparent access to cross sections (formulae, data sets etc.) models underlying physics processes electromagnetic hadronic An abundant set of electromagnetic and hadronic physics processes and models, both complementary and alternative evaluated databases Use of public evaluated databases The transparency of the physics implementation contributes to the validation of experimental physics results OOD allows to implement or modify any physics process without changing other parts of the software open to extension and evolution
52
The Geant4 kit Code ~1M lines of code, ~2000 classes continuously growing publicly available from the web Documentation 6 manuals publicly available from the web Examples distributed with the code navigation between documentation and examples code
53
What is needed to run Geant4 Platforms DEC, HP, SUN: native compilers, g++ Linux: g++ Windows-NT: Visual C++ Commercial software ObjectStore STL (optional) Free software CVS gmake, g++ CLHEP Graphics OpenGL, X11, OpenInventor, DAWN, VRML... OPACS, GAG, MOMO... Persistence it is possible to run in transient mode in persistent mode use a HepDB interface, ODMG standard Geant4 source code and libraries are freely available at http://wwwinfo.cern.ch/asd/geant4/source/source.html
54
Documentation User Documentation Introduction to Geant4 Installation Guide Geant4 User’s Guide - For Application Developers for those wishing to use Geant4 Geant4 User’s Guide - For Toolkit Developers for those wishing to extend Geant4 functionality Software Reference Manual documentation of the public interface of all Geant4 classes Physics Reference Manual extended documentation on Geant4 physics Examples a set of Novice, Extended and Advanced examples illustrating the main functionalities of Geant4 in realistic set-ups The Gallery a web collection of performance and physics evaluations http://wwwinfo.cern.ch/asd/geant4/reports/gallery Publication and Results web page http://wwwinfo.cern.ch/asd/geant4/reports/reports.html http://wwwinfo.cern.ch/asd/geant4/geant4.html
55
User support The Geant4 User Support covers the provision of help and analysis of code-related problems the consultancy the requests for enhancement or new developments the investigation of anomalous results The User Support is provided by the Geant4 Collaboration Major advantages for the users of this distributed approach are: a large number of people performs the support, and always on the domain of their competence or even on the code they developed themselves; a large number of contact/reference points for the users are available, avoiding the channeling of all problems through the same support people and thus improving efficiency Geant4 User Support is extensively described at http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Welcome/IntroductionToGeant4 /html/introductionToGeant4.html#7
56
Kernel Author: Makoto Asai Geant4 Training Kit
57
Run As an analogy of the real experiment, a run of Geant4 starts with “Beam On”. Within a run, the user cannot change detector geometry settings of physics processes ---> detector is inaccessible during a run Conceptually, a run is a collection of events which share the same detector conditions.
58
Event At beginning of processing, an event contains primary particles. These primaries are pushed into a stack. When the stack becomes empty, processing of an event is over. G4Event class represents an event. It has following objects at the end of its processing. List of primary vertexes and particles Trajectory collection (optional) Hits collections Digits collections (optional)
59
Track Track is a snapshot of a particle Step is a “delta” information to a track A track is made out of three layers of class objects. G4Track Position, volume, track length, global ToF ID of itself and mother track G4DynamicParticle Momentum, energy, local time, polarization Pre-fixed decay channel G4ParticleDefinition Shared by all G4DynamicParticle of same type Mass, lifetime, charge, other physical quantities Decay table
60
Step Step has two points and also “delta” information of a particle (energy loss on the step, time-of-flight spent by the step, etc.). Begin of step point End of step point Step Boundary Trajectory Trajectory is a record of a track history. It stores some information of all steps done by the track as objects of G4TrajectoryPoint class.
61
How Geant4 runs Initialization Construction of material and geometry Construction of particles, physics processes and calculation of cross-section tables “Beam-On” = “Run” Close geometry --> Optimize geometry Event Loop ---> More than one runs with different geometrical configurations
62
Initialization
63
Beam on loop
64
Event processing
65
Detector Description Authors: John Apostolakis and Gabriele Cosmo Geant4 Training Kit
66
Concepts for Detector Description The following concepts will be described: Material Detector Geometry Sensitive Volumes Hits
67
Definition of Materials Different kinds of materials can be defined: isotopes<>G4Isotope elements<>G4Element molecules<>G4Material compounds and mixtures<>G4Material Attributes associated: temperature, pressure, state, density
68
Creating a Detector Volume Start with its Shape & Size Box 3x5x7 cm, sphere R=8m Add properties: material, B/E field, make it sensitive Place it in another volume in one place repeatedly using a function Solid Logical Volume Physical volume
69
Define detector geometry Three conceptual layers G4VSolid -- shape, size G4LogicalVolume -- daughter phys. volumes, material, sensitivity, user limits, etc. G4VPhysicalVolume -- position, rotation
70
Detector geometry: Solids Many Solids exist in G4 (G4VSolid) CSG solidsCSG solids G4Box, G4Tubs, G4Cons, G4Trd, etc. Analogous to simple GEANT3 solids BREP solidsBREP solids G4BREPSolidPolycone, G4BSplineSurface, etc. Boolean solidsBoolean solids G4UnionSolid, G4SubtractionSolid, etc. STEP interfaceSTEP interface to import BREP solid models from CAD systems
71
Solids STEP compliant solid modeller Constructed Solids (CSGs) Boxes, Cylinders, Spherical shells Boundary Represented (BREPs) any order surface, NURBS Could be: User defined: 7 functions inside, distance in/out (x2), extent
72
What is a BREP? BREP=Boundary Represented Solid Listing all its surfaces specifies a solid e.g. 6 squares for a cube Surfaces can be planar, 2nd or higher order Splines, B-Splines, NURBS NURBS=Non-Uniform B-Splines
73
How we use CAD geometries Our BREP library contains all code needed for ISO STEP AP203 We import the solid descriptions of detector models from CAD systems for example from Euclid & Pro/Engineer using STEP AP203 files So we support tracking in boundary represented solids created in CAD
74
repeated placement Physical Volumes Placement: it is one positioned volume Repeated: a volume placed many times can represent any number of volumes reduces use of memory. Replica: simple repetition, like G3 divisions Parameterised A mother volume can contain either many placement volumes OR one repeated volume
75
Magnetic field In order to propagate a particle inside a field (e.g. magnetic, electric or both), we integrate the equation of motion of the particle in the field. In general this is best done using a Runge-Kutta method for the integration of ordinary differential equations. Several Runge-Kutta methods are available. In specific cases other solvers can also be used: In a uniform field, as the analytical solution is known. In a nearly uniform field, where we perturb it.
76
Things one can do with Geant4 geometry One can do operations with solids These figures were visualised with Geant4 Ray Tracing tool...and one can describe complex geometries, like Atlas silicon detectors
77
Borexino at Gran Sasso Lab. BaBar at SLAC Chandra XMM-Newton (ESA) ATLAS at LHC, CERN GLAST CMS at LHC, CERN A selection of geometry applications
78
Magnetic field Once a method is chosen that allows G4 to calculate the track's motion in a field, we break up this curved path into linear chord segments. We determine the chord segments so that they closely approximate the curved path. We use the chords to interrogate the Navigator, to see whether the track has crossed a volume boundary.
79
Magnetic field You can set the accuracy of the volume intersection, by setting a parameter called the “miss distance” it is a measure of the error in whether the approximate track intersects a volume. Default “miss distance” is 3 mm. One step can consist of more than one chords. In some cases, one step consists of several turns. miss distance Step Chords real trajectory
80
Readout geometry Readout geometry is a virtual and artificial geometry which can be defined in parallel to the real detector geometry. A readout geometry is optional. Each one is associated to a sensitive detector.
81
Sensitive detector and Hit Hit is a snapshot of the physical interaction of a track or an accumulation of interactions of tracks in the sensitive region of your detector. A sensitive detector creates hit(s) using the information given in G4Step object. The user has to provide his/her own implementation of the detector response. Hit objects are collected in a G4Event object at the end of an event.
82
Hits You can store various types information by implementing your own concrete Hit class. For example: Position and time of the step Momentum and energy of the track Energy deposition of the step Geometrical information or any combination of above Digit represents a detector output (e.g. ADC/TDC count, trigger signal). Digit is created with one or more hits and/or other digits by a concrete implementation derived from G4VDigitizerModule. Digitisation
83
Electromagnetic Physics Authors: M. Maire, P. Nieminen, M.G. Pia, L. Urban Geant4 Training Kit
84
Processes Processes describe how particles interact with material or with a volume itself Three basic types At rest process (e.g. decay at rest) Continuous process (e.g. ionization) Discrete process (e.g. decay in flight) Transportation is a process interacting with volume boundary A process which requires the shortest interaction length limits the step
85
Electromagnetic physics It handles electrons and positrons , X-ray and optical photons muons charged hadrons ions Comparable to Geant3 already in the 1st release (1997) High energy extensions fundamental for LHC experiments, cosmic ray experiments etc. Low energy extensions fundamental for space and medical applications, neutrino experiments, antimatter spectroscopy etc. Alternative models for the same physics process energy loss multiple scattering Cherenkov transition radiation ionisation Bremsstrahlung annihilation photoelectric effect Compton scattering Rayleigh effect conversion e + e - pair production refraction reflection absorption scintillation synchrotron radiation fluorescence Auger effect (in progress)
86
OO design Alternative models, obeying the same abstract interface, are provided for the same physics interaction Top level class diagram of electromagnetic physics
87
Production thresholds production thresholds No tracking cuts, only production thresholds rangethresholds for producing secondaries are expressed in range, universal for all media converted into energy for each particle and material It makes better sense to use the range cut-off Range of 10 keV gamma in Si ~ a few cm Range of 10 keV electron in Si ~ a few micron
88
Effect of production thresholds Pb Liquid Ar Liquid Ar Pb 500 MeV incident proton Threshold in range: 1.5 mm 455 keV electron energy in liquid Ar 2 MeV electron energy in Pb one must set the cut for delta-rays (DCUTE) either to the Liquid Argon value, thus producing many small unnecessary -rays in Pb, or to the Pb value, thus killing the - rays production everywhere Geant3 In Geant3 DCUTE = 455 keV DCUTE = 2 MeV
89
Standard electromagnetic processes Photons Compton scattering conversion photoelectric effect Electrons and positrons Bremsstrahlung ionisation continuous energy loss from Bremsstrahlung and ionisation ray production positron annihilation synchrotron radiation Charged hadrons Shower profile, 1 GeV e - in water J&H Crannel - Phys. Rev. 184-2 August69
90
Features of Standard e.m. processes Multiple scattering new model computes mean free path length and lateral displacement Ionisation features optimise the generation of rays near boundaries Variety of models Variety of models for ionisation and energy loss including the PhotoAbsorption Interaction model Differential and Integral approach for ionisation, Bremsstrahlung, positron annihilation, energy loss and multiple scattering Multiple scattering 6.56 MeV proton, 92.6 mm Si J.Vincour and P.Bem Nucl.Instr.Meth. 148. (1978) 399
91
Photo Absorption Ionisation Model Ionisation energy loss distribution produced by pions, PAI model 3 GeV/c in 1.5 cm Ar+CH4 5 GeV/c in 20.5 m Si Ionisation energy loss produced by charged particles in thin layers of absorbers
92
Low energy e.m. extensions e, down to 250 eV Geant3 down to 10 keV (positrons in progress) Fundamental for space and medical applications, neutrino experiments, antimatter spectroscopy etc. Low energy hadrons and ions models based on Ziegler and ICRU data and parameterisations Barkas effect: models for antiprotons Photon transmission on 1 mm Al
93
Low energy extensions: e -, Based on EPDL97, EEDL and EADL evaluated data libraries cross sections sampling of the final state Photoelectric effect Compton scattering Rayleigh scattering Bremsstrahlung Ionisation Fluorescence 250 eV up to 100 GeV Geant3.21 Geant4 C, N, O line emissions included 10 keV limit 250 eV limit
94
Fe water Photon attenuation coefficient Comparison of Geant4 electromagnetic processes with NIST data Example of application of Geant4 Low Energy e.m. processes
95
Low energy extensions: hadrons and ions E > 2 MeV Bethe-Bloch 1 keV < E < 2 MeV parameterisations Ziegler 1977, 1985 ICRU 1993 corrections due to chemical formulae of materials nuclear stopping power E < 1 keV free electron gas model Barkas effect taken into account quantum harmonic oscillator model Various models, depending on the energy range and the charge
96
Muon processes High energy extensions based on theoretical models Bremsstrahlung Ionisation and ray production e + e - Pair production simulation of ultra-high energy and cosmic ray physics 1 keV up to 1000 PeV scale Validity range: 1 keV up to 1000 PeV scale
97
Processes for optical photons Optical photon its wavelength is much greater than the typical atomic spacing Production of optical photons in HEP detectors is mainly due to Cherenkov effect and scintillation Optical properties, e.g. dielectric coefficient, surface smoothness, can be set to a G4LogicalVolume Processes in Geant4 in-flight absorption Rayleigh scattering reflection and refraction on medium boundaries Track of a photon entering a light concentrator CTF-Borexino
98
Examples of application of Geant4 e.m. physics Sampling calorimeter The plot is the visible energy in silicon as a function of the energy of the incident electron The experimental results are from: Sicapo Collaboration, NIM A332 (85-90) 1993
99
Hadronic Physics Authors: M.G. Pia
100
Hadronic physics Completely different approach w.r.t. the past transparent native, no longer interface to external packages clear separation between data and their use in algorithms Cross section data sets transparent and interchangeable Final state calculation models by particle, energy, material Ample variety of models completethe most complete hadronic simulation kit on the market alternativecomplementaryalternative and complementary models it is possible to mix-and-match, with fine granularity data-driven, parameterised and theoretical modelsdata-driven, parameterised and theoretical models The user has control on the physics used in the simulation, which contributes to the validation of physics results
101
Hadronic physics Parameterised and data-driven models (1) Based on experimental data Some models originally from GHEISHA completely reengineered into OO design refined physics parameterisations New parameterisations pp, elastic differential cross section nN, total cross section pN, total cross section np, elastic differential cross section N, total cross section N, coherent elastic scattering p elastic scattering on Hydrogen
102
Hadronic physics Parameterised and data-driven models (2) Other models are completely new, such as stopping particles ( -, K - ) neutron transport isotope production Neutrons Courtesy of CMS nuclear deexcitation absorption Stopping MeV Energy All existing databases worldwide used in neutron transport Brond, CENDL, EFF, ENDFB, JEF, JENDL, MENDL etc.
103
Hadronic physics Theoretical models They fall into different parts the evaporation phase the low energy range, pre-equilibrium, O(100 MeV), the intermediate energy range, O(100 MeV) to O(5 GeV), intra-nuclear transport the high energy range, hadronic generator régime Geant4 provides complementary theoretical models to cover all the various parts Geant4 provides alternative models within the same part All this is made possible by the powerful Object Oriented design of Geant4 hadronic physics Easy evolution: new models can be easily added, existing models can be extended
104
A sample from theory-driven models
105
An example of user application 123456789101112131415161718192021222324252627 152 cm Copper + 189 mm Plastic CMS HCAL Test-Beam Setup Courtesy of CMS Collaboration
106
Event biasing Geant4 provides facilities for event biasing The effect consists in producing a small number of secondaries, which are artificially recognized as a huge number of particles by their statistical weights Event biasing can be used, for instance, for the transportation of slow neutrons or in the radioactive decay simulation
107
Fast Simulation Author: Marc Verderi A shortcut to the tracking Geant4 Training Kit
108
Fast simulation Geant4 allows to perform full simulation and fast simulation in the same environment Geant4 parameterisation produces a direct detector response, from the knowledge of particle and volume properties hits, digis, reconstructed-like objects (tracks, clusters etc.) Great flexibility activate fast /full simulation by detector example: full simulation for inner detectors, fast simulation per calorimeters activate fast /full simulation by geometry region example: fast simulation in central areas and full simulation near cracks activate fast /full simulation by particle type example: in e.m. calorimeter e/ parameterisation and full simulation of hadrons parallel geometries in fast/full simulation example: inner and outer tracking detectors distinct in full simulation, but handled together in fast simulation
109
Generalities Fast Simulation, also called parameterisation, is a shortcut to the tracking. Fast Simulation allows you to take over the tracking to implement your own fast physics and detector response. The classical use case of fast simulation is the shower parameterisation where the typical several thousand steps per GeV computed by the tracking are replaced by a few ten of deposits per GeV. Parameterisations are generally experiment dependent.
110
Parameterisation features Parameterisations take place in an envelope. This is typically the mother volume of a sub-system or of a large module of such a sub-system. Parameterisations are often particle type dependent and/or may apply only to some. They are often not applied in complicated regions.
111
G4FastSimulationManager ModelForElectrons ModelForPions « envelope » (G4LogicalVolume) Multiple Scattering G4Transportation G4FastSimulationManagerProcess Process xxx G4Track G4ProcessManager Placements Summary Picture of Fast Simulation Mechanism The Fast Simulation components are indicated in blue. When the G4Track travels inside the volume of the envelope, the G4FSMP looks for a G4FastSimulationManager. If one exists, at the beginnig of each step in the envelope, the models are messaged to check for a trigger. In case a trigger is issued, the model is applied at the point the G4track is. Otherwise, the tracking proceeds with a normal step.
112
Example of integrated Fast/Full Simulation application B aBar O bject-oriented G eant4-based U nified S imulation (BOGUS) Integrated framework for Fast and Full simulation Fast simulation available for public use since February 1999 Integrated in BaBar environment primary generators, reconstruction, OODB persistency parameters for materials and geometry shared with reconstruction applications Courtesy of G. Cosmo
113
Visualisation and (G)UI Authors: Hajime Yoshida and Satoshi Tanaka Geant4 Training Kit
114
Introduction Introduction Geant4 Visualisation must respond to varieties of user requirements. For example, Quick response to survey successive events Impressive special effects for demonstration High-quality output to prepare journal papers Flexible camera control for debugging geometry Highlighting overlapping of physical volumes Interactive picking of visualised objects Etc.
115
Visualisable Objects (1) You can visualise simulation data such as: Detector components A hierarchical structure of physical volumes A piece of physical volume, logical volume, and solid Particle trajectories and tracking steps Hits of particles in detector components commands C++ source codes Visualisation is performed either with commands or by writing C++ source codes of user-action classes
116
Visualisable Objects (2) You can also visualise other user defined objects such as: polylineA polyline, that is, a set of successive line segments for, e.g., coordinate axes markerA marker which marks an arbitrary 3D position, for, e.g., eye guides TextsTexts, i.e., character strings for description, comments, or titles
117
Visualisation Drivers Visualisation drivers are interfaces to 3D graphics software You can select your favourite one(s) depending on your purposes such as Demo Preparing precise figures for journal papers Publication of results on Web Debugging geometry Etc
118
Available Graphics Software Available Graphics Software By default, Geant4 provides visualisation drivers, i.e. interfaces, for DAWNDAWN : Technical High-quality PostScript output OPACSOPACS: Interactivity, unified GUI OpenGLOpenGL: Quick and flexible visualisation OpenInventorOpenInventor: Interactivity, virtual reality, etc. RayTracerRayTracer : Photo-realistic rendering VRMLVRML: Interactivity, 3D graphics on Web
119
Sample Visualisation (1)
120
Sample Visualisation (2)
121
Sample Visualisation (3)
122
Select (G)UI Geant4 provides the following interfaces for various (G)UI: G4UIterminalG4UIterminal: C-shell like character terminal G4UItcshG4UItcsh: tcsh-like character terminal with command completion, history, etc. G4UIGAGG4UIGAG: Java based GUI G4UIOPACSG4UIOPACS: OPACS-based GUI, command completion, etc. G4UIBatchG4UIBatch: Batch job with macro file G4UIXmG4UIXm: Motif-based GUI, command completion, etc.
123
Useful GUI Tools Released by Geant4 Developers GGE: Geometry editor based on Java GUI http://erpc1.naruto-u.ac.jp/~geant4 GPE: Physics editor based on Java GUI http://erpc1.naruto-u.ac.jp/~geant4 OpenScientist, OPACS: Flexible analysis environments http://www.lal.in2p3.fr/OpenScientist http://www.lal.in2p3.fr/OPACS
124
Persistency Author: Youhei Morita Geant4 Training Kit
125
Category Requirements Geant4 Persistency makes run, event, hits, digits and geometry information be persistent, to be read back later by user programs Geant4 shall make use of industrial standard ODMG C++ binding and HepODBMS as persistency interface Kernel part of Geant4 should not be affected by the choice of persistency mechanism (Geant4 should be able to run with or without persistency mechanism)
126
What is “object persistency” ? Persistent object lives beyond an application process, may be accessed by other processes. When an object is “deactivated”, state of the object are stored into the database system. Once “activated”, the state information of the object is read back from the database.
127
What is ODMG ? Object Database Management Group a non-profit consortium of vendors and interested parties who collaborate to develop and promote standards for object database management systems (ODBMS). http://www.odmg.org/ ODBMS Standard Documents ODMG 2.0 released in 1997 Object Model Object Definition Language Object Query Language Language Bindings to C++, SmallTalk, Java
128
C++ Binding of ODMG Design persistent class using ODL (Object Definition Language) class G4PEvent : public HepPersObj { public: persistent-capable base class G4PEvent(); : private: G4Pint eventID; persistent-capable type : } Compile ODL files (schema) to schema metadata, C++ header files, wrapper C++ source code. ex. Objectivity/DB: ooddlx preprocessor processes *.ddl files into *.hh, *_ref.hh, *_ddl.cc files, and stores schema metadata into a federated database file.
129
What is HepODBMS ? C++ class library that provides a simplified and consistent interface to underlying ODMG-compliant Object Database Management System Current implementation is based on Objectivity/DB Goals: an insulation layer to minimize dependencies on a given database vendor or release. high level base classes that encapsulate features such as clustering and locking strategies, database session transaction control, event collections, selection predicates, tagDB access and calibration whilst not introducing any significant performance or storage overhead See Also: http://wwwinfo.cern.ch/asd/lhc++/HepODBMS/user-guide/H1Introduction.html
130
Persistency in Geant4 Store( ) Retrieve( ) Inherits from HepPersObj in HepODBMS G4 kernel objects have corresponding “P” objects in G4Persistency G4Run G4PRun G4Event G4PEvent G4Hit G4PHit : G4 kernel objects have corresponding “P” objects in G4Persistency G4Run G4PRun G4Event G4PEvent G4Hit G4PHit : “Parallel World” approach Data members of transient and persistent objects are copied by Store( ) and Retrieve( )
131
Persistency in Geant4 (2) Top Level Class Diagram G4RunManager G4PersistencyMessengerG4UImessengerG4PersistencyManagerG4VPersistencyManagerG4TransactionManagerHepDbApplicationG4PersistentSubDbManG4PersistentSubManG4PersistentEventMan Transient G4 objects are “stored” by G4RunManager through abstract interface of G4VPersistencyManager. Database file names are given via G4PerrsistencyMessenger. Interface to HepODBMS transactions are “wrapped” at G4TransactionManager. Data member copy of transient and persistent objects are handled by G4PersistentEventMan, G4PersistentHitMan, etc. Transient G4 objects are “stored” by G4RunManager through abstract interface of G4VPersistencyManager. Database file names are given via G4PerrsistencyMessenger. Interface to HepODBMS transactions are “wrapped” at G4TransactionManager. Data member copy of transient and persistent objects are handled by G4PersistentEventMan, G4PersistentHitMan, etc.
132
Example Database Configuration Runs FDDBSystem Events Geometry Boot file exampleFD Persistent Ex01/02 readDBhits2digits Lock Server FDDBSystem Boot file exampleSchema “gmake newfd” oocheckls oolockserver ookillls oodump $OO_FD_BOOT
133
Overview of applications Authors: M.G. Pia
134
Example of application: BaBar Courtesy of D. Wright, Geant4 Workshop 2000
135
An example of application: Atlas, CMS A CMS test beam set-up
136
Studies for a future linear collider Courtesy of P. Mora de Freitas, Geant4 Workshop 2000
137
Solar flare electrons, protons, and heavy ions Jovian electrons Solar flare neutrons and -rays Solar X-rays Galactic and extra-galactic cosmic rays Induced emission Neutrinos Trapped particles Anomalous cosmic rays
138
Sector Shielding Analysis Tool CAD tool front-end Delayed radioactivity General purpose source particle module INTEGRAL and other science missions Instrument design purposes Dose calculations Particle source and spectrum Geological surveys of asteroids Modules for space applications Low-energy e.m. extensions
139
ESA Space Environment & Effects Analysis Section X-Ray Surveys of Planets, Asteroids and Moons Induced X-ray line emission: indicator of target composition (~100 m surface layer) Cosmic rays, jovian electrons Geant3.21 ITS3.0, EGS4 Geant4 Solar X-rays, e, p Courtesy SOHO EIT C, N, O line emissions included Low energy e.m. extensions Bepi Colombo
140
Space applications Chandra XMM GLAST X-ray telescopes -ray telescopes Planetary missions etc.
141
The transparency of physics Advanced functionalities in geometry, physics, visualisation etc. Extensibility to satisfy new user requirements thanks to the OO technology Adopts standards wherever available (de jure or de facto) Use of evaluated data libraries Quality Assurance based on sound software engineering Subject to independent validation by a large user community worldwide User support organization by a large international Collaboration of experts Geant4 provides various features relevant for medical applications
142
Bragg peak, Magic cube data and Geant4 Experimental data: Bragg peak of a 270 MeV/u carbon ion beam Geant4 and experimental data, PSI test with proton beam distance(cm) Courtesy of INFN Torino
143
Pixel Ionisation Chamber Relative dose with 6 MeV photon beam Dosimetric Studies Deposited energy vs Depth in water and experimental data
144
allows a complete flexible description of the real geometry Brachytherapy A medical therapy used for cancer treatments Radioactive sources are used to deposit therapeutic doses near tumors while preserving surrounding healthy tissues The dose deposition is not isotropic due to source geometry and auto- absorption, encapsulation and shielding effects Anisotropy Radioactive Decay Module is capable of handling the generation of the whole radioactive chain of the 192 Ir source
145
CT interface and treatment planning The beam used was a photon beam at 6 MV, from a Siemens KD2. The radiation field used was a 15x15 cm2. Courtesy of LIP and IPOFG-CROC (Coimbra delegation of the Portuguese Oncology Institute) CT images were used to define the geometry - a thorax slice from a Rando anthropomorphic phantom.
146
An ambitious project Multi-disciplinary Collaboration of astrophysicists and space scientists particle physicists medical physicists biologists physicians What if the geometry to describe with Geant4 were DNA and the process were mutagenesis? INFN (Genova, Torino, Cosenza) ESA CERN Ist. Naz. per la Ricerca sul Cancro Karolinska Institute PSI Università del Piemonte Orientale Study of radiation damage at the cellular and DNA level in the space radiation environment - sponsored project, in collaboration with 1 st phase: User Requirements Other applications (not only in the space domain)
147
Performance Various Geant4 - Geant3.21 comparisons realistic detector configurations results and plots in Geant4 Web Gallery, RD44 Status Report, 1995 Benchmark in liquid Argon/Pb calorimeter at comparable physics performance Geant4 is faster than (fully optimised) Geant3.21 by a factor >3 using exactly the same cuts a factor >10 optimising Geant4 cuts, while keeping the same physics performance at comparable speed Geant4 physics performance is greatly superior to Geant3.21 Benchmark in thin silicon layer at comparable physics performance Geant4 is 25% faster than Geant3.21 (single volume, single material)
148
Risk factors Performance and adequacy of C++ and OO technologies for HEP simulation were considered risk factors at the beginning of the project It has been clearly demonstrated that Geant4 satisfies the requirements for use in HEP simulation Now? Maturity of the HEP community to appreciate the need of a new simulation environment to work in a simulation environment based on advanced software engineering to invest in learning new technologies
149
Conclusions The software challenge first successful attempt to redesign a major package of HEP software adopting an Object Oriented environment and a rigorous approach to advanced software engineering The functionality challenge a variety of requirements from many application domains (HEP, space, medical etc.) The physics challenge transparency extended coverage of physics processes across a wide energy range, with alternative models The performance challenge mandatory for large scale HEP experiments and for other complex applications The distributed software development OOAD has provided the framework for distributed parallel development The management challenge a well defined, and continuously improving, software process has allowed to achieve the goals The user support challenge the user community is distributed worldwide, operating in a variety of domains Geant4 has successfully coped with a variety of challenges Geant4 represents a successful experience for the future generation of experiments
150
References Geant4 web home page http://wwwinfo.cern.ch/asd/geant4/geant4.html Geant4-Italy web home page http://www.ge.infn.it/geant4/ Geant4 User Documentation http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html /index.html Geant4 results and publications http://wwwinfo.cern.ch/asd/geant4/reports/reports.html RD44 web home page http://wwwinfo.cern.ch/asd/geant/geant4.html
151
Whom to contact If you need any further information or user support, please contact your Technical Board representative For Italy: Maria Grazia Pia (INFN Genova), pia@ge.infn.it Other TSB representatives listed on Geant4 web pages
152
Suggested OO/C++ books I. Pohl, OO programming using C++ S. B. Lippman, J. Lajoie, C++ primer B. Stroustrup, The C++ programming language S. Meyers, Effective C++ S. Meyers, More effective C++ M. Cline et al., C++ FAQs G. Booch, OO analysis and design R. Martin, Designing OO C++ applications using the Booch method E. Gamma et al., Design Patterns M. Fowler, UML distilled G. Booch et al., The Unified Modeling Language, User Guide
153
Acknowledgements Many people have helped me directly or indirectly to make these lectures possible; many thanks to all my colleagues of the Geant4 Collaboration, and in particular to The Geant4 Training Kit authors and Editors, for preparing, editing and assembling the training modules Eamonn Daly, Ramon Nartallo and Petteri Nieminen (ESA), for their material on X-ray telescopes Simone Giani (CERN), for many stimulating discussions on the role of simulation and of Geant4 Michel Maire (LAPP), for his historical overview of Geant down to its origins Many Geant4 Users (from all over the world), for providing plots and results from their Geant4-based applications The Organizers of this School, for the invitation to give these lectures The Students of this School, for providing the motivation to stay up late in the night to prepare these lectures...
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.