Top Banner
Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01
42

Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Geant4 Event Biasing

Jane Tinslay, SLAC

May 2007, Geant4 v8.2.p01

Page 2: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 2

Outline

Introduction Built in biasing options

Primary particle biasing Radioactive decay biasing Mars hadronic leading particle biasing General hadronic leading particle biasing Hadronic cross section biasing Geometrical biasing

Importance sampling Weight windows & weight cutoff

User defined biasing G4WrapperProcess Uniform bremsstrahlung splitting example

Recent developments Summary

Page 3: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 3

Introduction

What is analogue simulation ? Sample using natural probability distribution, N(x) Predicts mean with correct fluctuations Can be inefficient for certain applications

What is non-analogue/event biased simulation ? Cheat - apply artificial biasing probability distribution, B(x) in place

of natural one, N(x) B(x) enhances production of whatever it is that is interesting To get meaningful results, must apply a weight correction

Predicts same analogue mean with smaller variance Increases efficiency of the Monte Carlo

Doesn’t predict correct fluctuations Should be used with care

Page 4: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 4

Geant4 simulation: Analogue == regular processing Non-analogue/event biased simulation == manipulated

processes and/or process list I.e, manipulate processing to effectively apply B(x) in place

of N(x)

Geant4 provides Several built-in general use biasing techniques Utility class, G4WrapperProcess to support user defined biasing

Expect biasing to be used by experienced users Should understand what a particular biasing technique does, it’s

constraints and side effects Understand how processing works in Geant4

Page 5: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 5

Built in Biasing Options

Biasing Technique First Release VersionPrimary particle biasing 3.0

Radioactive decay biasing 3.0

Mars hadronic leading particle biasing

4.0

General hadronic lead particle biasing

4.3

Hadronic cross section biasing 4.3

Geometrical Importance sampling 5.0

Geometrical weight window and weight cutoff

5.2

Page 6: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 6

Primary Particle Biasing

Use case: Increase number of high energy particles in cosmic ray spectrum

Increase number of primary particles generated in a particular phase space region of interest Weight of primary particle modified as appropriate

General implementation provided by G4GeneralParticleSource class Bias position, angular and energy distributions

Page 7: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 7

G4GeneralParticleSource is a concrete implementation of G4VPrimaryGenerator Instantiate G4GeneralParticleSource in your

G4VUserPrimaryGeneratorAction class Configure biasing to be applied to sampling

distributions through interactive commands

Page 8: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 8

Online documentation & examples http://reat.space.qinetiq.com/gps/

Geant4 examples: examples/extended/eventgenerator/exgps

Page 9: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 9

Radioactive Decay Biasing

G4RadioactiveDecay simulates decay of radioactive nuclei

Implements the following biasing methods Increase sampling rate of radioculides within observation times

User defined probability distribution function Nuclear splitting

Parent nuclide is split into user defined number of nuclides Branching ratio biasing

For a particular decay mode, sample branching ratios with equal probability

Page 10: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 10

G4RadioactiveDecay is a process Register with process manager Biasing can be controlled in compiled code or through

interactive commands

Page 11: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 11

Online documentation & examples http://reat.space.qinetiq.com/septimess/exrdm/

Geant4 examples: examples/extended/radioactivedecay/exrdm

Page 12: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 12

Mars Hadronic Leading Particle Biasing

Inclusive event generator for hadron(photon) interactions with nuclei Translated from Mars13(98) version of Mars code system

http://www-ap.fnal.gov/MARS Useful for punch through studies

Generates fixed number of particles at each vertex with appropriate weights assigned

Valid with energies < 5GeV with +, -, K+, K-, K0L, K0S, proton, neutron, anti-proton, gamma

Page 13: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 13

To use, create a G4Mars5GeV object and register with inelastic process

More examples provided in the LHEP_LEAD, LHEP_LEAD_HP etc physics lists

Depreciated

Page 14: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 14

General Hadronic Leading Particle Biasing

Built in utility for hadronic processes Implemented in G4HadLeadBias class

Keep only the most important part of the event, and representative tracks of given particle types Keep track with highest energy

I.e, the leading particle Of the remaining tracks, select one from each of the following

types if they exist: Baryon’s, 0’s, mesons, leptons

Apply appropriate weight

To activate, set SwitchLeadBiasOn environment variable

Page 15: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 15

Hadronic Cross Section Biasing

Built in cross section biasing in hadronics for PhotoInelastic, ElectronNuclear and PositronNuclear processes

Artificially enchance/reduce cross section of a process

Useful for studying Thin layer interactions Thick layer shielding

Page 16: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 16

Hadronic cross section biasing controlled through BiasCrossSectionByFactor method in G4HadronicProcess

More details at http://www.triumf.ca/geant4-03/talks/03-Wednesday-AM-1/03-J.Wellisch/biasing.hadronics.pdf

Page 17: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 17

Geometrical Biasing Geometry based biasing implemented within common framework in Geant4

Importance sampling Weight windows Weight cutoff

Process based approach Process list is modified behind the scenes to apply biasing Implements own scoring scheme

Depreciated - future releases will use scorers Applicable in mass or parallel geometries

Define physical volumes named cells Limitations with biasing parallel geometries

Can’t bias in fields or with charged particles Improved in future releases using new general parallel navigation

Currently in Beta stage

Page 18: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 18

Importance Sampling

Aim Increase number of particles in geometries that are interesting or

important Decrease number of particles in geometries that are not so

interesting or important Method

Divide mass or parallel geometries up into importance cells Assign an importance value to each cell

Importance value reflects the relative importance of that cell When a particle crosses a boundary between two importance

cells, apply biasing algorithm based on relative importance between two cells

Either split(duplicate) track, or play Russian Roulette (kill track with certain probability)

Page 19: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 19

Default algorithm When crossing from cell A with importance IA, to cell B with

importance IB, define relative importance R

If R = 1 continue transport If R < 1 play Russian Roulette

Reduce # tracks when passing from more important to less important cell

Kill tracks with probability 1-R If R > 1 split track

Increase # tracks when passing from less important to more important cell

Split into R dupicate tracks Apply appropriate weights

R =IBIA

Page 20: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 20

Importance Cell Example

Splitting

IA IB = 2*IA

w’ = w/2

w’ = w/2

w

w’ = 2w w

w w’ = 0 (killed)

Russian Roulette

Page 21: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 21

Weight Window

Weight based enhancement to importance sampling

Particles either split or Russian Roulette played based on space-energy cells

User defines a weight window for each space cell, and optionally for different energies

Can help control weight fluctuations introduced by other variance reduction techniques

Page 22: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 22

User defines Lower weight bound Upper weight factor Survival weight factor

Upper weight bound = lower weight bound * upper weight factor Survival weight bound = lower weight bound * survival weight factor

Page 23: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 23

Samplers

Samples (G4VSampler) are user tools which setup the geometrical biasing Handles process list manipulation behind the scenes

Two samplers provided with Geant4 distribution G4MassGeometrySampler

Biasing in mass geometry G4ParallelGeometrySampler

Biasing in parallel geometry Samplers provide methods for configuring

Importance sampling Weight window Weight roulette Scoring

Each particle type that is geometrically biased should have its own sampler

Page 24: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 24

G4VSampler Structure

Use the prepare and configure methods of G4VSampler to prepare biasing

Page 25: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 25

Importance Sampling Configuration

1) Prepare a collection of cells Importance value - volume associations

2) Create, prepare & configure sampler

Page 26: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 26

Weight Window Configuration

1) Prepare a collection of volume-weight windows

2) Assign a lower weight bound and upper energy bound to a volume

3) Create, prepare & configure sampler

Page 27: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 27

Biasing Example B01

examples/extended/biasing/B01

Study punch through of 10 MeV neutrons incident upon thick concrete cylinder

Demonstrates importance sampling & weight windows technique in mass geometry

Geometry consists of an 80 cm high concrete cylinder divided into 18 slabs

Importance value for slab n = 2n

Page 28: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 28

Analogue Simulation Importance Sampled

1

2n

842

Example B01 - 10 MeV neutrons, thick concrete cylinder

Page 29: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 29

Geometrical Biasing Documentation

Detailed examples can be found at examples/advanced/Tiara examples/extended/biasing

Documentation on all geometrical biasing techniques at http://geant4.web.cern.ch/geant4/UserDocumentation/

UsersGuides/ForApplicationDeveloper/html/ch03s07.html

Page 30: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 30

User Defined Biasing: G4WrapperProcess

Implement user defined biasing through G4WrapperProcess A process itself, I.e, inherits from G4VProcess Wraps an existing process

By default, function calls are forwarded to existing process Non-invasive way to manipulate the behaviour of a process

To use: Subclass G4WrapperProcess and override appropriate

methods, e.g, PostStepDoIt Register sublcass with process manager in place of existing

process Register existing process with G4WrapperProcess

Page 31: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 31

G4WrapperProcess Structure

Page 32: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 32

Example: Uniform Bremsstrahlung Splitting

In this example, only interesting in scoring bremsstrahlung photons

Want to increase Monte Carlo efficiency by reducing computing time spent tracking electrons

Example of biasing through enhancing production of secondaries

Page 33: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 33

When a bremsstrahlung interaction occurs: Instead of sampling photon energy & angular distributions just

once, sample N times to generate N unique secondaries Multiple secondary generation termed “splitting” in this case

Not to be confused with importance sample splitting, where N identical copies are created

Electron energy reduced by energy of just one photon Remove bias introduced in photon energy and angular

distributions by assigning a statistical weight to each secondary

N = splitting factor (# of secondary photons)

weight =Parent weight

N

Page 34: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 34

Implementation

1) Create user class inheriting from G4WrapperProcess

2) Override PostStepDoIt method of G4WrapperProcess

Page 35: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 35

3) Implement overridden PostStepDoIt method

4) Register wrapped process with process manager

Page 36: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

36Jane Tinslay, SLAC

Splitting factor = 100No splitting

ScoringGeometry

Uniform Bremsstrahlung Splitting

Page 37: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 37

Recent Developments

http://geant4.slac.stanford.edu/EBMS/

Page 38: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 38

Three components Scoring for biasing : Tsukasa Aso (TNCMT) Geometrical based biasing : Alex Howard (CERN) Physics based biasing : Jane Tinslay (SLAC)

Evaluate current status of each component

Identify missing functionality Comparisons with other Monte Carlo codes (eg, EGS family, MCNP,

Penelope, Fluka)

Investigate interaction between components

Work plan developed with short, medium and long term goals

Page 39: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 39

Workshop Brief Summary & Work Plan

Detailed summary and work plan at http://geant4.slac.stanford.edu/EBMS/material/Summary_EBminiworkshop.ppt

Geometrical biasing Updated to use parallel navigation developments With release v9.0 should be able to do full geometrical biasing in

parallel worlds At the moment limited to neutrals Biasing examples to be updated

Producing validation examples Scoring for biasing

Use in place of depreciated G4VScorer used in geometrical biasing

Development of new scorers

Page 40: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 40

Page 41: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 41

Physics biasing Existing physics based biasing fragmented Identify missing biasing methods & variations between methods

in other Monte Carlo codes Implicit capture General cross section biasing Interaction forcing Path length biasing Advanced bremsstrahlung splitting Leading particle biasing

Look at developing dedicated framework to provide general physics biasing in analogy with geometrical biasing

Manipulating physics processes/lists

Page 42: Geant4 Event Biasing Jane Tinslay, SLAC May 2007, Geant4 v8.2.p01.

Jane Tinslay, SLAC 42

Summary

Number of popular event biasing techinques built into Geant4

User defined biasing supported through G4WrapperProcess

Ongoing developments aim to improve exiting Geant4 biasing, and provide new event biasing and scoring methods

Documentation at http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuid

es/ForApplicationDeveloper/html/ch03s07.html