RunMC
C++ object-oriented framework for
Monte Carlo models

S.Chekanov (ANL)

DESY, June 2004

HERA-LHC workshop

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

General concept

Main features

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” file can be saved and restored

Cross section calculations or automatic normalization

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

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

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

RunMC input parameters

Use RUNMC GUI

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

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

Event ROOT ntuple (compressed!) – copy of HEPEVT record

Use for “offline” analysis

Reduced event “RunMC” ROOT ntuple

only final-state hadrons with reduced information on events

good for most physics analysis

Main features (v 2.0)

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

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

RunMC GUI (based on T.Hirabayashi GUI classes)

Stable/partons?

ROOT canvas

Select MC model

Set histograms

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

analmc.mc file

Summary

RunMC version (v2.0) and user manual (v1.0):

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

Can be done in future:

add RAPGAP model

HzTOOL can be converted to use with RunMC

RunMC

home

2004-05-19T20:16:31