r3broot / fairrootnpg.dl.ac.uk/icc-simulation/meeting2014-11-26/... · r3broot on freedcamp.com...

37
R3BRoot / FairRoot Dmytro Kresan (GSI-IT)

Upload: others

Post on 19-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

R3BRoot / FairRoot

Dmytro Kresan (GSI-IT)

Page 2: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

How it started? • We need simulations for the LOI

• We have no manpower for software

• Re-use existing software

• It has to be easy, fast, reliable, ..etc

• We need it yesterday

• We need simulations for the LOI

• We have no manpower for software

• Re-use existing software

• It has to be easy, fast, reliable, ..etc

• We need it yesterday

26/11/14 FairRoot 2

CBM collaboration 2003 CBM collaboration 2003

ROOT

Geant4

Geant3

FLUKA PAW

Pythia

Urqmd Go4 Hydra

AliRoot

VMC

Page 3: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

How a framework can help?

• Allows physicists to concentrate on detector performance details,

avoiding purely software engineering issues like storage, retrieval, code

organization etc;

• Do not submerge into low-level details.

• Use pre-built and well-tested code for common tasks.

26/11/14 FairRoot 3

Page 4: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

FairRoot was officially created in 2006

• CBM and PANDA invest manpower in the core team

• The GSI decided to support the project

• Many motivated people from both experiments participate in the

development of different features.

26/11/14 FairRoot 4

Page 5: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Start testing the VMC concept for CBM

First Release of CbmRoot

MPD (NICA) start also using FairRoot

ASYEOS joined

(ASYEOSRoot)

GEM-TPC seperated from PANDA branch (FOPIRoot)

Panda decided to join->

FairRoot: same Base package for different experiments

R3B joined EIC (Electron Ion Collider BNL)

EICRoot

2011 2010 2006 2004

FairRoot

2012

SOFIA

(Studies On

Fission with

Aladin)

ENSAR-ROOT

Collection of modules used by structural nuclear phsyics exp.

2013 2014

SHIP - Search

for HIdden

Particles

5 26/11/14 FairRoot

CALIFA (CALorimeter

for the In Flight

detection of γ

rays and light

charged

pArticles )

Page 6: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Code organization of FairRoot

26/11/14 FairRoot

5/18/13 M. Al-Turany, ACAT 2013, Beijing Florian Uhlig ROOT Users Workshop, Saas Fee

Root Root

TEve

TEve

RO

OT

IO

RO

OT

IO

TGeo

TGeo

TVir

tua

lMC

TV

irtu

alM

C

Cin

t C

int

TTre

e

TTre

e

Pro

of

Pro

of

Gea

nt3

G

ea

nt3

Gea

nt4

G

ea

nt4

Genat4

_V

MC

G

enat4

_V

MC

Libraries Libraries

VG

M

VG

M

FairRoot FairRoot

Run

Ma

na

ger

Run

Ma

na

ger

IO M

ana

ger

IO M

ana

ger

Run

tim

e D

B

DB Inte

rfa

ce

Run

tim

e D

B

DB Inte

rfa

ce

Event

Dis

pla

y

Event

Dis

pla

y

MC

Ap

plica

tion

MC

Ap

plica

tion

Mod

ule

Dete

ctor

Mod

ule

Dete

ctor

Task

Ta

sk

Ma

gnetic

Field

Ma

gnetic

Field

Event

Genera

tor

Event

Genera

tor

CbmRoot CbmRoot

PandaRoot PandaRoot AsyEosRoot AsyEosRoot

R3BRoot R3BRoot SofiaRoot SofiaRoot MPDRoot MPDRoot

FopiRoot FopiRoot EICRoot EICRoot

6

Page 7: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

FairRoot in nutshell

• An open source project (LGPL V3) available from GitHub

https://github.com/FairRootGroup/FairRoot

• Simulation-, Reconstruction-, and Analysis-Framework (not only)

for the FAIR experiments

• 2003 started as 2 person project for the CBM experiment

• 2014 ≈ 10 experiments use FairRoot as base for their developments

• Core team of 5 Developers (3.5 FTE)

• Many people contribute to make the project a success

26/11/14 FairRoot 7

Page 8: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Design

• Re use existing software and tools (use standards)

• Code should run on all platforms

• Framework should be

o Easy to install

o Easy to use

o Should allow fast development cycles

o Flexible to easily change experimental setup

o Extensible for new developments

26/11/14 FairRoot 8

Page 9: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Easy to install

• Provide packages with all dependencies (ROOT, Geant3, Geant4,

CMake, Boost, ...) plus scripts for automatic installation on all

systems

• Use CMake as build system and CTest/CDash for automatic testing

and QA

• Works on Mac OSX and many Linux derivatives (Debian, Ubuntu,

Suse, Fedora, Scientific Linux), probably on many more which are

not tested by us

26/11/14 FairRoot 9

Page 10: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Easy start for beginners • Simulation and reconstruction examples are available

• Template for creating new detector setups are delivered with a

rename script (Detector classes, data classes , …etc can be created

in seconds)

• Geometry can be defined directly in code, in simple ASCII format, or

taken from ROOT files (TGeo Format)

• Simulation results can be displayed and analyzed with plain ROOT

• Tools to visualize the geometry and the tracks are immediately

available to the users

26/11/14 FairRoot 10

Page 11: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Flexibility

• Define run configuration at runtime

o Use Root macros to define the experimental setup or the tasks for

reconstruction/analysis

o Use Root macros to set the configuration (Geant3, Geant4, …)

• No executable

o Use plug-in mechanism from Root to load libraries only when needed

• No fixed simulation engine

o Use different simulation engine (Geant3, Geant4, …) with the same user

code (VMC)

26/11/14 FairRoot 11

Page 12: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Flexibility

• No fixed output structure

o Store only the registered data classes to file

o Use a dynamic event structure based on Root TFolder and TTree which is

created automatically

o Data output possible after each step

o Different data levels can be connected via “Friend mechanism” in ROOT

• Simulation and reconstruction can be done in one go or in several steps

• Parameter handling

o Use the parameter manager developed for the HADES experiment

o Decouple parameter handling in FairRoot from parameter storage

o runtime data base IO to/from • ASCII files • Root files • Database

26/11/14 FairRoot 12

Page 13: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

26/11/14 FairRoot 13

Simulation:

• The framework deliver a set of base classes, which has to be

specialized by the user to describe his detector. i.e:

– Detector

– Module

– MCPoints

– Magnetic field

– ...etc

• The IO is handled completely by the framework

• Simulation is steered and configured via root macros

Page 14: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Example: Contributions of different functional parts of the MVD to the overall material budget

26/11/14 FairRoot 14

Radiation length Manager in FairRoot FairRadLenManager

Page 15: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

FairRadMapManager: What energy dose will be accumulated during a certain time of operation?

• Create all physical volumes with correct material assignment

• Run the simulation engine

• FairRadMapManager will sum up every deposited energy in each

volume in the geometry

26/11/14 FairRoot 15

Page 16: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

FairRadGridManager: What dose rate is expected at a certain space point/region? Determine the particle fluence through a certain boundary (surface) and deduce a map. Knowing the volume and density of the object of interest and the specific energy loss doses can be estimated

26/11/14 FairRoot 16

Page 17: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Real Data – run with cosmic (NeuLAND at R3B)

26/11/14 FairRoot 17

Page 18: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Beam run at R3B - Neutrons

26/11/14 FairRoot 18

Neutron peak: 23 cm/ns – close to

beam velocity

Gamma peak: close to 30 cm/ns

Finite resolution due to many

different sources of background –

wrong length assumption

Charge distribution after

velocity cut:

Page 19: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Simulation vs. Data Comparison

26/11/14 FairRoot 19

Energy deposit per module, beam energy range from 255 – 1500 AMeV

Page 20: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Fast Simulation

• Fast Simulation reads same VMC stack to get particles, therefore

all event generators are supported with no changes to be done to the

Fast Sim codes;

• Fast Simulation may use acceptance parametization

calculated from Full Simulation or fast helix approximation for

charged particles;

• Fast Simulation also works as a converter from ASCII to ROOT for

event generators

26/11/14 FairRoot 20

Page 21: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

21

Fast Simulation

• The same application, just different configuration:

– Event generators just push the event into the stack, no transport is taking place

–Detector response is presented as FairTasks (TTask)

–The output has the same form as full simulation

FairRoot 26/11/14

Page 22: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Fast Simulation: Concept

22

Klaus Götzen

FairRoot 26/11/14

Page 23: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Testing and building system

• Cmake

– Create Makefiles (and/or project files) for different platforms.

– Test support.

– Large user base assures support.

• CDash to handle data created with CMake

– PHP framework

– MySQL database

• Both tools are open source.

26/11/14 FairRoot 23

Page 24: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Event Display based on ROOT EVE package

26/11/14 FairRoot 24

Runs out of the box for track visualization in simulation

Page 25: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

How to distribute the processes? How to manage the data flow? How to recover processes when they crash? How to monitor the whole system? ……

How to distribute the processes? How to manage the data flow? How to recover processes when they crash? How to monitor the whole system? ……

26/11/14 FairRoot 25

The ALFA project A common concurrency

framework

for ALICE and FAIR

experiments

Page 26: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

ALICE and FAIR: Why?

• A common framework will be beneficial for the FAIR experiments

since it will be tested with real data and existing detectors before the

start of the FAIR facility.

o E.g.: Concepts for online calibrations and alignment can be tested in a

real environment, similar to that of the planned FAIR experiments.

• ALICE will benefit from the work already performed by the FairRoot

team concerning already implemented features (e.g. the continuous

read-out, building and testing system, etc)

26 26/11/14 FairRoot

Page 27: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

How is it with ALFA and FairRoot?

26/11/14 FairRoot

RO

OT

RO

OT

Gea

nt3

G

ea

nt3

Gea

nt4

G

ea

nt4

Genat4

_V

MC

G

enat4

_V

MC

Libraries and Tools Libraries and Tools

VG

M

VG

M

Run

tim

e D

B

Mod

ule

Dete

ctor

Ma

gnetic

Field

Event

Genera

tor

MC

Ap

plica

tion

Fair M

Q

Bui

ldin

g

config

ura

ion

Test

ing

Fair

DB

CM

ake

CM

ake

Zero

MQ

Zero

MQ

DD

S

BO

OST

BO

OST

Pro

toco

l

Buf

fers

Pro

toco

l

Buf

fers

FairRoot FairRoot ALFA ALFA

CbmRoot CbmRoot

PandaRoot PandaRoot AsyEosRoot AsyEosRoot

R3BRoot R3BRoot SofiaRoot SofiaRoot MPDRoot MPDRoot

FopiRoot FopiRoot EICRoot EICRoot

AliRoot6

(O2) AliRoot6

(O2)

????

27

Page 28: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

ALFA in a nutshell

• Works for online/offline as well as for simulation.

• Message queue based design.

• Modular design with user codes as plug-in

• Generic interface to transport layer

• Effective use of all available resources

• Can be deployed on a laptop, few PCs, cluster or a existing cloud

system.

• Easy configuration, management and monitoring tools

26/11/14 FairRoot 28

Page 29: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

ALFA/FairRoot will use Multi-processing and Multi-threading

• Multi-process concept with message queues for data exchange

o Each "Task" is a separate process, which can be also multithreaded, and the

data exchange between the different tasks is done via messages.

o Different topologies of tasks that can be adapted to the problem itself, and the

hardware capabilities.

26/11/14 FairRoot

Try to find the correct balance between reliability and performance

29

Page 30: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Summary

• The Framework started with two men in 2003 as a test for CBM has

became the software for the whole FAIR project and many other

collaborations

• More than 200 developer from the different experiments are contributing

to the experiments code and of course from time to time to the core

• Development of general interest usually finds its way to other experiments

by moving from the specific experiment implementation to FairRoot:

o CAD TO ROOT converter

o Event Display

o Geane track propagator

o Monte-Carlo validation package

o Event generators

http://fairroot.gsi.de

26/11/14 FairRoot 30

Page 31: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

26/11/14 FairRoot 31

fairroot.gsi.de forum.gsi.de R3BRoot on freedcamp.com [email protected]

fairroot.gsi.de forum.gsi.de R3BRoot on freedcamp.com [email protected]

More about R3BRoot

Page 32: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Discussion and backup

26/11/14 FairRoot 32

Page 33: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

If someone experiments with new features in his local working copy and wants to test them (experimental build)

26/11/14 FairRoot 33

Central SVN repository

1. Update (optional)

2. Configure, build and test

on local machine

3. Send results automatically

to central web page

5. Developer check results

4. Dashboard prepares and display results

Page 34: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

If new code enters the central code base (continuous build)

26/11/14 FairRoot 34

Central SVN

repository

1. Developer

commit code

4. Configure, build and test

on local machine

5. Send results automatically

to central web page

Dedicated test server

3. SVN triggers

test server

7. In case of problems Dashboard

sends an E-mail to Developer and

Administrator

6. Dashboard prepares and display results

2. Basic checks:

Style, etc

Pass Pass

Fail Fail

Reject commit

Page 35: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

From time to time a full check on all supported platforms should be done (nightly build)

26/11/14 FairRoot 35

Central repository

1. Update

2. Send results automatically

to central web page

3. Dashboard prepares and display results

4. In case of problems

Dashboard sends

an E-mail to Developer

and Administrator

5. In the morning Developers and Administrators check

their mails and the dashboard. And the development

cycle starts again

Page 36: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

Version Management

Detector

Time

Version

Validity time range (UTC)

STT CAL MVD CAL

MVD TEMP

The Query process

1. Context (Timestamp,Detector,Version) is the primary key

2. Context converted to unique SeqNo

3. SeqNo used as keys to access all rows in main table

4. System gives user access of all such rows

26/11/14 FairRoot 36

Page 37: R3BRoot / FairRootnpg.dl.ac.uk/ICC-simulation/Meeting2014-11-26/... · R3BRoot on freedcamp.com r3b-sim@gsi.de More about R3BRoot . Discussion and backup 26/11/14 FairRoot 32 . If

ZeroMQ

ZeroMQ

Root (Event loop)

Root (Event loop)

26/11/14 FairRoot

FairRootManager

FairRootManager

FairRunAna

FairRunAna

FairTasks

Init() Re-Init()

Exec() Finish()

FairTasks

Init() Re-Init()

Exec() Finish()

FairMQProcessorTask

Init() Re-Init()

Exec() Finish()

FairMQProcessorTask

Init() Re-Init()

Exec() Finish()

ROOT Files, Lmd Files, Remote event server, … ROOT Files, Lmd Files, Remote event server, …

Integrating the existing software:

37