TGeo & VMCAndrei Gheata, 5 May 04Slide 1 (of 40) ROOT geometrical modeller and Virtual Monte-Carlo LCG-AA meeting Andrei Gheata.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Virtual Monte Carlo I. Hrivnacova, IPN Orsay
Framework for track reconstruction and it’s implementation for the CMS tracker A.Khanov,T.Todorov,P.Vanlaer.
ALICE Offline week, CERN 21 February 2005 I. Hrivnacova 1 New geometry framework in MUON I.Hrivnacova IPN, Orsay ALICE Offline week, CERN 21 February 2005.
Usage of ROOT geometry with GEANT4
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
Root based event display Dmitry Romanov October 19, 2010.
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
Andreas Morsch, CERN EP/AIP CHEP 2003 Simulation in ALICE Andreas Morsch For the ALICE Offline Project 2003 Conference for Computing in High Energy and.
The ALICE Simulation Strategy Andreas Morsch For the ALICE Offline Group Joint STAR/ALICE Offline Meeting Brookhaven National Laboratory, Upton, NY April.
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
FLUKA dose and fluence simulations for CBM experiment I.Kadenko, O.Bezshyyko, V.Pluyko, V.Shevchenko National Taras Shevchenko University of Kiev.
Virtual Monte Carlo and new geometry description in STAR Maxim Potekhin STAR Collaboration Meeting, BNL July 17, 2004 July 17, 2004.
The Virtual MonteCarlo D.Adamova 2, V.Berejnoi 1, R.Brun 1, F.Carminati 1, A.Fassó 1, E.Futo 1, I.Gonzalez 3, I.Hrivnacova 4, A.Morsch 1 1 CERN, Geneva;
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
STAR STAR VMC tracker V. Perevoztchikov Brookhaven National Laboratory,USA.
Geant4 in production: status and developments John Apostolakis (CERN) Makoto Asai (SLAC) for the Geant4 collaboration.
New software library of geometrical primitives for modelling of solids used in Monte Carlo detector simulations Marek Gayer, John Apostolakis, Gabriele.
Jump to first page The new ROOT geometry package Andrei Gheata - ALICE Institute of Space Sciences, Bucharest.
The CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
AliRoot survey P.Hristov 11/06/2013. Offline framework  AliRoot in development since 1998  Directly based on ROOT  Used since the detector TDR’s for.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
VMC workshop1 Ideas for G4 navigation interface using ROOT geometry A.Gheata ALICE offline week, 30 May 05.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Page 1 of 18 Bjorn S. Nilsen, ALICE November 16 ITS Software meeting ITS Alignment Status Plus other things By Bjørn S. Nilsen The Ohio State University.
Update on G5 prototype Andrei Gheata Computing Upgrade Weekly Meeting 26 June 2012.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
STAR Simulation. Status and plans V. Perevoztchikov Brookhaven National Laboratory,USA.
ROOT Geometry PackageL1 The New ROOT Geometry Package ACAT2002 Moscow 24 June Ren é Brun, Andrei & Mihaela Gheata CERN.
AliRoot survey: Reconstruction P.Hristov 11/06/2013.
MONTE CARLO TRANSPORT SIMULATION Panda Computing Week 2012, Torino.
New features in ROOT geometrical modeller for representing non-ideal geometries René Brun, Federico Carminati, Andrei Gheata, Mihaela Gheata CHEP’06,
AliRoot survey: Calibration P.Hristov 11/06/2013.
1 SLAC simulation workshop, May 2003 Ties Behnke Mokka and LCDG4 Ties Behnke, DESY and SLAC MOKKA: european (france) developed GEANT4 based simulation.
Status of TFluka: geometry and validation Andrei Gheata ALICE Off-line week, 21 Feb
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
Monthly video-conference, 18/12/2003 P.Hristov1 Preparation for physics data challenge'04 P.Hristov Alice monthly off-line video-conference December 18,
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Product Training Program
Development Environment
Muen Policy & Toolchain
Coupling and Cohesion Rajni Bhalla.
Software Testing.
A Virtual Montecarlo (VMC) Application for AMS-01
CMS High Level Trigger Configuration Management
Complex Geometry Visualization TOol
Status of geometrical modeler
Geant4 Geometry Speed-ups
Recent performance improvements in ALICE simulation/digitization
A C++ generic model for the GLAST Geometric Description
Operating System Structure
Swapping Segmented paging allows us to have non-contiguous allocations
Markus Frank CERN/LHCb CHEP2013, Amsterdam, October 14th–18th 2013
HEP detector description supporting the full experiment life cycle
User Documents and Examples I
Ideas for G4 navigation interface using ROOT geometry
The New ROOT Geometry Package
An Introduction to Software Architecture
Use of Geant4 in experiment interactive frameworks AliRoot
Chapter 2: Operating-System Structures
A Short Course on Geant4 Simulation Toolkit Introduction
Simulation Framework Subproject cern
Introduction to Operating Systems
Simulation and Physics
Use of GEANT4 in CMS The OSCAR Project
Chapter 2: Operating-System Structures
VMC/GeoGeometry status report 2/2/05
Presentation transcript:

TGeo & VMCAndrei Gheata, 5 May 04Slide 1 (of 40) ROOT geometrical modeller and Virtual Monte-Carlo LCG-AA meeting Andrei Gheata

TGeo & VMCAndrei Gheata, 5 May 04Slide 2 (of 40) Topics Motivation The concept of VMC VMC evolution TGeo general description Navigation functionality and additional tools Performance issues VMC & GEANT3, GEANT4, FLUKA TGeo to-do’s VMC to-do’s Conclusions

TGeo & VMCAndrei Gheata, 5 May 04Slide 3 (of 40) Main initial VMC motivation There are several MC simulation engines on the market (GEANT3, GEANT4 and FLUKA – to quote the most well-known) These are all made for the same purpose (e.g. to try modeling our best knowledge in particle/detector physics), but certainly are using different ways to achieve that When far beyond existing experimental data (e.g LHC), we have poor means to cross-check MC predictions  The complexity of LHC experiments make things even worse One would surely wish to have at least a second opinion related to the “MC truth” …  BUT, can one big experiment afford a development effort proportional to the number of “opinions” ? … by running different MC’s starting with the same code.

TGeo & VMCAndrei Gheata, 5 May 04Slide 4 (of 40) First look at a classical simulation framework Experiment/MC – tailored application with heavy inter- dependencies GeneratorsParticle stack Run manager Run loop Event loop Geometrical modeller Physics models Geometry definition Physics processes Run configuration Magnetic field Cuts User application Hits generation Digitization Stepping manager State & tracking flags Current volume, material, … Track state: entering, exiting, alive, new, … Physical process type Step interpreter PUSH PRIMARIESPUSH SECONDARIES GEOMETRY CREATION GENERATE DETECTOR & PHYSICS DESCRIPTION OUTPUT NAVIGATION QUERIES/ANSWERS ADVERTISE STEP STEPING ACTIONS POP INPUT PROCESS SELECTION & PHYSICAL STEP Application stack Application area (experiment and MC dependent)MC area External decayer

TGeo & VMCAndrei Gheata, 5 May 04Slide 5 (of 40) Application/MC insulation The way application is designed highly depend on the MC used  To minimize/eliminate MC dependencies we surely need an insulation layer at MC level: TVirtualMC Common denominator for G3, G4 and FLUKA for “generic functionality” concerning:  Geometry/material creation  Physics configuration, processes and cuts  Content for tracking information  Stack handling, stepping management  An insulation layer is needed also for the user application All application-MC interoperability methods.  Stepping callbacks  Particle stack  Navigation info

TGeo & VMCAndrei Gheata, 5 May 04Slide 6 (of 40) VMC evolution Just a layer on top of GEANT3 at the beginning (1999)  TGeant3  TGeant3 allowed only communication to G3 Generalized to TVirtualMC to eliminate dependencies to MC (2000)  Still dependent on ALICE-specific code due to callbacks  API inspired by G3 TGeant4Start development of TGeant4 (I. Hrivnacova) (2001)  Main problems related to geometry mapping: G3 MANY option and reflections – partially solved later by G4 team TVirtualMCApplicationTVirtualMCApplication introduced to eliminate dependencies to experiment software (2002) Few abstract classes added in the VMC schema: (2003)  TVirtualMCStackTVirtualMCDecayer  TVirtualMCStack, TVirtualMCDecayer – interfacing a user defined stack and decayer

TGeo & VMCAndrei Gheata, 5 May 04Slide 7 (of 40) The first VMC release (2003) Authors: R.Brun, F.Carminati, I.Hrivnacova, A.Morsch Abstract layers on top of both user MC application and MC simulation engine Interoperability done only via calls to abstract classes Creating and running with MC native geometries G3 and G4 interfaces 3 examples from G4

TGeo & VMCAndrei Gheata, 5 May 04Slide 8 (of 40) VMC interfaces TVirtualMCApplication – representing the application (mandatory)  User application must derive from it an implement some pure virtual methods  Only calls to TVirtualMC allowed Primary particles generation Geometry creation, run/event/step control TVirtualMC – interface to the MC used (provided)  API inspired by GEANT3  Provide methods for: building and accessing geometry & materials, setting physics, accessing tracking information and run control  Implementations to specific MC’s are provided : GEANT3, GEANT4 and FLUKA ConstructGeometry InitGeometry GeneratePrimaries BeginEvent BeginPrimary PreTrack Stepping PostTrack FinishPrimary FinishEvent

TGeo & VMCAndrei Gheata, 5 May 04Slide 9 (of 40) Other interfaces TVirtualMCStack – stack for users particles (mandatory)  Must implement methods for pushing/popping (T)particles to/from the stack  Called by TVirtualMCApplication::GeneratePrimaries() to initially fill the stack  Communicates with MC specific stacks via Pop() method  Nothing fancy to implement (see VMC examples) TVirtualMCDecayer – interface to an external decayer (optional)  Provides a way to take control on some particle decays E.g. Pythia6

TGeo & VMCAndrei Gheata, 5 May 04Slide 10 (of 40) Geometry problems Geometry – the weak point in the first VMC  The goal is to be able to do simulation comparisons between different MC’s under the same conditions Building native MC geometries starting from the same initial geometry description does not insure having identical geometrical answers for a given query  G3, G4 and FLUKA geometries can be just partially or not at all mapped one to each other – even building the native model becomes an unsolvable problem Not having the same geometry at simulation time – forget about comparisons at detector scale, even if everything else works smoothly  Eventually one has to feed simulated data to reconstruction algorithms that require also a geometry – which one ?

TGeo & VMCAndrei Gheata, 5 May 04Slide 11 (of 40) Geometry external to MC ? Using in the VMC a single external geometrical modeller – the obvious solution to all problems  Not as obvious if possible – simulation MC’s know about their OWN geometries to which they ask questions This can be worked-around with some effort (wrappers/commons for FORTRAN, abstract layers for C++) Still, the tool should provide full navigation functionality, be able to represent GEANT-like geometries, scale CPU resources and be reasonably fast  We looked around (CSG modelers, CAD systems) – nothing even close  Only alternative – developing a new modeller (fall 2001) Quite big effort but worth making – other applications in the experiment framework would also benefit : reconstruction, event display

TGeo & VMCAndrei Gheata, 5 May 04Slide 12 (of 40) Some benefits Using a single geometry representation accessible by all components of the framework C++ classes Geometry package Geometry package Geometry, Calibration, Alignment DB Geometry, Calibration, Alignment DB Monitoring Simulation program Geant3-based Geant4-based Fluka-based Simulation program Geant3-based Geant4-based Fluka-based Visualization Event display Visualization Event display Reconstruction program Reconstruction program G3 geometry G4 geometry FLUKA geometry Reconstruction geometry Other geometries...

TGeo & VMCAndrei Gheata, 5 May 04Slide 13 (of 40) TVirtualMCGeometry The idea is to intercept/answer geometrical queries posted by the transport MC Virtual Geometrical Modeller G3 G4 FLUKA G3 transport G4 transport FLUKA transport Geometrical Modeller Reconstruction Visualisation VMC User code geant4_vmc module includes the TVirtualMC Geant4 interface classes, no TGeo yet for G4 geant3 module includes an upgraded Geant3 with a C++ interface fluka module only in AliRoot CVS for the moment

TGeo & VMCAndrei Gheata, 5 May 04Slide 14 (of 40) TGeo model description GEANT-like CSG-based model with constraints.  For portability and efficiency reasons;  The model is build-up from elementary “bricks” (primitive shapes) put together via hierarchical structures (volumes and nodes);  Containment is the main constraint. Object position information stored in a relative rather than absolute way.  In this way information is quite compressed (logical hierarchy) and fits to memory even for huge geometries; Large number of primitive shapes (18) and possibility to make Boolean combinations of any ‘reasonable’ number of partners  This leads to a huge combinatorial – accurate model description

TGeo & VMCAndrei Gheata, 5 May 04Slide 15 (of 40) Main features Based on some initial requirements  Provide basic navigation features : “Where am I?”, “How far from next boundary ?”, …  Map Geant3 geometries -> smooth transition  Scalability : we deal with big geometries  Performance : it rather be faster than existing modelers  Interactivity : should be at highest possible level - users should easily build, access and debug their geometry GEANT-like flavor (CSG based on container-contained concept)  main elements : volumes and nodes Extensible set of 18 primitives + composite (Boolean) + parameterized shapes + support for “MANY” concept Volumetric pixel-ized navigation Make use of symmetries – divisions Assemblies of volumes – to facilitate geometry building when some containers are hard to define Geometry checking interactive tool Support for alignment Visualization tools Ray-tracing

TGeo & VMCAndrei Gheata, 5 May 04Slide 16 (of 40) Shapes 18 primitive (basic) shapes supported TGeoTorusTGeoXtru  Last shapes: TGeoTorus, TGeoXtru TGeoShapeDerived from an abstract class: TGeoShape  Extension always possible  Local navigation queries (point in/out, distance to boundary, safety, normal vector)  Visualization algorithms (mesh creation) Composite shapes – an easy way to make any combination  (A:t1+B:rot1)-(A:t2*C) : creates a binary CSG hierarchy  Not to be abused…

TGeo & VMCAndrei Gheata, 5 May 04Slide 17 (of 40) The geometrical hierarchy Volumes and nodesVolumes and nodes : logical objects used to arrange shapes in a hierarchical structure and to assign them physical properties (materials, tracking media) and a relative positioning. These DO NOT represent a “touchable” geometry object since they cannot store the object GLOBAL transformation in the master frame.  C inside B (6 times) + B inside A (10 times)  3 volumes & shapes (A,B,C) / 16 nodes (6 + 10) BUT 60 different “physical nodes” (different paths/global transformations)  How many physical nodes in a real geometry? – up to more than 1 billion found so far… Physical node = volume + path in the logical hierarchy. These can be represented as objects on demand (visualization and alignment), but are NOT manipulated during navigation. Path information can be always retrieved on demand.

TGeo & VMCAndrei Gheata, 5 May 04Slide 18 (of 40) Geometries and TGeo The modeling features are a superset of those from G3 – G4 A converter from G3 to TGeo was written in a very early development stage to make sure it can represent/perform navigation tasks for any “ideal” G3 geometry. Filling TGeo from external formats (e.g. XML) already requested Navigation accuracy and performance tested against G3 for several geometries, including all 4 LHC experiments. Few experiments besides ALICE started already making developments based on VMC and TGeo (MINOS, OPERA, CPM, PANDA,…)

TGeo & VMCAndrei Gheata, 5 May 04Slide 19 (of 40) Support for real geometries Usually during simulation we cope with ideal geometries only The real geometry can be considered a “perturbation” of the ideal one.  Typically has to be handled during reconstruction, after applying alignment data  The way to deal with alignment is always a pain  Typical task – extrapolate a helix track candidate in an aligned geometry to the next boundary Alignment (changing of physical node position/ rotation or even shape) can be performed in TGeo after a valid ideal geometry was created.  The resulting geometry can be still navigated  TGeoPhysicalNode(const char *path);  TGeoPhysicalNode::Align(new_mat, new_shape, check);  Limitation: overlaps can be created by alignment – optional check

TGeo & VMCAndrei Gheata, 5 May 04Slide 20 (of 40) Navigation features Allow computation of all geometry parameters needed by particle tracking codes. It has been a long process from implementing to validating/optimising/ tuning these features => took most of the time.  Luckily we had a gold mine of G3 geometries to test upon. Finding the location in the geometry tree : up to x20 performance gain compared to GEANT3 Computing the distance to next boundary : up to x8 gain; Computing the safe distance in current object : when a maximum step limit is provided Computation of the normal vector to crossed surfaces : on demand Computation of the distance along a helix to the next boundary : feature currently under testing, to be released in the weeks to come

TGeo & VMCAndrei Gheata, 5 May 04Slide 21 (of 40) Performance issues How much time is spent during simulation simply for navigation?  Up to 60%, maybe more for badly designed geometries… Easy to badly design a geometry – much hard time to optimize it… TGeo has several levels to improve search performance:  Bounding boxes  Divisions  Volumetric pixels  Code optimization exercise done by Rene -> things can be improved !

TGeo & VMCAndrei Gheata, 5 May 04Slide 22 (of 40) Visualization features Several options  Depth selection  Visibility selection per volume  Ray-tracing for high-quality pictures Clipping regions  Object picking  Rotating/zooming/focusing in the pad  X3D-based solid view so far Fastest tool for understanding geometry errors OpenGL/COIN3D/X3D solid mode views will be soon available Geometry 3D visualization is being currently restructured in ROOT Interface to CAD systems possible: hades.gsi.de/~biryukov/CADD/ hades.gsi.de/~biryukov/CADD/

TGeo & VMCAndrei Gheata, 5 May 04Slide 23 (of 40) Ray-tracing More time consuming, but allows solid mode high-quality visualization in the pad. Based on a simple light reflection model, it is still quite effective Fully using most of the navigation features -> very good debugging tool

TGeo & VMCAndrei Gheata, 5 May 04Slide 24 (of 40) User-defined tracks Can be easily made out of (x,y,z) points along a tracked particle. Tracks can be visualized in the context of the geometry (drawn in wire-frame mode) When time information for each point is available, tracks can be animated.tracks animated Not really support for real track objects, introduced mostly to visualize what was happening in VMC

TGeo & VMCAndrei Gheata, 5 May 04Slide 25 (of 40) Geometry checker It has to be able to check (in reasonable time) for illegal extrusions/overlaps in the geometry definition.  About 30 sec. Full ALICE Extrusions Overlaps DetectedNot detected DetectedNot detected GeometryOverlaps/Extrusions (~70 s detection time) > 1 mm >100  >10  ALICE No error-free geometry found… (up to 20K > 1mm)

TGeo & VMCAndrei Gheata, 5 May 04Slide 26 (of 40) New VMC design (2004) TVirtualMCTVirtualMCGeometryTVirtualMC has a TVirtualMCGeometry  All geometry-building part and geometry state control methods handled now by this.  Geometry now completely decoupled from the MC part  Navigation control methods highly dependent on the MC – still handled inside the specific TVirtualMC implementations TVirtualMCGeometryTGeo TGeoMCGeometryImplementation of TVirtualMCGeometry for TGeo : TGeoMCGeometry  In practice navigation interface methods and building methods are different for different MC’s TFluka  Redesign to be applied once TFluka interface will be fully stable

TGeo & VMCAndrei Gheata, 5 May 04Slide 27 (of 40) Interface to GEANT3 Implementation of TVirtualMC: TGeant3 class Available in ROOT  cvs -d co geant3  Contains both GEANT3 modified to cope with VMC and TGeant3 interface Running either G3 with its own geometry, either G3 with TGeo navigation  Default: G3 geometry but the validation with TGeo practically completed  -DWITHROOT added to CXXOPTS enables TGeo In this case, G3 geometry not built at all Materials and tracking media have to be created in G3 The next AliRoot data challenge will use G3+TGeo

TGeo & VMCAndrei Gheata, 5 May 04Slide 28 (of 40) TGeo and GEANT3 All geometry-building calls redirected to TGeo Navigation queries posted by G3 (“Where am I?”, “How far from next boundary?”, …) intercepted and answered by TGeo Several fixes/improvements with respect to the first release  Communication between G3 and TGeo optimized  G3 “sees” a ONLY geometry (non overlapping). Validation of TGeo option is done by direct comparisons with G3 native  Same initial condition, same geometry setup, same output format

TGeo & VMCAndrei Gheata, 5 May 04Slide 29 (of 40) Validation tests of G3+TGeo Running same initial configuration macro.  gAlice->Init(“Config.C”)  Several detector modules configurations (we have the possibility to switch them ON/OFF).  Same particles put on the stack.  Same initial random seed – however this is not significant since it changes due to geometry differences during tracking (e.g. step-by-step comparisons not available except for extremely simple geometries) Comparisons at hit level.  Number of hits per module, simple distributions for hit parameters Performance comparisons – quite important issue.

TGeo & VMCAndrei Gheata, 5 May 04Slide 30 (of 40) Comparisons Per detector module in full ALICE setup, event-by-event Reasonable statistics ( ) primaries Simple distributions: position, energy deposition, momentum, time of flight,… 2D plots Most plots matching Some differences observed  Bugs – solved  Statistics, low acceptance  Under investigation – almost none remaining

TGeo & VMCAndrei Gheata, 5 May 04Slide 31 (of 40) TGeo vs. G3 performance gROOT->Time()Quite simple to test within TGeant3: gROOT->Time() We already had some idea on performance against GEANT3 for several geometries  Geometries imported from G3.rz format  “Physical” points collected during G3 stepping within simulation  Point injected both in G3 and TGeo to compare timing for pure geometrical tasks  G3 slightly faster for “toy” geometries (e.g. G3 examples) – hard to beat FORTRAN here x20  Gain ranging up to x20 for real detector geometries compared to native G3

TGeo & VMCAndrei Gheata, 5 May 04Slide 32 (of 40) Performance of TGeo-G3 in ALICE gAlice->Init()  Geometry creation + internal initialization stuff  Full ALICE geometry: G3-120 sec. TGeo-40 sec. (x3 gain) gAlice-RunMC()  Shooting and transporting N primaries (1000 for this test) in the selected setup (full ALICE) using some generator (HIJING parameterization in this case) + hits creation; realistic physics settings 0.61 sec.0.55 sec.  Time per fully-tracked primary: 0.61 sec. G3 only, 0.55 sec. G3+TGeo (latest TGeant3 version) - ~10% gain Not negligible considering the simulation time for ALICE events The gain related strictly to geometry is obviously bigger, since just a fraction of the total simulation time is spent in geometry calls. ALICE G3 geometry description was already highly optimized

TGeo & VMCAndrei Gheata, 5 May 04Slide 33 (of 40) Interface to GEANT4 Main author: I. Hrivnacova Available module in ROOT:  cvs -d co geant4_vmc GEANT4 (currently v6)  Requires installation of GEANT4 (currently v6) Native GEANT4 geometry creation via g3tog4 module in G4  Some geometry limitations when running full ALICE setup due to incompatibilities G3-G4  Not a real limitation for running G4 via this interface in the general case 3 examples coming with geant4_vmc  Working with both G3 and G4  Good starting point for understanding how to use VMC More details on this interface can be found in Ivana’s presentation at the previous ROOT workshoppresentation

TGeo & VMCAndrei Gheata, 5 May 04Slide 34 (of 40) GEANT4 + TGeo to-do’s Needs an additional abstract layer in GEANT4 navigation  G4 team already did some work in this sense  We will have to provide them with more specific requirements so that such an interface can work and be efficient  G4 navigation interface provides pointers to its geometry objects – we need to find a way out without re-creating the full G4 geometry Certainly a lot of thinking to be done before starting real work  Thin navigation history layer with mixed objects and replaceable pointers – might be a possible approach G4 object Derived object TGeo object int GiveMe()

TGeo & VMCAndrei Gheata, 5 May 04Slide 35 (of 40) Interface to FLUKA Unlike GEANT3/4, FLUKA is more a program than a toolkit.  Less transparent, interfacing it is a difficult task and debugging this interface can become a real problem…  Specific input: ASCII file containing “cards” for any setting API inexistent (or at least not documented) Implementation of TVirtualMC – TFluka class Main problems during development  Configuration has to be preprocessed (based on the calls to TVirtualMC) and converted to FLUKA cards  Not all configuration options and cuts available in the VMC can be directly mapped to FLUKA cards/ additional options in FLUKA -> core input + generated input  Geometry incompatible with GEANT architecture – ALICE geometry cannot be built in FLUKA native format ->Initial implementation based on FLUGG, now we have completely switched to TGeo

TGeo & VMCAndrei Gheata, 5 May 04Slide 36 (of 40) TFluka class Main subject of development/evaluation at the moment  Still inside AliRoot framework – to be moved to ROOT once this stage is completed  Running ALICE simulations with partial geometry and most physics settings switched on (see next slide)  1 FTE for validation purpose only until done Longer development stage compared to G3 interface  Different navigation policy: FLUGG taken as example for navigation API but also for “not to-do’s”  Several modifications done in TGeo to allow/optimize FLUKA-like navigation Few limitations still, to be addressed soon (see next slide…)

TGeo & VMCAndrei Gheata, 5 May 04Slide 37 (of 40) Features and limitations Most testing done in a limited geometry setup  Mostly FLUKA hadronics tested  Electromagnetic properties have to be registered per material – NOT automatic procedure in FLUKA (.EMF files) Work done by hand for a couple of detectors – work to extend to full ALICE sizeable… we hope having this solved by FLUKA soon  Limitation related to navigation across replicated volumes close together (in the current version of the geometry interface) – solved by treating corresponding virtual boundaries as “special” FLUKA regions Implementation completely transparent – everything can be set/retrieved via VMC  FLUKA input generated automatically on the flight, mapping with FLUKA entities fully invisible

TGeo & VMCAndrei Gheata, 5 May 04Slide 38 (of 40) First tests First Cerenkov rings in ALICE HMPID detector Tracking ALICE TPC

TGeo & VMCAndrei Gheata, 5 May 04Slide 39 (of 40) TFluka to-do’s This interface is not yet as mature as TGeant3/TGeant4 – some remaining problems to be fixed soon  Enabling features one-by-one – much easier now when running with TGeo FLUGG interface can be still run – switching between the 2 geometry interfaces is very easy  Maintenance is a pain, but we still needed it for a while as a reference for comparisons  To be dropped (really) soon Comparisons with native FLUKA for very simple setups to be done Comparisons with TGeant3+TGeo and native FLUKA to be done  Same geometry during comparison – main condition Currently TFluka class available only from AliRoot CVS (not yet in ROOT)

TGeo & VMCAndrei Gheata, 5 May 04Slide 40 (of 40) Conclusions The VMC framework provide mechanisms to decouple the user application from specific Monte-Carlo used  A geometrical modeller was developed within ROOT to have a single geometry engine at tracking time  Integrated in 2 out of 3 MC interfaces  Fully supporting GEANT-like geometries and providing support for alignment  Optimized navigation features  User guide available: ftp://root.cern.ch/root/doc/chapter17.pdf ftp://root.cern.ch/root/doc/chapter17.pdf Few other experiments besides ALICE started developing/testing VMC+TGeo – based frameworks

TGeo & VMCAndrei Gheata, 5 May 04 Why not GEANT4 modeller ? At the time we have decided going for TGeo (2001):  We had problems representing ALICE geometry with G4 MANYMissing features: no support for MANY, reflection matrices, divisions  All reports pointed out that G4 geometry was ~2 times slower than G3 one, and its size in memory ~4 times bigger  No geometry I/O, poor modularity  We learned from the bad experience FLUGG authors had with G4 support for doing such things Using directly a MC-native geometry for a Virtual MC was already a contradictory approach… … that would have not much helped in solving the rest of the problems, e.g. dealing better with reconstruction.