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

S.Chekanov (ANL)

DESY, September 2004

LCG-Generator meeting (CERN)

General concept

Extending lifetime of FORTRAN Monte Carlo models

General idea: Run FORTRAN MC - analyze using C++ classes

Advantage of FORTRAN models:

Large choice of Monte Carlo models developed for HERA

see HERA Monte Carlo workshop

well tested at HERA/LEP etc experiments

Fast

At the same time:

Use modern C++ libraries for LHC (CLHEP based)

Fully integrated with ROOT analysis environment

Standardization of output record

Load/unload physics projects:

just like *doc documents for MS Word!

General concept

ROOT histograms

Root trees (ntuples)

HEPEVT and RUNMC

RMC or MC

project files

Analyse ROOT trees

in the same way as

MC-model outputs

Main features (v3.1)

Fill histograms (large number of predefined histograms)

Event-based (Q2,x, E(tot) etc)

Single particle densities (pt, eta, etc)

Two-particle densities (invariant masses)

“project” files can be saved and restored

Cross section calculations or automatic normalization to events

Status bar, automatic checks of the settings, different presentation styles etc.

1D and 2D histograms can be viewed during event generation

One can stop the run at any time (just press “Stop”!).

all inputs will be saved

Main features (v3.1)

Different types of event record:

all HEPEVT, stable, stable charged, partons

Cuts (in Et and eta for particles or jets)

can be set via RunMC GUI

Ntuple/Tree analyzer:

Ntuples can be analyzed exactly as for MC jobs!

Steering-card editor (spreadsheet-like)

Histogram editor (spreadsheet-like)

RunMC input parameters

Via RUNMC GUI (no need steering cards)

Simple to use

Default MC parameters for fully inclusive events

More complicated settings can be done via steering cards

No need to recompile to package

Use “steering card” editor (spreadsheet-like);

Some parameter setting are still missing (for HERWIG)

Use user initialization subroutines in proj/ini directory

set parameters and recompile the project (now – dummy functions)

allows maximum flexibility

RunMC outputs

ROOT based histogram file (8 can be defined via RunMC GUI)

Up to 200 histograms using “project file”

Use various types of presentations (plain, color etc)

Select automatic normalization

Normalized to the number of events

Differential cross section

ROOT ntuples/trees (compressed!) – copy of HEPEVT record

Use for “offline” analysis

Reduced event “RunMC” ROOT tree:

only final-state hadrons with reduced information on events

good for most physics analysis

Main features (v 3.1)

run most recent versions of Monte Carlo models:

PYTHIA 6.2

HERWIG 6.5

ARIADNE 4.12

LEPTO 6.5 (DIS only)

LEPTO 6.5 & ARIADNE PS (DIS only)

AROMA 2.2 (heavy flavor in DIS)

CASCADE 1.2

+ Ntuple (ROOT tree) analyzer (HEPEVT or RUNMC event records)

Multiplatform (Linux and Windows/Cygwin)

Physics analysis packages

Included and interfaced with RunMC:

HepLorentzVector (part of the RunMC event class)

Breit-frame calculations (HCM is not supported yet)

Event shape calculations (C++ library by M.Iwasaki)

Also contains JADE & DURHAM algorithms

KTjet C++ library (J.Butterworth, J.Couchman, B.Cox, W.Waugh)

Still not well tested

Loadable physics analysis projects (RMC)

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

dis_kinematics.rmc Some 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

invariant_mass.rmc Look at invariant masses of two particles in e+e-, SC

event_shapes.rmc Event shape studies, SC

RMC project file- compressed and packed directory $RUNMC/proj with:

control.cards for MC and/or initialization files

RunMC GUI input file (*MC file)

user-defined calculations

histogram definition etc ..

RunMC can load/unload the RMC filed and compile them automatically

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

Presently available:

Loadable physics analysis projects (RMC)

Do you need another output, event record, MC tunning, histogram file, 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)

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 requires external data)

RunMC – is designed to run on every desktop, but RMC files can be copied/shared between users:

full flexibility and control over program

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

less power compared to JetWeb for MC tuning

RunMC GUI (based on T.Hirabayashi GUI classes)

Stable/partons?

ROOT canvas

Select MC model

Set histograms

Select jets

Steering card editor

1D or 2D?

If you do not like GUI

Just run executables for each MC in shell

Functionality is the same:

#!/bin/bash

# Link RunMC file

if [ -x ".analmc.ln" ]

then

rm -f ".analmc.ln"

fi

ln -s pythia6.mc .analmc.ln

# allow run

cat > $RUNMC/pipes/pipe_runmc.stop <<!

0

!

#

analmc.pythia6 > pythia6.log &

Example of the bash script to run PYTHIA in background:

Can be stopped at any time replacing “0” by “1” in the pipe file $RUNMC/pipes/pipe<date>.stop

Note:

pipe_runmc should be defined in

pythia6.mc file

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