Fair simulation analysis framework fairroot
This presentation is the property of its rightful owner.
Sponsored Links
1 / 54

FAIR Simulation & Analysis Framework FairRoot PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

FAIR Simulation & Analysis Framework FairRoot. Mohammad Al-Turany (IT-GSI) Denis Bertini (IT-GSI) Florian Uhlig (IT-GSI). Motivation FairRoot Features CMake: Testing and building system Geometry Interface Runtime Database and Parameter Handling Fast simulation

Download Presentation

FAIR Simulation & Analysis Framework FairRoot

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Fair simulation analysis framework fairroot

FAIR Simulation & Analysis FrameworkFairRoot

Mohammad Al-Turany (IT-GSI)

Denis Bertini (IT-GSI)

Florian Uhlig (IT-GSI)


Overview

Motivation

FairRoot Features

CMake: Testing and building system

Geometry Interface

Runtime Database and Parameter Handling

Fast simulation

Integrated Track follower (Geane)

Event display

Grid

Summary

Overview

M. Al-Turany [email protected]


Motivation

Which simulation engine to choose?

One would like to use the modern and maintained GEANT4

But:

We have to:

Work fast ! ( LOI, TDR deadlines … )

Make reliable simulation

In the CBM community and locally at the GSI :

Better knowledge of “old” MC’s: GEANT3, FLUKA …

less knowledge about GEANT4 ( intrinsic cuts / physics list …)

It was extremely difficult to get support for working with Geant4

Motivation

M. Al-Turany [email protected]


Features

No Executable: (Only Rootcint)

Compiled Tasks for analysis, reconstruction, etc.

Root macros for steering simulation or reconstruction

Root macros for configurations (G3, G4, external decyers, etc.)

The same framework can be used for Simulation and Analysis

VMC and VGM for simulation

TTask to organize the analysis data flow

Use of TGeoManager for Simulation and Reconstruction

Eve (Alice Event display) as base for a general event display

Dynamic Event structure based on ROOT tree

Features

M. Al-Turany [email protected]


Features1

Use of a Geometry Interface.

G3 Native geometry

Geometry Modeller (TGeoManager)

Different geometry input format

Grid: AliEn is working fine for us and we use it!

CMake: Makefiles, dependencies , QM ,...

Doxygen for class documentation

Use PROOF for interactive analysis

Features

M. Al-Turany [email protected]


Fairroot io

Dynamic Tree creation at initialization time

TFolder to organize memory

Simulation: CbmDetector::Init()

Analysis: CbmTask::Init()

( automatic partial IO )

Chaining Input data

TChain services

Connection of Data levels

Use of Root Friend mechanism

FairRoot IO

M. Al-Turany [email protected]


Tasks mechanism

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)

M. Al-Turany [email protected]


Design

Geant3

ROOT

G3VMC

Geant4

G4VMC

Geometry

Virtual MC

FlukaVMC

FLUKA

Root files

Hits,

Digits,

Tracks

Cuts,

processes

Application

IO Manager

Track propagation

Run Manager

RTDataBase

Event

Display

Root files

Conf,

Par,

Geo

Event

Generator

Magnetic

Field

Detector base

Tasks

STS

Hit

Producers

Hit

Producers

STT

Dipole Map

Dipole Map

Pluto

DPM

TOF

TOF

Solenoid

Map

Active Map

ECAL

EMC

Oracle

Conf,

Par,

Geo

const. field

digitizers

digitizers

Urqmd

EVT

TRD

MUO

const.

field

MVD

MVD

Track finding

Track finding

ASCII

ASCII

ZDC

TPC

MUCH

DIRC

CBM Code

Panda Code

RICH

DCH

Design

Close

contact

common developments

Always in

close

contact

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

Simulation-Reconstruction Chain

Determine particle properties

at target vertex

Event Generator

Transport particles through

the detector material

Transport

SIM

Full Simulation

Digitizer

Determine detector response

RAW

Fast Simulation

Determine physical space point

parameters from detector hits

Storage

Levels

Hit Finder

Analysis

Determine momentum vector

and PID for all tracks

Reconstruction

Physics Analysis

Calculate physics observables

M. Al-Turany [email protected]


Cmake

Why CMake:

It supports great variety of platforms

( basically every *ix, Mac OS, Windows)

( Win: Borland, MS Visual C++, cygwin, mingw)

CMake generates out of simple rules native Makefiles for all supported platforms

Input files (rules) are the same on all platforms

CMake additionally can produce project files for IDE's (KDevelop, XCode, VStudio)

Big community because Cmake is the build tool for KDE 4

CMake has a testing framework

Porting FairRoot to Mac OS X took 30 minutes

Porting the rest of the needed Software (Root, Geant4 etc.) took more than 1 week

CMake

M. Al-Turany [email protected]


Why test daily

Large code base is too large/complicated for a single developer to understand/maintain

Identify problems when they occur

Project depends on external packages which can cause problems

Provide direct feedback to the developers as they experiment with new features

Why test daily

M. Al-Turany [email protected]


Define automatic testing

Update source from SVN

Generate Makefiles

Build the project

Run Tests

Submit results to a webserver

Define automatic testing

M. Al-Turany [email protected]


Software process dashboards

Software Process Dashboards

SVN maintains

source code revision

CTest/CMake compiles

and test the newly

commited source code

on distributed clients

Typical developer

checks in code

Developer

reviews the

results

M. Al-Turany [email protected]


Dashboards

Client/Server architecture

Cross platform testing

Memory testing (purify, valgrind)

Coverage testing

Create documentation on a nightly basis (Doxygen)

Check coding conventions (Rule Checker)

Dashboards

If it's not tested it's not working

M. Al-Turany [email protected]


Cbmroot quality dashboard

CbmRoot Quality Dashboard

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

M. Al-Turany [email protected]


Rule checker

Rule Checker

Need to change the rules according to CBM/Panda Coding Conventions

M. Al-Turany [email protected]


Detector geometry in fairroot

Hades Geometry interface

Advantage:

more flexibility : different inputs can be used.

closer to technical drawings and analysis coordinate systems

Oracle interface

Hades geometry table design reusable

Step converter (Tobias Stockmann)

Step To Root

Step To Hades ASCII

Step To DDL (Not used in FairRoot)

Defined directly (TGeo) in the detector code

(make sense for certain geometries CbmEcal, PandaEMC)

Detector geometry in FairRoot

M. Al-Turany [email protected]


Step converter status

Step converter : Status?

DDL output

CBM output

Root output

supports now:

box

tube

cone

trap

subtraction-solid

Arb8

Xtru

Tobias Stockmanns, FZ Jülich

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

CAD converter, updates and improvements

Usage of CAD converter tool was already

successful for MVD

Tobias Stockmanns

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

CAD converter, updates and improvements

Solenoid,

Barrel Yoke

Some geometries are too complex to convert “blindly”

Tobias Stockmanns

M. Al-Turany [email protected]


Rootbooleanpart

RootBooleanPart

-

Tobias Stockmanns, FZ Jülich

M. Al-Turany [email protected]


Finally in tgeo

Finally in TGeo:

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

Runtime Database

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

M. Al-Turany [email protected]


Version management in oracle

For time dependent information a version management is needed which fulfills the following requirements:

It must be possible to get a consistent set of information for any date (e.g.the start time of a certain run).

To preserve the history, no information - even if wrong - should be overwritten without trace, which means that only inserts should be made, no deletes nor updates.

It must be possible to get an answer to the question: 'Which parameters were used when analyzing this run X years ago?' (The calibration might have been optimized several times since this date. Maybe some bugs have been detected and corrected in the mean time.)

Version management in Oracle

M. Al-Turany [email protected]


Version management in oracle1

Time dependant entries have a time stamp (date + time with

the precision of one second) in form of three columns (Format:

DATE):

valid_since :First date when the entry is valid.

valid_until :Last date when the entry is still valid

invalid_since :Date when the entry is replaced by a correct entry or a better version in case of e.g. calibration parameters and therefore gets invalid.

Version management in Oracle

M. Al-Turany [email protected]


Initialisation scheme analysis

Initialisation scheme (Analysis)

CbmTask

Parameters

Data

CbmParIo

File=1

RunId1

RunId1

CbmTask::SetContainers()

CbmTask::init()

Par. Cont.

Sim. Data

CbmTask::Exec()

CbmParIo

CbmTask::Reinit()

RunId2

File=2

RunId2

Par. Cont

Sim. Data

CbmTask::Exec()

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

PANDA: Fast Simulations

Full Simulation

Fast Simulation

Event Generation

Particle Transport

Digitization

Calibration

Reconstruction

Effective parametrization

- acceptance cuts

- resolution smearing

- PID info

Physics Analysis

Klaus Goetzen

M. Al-Turany [email protected]


Compared to full sim

Comparison to Full Sim are reasonable(channel: pp  DsDs0)

Compared to Full Sim

(10 k Signal events; absolute numbers)

M. Al-Turany [email protected]


Split offs compared to full sim

Overall multiplicityper pp candidateare quite reasonable(channel: pp  DsDs0)

Split offs – Compared to Full Sim

0 mass shape andbackground also looksquite ok

M. Al-Turany [email protected]


Geane integration in fairroot

The integration into the VMC (TGeant3) is done

In FairRoot:

Geane can be used in the analysis or from macro

Propagation to

Length

Plane

Volume (Enter or Exit point)

To Line

To Point

Point of closest approch on a wire

Geane Integration in FairRoot

New Methods

introduced by Pavia

group in

PANDA

M. Al-Turany [email protected]


Muon absorber in cbm

Muon Absorber in CBM

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

RMS 0.95

RMS 0.93

RMS 0.93

RMS 0.92

We have defined a plane to which

we extrapolate the track parameters.

RMS 0.92

Pulls for the Panda STT

500 MeV/c

Kapton 1.42 g/cm3

Isobutan 2.7e-3 g/cm3

M. Al-Turany [email protected]


Root new event display

A new package Eve (Event Visualization Environment )is introduced to ROOT 5.17.06

Built on top of ROOT's GUI, GL and GED infrastructure

Based on experiment-independant part of the ALICE event display

It has been used in ALICE for more than a year to perform high-level event visualization, debugging of simulation and reconstruction code as well as for raw-data visualization.

ROOT : New Event Display

M. Al-Turany [email protected]


Eve in fairroot

Eve in FairRoot

  • Integration is straight forward (already done)

  • Some features can be used directly (even from macro)

M. Al-Turany [email protected]


Examples panda detector

Examples: Panda Detector

M. Al-Turany [email protected]


Faireventmanager

FairEventManager: (Sub-class of TEveEventManager)

Read Events directly from FairRoot Tree

Select Events for Display

Apply cuts to whole event

Navigation (Next Event, Previous Event and Event No)

Read and display the geometry

FairEventManager

M. Al-Turany [email protected]


Fairrootmanagereditor

FairRootManagerEditor

M. Al-Turany [email protected]


Event display macro

panda_eve()

{ ................

gSystem->Load("libEventDisplay");

CbmRunAna *fRun= new CbmRunAna();

fRun->SetInputFile("testsimu10.root");

fRun->LoadGeometry();

FairEventManager *fMan= new FairEventManager();

FairMCTracks *Track = new FairMCTracks ("Monte-Carlo Tracks");

FairMCPointDraw *MvdPoints = new FairMCPointDraw ("MVDPoint");

FairMCPointDraw *EMCPoints = new FairMCPointDraw ("EmcPoint");

fMan->AddTask(Track);

fMan->AddTask(MvdPoints);

fMan->AddTask(EMCPoints);

..................

fMan->Init();

}

Event Display Macro

M. Al-Turany [email protected]


Cbm points and tracks

CBM: Points and Tracks

M. Al-Turany [email protected]


Cbm muon detector

CBM Muon detector

M. Al-Turany [email protected]


Examples panda detector mvd

Examples: Panda Detector (MVD)

M. Al-Turany [email protected]


Examples hades detector

Examples: HADES Detector

M. Al-Turany [email protected]


Status event diplay

Any TGeoManager based geometry can be used directly

Combined with trajectory visualization in FairRoot, it can be used directly from macro to display TGeoTracks (MC Tracks) and all sub-classes of CbmPoint

A task which should handle CbmHit subclasses is in preparation.

Digits has to be implemented by detectors

Status Event Diplay

M. Al-Turany [email protected]


Status event diplay tracks

TEveTrack and TEveTrackPropagator:

Can be used directly with Track visualization option in FairRoot

MCTracks and Reconstructed Tracks

Need A realistic track propagator

Field maps has to be taken into account

Possible solution would be Geane Propagator!!

Status Event Diplay: Tracks

M. Al-Turany [email protected]


Existing sites

Upgraded to version 2-13 at the last Grid

Workshop, Vienna, 1-5 October 2007

Existing sites

Ateneo/Manila

Kilian Schwarz and Dan Protopopescu

M. Al-Turany [email protected]


Control panel

Control panel

Centralised control of all sites is now implemented via MonALISA: services can be remotely (re)started/stopped,

Kilian Schwarz and Dan Protopopescu

M. Al-Turany [email protected]


Simulation analysis chain

In recent test productions on the Grid the simulation-analysis chain presented by S. Lange in the last PandaRoot status talk (September 2007 meeting) has been used

Simulation-analysis chain

Kilian Schwarz and Dan Protopopescu

M. Al-Turany [email protected]


Job jdl and scripts fairroot on grid

Some arbitrary submission id

Job jdl and scripts – FairRoot on Grid

Kilian Schwarz and Dan Protopopescu

M. Al-Turany [email protected]


Results

Results

Message from the

validation job

M. Al-Turany [email protected]


Fairroot on grid results

FairRoot on GRID - Results

Kilian Schwarz and Dan Protopopescu

M. Al-Turany [email protected]


Fair simulation analysis framework fairroot

Digitization, pattern recognition, tracking algorithms, and validation/tuning of simulations using REAL (=realistic) data

M. Al-Turany [email protected]


What we have now

CBM:

Mainly using Geant3 for simulation

TFulka is ready but we still straggling to get a license

We have our own work around to use native FLUKA and put the output in FairRoot format (Dosimetery study )

PANDA:

Mainly using Geant4 and compare to Geant3

Some prototypes for EMC, TPC are build, test beams data is available and will be compared to Geant3 and Geant4

HADES:

Mainly used by us to compare to the data and existing native Geant3 simulation (e.g. Cerenkov production etc.)

NUSTAR:

Still evaluating if FairRoot will be suitable for them.

What we have now!

M. Al-Turany [email protected]


Availability

Tested on Linux and Mac OS

Some documentation: fairroot.gsi.de

subversion.gsi.de/fairroot/cbmroot

subversion.gsi.de/fairroot/pandaroot

Availability

M. Al-Turany [email protected]


  • Login