FAIR Simulation & Analysis Framework FairRoot
description
Transcript of FAIR Simulation & Analysis Framework FairRoot
![Page 1: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/1.jpg)
FAIR Simulation & Analysis FrameworkFAIR Simulation & Analysis FrameworkFairRoot FairRoot
Mohammad Al-Turany (IT-GSI)
Denis Bertini (IT-GSI)
Florian Uhlig (IT-GSI)
![Page 2: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/2.jpg)
28.04.2008 ALICE-FAIR meeting 2
OverviewOverview
• Motivation
• FairRoot Features
• CMake: Testing and building system
• Geometry Interface
• Fast simulation
• Integrated Track follower (Geane)
• Event display
• Summary
![Page 3: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/3.jpg)
28.04.2008 ALICE-FAIR meeting 3
MotivationMotivation
• 2003 we start making simulations for CBM:– Which simulation engine to choose?
• One would like to use the modern and maintained GEANT4
• But: 1. We have to:
» Work fast ! ( LOI, TDR deadlines … )» Make reliable simulation
1. In the CBM community and locally at the GSI :
» Better knowledge of “old” MC’s: GEANT3, FLUKA … » lack of knowledge about GEANT4 ( intrinsic cuts /
physics list …)» It was extremely difficult to get support for working with
Geant4
![Page 4: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/4.jpg)
28.04.2008 ALICE-FAIR meeting 4
CbmRootCbmRoot
• In very close contact with CBM collaboration implementing a VMC based framework was started:– ROOT based.– Re-Use of Hades geometry interface– Re-Use of Hades Runtime database and Oracle interface– TGeoManger as a navigation from the beginning – Extended TTask for reconstruction
• 2006 the framework was also used for PANDA and became FairRoot
![Page 5: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/5.jpg)
28.04.2008 ALICE-FAIR meeting 5
Features Features
• No Executable: (Only Rootcint)– Compiled Tasks for reconstruction, analysis, etc.– Root macros for steering simulation or reconstruction – Root macros for configurations (G3, G4, Fluka and Analysis)
• VMC and VGM for simulation
• Reconstruction can be done directly with simulation or as a separate step
• RHO Package for Analysis (optional: see talk by Klaus Götzen)
• TGeoManager for Simulation and Reconstruction
• Eve (Alice Event display) as base for a general event display
• Dynamic Event structure based on ROOT tree
• Hades oracle interface and run time data base
![Page 6: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/6.jpg)
28.04.2008 ALICE-FAIR meeting 6
FeaturesFeatures
• Hades Geometry Interface.– G3 Native geometry– Geometry Modeller (TGeoManager)– Different geometry input format
• Grid: we use AliEn!
• CMake: Makefiles, dependencies , QM (see talk by Florian)
• Doxygen for class documentation
• The same application for fast and full simulation
![Page 7: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/7.jpg)
28.04.2008 ALICE-FAIR meeting 7
Run Manager
Event Generator
Magnetic
FieldDetector base
IO Manager
Tasks
RTDataBase OracleConf, Par,Geo
Root filesConf, Par,Geo
Root files Hits, Digits, Tracks
ApplicationCuts, processes
Event Display
Track propagati
on
ROOT Virtual MC
Geant3
Geant4
FLUKA
G4VMC
FlukaVMC
G3VMC
Geometry
STS
TRD
TOF
RICH
ECAL
MVDZDC
MUCH
ASCII
Urqmd
Pluto
Track findin
g
digitizers
Hit ProducersDipole Map
Active Map
const. field
CBM Code
STT
MUO
TOF
DCH
EMC
MVDTPCDIRC
ASCII
EVT
DPM
Track finding
digitizers
Hit Producers
Dipole Map
Solenoid Map
const. field
Panda Code
comm
on developm
ents
Always in close
contact
Close contact
Design Design
![Page 8: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/8.jpg)
28.04.2008 ALICE-FAIR meeting 8
FairRoot IOFairRoot IO
• 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
![Page 9: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/9.jpg)
28.04.2008 ALICE-FAIR meeting 9
Why Dynamic structure:Why Dynamic structure:
• Detectors can be added or replaced on the fly without changing the compiled code
• For design studies it is easier to work with a subset of the detectors and then easily merge the rest
• Simple analysis on output files can be done in plain root without any extra libraries
• Connection of different files can be done via tree friends
• Transient and persistence objects are the same
![Page 10: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/10.jpg)
28.04.2008 ALICE-FAIR meeting 10
IO Manager (Simulation init)IO Manager (Simulation init)
Detectors
MC Application
Tasks
STL Map<TObject*, BrName>
TFolder *cbmroot
Output File(s)
RadLengthMan
Vis. ManagerIf persistence
new TTree("cbmsim",/cbmroot,99);
TGeoManager
TFolderTTree
![Page 11: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/11.jpg)
28.04.2008 ALICE-FAIR meeting 11
IO Manager: Register ObjectIO Manager: Register Object
![Page 12: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/12.jpg)
28.04.2008 ALICE-FAIR meeting 12
Output FileOutput File
Tree
Folder structure used to create the Tree, it contains
the object hierarchy and types
Geometry
![Page 13: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/13.jpg)
28.04.2008 ALICE-FAIR meeting 13
TFolder & Output TreeTFolder & Output Tree
![Page 14: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/14.jpg)
28.04.2008 ALICE-FAIR meeting 14
IO Manager IO Manager (Analysis, Reconstruction init)(Analysis, Reconstruction init)
Tasks
TFolderout
If persistence
TFolderIn
Register Get
STL Map<TObject*, BrName> Output File(s)
TFolderTTree
Input File(s)
TGeoManager
TFolderTTree
![Page 15: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/15.jpg)
28.04.2008 ALICE-FAIR meeting 15
IO Manager:Get ObjectIO Manager:Get Object
![Page 16: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/16.jpg)
28.04.2008 ALICE-FAIR meeting 16
Initialisation scheme (Analysis)Initialisation scheme (Analysis)
RunId1
RunId2
File=1
File=2
Sim. Data
Sim. Data
CbmTask Parameters
RunId1
RunId2
Par. Cont.
Par. Cont
CbmTask::SetContainers()CbmTask::init()
CbmTask::Exec()
CbmTask::Exec()
CbmTask::Reinit()
CbmParIo
CbmParIo
Data
![Page 17: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/17.jpg)
28.04.2008 ALICE-FAIR meeting 17
CMake CMake
• 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
– produce project files for IDE's (KDevelop, XCode, VStudio)– Input files (rules) are the same on all platforms
– Big community behind it, CMake is the build tool for KDE 4 – CMake has a testing framework
See talk by Florian Uhlig
![Page 18: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/18.jpg)
28.04.2008 ALICE-FAIR meeting 18
Why test dailyWhy test daily
• 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
![Page 19: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/19.jpg)
28.04.2008 ALICE-FAIR meeting 19
Software Process DashboardsSoftware Process Dashboards
SVN maintains source code revision
Typical developerchecks in code
CTest/CMake compilesand test the newly commited source code on distributed clients
Developer reviews the results
![Page 20: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/20.jpg)
28.04.2008 ALICE-FAIR meeting 20
DashboardsDashboards
• Client/Server architecture
• Cross platform testing
• Memory testing (purify, valgrind)
• Coverage testing
• Create documentation on a nightly basis (Doxygen)
• Check coding conventions (Rule Checker)
If it's not tested it's not workingIf it's not tested it's not working
![Page 21: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/21.jpg)
28.04.2008 ALICE-FAIR meeting 21
Detector geometry in FairRootDetector geometry in FairRoot
• 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)
![Page 22: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/22.jpg)
28.04.2008 ALICE-FAIR meeting 22
Geometry construction: Geometry construction:
Detector can implements:
• ConstructGeometry:• One can implement his own reader, or TGeo directly
• ConstructASCIIGeometry• To use the Hades geometry format
• ConstructRootGeometry• Geometry can be read from a root file containing:
• TGeoManager or TGeoVolume
• Special TGeoVolume coming from StepToRoot converter
![Page 23: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/23.jpg)
28.04.2008 ALICE-FAIR meeting 23
CAD converter, updates and improvements
Tobias Stockmanns
Usage of CAD converter tool was already successful for MVD
Usage of CAD converter tool was already successful for MVD
![Page 24: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/24.jpg)
28.04.2008 ALICE-FAIR meeting 24
CAD converter, updates and improvements
Tobias Stockmanns
Some geometries are too complex to convert “blindly”
Some geometries are too complex to convert “blindly”
Solenoid,Barrel Yoke
See talk by Tobias Stockmanns
![Page 25: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/25.jpg)
28.04.2008 ALICE-FAIR meeting 25
Fast SimulationFast Simulation
• The same application, just different configuration:
– Event generators just push the event into the stack, no transport is taking place
–Detector response is presented as TTask
–The output has the same form as full simulation
![Page 26: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/26.jpg)
28.04.2008 ALICE-FAIR meeting 26
Simulation-Reconstruction ChainSimulation-Reconstruction Chain
Event Generator
Transport
Digitizer
Hit Finder
Reconstruction
Physics Analysis
Fu
ll S
imu
lati
on
An
alys
is
Determine particle properties
at target vertex
Transport particles through
the detector material
Determine detector response
Determine physical space point
parameters from detector hits
Determine momentum vector
and PID for all tracks
Calculate physics observables
Storage
Levels
SIM
RAW
Fas
t S
imu
lati
on
![Page 27: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/27.jpg)
28.04.2008 ALICE-FAIR meeting 27
Particle TransportDigitizationCalibrationReconstruction
Effective parametrization - acceptance cuts - resolution smearing - PID info
Full Simulation Fast Simulation
Event Generation
Physics Analysis
PANDA: Fast Simulations
Klaus Goetzen
![Page 28: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/28.jpg)
28.04.2008 ALICE-FAIR meeting 28
Compared to Full SimCompared to Full Sim
Comparison to Full Sim are reasonable(channel: pp DsDs0)
(10 k Signal events; absolute numbers)
![Page 29: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/29.jpg)
28.04.2008 ALICE-FAIR meeting 29
Split offs – Compared to Full SimSplit offs – Compared to Full Sim
Overall multiplicityper pp candidateare quite reasonable(channel: pp DsDs0)
0 mass shape andbackground also looksquite ok
See talk by Klaus Götzen
![Page 30: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/30.jpg)
28.04.2008 ALICE-FAIR meeting 30
Geane Integration in FairRoot
• 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 approach on a wire
New Methods introduced by Pavia
group in PANDA
![Page 31: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/31.jpg)
28.04.2008 ALICE-FAIR meeting 31
Muon Absorber in CBMMuon Absorber in CBM
![Page 32: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/32.jpg)
28.04.2008 ALICE-FAIR meeting 32
Pulls for the Panda STT500 MeV/cWe have defined a plane to which
we extrapolate the track parameters.
RMS 0.95 RMS 0.93 RMS 0.93 RMS 0.92
RMS 0.92
Kapton 1.42 g/cm3Isobutan 2.7e-3 g/cm3
![Page 33: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/33.jpg)
28.04.2008 ALICE-FAIR meeting 33
Eve in FairRootEve in FairRoot
• Integration is straight forward (already done)• Some features can be used directly (even from macro)
![Page 34: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/34.jpg)
28.04.2008 ALICE-FAIR meeting 34
Examples: Panda DetectorExamples: Panda Detector
![Page 35: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/35.jpg)
28.04.2008 ALICE-FAIR meeting 35
FairEventManagerFairEventManager
• 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
![Page 36: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/36.jpg)
28.04.2008 ALICE-FAIR meeting 36
FairRootManagerEditorFairRootManagerEditor
![Page 37: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/37.jpg)
28.04.2008 ALICE-FAIR meeting 37
Event Display MacroEvent Display Macropanda_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();
}
![Page 38: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/38.jpg)
28.04.2008 ALICE-FAIR meeting 38
CBM: Points and TracksCBM: Points and Tracks
![Page 39: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/39.jpg)
28.04.2008 ALICE-FAIR meeting 39
Examples: Panda Detector (MVD)Examples: Panda Detector (MVD)
![Page 40: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/40.jpg)
28.04.2008 ALICE-FAIR meeting 40
Examples: HADES DetectorExamples: HADES Detector
![Page 41: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/41.jpg)
28.04.2008 ALICE-FAIR meeting 41
Status Event DiplayStatus Event Diplay
• 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
![Page 42: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/42.jpg)
28.04.2008 ALICE-FAIR meeting 42
Status Event Diplay: TracksStatus Event Diplay: Tracks
• 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!!
![Page 43: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/43.jpg)
28.04.2008 ALICE-FAIR meeting 43
AvailabilityAvailability
• Tested on Linux and Mac OS • Some documentation: fairroot.gsi.de• subversion.gsi.de/fairroot/cbmroot• subversion.gsi.de/fairroot/pandaroot
![Page 44: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/44.jpg)
28.04.2008 ALICE-FAIR meeting 44
FairRoot Status!FairRoot Status!• CBM:
– Mainly using Geant3 for simulation – We have our own work around to use native FLUKA and put the
output in FairRoot format (Dosimetry studies) (See talk by Denis)– Comparisons with TFluka are ongoing
• PANDA:– Mainly using Geant4 and compare to Geant3 – Some prototypes for EMC, TPC are build, test beams data is
available and will be compared to Geant3, Geant4 and Fluka
• HADES:– Mainly used by us to compare to the data and existing native
Geant3 simulation (e.g. Cerenkov production etc.)
• NUSTAR:– Still evaluating if FairRoot will be suitable for them.
![Page 45: FAIR Simulation & Analysis Framework FairRoot](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814de5550346895dbb5538/html5/thumbnails/45.jpg)
Thanks ...