1 / 28

Base Classes for Simulation The ALICE Simulation Strategy

Base Classes for Simulation The ALICE Simulation Strategy. Andreas Morsch ALICE Offline Group For the ALICE Collaboration 3rd LHC Computing Workshop Marseille, September 30, 1999. Outline. Setting the scene Goals and Priorities AliRoot Framework

inez
Télécharger la présentation

Base Classes for Simulation The ALICE Simulation Strategy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Base Classes for SimulationThe ALICE Simulation Strategy Andreas Morsch ALICE Offline Group For the ALICE Collaboration 3rd LHC Computing Workshop Marseille, September 30, 1999

  2. Outline • Setting the scene • Goals and Priorities • AliRoot Framework • Base Class Interfaces to Simulation Components • MC Base Class and Geant4 Application Status in this context • Segmentation Base Class • Event Generator Base Class

  3. Global Strategy • Clear distinction between immediate and long-term requirements. • Assure coherence of the whole simulation process: • Event generation • Particle Tracking • Signal Generation • Digitisation • Fast simulation • Maximum (re)use of existing code and knowledge (people): • Geant3 based simulation code • Users come with FORTRAN+PAW+CERNLIB background

  4. Immediate Requirements • Simulations needed for • Technical Design Reports • Detector design optimisation • Proof of principle for new physics analysis ideas • Integration of new detectors • Profit from OO design as early as possible • Allow for evolution

  5. Long Term Goals • Comparison between Geant3 and Geant4 using the same geometry and data structure is mandatory (QA) • Smooth transition to Geant4 with maximum reuse of Geant3 based simulation (user-) code • Possible integration of other tracking codes (fast simulators, FLUKA?, ...) • Use MC interface class to hide implementation specific features • Define G3 and G4 geometries from the same code.

  6. AliRoot AliRoot is the ALICE off-line framework for simulation, reconstruction, and analysis. Except for Geant3 and some remaining legacy code, this framework is based on OO design and written in C++.It uses the ROOT system as a foundation. • Framework helps people to move into OO • CINT C++ scripting language • persistent=transient object • … • Keeps entropy low and allows to speak a common language.

  7. ROOT provides • I/O (transient=persistent) • C++ Scripting Language • Container Classes • Automatic Documentation • GUI Classes • Graphic Tools • Histograming Tools • ….

  8. Example: Fast Simulation Physics Signals Particle Stack Segmentation Detector Classes Example: Digitisation Cluster Finder Detector Simulation MC Event-Generators Fast Simulation Tracking Codes Base Classes Representing Simulation Components Feasibility Studies Physics Performance Detector Performance o o Hits Reconstruction Digits Reconstruction Optimisation

  9. AliMC interface class Geometry definition methods Material and Tracking Media Definitions Physics Process Control Generic access functions to information during tracking AliRun Run Control Event Control Owner of … Particle Stack Detector list Primary particle Generator Magnetic Field Map I/O control: kinematics tree hits digits reconstruction objects MC Base Class and Run Control Instantiation during run time using CINT: new TGeant3(“C++ Interface to Geant3”); TGeant3 *geant3 = (TGeant3*) gMC; new TGeant4(“C++ Interface to Geant4”); TGeant4 *geant4 = (TGeant4*) gMC;

  10. FLUKA Step GUSTEP AliRun::StepManager Detector Version StepManager Add the hit Geant4StepManager Disk I/OObjy Root New Tracking Schema

  11. AliMC Implementations • TGeant3 up and running • TGeant4 in development • TFluka on the wishlist

  12. Geant3->Geant4 • Starting Idea • Reuse the Geant4 g3tog4 package for implementation of geometry methods of the MC interface. • g3tog4 completely re-implemented • bugs fixed • missing parts have been added • reflection symmetry still missing in G4 • ROOT output of hits for direct comparison G3/G4. • No results from tracking yet.

  13. ALICE G4 Simulation Prototype Components Stand-Alone Seen through AliMC

  14. More examples for the use interface classes in AliRoot • Segmentation of Muon Chambers (CPC+CSC) • detector response simulation • digitisation • clustering • visualisation • Event generators • slow simulation • fast simulation

  15. Alice Muon Arm Segmentation base class was developed out of the need to simulate CPCs and CsC with segmentation schemas changing from chamber to chamber, radially … and with time.

  16. AliDetector AliMUON AliMUONresponse AliMUONsegmentation TObject AliMUONchamber ALICE Muon-Arm Class Design Reflects the physical structure of the detector ... • Segmentation Behaviour: • Local to global Transformation • Global to local Transformation • Iterators • Next Neighbours • Generic access functions to geometrical structure • ….

  17. AliMUONsegmentation AliMUONHitMap AliMUONresponse Clients of the Segmentation Class Stepmanager Rawcluster Finder Digitisation Signal Generation Condition Space Point Reconstruction Cluster Generation Event Display Analysis Hits Pad Hits SpacePoints RawClusters Digits Simulation and Reconstruction functional and ready for performance tests

  18. Hits and Pad Hits

  19. Hits and PadHits

  20. Hit Reconstruction

  21. Event Generator Base Class • Purpose: • Generate particles to be tracked and put them on the stack. • Interaction with the gAlice global object: • gAlice->SetGenerator(this) registers the generator object to be used for the run. The generator created first is used. • gAlice->SetTrack(...) puts particle in the stack. • In a more general framework AliGenerator can be used to write primary particle event files or as input to fast physics simulation.

  22. AliGenerator Member Functions • Member Functions ... • Generation (Init(), Generate()) • Set and get number of particles/event • Set kinematic selection (momentum, pT, phi, theta, y) • Set vertex position and smearing (sigma, per event, per track) • Set child and parent weight

  23. Event Generator Implementations • External Generators (Pythia) • External Event Files • Parameterisations (y, pT, particle cocktail) • Boundary Sources as interface to FLUKA • Testing Tools: Particle Guns, ...

  24. ALIFE Boundary Source Interface to FLUKA:AliGenFLUKASource AliRoot FLUKA

  25. AliGenCocktail: public AliGenerator AliGenerator Tlist AliGenCocktailEntry Generator Events Generated first/last in stack biasing weight Application: AliGenCocktail: A fast physics cocktail simulation tool:

  26. Summary • ALICE uses ROOT based OO frame-work for simulation and reconstruction (AliRoot) • AliMC abstract interface class allows: • Integration of Geant3 based simulation code • Test of Geant4 under the same conditions (Geometry, signal generation, output data structures) • Base classes representing simulation related concepts produce synergy effects inside our framework. • … and could be reused in other architectures

More Related