1 / 54

FAIR Simulation & Analysis Framework FairRoot

FAIR Simulation & Analysis Framework FairRoot. Mohammad Al-Turany (IT-GSI) Denis Bertini (IT-GSI) Florian Uhlig (IT-GSI). Motivation FairRoot Features CMake: Testing and building system Geometry Interface Runtime Database and Parameter Handling Fast simulation

amory
Télécharger la présentation

FAIR Simulation & Analysis Framework FairRoot

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. FAIR Simulation & Analysis FrameworkFairRoot Mohammad Al-Turany (IT-GSI) Denis Bertini (IT-GSI) Florian Uhlig (IT-GSI)

  2. Motivation FairRoot Features CMake: Testing and building system Geometry Interface Runtime Database and Parameter Handling Fast simulation Integrated Track follower (Geane) Event display Grid Summary Overview M. Al-Turany Root@HeavyIon

  3. Which simulation engine to choose? One would like to use the modern and maintained GEANT4 But: We have to: Work fast ! ( LOI, TDR deadlines … ) Make reliable simulation In the CBM community and locally at the GSI : Better knowledge of “old” MC’s: GEANT3, FLUKA … less knowledge about GEANT4 ( intrinsic cuts / physics list …) It was extremely difficult to get support for working with Geant4 Motivation M. Al-Turany Root@HeavyIon

  4. No Executable: (Only Rootcint) Compiled Tasks for analysis, reconstruction, etc. Root macros for steering simulation or reconstruction Root macros for configurations (G3, G4, external decyers, etc.) The same framework can be used for Simulation and Analysis VMC and VGM for simulation TTask to organize the analysis data flow Use of TGeoManager for Simulation and Reconstruction Eve (Alice Event display) as base for a general event display Dynamic Event structure based on ROOT tree Features M. Al-Turany Root@HeavyIon

  5. Use of a Geometry Interface. G3 Native geometry Geometry Modeller (TGeoManager) Different geometry input format Grid: AliEn is working fine for us and we use it! CMake: Makefiles, dependencies , QM ,... Doxygen for class documentation Use PROOF for interactive analysis Features M. Al-Turany Root@HeavyIon

  6. Dynamic Tree creation at initialization time TFolder to organize memory Simulation: CbmDetector::Init() Analysis: CbmTask::Init() ( automatic partial IO ) Chaining Input data TChain services Connection of Data levels Use of Root Friend mechanism FairRoot IO M. Al-Turany Root@HeavyIon

  7. Tasks Mechanism CBMTask *Task1=new CBMTask("Task1") CBMTask *Task2=new CBMTask("Task2") CBMTask *Task3=new CBMTask("Task3") CBMTask *Task4=new CBMTask("Task4") CBMTask *Task5=new CBMTask("Task5") CBMTask *Task6=new CBMTask("Task6") Task1->Add(Task2) Task1->Add(Task3) Task2->Add(Task4) Task2->Add(Task5) Task3->Add(Task6) M. Al-Turany Root@HeavyIon

  8. Geant3 ROOT G3VMC Geant4 G4VMC Geometry Virtual MC FlukaVMC FLUKA Root files Hits, Digits, Tracks Cuts, processes Application IO Manager Track propagation Run Manager RTDataBase Event Display Root files Conf, Par, Geo Event Generator Magnetic Field Detector base Tasks STS Hit Producers Hit Producers STT Dipole Map Dipole Map Pluto DPM TOF TOF Solenoid Map Active Map ECAL EMC Oracle Conf, Par, Geo const. field digitizers digitizers Urqmd EVT TRD MUO const. field MVD MVD Track finding Track finding ASCII ASCII ZDC TPC MUCH DIRC CBM Code Panda Code RICH DCH Design Close contact common developments Always in close contact M. Al-Turany Root@HeavyIon

  9. Simulation-Reconstruction Chain Determine particle properties at target vertex Event Generator Transport particles through the detector material Transport SIM Full Simulation Digitizer Determine detector response RAW Fast Simulation Determine physical space point parameters from detector hits Storage Levels Hit Finder Analysis Determine momentum vector and PID for all tracks Reconstruction Physics Analysis Calculate physics observables M. Al-Turany Root@HeavyIon

  10. Why CMake: It supports great variety of platforms ( basically every *ix, Mac OS, Windows) ( Win: Borland, MS Visual C++, cygwin, mingw) CMake generates out of simple rules native Makefiles for all supported platforms Input files (rules) are the same on all platforms CMake additionally can produce project files for IDE's (KDevelop, XCode, VStudio) Big community because Cmake is the build tool for KDE 4 CMake has a testing framework Porting FairRoot to Mac OS X took 30 minutes Porting the rest of the needed Software (Root, Geant4 etc.) took more than 1 week CMake M. Al-Turany Root@HeavyIon

  11. Large code base is too large/complicated for a single developer to understand/maintain Identify problems when they occur Project depends on external packages which can cause problems Provide direct feedback to the developers as they experiment with new features Why test daily M. Al-Turany Root@HeavyIon

  12. Update source from SVN Generate Makefiles Build the project Run Tests Submit results to a webserver Define automatic testing M. Al-Turany Root@HeavyIon

  13. Software Process Dashboards SVN maintains source code revision CTest/CMake compiles and test the newly commited source code on distributed clients Typical developer checks in code Developer reviews the results M. Al-Turany Root@HeavyIon

  14. Client/Server architecture Cross platform testing Memory testing (purify, valgrind) Coverage testing Create documentation on a nightly basis (Doxygen) Check coding conventions (Rule Checker) Dashboards If it's not tested it's not working M. Al-Turany Root@HeavyIon

  15. CbmRoot Quality Dashboard M. Al-Turany Root@HeavyIon

  16. M. Al-Turany Root@HeavyIon

  17. Rule Checker Need to change the rules according to CBM/Panda Coding Conventions M. Al-Turany Root@HeavyIon

  18. Hades Geometry interface Advantage: more flexibility : different inputs can be used. closer to technical drawings and analysis coordinate systems Oracle interface Hades geometry table design reusable Step converter (Tobias Stockmann) Step To Root Step To Hades ASCII Step To DDL (Not used in FairRoot) Defined directly (TGeo) in the detector code (make sense for certain geometries CbmEcal, PandaEMC) Detector geometry in FairRoot M. Al-Turany Root@HeavyIon

  19. Step converter : Status? DDL output CBM output Root output supports now: box tube cone trap subtraction-solid Arb8 Xtru Tobias Stockmanns, FZ Jülich M. Al-Turany Root@HeavyIon

  20. CAD converter, updates and improvements Usage of CAD converter tool was already successful for MVD Tobias Stockmanns M. Al-Turany Root@HeavyIon

  21. CAD converter, updates and improvements Solenoid, Barrel Yoke Some geometries are too complex to convert “blindly” Tobias Stockmanns M. Al-Turany Root@HeavyIon

  22. RootBooleanPart - Tobias Stockmanns, FZ Jülich M. Al-Turany Root@HeavyIon

  23. Finally in TGeo: M. Al-Turany Root@HeavyIon

  24. Runtime Database The Runtime Database is the manager class for all Parameter containers: Creation, Initialization, Output Runtime Database Created in the init() function of the tasks via the container factories or in the macro Container Factories 2 Inputs 1 Output List of Parameter Containers List of Runs read() write() Filled during initialization ASCII File ROOT File Oracle IO defined in the macro M. Al-Turany Root@HeavyIon

  25. For time dependent information a version management is needed which fulfills the following requirements: It must be possible to get a consistent set of information for any date (e.g.the start time of a certain run). To preserve the history, no information - even if wrong - should be overwritten without trace, which means that only inserts should be made, no deletes nor updates. It must be possible to get an answer to the question: 'Which parameters were used when analyzing this run X years ago?' (The calibration might have been optimized several times since this date. Maybe some bugs have been detected and corrected in the mean time.) Version management in Oracle M. Al-Turany Root@HeavyIon

  26. Time dependant entries have a time stamp (date + time with the precision of one second) in form of three columns (Format: DATE): valid_since :First date when the entry is valid. valid_until :Last date when the entry is still valid invalid_since :Date when the entry is replaced by a correct entry or a better version in case of e.g. calibration parameters and therefore gets invalid. Version management in Oracle M. Al-Turany Root@HeavyIon

  27. Initialisation scheme (Analysis) CbmTask Parameters Data CbmParIo File=1 RunId1 RunId1 CbmTask::SetContainers() CbmTask::init() Par. Cont. Sim. Data CbmTask::Exec() CbmParIo CbmTask::Reinit() RunId2 File=2 RunId2 Par. Cont Sim. Data CbmTask::Exec() M. Al-Turany Root@HeavyIon

  28. PANDA: Fast Simulations Full Simulation Fast Simulation Event Generation Particle Transport Digitization Calibration Reconstruction Effective parametrization - acceptance cuts - resolution smearing - PID info Physics Analysis Klaus Goetzen M. Al-Turany Root@HeavyIon

  29. Comparison to Full Sim are reasonable(channel: pp  DsDs0) Compared to Full Sim (10 k Signal events; absolute numbers) M. Al-Turany Root@HeavyIon

  30. Overall multiplicityper pp candidateare quite reasonable(channel: pp  DsDs0) Split offs – Compared to Full Sim 0 mass shape andbackground also looksquite ok M. Al-Turany Root@HeavyIon

  31. The integration into the VMC (TGeant3) is done In FairRoot: Geane can be used in the analysis or from macro Propagation to Length Plane Volume (Enter or Exit point) To Line To Point Point of closest approch on a wire Geane Integration in FairRoot New Methods introduced by Pavia group in PANDA M. Al-Turany Root@HeavyIon

  32. Muon Absorber in CBM M. Al-Turany Root@HeavyIon

  33. RMS 0.95 RMS 0.93 RMS 0.93 RMS 0.92 We have defined a plane to which we extrapolate the track parameters. RMS 0.92 Pulls for the Panda STT 500 MeV/c Kapton 1.42 g/cm3 Isobutan 2.7e-3 g/cm3 M. Al-Turany Root@HeavyIon

  34. A new package Eve (Event Visualization Environment )is introduced to ROOT 5.17.06 Built on top of ROOT's GUI, GL and GED infrastructure Based on experiment-independant part of the ALICE event display It has been used in ALICE for more than a year to perform high-level event visualization, debugging of simulation and reconstruction code as well as for raw-data visualization. ROOT : New Event Display M. Al-Turany Root@HeavyIon

  35. Eve in FairRoot • Integration is straight forward (already done) • Some features can be used directly (even from macro) M. Al-Turany Root@HeavyIon

  36. Examples: Panda Detector M. Al-Turany Root@HeavyIon

  37. FairEventManager: (Sub-class of TEveEventManager) Read Events directly from FairRoot Tree Select Events for Display Apply cuts to whole event Navigation (Next Event, Previous Event and Event No) Read and display the geometry FairEventManager M. Al-Turany Root@HeavyIon

  38. FairRootManagerEditor M. Al-Turany Root@HeavyIon

  39. panda_eve() { ................ gSystem->Load("libEventDisplay"); CbmRunAna *fRun= new CbmRunAna(); fRun->SetInputFile("testsimu10.root"); fRun->LoadGeometry(); FairEventManager *fMan= new FairEventManager(); FairMCTracks *Track = new FairMCTracks ("Monte-Carlo Tracks"); FairMCPointDraw *MvdPoints = new FairMCPointDraw ("MVDPoint"); FairMCPointDraw *EMCPoints = new FairMCPointDraw ("EmcPoint"); fMan->AddTask(Track); fMan->AddTask(MvdPoints); fMan->AddTask(EMCPoints); .................. fMan->Init(); } Event Display Macro M. Al-Turany Root@HeavyIon

  40. CBM: Points and Tracks M. Al-Turany Root@HeavyIon

  41. CBM Muon detector M. Al-Turany Root@HeavyIon

  42. Examples: Panda Detector (MVD) M. Al-Turany Root@HeavyIon

  43. Examples: HADES Detector M. Al-Turany Root@HeavyIon

  44. Any TGeoManager based geometry can be used directly Combined with trajectory visualization in FairRoot, it can be used directly from macro to display TGeoTracks (MC Tracks) and all sub-classes of CbmPoint A task which should handle CbmHit subclasses is in preparation. Digits has to be implemented by detectors Status Event Diplay M. Al-Turany Root@HeavyIon

  45. TEveTrack and TEveTrackPropagator: Can be used directly with Track visualization option in FairRoot MCTracks and Reconstructed Tracks Need A realistic track propagator Field maps has to be taken into account Possible solution would be Geane Propagator!! Status Event Diplay: Tracks M. Al-Turany Root@HeavyIon

  46. Upgraded to version 2-13 at the last Grid Workshop, Vienna, 1-5 October 2007 Existing sites Ateneo/Manila Kilian Schwarz and Dan Protopopescu M. Al-Turany Root@HeavyIon

  47. Control panel Centralised control of all sites is now implemented via MonALISA: services can be remotely (re)started/stopped, Kilian Schwarz and Dan Protopopescu M. Al-Turany Root@HeavyIon

  48. In recent test productions on the Grid the simulation-analysis chain presented by S. Lange in the last PandaRoot status talk (September 2007 meeting) has been used Simulation-analysis chain Kilian Schwarz and Dan Protopopescu M. Al-Turany Root@HeavyIon

  49. Some arbitrary submission id Job jdl and scripts – FairRoot on Grid Kilian Schwarz and Dan Protopopescu M. Al-Turany Root@HeavyIon

  50. Results Message from the validation job M. Al-Turany Root@HeavyIon

More Related