status of software development for mpd oleg rogachevsky for mpd collaboration round table discussion...

40
Status of software Status of software development for development for MPD MPD Oleg Rogachevsky for MPD collaboration Round Table discussion III 5 November 2008 Dubna

Post on 18-Dec-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Status of software development for MPD Oleg Rogachevsky for MPD collaboration Round Table discussion III 5 November 2008 Dubna

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

05 November 2008 Round Table III 39

Track VisualizationTrack Visualization

Page 40: Status of software development for MPD Oleg Rogachevsky for MPD collaboration Round Table discussion III 5 November 2008 Dubna

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");

}