300 likes | 320 Views
Explore FairRoot, a versatile simulation and analysis framework for experiments design studies like CBM, PANDA, and HADES at GSI, featuring enhanced simulation engine selection with GEANT4 and VMC for reliable data flow maintenance. Utilize Runtime Database for parameter handling and Geometry Interface for track following and reconstruction, ensuring a seamless analysis workflow.
E N D
FAIR Simulation&Analysis FrameworkFairRoot Mohammad Al-Turany (IT-GSI) Denis Bertini (IT-GSI) Florian Uhlig (IT-GSI) Ilse König (Hades-GSI)
Motivations FairRoot Features Geometry Interface Runtime Database and Parameter Handling Integrated Track follower (Geane) FAIR experiments design studies CBM PANDA HADES Summary Overview CHEP07 5 september
Fair@Gsi Improvements: • Primary beam intensity 100 – 1000 x • Secondary beam intensity for radioactive nucl.: up to 10 000x • Ion energy: 20 x • New features: • fastpulsed supraconducting Magnet • „cooled“ Antiproton beam up to 15 GeV • Specific: intense „cooled“ beam radioactive ‚exotic nucleus SIS100/SIS300 GSI Accelerator Facilities CBM HESR ESR UNILAC Super- FRS Plasma Physics PANDA Atomic Physics FLAIR CR NESR CHEP07 5 september
Which simulation engine to choose? Need to move to modern and maintained MC: GEANT4 Need for Working fast ! ( LOI, TDR deadlines … ) Making reliable simulation Usually: better knowledge of “old” MC’s: GEANT3, FLUKA … A cross-check of simulation results between different MC is needed Better understanding of GEANT4 ( intrinsic cuts / physics list …) Preparing for full simulation Use of VMC (Virtual Monte Carlo ) : an interface between MCs With the same code, the user can switch between different MCs Motivations CHEP07 5 september
The same framework can be used for Simulation and Analysis Fully ROOT based: VMC and VGM for simulation IO scheme (TChain, friend TTrees, TFolders ) for persistency TTask to organize the analysis data flow Use of TGeoManager for Simulation and Reconstruction Completely configurable via ROOT macros Easy to maintain (only ROOT standard services are used) Use of a Geometry Interface. G3 Native geometry Geometry Modeller (TGeoManager) Different geometry input format Features CHEP07 5 september
Oracle Configuration, Parameters, Geometry CBM Simulation ROOT Geant3 Geometry Manager Virtual MC Geant4 Magnet FLUKA Target IO Manager GeoInterface Run Manager PIPE RunTime DataBase Cave Module Primary Generator Magnetic Field STS Root files Configuration, Parameters, Geometry Detector TRD Tasks EVGEN TOF Particle Generator RICH Pluto Field Map ECAL ASCII Urqmd CHEP07 5 september
Oracle Configuration, Parameters, Geometry CBM Analysis Root files MCPoints, Hits, Digits, Tracks ROOT Geometry Manager IO Manager GeoInterface Run Manager RunTime DataBase Module Primary Generator Magnetic Field Root files Configuration, Parameters, Geometry Detector Tasks EVGEN Delta digitizers Tracking CHEP07 5 september
Panda Simulation CHEP07 5 september
Advantage: more flexibility : different inputs can be used. closer to technical drawings and analysis coordinate systems Oracle interface Hades geometry table design reusable Geometry Interface CHEP07 5 september
Material & Geometry Interface TGeo Geometry/Material TGeoVolume TGeoNode TGeoMaterial Oracle DB CbmGeoInterface ASCII G3 Geometry/Material G3Builder RootBuilder XYZ Geometry/Material Root files XYZ CHEP07 5 september
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 CHEP07 5 september
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 CHEP07 5 september
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 CHEP07 5 september
class CbmParGenericSet : public CbmParSet { public: CbmParGenericSet(const char* name,const char* title,const char* context) : CbmParSet(name,title,context) {} virtual ~CbmParGenericSet() {} virtual Bool_t init(CbmParIo*); virtual Int_t write(CbmParIo*); virtual void putParams(CbmParamList*)=0; virtual Bool_t getParams(CbmParamList*)=0; virtual void printParams(); Example: CbmGenericParSet Base class for most parameter containers Advantage: only a few lines of code to be implemented all I/O interfaces exist already Allows to store various types of parameters (handled by CbmParamList): int, float, double, strings,… arrays TObjects (classes, histograms, …) in derived class implemented CHEP07 5 september
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() CHEP07 5 september
Make use of our CbmRootManager (IO): When the TChain switch to new file: Clear the global list of friends Add the correct next friend to the list Update the corresponding pointers (TTree, Friend Tree ..) Combining Chain with Friend: { //… CbmRun *fRun = new CbmRun(); fRun->SetInputFile(“rich_hit1.root”); fRun->AddFriend(“Rguidance1.root”); fRun->AddFile(“rich_hit2.root”); fRun->AddFriend(“Rguidance2.root”); //… fRun->Init(); fRun->Run(); … } Combined Chain& Friend CHEP07 5 september
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) CbmPoints and/or CbmTrackParam can be used as input for propagation See talk of Andrea Fontana Geane Integration in FairRoot CHEP07 5 september
Muon Absorber in CBM CHEP07 5 september
CBM experiment@GSI • tracking, vertex reconstruction: radiation hard silicon pixel/strip detectors (STS) in a magnetic dipole field • electron ID: RICH1 & TRD (& ECAL) p suppression 104 • hadron ID: TOF (& RICH2) • photons, p0, m: ECAL • high speed DAQ and trigger ECAL RICHs magnet beam TOF TRDs target STS CHEP07 5 september
Analysis: π0e+e- CHEP07 5 september
CBM:KO electrons production in the Au target (setup in the air or in vacuum B=1T) Geant3 Geant4 7.9 e/HI @ B=1T CHEP07 5 september
Tof Coils MDC 1,2 Rich MDC 3 Shower MDC 4 Hades@GSI • Goal: Study of in-medium modifications (r, w, j) properties • Produced in A+A, p+A, p+A collisions • Di-electrons are used as probes: Ve+e- • Hexagonal symmetry around the beam axis • Geometrical acceptance of 40% • Invariant mass resolution of 1% • Operates at reaction rates up to 106 /s 0.5 - 1 Tbyte/year • ~ 70.000 readout channels CHEP07 5 september
Need to simulate heavy system at High energy Need external stack for Geant3: internal stack capacity reached) Check data with geant4 Easy reuse of FairRoot framework services Hades example • Interesting case ! • Gives us the opportunity to tune Geant4 (cuts/physics list …) • and compare with real Data ! • Realistic test of the framework CHEP07 5 september
HADES: MDC Hit distribution Geant3 Geant4 Cross-check with Hades data to be done ! CHEP07 5 september
Multi purpose detector at FAIR Physics program pp, pA collisions 1.515 GeV/c (p momentum) • Charmonium (cc) spectroscopy • Open charm spectroscopy • Search for gluonic excitations (hybrids - glueballs) • Charmed hadrons in nuclei • Single and double Hypernuclei • Other options (EFF, GPD, …) The Panda experiment CHEP07 5 september
PANDA Detector implementation: proposed geometry CHEP07 5 september
Detector implementation: state of art view from geometry manager COILS (dipole) Muon Detector DIRC (Cherenkov) TPC/STT Micro Vertex EMC (Fwd EndCup) COILS (solenoid) EMC (barrel/Bkw EndCup) CHEP07 5 september
crystal crystal cluster two clusters Reconstruction example: c in EMC barrel c at rest in lab frame c only barrel not yet full coverage c ° Clusterization Jan Zhong Dima Melnichuk CHEP07 5 september
A VMC based framework for FAIR has been implemented First released in March 2004 Used for FAIR experiments design studies Ongoing work Check of Geant4 VMC interface Check of TFluka VMC interface Use more intensively the TGeoManager services for the reconstruction Summary CHEP07 5 september
Tested on Red Hat 9.0 (gcc 3.2.2 and icc 8.1) Suse 9.0 (gcc 3.3.1) Suse 10.1 (gcc 4.1.0) Debian (gcc 3.2.3) Fedora Core 2 (gcc 3.3.3) Fedora Core 4 (gcc 4.0 ) Fedora Core 5 (gcc 4.1.0) Gentoo (gcc 4.1.0) SL 3-4 64 bit architectures Binaries are also available for these platforms Availability CHEP07 5 september