1 / 40

Status of software development for MPD

Status of software development for MPD. Oleg Rogachevsky for MPD collaboration. Round Table discussion III 5 November 2008 Dubna. Determine particle properties at target vertex. Event Generator. Transport particles through the detector material. Transport. Simulation. SIM.

unity
Download Presentation

Status of software development for MPD

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. Status of software development for MPD Oleg Rogachevsky for MPD collaboration Round Table discussion III 5 November 2008 Dubna

  2. Determine particle properties at target vertex Event Generator Transport particles through the detector material Transport Simulation SIM Digitizer Determine detector response RAW Determine physical space point parameters from detector hits Storage Levels Hit Finder Reconstruction Analysis Determine momentum vector and PID for all tracks Physics Analysis Software Simulation - Analysis chain Round Table III

  3. 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?) FairRoot Features Round Table III

  4. 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 MpdRoot – extension of FairRoot 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) Round Table III

  6. MpdRoot: SVN repository WEB page: http://xfarm4.jinr.ru/viewvc/trunk Round Table III

  7. MySQL Configuration, Parameters, Geometry MpdRoot: Simulation ROOT Geometry Manager Geant3 Virtual MC Magnet Geant4 Pipe FLUKA Cave IO Manager GeoInterface Run Manager RunTime DataBase Module Magnetic Field Primary Generator TPC Straw EC Root files Configuration, Parameters, Geometry Detector Tasks EVGEN TOF ETOF Particle Generator Field Map ZDC FastMC ASCII Urqmd Round Table III

  8. TPC implementation(Yu. Zanevsky group) MC geometry Pad responce Round Table III

  9. TOF implementation(V. Golovatyuk group) MC geometry Mass separation Round Table III

  10. M(MeV) ECAL implementation(I. Tyapkin group) Occupancy in the BARREL calorimeter Detector size – 3x3 cm2 Occupancy in the END CAP calorimeter Detector size – 3x3 cm2 π° after background subtraction π° with combinatorial background 0extraction Round Table III

  11. ZDC implementation(A. Kurepin & A. Litvinenko group) MC geometry Trigger & centrality determination Round Table III

  12. StrawECT implementation(V.Peshekhonov group) Extension of the pseudorapidity region MC geometry Round Table III

  13. MPD Event display TPC TOF ETOF StrawECT ZDC Round Table III

  14. Detector simulation Round Table III

  15. MpdRoot: Analysis Root files MCPoints, Hits, Digits, Tracks ROOT Geometry Manager MySQL Configuration, Parameters, Geometry IO Manager GeoInterface Run Manager RunTime DataBase Module Primary Generator Magnetic Field Root files Configuration, Parameters, Geometry Detector Tasks EVGEN digitizers Tracking Analysis Round Table III

  16. Tracking UrQMD AuAu collision at s = 9 GeV b = 0 Nparticles > 1000 Round Table III

  17. Tracking in TPC (Zinchenko A.) preliminary preliminary Round Table III

  18. Global Tracking(TPC + StrawECT + ETOF) Efficiency vspseudorapidity preliminary Momentum resolution Round Table III

  19. Physics analyses 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 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 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 Round Table III

  22. 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 Summary & ToDo List • More realistic detectors responses (hit produsers) • Join physics analyses with detector simulation Round Table III

  23. G3 G3 transport User Code VMC G4 G4 transport FLUKA transport FLUKA Reconstruction Geometrical Modeller Visualisation Virtual Monte Carlo (VMC) Round Table III

  24. Creation of a volume Volume name Shape Shape parameters Medium Positioning of the volume in a mother (Node) Mother Transformation (position and rotation matrix) ASCII: Input format for the Geometry TUBE Round Table III

  25. Advantage: more flexibility : different inputs can be used. Material & Geometry Interface TGeo Geometry/Material TGeoVolume TGeoNode TGeoMaterial Oracle DB CbmGeoInterface ASCII G3 Geometry/Material G3Builder RootBuilder XYZ Geometry/Material Root files XYZBuilder Round Table III

  26. 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 CBM Runtime Database Round Table III

  27. 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 IO Features Round Table III

  28. Simulation Macro – loading 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"); Base Libs Cbm Spec. Libs Round Table III

  29. //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"); Simulation Macro Round Table III

  30. 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); Simulation Macro- Create Modules Round Table III

  31. 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); Simulation Macro- Create Detectors Round Table III

  32. 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); Simulation Macro-Event Generators Round Table III

  33. // 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); Simulation Macro-Magnetic Field Round Table III

  34. 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 Simulation Macro- Run Simulation Round Table III

  35. { 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"); Analysis Macro Round Table III

  36. 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); } Algorithms : CBMTask 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) Round Table III

  38. CbmTask Parameters Data CbmParIo RunId1 RunId1 CbmTask::SetContainers() CbmTask::init() Par. Cont. Sim. Data CbmTask::Exec() CbmParIo CbmTask::Reinit() RunId2 RunId2 Par. Cont Sim. Data CbmTask::Exec() Initialisation scheme (Analysis) File=1 File=2 Round Table III

  39. Track Visualization Round Table III

  40. { 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"); } Example: Visualization macro Round Table III

More Related