Download presentation
Presentation is loading. Please wait.
1
Status of software development for MPD Oleg Rogachevsky for MPD collaboration Round Table discussion III 5 November 2008 Dubna
2
05 November 2008 Round Table III 2 Software Simulation - Analysis chain Event Generator Transport Digitizer Hit Finder Reconstruction Physics Analysis Simulation Analysis 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 Storage Levels SIM RAW
3
05 November 2008 Round Table III 3 FairRoot Features The same framework can be used for Simulation and Analysis Fully ROOT based: –VMC for simulation –IO scheme (TChain, friend TTrees, TFolders ) for persistency –TTask to organize the analysis data flow Completely configurable via ROOT macros Easy to maintain (only ROOT standard services are used) Geometry / navigation system models –G3/G4 Native geometrical models –Geometry Modeller (TGeoManager) ( G3/FLUKA + G4?)
4
05 November 2008 Round Table III 4 MpdRoot – extension of FairRoot FairRoot (Former CbmRoot) has started at the end of 2003 First released in March 2004 Oct 04 release was used to produce data for the CBM technical report June 05 release ( Hades initialization scheme adapted ) Sept. 06 PANDA collaboration decided to use CbmRoot as simulation and analysis framework Oct. 06 CbmRoot was renamed to FairRoot Oct. 07 MPD group started to use FairRoot as framework for MPD simulation Details in http://cbmroot.gsi.de
5
05 November 2008 Round Table III 5 FairRoot: external software ROOT 5.20 Geant4 4.9.p02 Geant3.21+vmc.1.9 (r227) VGM 3.0 Geant4 VMC (2.5) CLHEP 2.0.3.3 ApMon -Application Monitoring API for C++ (v. 2.2.5) Cmake 2.6.0 (optional) GSL (GNU Scientific Library) PLUTO (v.412) Pythia6 Boost (1.35)
6
05 November 2008 Round Table III 6 MpdRoot: SVN repository WEB page: http://xfarm4.jinr.ru/viewvc/trunk
7
05 November 2008 Round Table III 7 MpdRoot: Simulation ROOT Run Manager Virtual MC Geant3 Geant4 FLUKA Particle Generator ASCII Pipe TPC Straw EC Cave TOF Magnet ZDC EVGEN Primary Generator Urqmd Magneti c Field Module Detector Geometry Manager IO Manager Tasks Field Map GeoInterface ETOF RunTime DataBase FastMC MySQL Configuration, Parameters, Geometry Root files Configuration, Parameters, Geometry
8
05 November 2008 Round Table III 8 TPC implementation ( Yu. Zanevsky group ) MC geometry Pad responce
9
05 November 2008 Round Table III 9 TOF implementation ( V. Golovatyuk group ) MC geometry Mass separation
10
05 November 2008 Round Table III 10 ECAL implementation ( I. Tyapkin group ) 0 extraction M(MeV) Occupancy in the END CAP calorimeter Detector size – 3x3 cm 2 Occupancy in the BARREL calorimeter Detector size – 3x3 cm 2 π° after background subtraction π° with combinatorial background
11
05 November 2008 Round Table III 11 ZDC implementation ( A. Kurepin & A. Litvinenko group ) Trigger & centrality determination MC geometry
12
05 November 2008 Round Table III 12 StrawECT implementation ( V.Peshekhonov group ) Extension of the pseudorapidity region MC geometry
13
05 November 2008 Round Table III 13 MPD Event display ZDC TOF TPC ETOF StrawECT
14
05 November 2008 Round Table III 14 Detector simulation SystemMC GeometryDigitisation TPCsegmentedhitproducer Straw ECTsegmentedhitproducer ETOFmonolitic TOFSegmentedhitproducer ECALSegmentedShower model ZDCSegmentedHitproducer
15
05 November 2008 Round Table III 15 MpdRoot: Analysis ROOT Run Manager EVGEN Primary Generator Magnetic Field Module Detector Geometry Manager IO Manager Tasks AnalysisTracking digitizers GeoInterface RunTime DataBase Root files Configuration, Parameters, Geometry MySQL Configuration, Parameters, Geometry Root files MCPoints, Hits, Digits, Tracks
16
05 November 2008 Round Table III 16 Tracking UrQMD AuAu collision at s = 9 GeV b = 0 N particles > 1000
17
05 November 2008 Round Table III 17 Tracking in TPC (Zinchenko A.) preliminary
18
05 November 2008 Round Table III 18 Global Tracking ( TPC + StrawECT + ETOF) Efficiency vs pseudorapidity Momentum resolution preliminary
19
05 November 2008 Round Table III 19 Physics analyses Monte Carlo codes: Monte Carlo codes:: UrQMD v. 2.3 Pluto v. 4.12 Pythia 6 SHIELD (N.Sobolevsky INR) FastMC (N. Amelin et al.) Nuclear cascade ( K.Gudima et al. IAP ASM Moldova) Physical observables: flow, HBT correlation, multiplicity fluctuation, pt fluctuation, strangeness-to-entropy ratio Details in G.Musulmanbekov’s report
20
05 November 2008 Round Table III 20 Software for SPD First version has been done with Geant4 Started to implement detector geometry into mpdroot framework Look at A.Nagaitsev’s report
21
05 November 2008 Round Table III 21 Computing NICA/MPD PC farm: 2 interactive PC 5 Tb disk space Scientific Linux 5.2 All external packages for MpdRoot are installed & configured MpdRoot is taken from svn repository ~ 30 users
22
05 November 2008 Round Table III 22 Summary & ToDo List Software framework for MPD (MpdRoot) can be used for detailed simulation of detectors geometry and response Basic detectors of MPD are implemented in the framework Study of the track reconstruction is in progress More realistic detectors responses (hit produsers) Join physics analyses with detector simulation
23
05 November 2008 Round Table III 23 Virtual Monte Carlo (VMC) FLUKA transport FLUKA User Code VMC Geometrical Modeller G3 G3 transport G4 transport G4 Reconstruction Visualisation
24
05 November 2008 Round Table III 24 ASCII: Input format for the Geometry Creation of a volume Volume name Shape Shape parameters Medium Positioning of the volume in a mother (Node) Mother Transformation (position and rotation matrix) TUBE
25
05 November 2008 Round Table III 25 Material & Geometry Interface Oracle DB ASCII CbmGeoInterface TGeo Geometry/Material TGeoVolume TGeoNode TGeoMaterial RootBuilder G3Builder G3 Geometry/Material XYZBuilder XYZ Geometry/Material Root files Advantage: more flexibility : different inputs can be used.
26
05 November 2008 Round Table III 26 CBM Runtime Database Runtime Database 2 Inputs 1 Output List of Parameter Containers ASCII File ROOT File Oracle List of Runs The Runtime Database is the manager class for all Parameter containers: Creation, Initialization, Output Container Factories IO defined in the macro Created in the init() function of the tasks via the container factories or in the macro Filled during initialization read() write()
27
05 November 2008 Round Table III 27 IO Features Dynamic Tree creation at initialisation time –Simulation: CbmDetector::Init() –Analysis: CbmTask::Init() ( automatic partial IO ) Chaining Input data –TChain services Connection of Data levels –Use of Root Friend mechanism Combined Chaining & Friend Mechanism
28
05 November 2008 Round Table III 28 Simulation Macro – loading Libs Base Libs Cbm Spec. Libs // Load basic libraries gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); basiclibs(); // Load CBMROOT libraries gSystem->Load("libGeoBase"); gSystem->Load("libParBase"); gSystem->Load("libCbm"); gSystem->Load("libPassive"); gSystem->Load("libGen"); gSystem->Load("libSts"); gSystem->Load("libTrd"); gSystem->Load("libTof"); gSystem->Load("libRich");
29
05 November 2008 Round Table III 29 Simulation Macro //create the Run Class CbmRunSim *fRun = new CbmRunSim(); // set the MC version used fRun->SetName("TGeant3"); //for G4 use "TGeant4" //Choose the Geant 3 Navigation System fRun->SetGeoModel("G3Native"); // "TGeo" flag in case of TGeoManager // choose an output file name fRun->SetOutputFile("test.root");
30
05 November 2008 Round Table III 30 Simulation Macro- Create Modules CbmModule *Cave= new CbmCave("WORLD"); Cave->SetGeometryFileName("PASSIVE/CAVE", "v03a"); fRun->AddModule(Cave); CbmModule *Target= new CbmTarget("Target"); Target->SetGeometryFileName("PASSIVE/TARGET", "v03a"); fRun->AddModule(Target); CbmModule *Pipe= new CbmPIPE("PIPE"); Pipe->SetGeometryFileName("PASSIVE/PIPE", "v03a"); fRun->AddModule(Pipe); CbmModule *Magnet= new CbmMagnet("MAGNET"); Magnet->SetGeometryFileName("PASSIVE/MAGNET", "v03a"); fRun->AddModule(Magnet);
31
05 November 2008 Round Table III 31 Simulation Macro- Create Detectors CbmDetector *STS= new CbmSts("STS", kTRUE); STS->SetGeometryFileName("STS/STS", "v03c"); fRun->AddModule(STS); CbmDetector *TOF= new CbmTof("TOF", kTRUE ); TOF->SetGeometryFileName("TOF/TOF", "v03_v10"); fRun->AddModule(TOF); CbmDetector *TRD= new CbmTRD("TRD",kFALSE ); TRD->SetGeometryFileName("TRD/TRD", "v04b_9" ); fRun->AddModule(TRD);
32
05 November 2008 Round Table III 32 Simulation Macro-Event Generators CbmPrimaryGenerator *priGen= new CbmPrimaryGenerator(); fRun->SetGenerator(priGen); CbmUrqmdGenerator *fGen1= new CbmUrqmdGenerator("00-03fm.100ev.f14"); CbmPlutoGenerator *fGen2= new CbmPlutoGenerator("jpsi.root"); CbmParticleGenerator *fGen3= new CbmParticleGenerator(); fRun->AddGenerator(fGen1); fRun->AddGenerator(fGen2); fRun->AddGenerator(fGen3);
33
05 November 2008 Round Table III 33 Simulation Macro-Magnetic Field // setting a field map CbmField *fMagField= new CbmField("Dipole Field"); fMagField->readAsciifile("FieldIron.map"); // read ASCII file fMagField->readRootfile("FieldIron.root"); // read Root file // setting a constant field CbmConstField *fMagField=new CbmConstField(); fMagField->SetFieldXYZ(0, 30,0 ); // values are in kG // MinX=-75, MinY=-40,MinZ=-12,MaxX=75, MaxY=40,MaxZ=124 ); fMagField->SetFieldRegions(-74, -39,-22, 74, 39, 160 ); // values are in cm fRun->SetField(fMagField);
34
05 November 2008 Round Table III 34 Simulation Macro- Run Simulation fRun->Init(); // Initialize the simulation Simulation: 1. Initialize the VMC (Simulation) 2. Initialize Tasks (if they are used in Simulation) fRun->Run(NoOfEvent);//Run the Simulation
35
05 November 2008 Round Table III 35 Analysis Macro { gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); basiclibs(); gSystem->Load("libCbm"); gSystem->Load("libITrack"); CbmRunAna *fRun= new CbmRunAna(); fRun->SetInputFile(“/d/STS_AuAu25Gev_Urqmd.root"); fRun->SetOutputFile(“trackOutput.root");
36
05 November 2008 Round Table III 36 Algorithms : CBMTask Tasks can be organized into a hierarchy and displayed in the browser. The CBMTask base class (TTask): –Init();//Initialization –Exec(Option_t * option); In Analysis macro: { // Algorithm definition CbmStsTrackFinder *tr = CbmStsTrackFinder("track finder"); // Add the algorithm in the list of algorithms fRun->AddTask(tr); }
37
05 November 2008 Round Table III 37 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) Task1 Task2 Task4Task5 Task3 Task6
38
05 November 2008 Round Table III 38 Initialisation scheme (Analysis) File=1 File=2 RunId1 RunId2 Sim. Data CbmTaskParameters RunId1 RunId2 Par. Cont. Par. Cont CbmTask::SetContainers() CbmTask::init() CbmTask::Exec() CbmTask::Reinit() CbmParIo Data
39
05 November 2008 Round Table III 39 Track Visualization
40
05 November 2008 Round Table III 40 Example: Visualization macro { gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); basiclibs(); gSystem->Load("libCbm");...... TFile* file = new TFile("test.root"); TGeoManager *geoMan = (TGeoManager*) file->Get("CBMGeom"); TCanvas* c1 = new TCanvas("c1", "", 100, 100, 800, 800); c1->SetFillColor(10); geoMan->DrawTracks("same/Nneutron"); geoMan->SetVisLevel(3); geoMan->GetMasterVolume()->Draw("same"); }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.