RunMC v3.1
C++ object-oriented framework for
Monte Carlo models
(for Linux and Windows)

S.Chekanov (ANL)

October, 11 2004

HERA-LHC workshop (CERN)

Introduction

A analysis framework to run most popular Monte Carlo model (PYTHIA, HERWIG, ARIADNE, CASCADE, LEPTO, AROMA)

Good for validations, tuning, comparisons, calculations of correction factors (hadron-to-parton corrections etc.)

Use modern C++ libraries - CLHEP

Fully integrated with the ROOT analysis environment

(see introduction to RunMC 2.1, June 2, 2004, HERA-LHC workshop)

Plan of this presentation - discussion of new features:

1) Physics project (RMC) files

2) Histogram and steering card editors

3) Root Tree (Ntuple) analyzer

4) 2D histogram option

5) Platform independence

Physics project files

Physics project (of any complicity) can be packed to a single “RMC” file

Example: “jets_LHC.rmc” - zipped “proj” directory with several files:

1) steering MC files – set MC parameters

2) user calculation functions: user-ini, user-run, user-end, user-select

3) jets_LHC.mc – file to update RunMC GUI & histogram definitions

4) a few (optional) files ..

Using the file selection dialog on RunMC GUI, a user can load this project file

RunMC automatically:

unzips this file

recompiles all MC models using user functions

inserts steering parameters / MC initialization files

updates RunMC GUI, histogram definitions etc.

in ~ 1 min, a complete analysis framework is ready

Physics project files

After loading RMC file, a user can modify the project

Set different MC, parameters, histograms etc ..

Using option “save RMC project”, RunMC GUI archives the project and copies it to “archive” directory.

http://www.desy.de/~chekanov/runmc

Presently available:

default.rmc No any MC settings and physics calculations. Only dummy functions

dis_kinematics.rmc DIS kinematic variables for HERA (Q2,x, etc), SC

charm_dis.rmc Studies of D* cross sections in DIS (HERA), SC

dis_strange.rmc Strangeness production (cross sections for K0s, Lambda's etc), SC

jets_HERA.rmc Jets at HERA using longitudinally-invariant KT algorithm (Breit frame), SC

jets_LHC.rmc Jets at LHC using the longitudinally-invariant KT algorithm (Lab. frame), SC

jets+charm_LHC.rmc Jets at LHC using + charm production (Lab. frame), SC

invariant_mass.rmc Invariant masses of two particles in e+e-, SC

event_shapes.rmc Event shape studies, SC

Used in the presentation by S.Magill

“Jets ET spectra at LHC” (WG2)

Loadable physics analysis projects (RMC)

Do you need different output, event record, MC tunning, histograms, external calculations (except for those included to RunMC)?

Make a new RMC file and load it to RunMC

(and sent to chekanov@mail.desy.de to put on the RunMC web)

Advantages of RMC project files:

Very easy to share complicated calculations

Platform independents

Small size - typically each RMC file < 22k Bytes, since main calculations (jet/event shapes algorithms etc..) are inside the RunMC

No need to recompile the RunMC if you need to change histograms, binning, MC output, MC settings etc.

Histogram/steering cards editors

Allows to create / edit histograms or steering cards for each MC

using spreadsheet-like GUI interface:

RunMC 3.1 GUI

Stable/partons?

ROOT canvas

Select MC model

Set histograms

Select jets

Steering card editor

1D or 2D?

Main features (v3.1)

RunMC can create ROOT trees

(ntuples)

Events can be analyzed exactly as as for usual MC runs:

Significantly faster

Use RMC project files do this

New features: 2 ways to fill histograms

MC models

RunMC

RunMC GUI

RMC project input

ROOT histograms

ROOT tree

(ntuple)

ROOT tree

RunMC

RunMC GUI

RMC project input

ROOT histograms

1) Generate events

and fill histograms

(0.007 sec / event)

1) Generate events and save event record in

ROOT tree

2) Run over the ROOT tree using the same RMC project file

(~ 17 times faster than to generate event & fill histogram)

Useful to validate physics project files

Alternatively:

New features: 2D histograms

Example: typical MC run – two 1D histograms

Rapidity distribution

Multiplicity

distribution

Click here

to create one 2D histogram

from two 1D histograms

New features: 2D histograms

Example: typical MC run – 2D histograms

Rapidity distribution

Multiplicity

distribution

Click here

to create one 2D histogram

from two 1D

histograms

RunMC for Windows/Cygwin

RunMC consists of 2 independent parts:

ROOT/C++ -based executables (combined with FORTRAN MC)

RunMC GUI - presently based on Wstudio C++ classes, but can be written in JAVA, QT. GTK etc..or ROOT GUI classes

Does not depend on the core of the RunMC

Presently, in addition to Linux, RUNMC is available under Windows/Cygwin:

Cygwin is necessary to have necessary working environment for ROOT & FORTRAN MC (bash, X11, g++, g77, make)

However, RunMC GUI is completely independent of Cygwin and X11 since it uses

Wstudio DDL libraries

Comparison with JetWeb

Main difference:

JetWeb – like PowerPoint running on a remote server, user can load/upload files ppt files, but do not have a full control over calculations:

current focus – jets and heavy flavor production (RunMC – no restriction)

only PYTHIA and HERWIG (6 models in RunMC)

includes data for tunings (RunMC has no experimental data)

RunMC – is designed to run on every desktop, but loadable RMC files with physics calculations can be easily shared between users:

ANY calculations

flexibility and full control over program

no heavy maintenance (but RMC files should be “certified” by someone!)

No data - less power compared to JetWeb for MC tuning

Summary

RunMC version (v3.1) and user manual (v1.4):

http://www.desy.de/~chekanov/runmc

Can be done in future:

add RAPGAP model

HzTOOL can be converted to use with RunMC

(as RMC project modules)

RunMC

home

2004-05-19T20:16:31