Download - Status of software development for MPD
![Page 1: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/1.jpg)
Status of software Status of software development fordevelopment for
MPD MPD
Oleg Rogachevskyfor MPD collaboration
Round Table discussion III5 November 2008
Dubna
![Page 2: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/2.jpg)
05 November 2008 Round Table III 2
Software Simulation - Analysis chain Software Simulation - Analysis chain
Event Generator
Transport
Digitizer
Hit Finder
Reconstruction
Physics Analysis
Sim
ula
tio
nA
nal
ysis
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
![Page 3: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/3.jpg)
05 November 2008 Round Table III 3
FairRoot Features 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?)
![Page 4: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/4.jpg)
05 November 2008 Round Table III 4
MpdRoot – extension of FairRoot MpdRoot – extension of FairRoot
FairRoot (Former CbmRoot) has started at the end of 2003First released in March 2004Oct 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 frameworkOct. 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
![Page 5: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/5.jpg)
05 November 2008 Round Table III 5
FairRoot: external softwareFairRoot: 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)
![Page 6: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/6.jpg)
05 November 2008 Round Table III 6
MpdRoot: SVN repositoryMpdRoot: SVN repository
WEB page: http://xfarm4.jinr.ru/viewvc/trunk
![Page 7: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/7.jpg)
05 November 2008 Round Table III 7
MpdRoot: Simulation 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
Magnetic
Field
Module
Detector
GeometryManager
IO Manager
Tasks
Field Map
GeoInterface
ETOF
RunTimeDataBase
FastMC
MySQLConfigurati
on, Parameter
s,Geometry
Root filesConfiguration, Parameters,Geometry
![Page 8: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/8.jpg)
05 November 2008 Round Table III 8
TPC implementationTPC implementation((Yu. Zanevsky groupYu. Zanevsky group) )
MC geometry
Pad responce
![Page 9: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/9.jpg)
05 November 2008 Round Table III 9
TOF implementationTOF implementation((V. Golovatyuk groupV. Golovatyuk group) )
MC geometry
Mass separation
![Page 10: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/10.jpg)
05 November 2008 Round Table III 10
ECAL implementationECAL implementation((I. Tyapkin groupI. Tyapkin group) )
0 extraction
M(MeV)
Occupancy in the END CAP calorimeterDetector size – 3x3 cm2
Occupancy in the BARREL calorimeterDetector size – 3x3 cm2
π° after background subtraction
π° with combinatorial background
![Page 11: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/11.jpg)
05 November 2008 Round Table III 11
ZDC implementationZDC implementation((A. Kurepin & A. Litvinenko groupA. Kurepin & A. Litvinenko group) )
Trigger & centralitydetermination
MC geometry
![Page 12: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/12.jpg)
05 November 2008 Round Table III 12
StrawECT implementationStrawECT implementation((V.Peshekhonov groupV.Peshekhonov group) )
Extension of the pseudorapidity
region
MC geometry
![Page 13: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/13.jpg)
05 November 2008 Round Table III 13
MPD Event display MPD Event display
ZDC
TOFTPC
ETOF
StrawECT
![Page 14: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/14.jpg)
05 November 2008 Round Table III 14
Detector simulation Detector simulation
System MC Geometry Digitisation
TPC segmented hitproducer
Straw ECT segmented hitproducer
ETOF monolitic
TOF Segmented hitproducer
ECAL Segmented Shower model
ZDC Segmented Hitproducer
![Page 15: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/15.jpg)
05 November 2008 Round Table III 15
MpdRoot: AnalysisMpdRoot: Analysis
ROOT
Run Manager
EVGEN
Primary Generator
Magnetic
Field
Module
Detector
Geometry
Manager
IO Manager
Tasks
AnalysisTrackingdigitizers
GeoInterface
RunTimeDataBase
Root filesConfiguration, Parameters,Geometry
MySQL
Configuration, Parameters,
Geometry
Root filesMCPoints, Hits,
Digits, Tracks
![Page 16: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/16.jpg)
05 November 2008 Round Table III 16
Tracking Tracking
UrQMDAuAu collisionat s = 9 GeV
b = 0Nparticles > 1000
![Page 17: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/17.jpg)
05 November 2008 Round Table III 17
Tracking in TPCTracking in TPC(Zinchenko A.)
prelim
inary
prelim
inary
![Page 18: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/18.jpg)
05 November 2008 Round Table III 18
Global TrackingGlobal Tracking((TPC + StrawECT + ETOF)TPC + StrawECT + ETOF)
Efficiency vs pseudorapidity
Momentum resolution
prelim
inary
![Page 19: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/19.jpg)
05 November 2008 Round Table III 19
Physics analyses 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:Physical observables:
flow, HBT correlation, multiplicity fluctuation, pt fluctuation, strangeness-to-entropy ratio
Details in G.Musulmanbekov’s report
![Page 20: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/20.jpg)
05 November 2008 Round Table III 20
Software for SPD Software for SPD
First version has been done with Geant4
Started to implement detector geometry into
mpdroot framework
Look at A.Nagaitsev’s report
![Page 21: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/21.jpg)
05 November 2008 Round Table III 21
Computing 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
![Page 22: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/22.jpg)
05 November 2008 Round Table III 22
Summary & ToDo ListSummary & 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
![Page 23: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/23.jpg)
05 November 2008 Round Table III 23
Virtual Monte Carlo (VMC)Virtual Monte Carlo (VMC)
FLUKA transportFLUKA
User Code
VMC
Geometrical Modeller
G3 G3 transport
G4 transportG4
Reconstruction
Visualisation
![Page 24: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/24.jpg)
05 November 2008 Round Table III 24
ASCII: Input format for the GeometryASCII: 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
pipe_1caveTUBEcarbon0. 0. -50.0. 5.50. 0. 100.
0. 0. 0.1. 0. 0. 0. 1. 0. 0. 0. 1.// *********************************************
pipe_vac_1pipe_1TUBEvacuum0. 0. -50.0. 5.0. 0. 100.
0. 0. 0.1. 0. 0. 0. 1. 0. 0. 0. 1.// *********************************************targetpipe_vac_1TUBEgold0. 0. -0.250. 2.50. 0. 0.250. 0. 0.1. 0. 0. 0. 1. 0. 0. 0. 1.
x
y
z. .
x
y
z
x
y
z. .
![Page 25: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/25.jpg)
05 November 2008 Round Table III 25
Material & Geometry InterfaceMaterial & Geometry Interface
OracleDB
ASCII
CbmGeoInterface
TGeo Geometry/MaterialTGeoVolumeTGeoNode
TGeoMaterial
RootBuilderG3Builder
G3 Geometry/Material
XYZBuilder
XYZ Geometry/Material
Rootfiles
Advantage:
more flexibility : different inputs can be used.
![Page 26: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/26.jpg)
05 November 2008 Round Table III 26
CBM Runtime DatabaseCBM 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()
![Page 27: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/27.jpg)
05 November 2008 Round Table III 27
IO FeaturesIO 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
![Page 28: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/28.jpg)
05 November 2008 Round Table III 28
Simulation Macro – loading LibsSimulation 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");
![Page 29: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/29.jpg)
05 November 2008 Round Table III 29
Simulation MacroSimulation 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");
![Page 30: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/30.jpg)
05 November 2008 Round Table III 30
Simulation Macro- Create ModulesSimulation 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);
![Page 31: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/31.jpg)
05 November 2008 Round Table III 31
Simulation Macro- Create DetectorsSimulation 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);
![Page 32: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/32.jpg)
05 November 2008 Round Table III 32
Simulation Macro-Simulation Macro-Event GeneratorsEvent 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);
![Page 33: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/33.jpg)
05 November 2008 Round Table III 33
Simulation Macro-Magnetic FieldSimulation 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);
![Page 34: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/34.jpg)
05 November 2008 Round Table III 34
Simulation Macro- Run SimulationSimulation 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
![Page 35: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/35.jpg)
05 November 2008 Round Table III 35
Analysis MacroAnalysis 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");
![Page 36: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/36.jpg)
05 November 2008 Round Table III 36
Algorithms : CBMTaskAlgorithms : 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);
}
![Page 37: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/37.jpg)
05 November 2008 Round Table III 37
Tasks MechanismTasks 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 Task3
Task4 Task6Task5
![Page 38: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/38.jpg)
05 November 2008 Round Table III 38
Initialisation scheme (Analysis)Initialisation scheme (Analysis)
File=1
File=2
RunId1
RunId2
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 39: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/39.jpg)
05 November 2008 Round Table III 39
Track VisualizationTrack Visualization
![Page 40: Status of software development for MPD](https://reader036.vdocument.in/reader036/viewer/2022081515/56814a51550346895db77335/html5/thumbnails/40.jpg)
05 November 2008 Round Table III 40
Example: Visualization macroExample: 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");
}