+ All Categories
Home > Documents > MC-tester as tool for transition from F77 HEPEVT to C++ HepMC Nadia Davidson.

MC-tester as tool for transition from F77 HEPEVT to C++ HepMC Nadia Davidson.

Date post: 21-Dec-2015
Category:
View: 214 times
Download: 0 times
Share this document with a friend
18
MC-tester as tool for transition from F77 HEPEVT to C++ HepMC Nadia Davidson
Transcript

MC-tester as tool for transition from F77 HEPEVT to C++ HepMC

Nadia Davidson

Who am I?

PhD Student from the University of Melbourne, working on ATLAS

Will be in Krakow for 4 months Working on transition of HEPTOOLS

to HepMC

What is HEPEVT? What is HepMC? Event Records for Monte Carlo Generators Makes the interfacing of different event

generators simpler However, there will always be ambiguities

and limitations to the way the event information is stored.

HEPEVENT is the Fortran HEP standard HepMC is a C++ container

What is HEPEVT?

Defined by a Fortran common block

Also a 2nd block for spin information

What is HepMC?

A package of C++ classes Events are represented as graphs

Event contains a list of vertices

Vertices have pointers to their incoming and outgoing particles

Spin density matrices can be stored

+ Flow information (such as colour)

Motivation to move to HepMC High Energy Particle Physics tools are

becoming Object Orientated Frameworks for running MC-generators

E.g. Athena (ATLAS software) is written in C++ and python

Monte-Carlo Generators E.g. Pythia 8, Hergwig++

HepMC is becoming a standard container for event records

Step One: MC-tester

Gain experience using HepMC Demonstrates general event record

interface for HEPEVT and HepMC Great testing tool for checking new

C++ Monte-Carlo generators against their older Fortran version.

What is MC-TESTER?

Written by Piotr Golonka, Tomasz Pierzchala, Zbigniew Was.

C++ Program from around 2003 Automates the comparison of intermediate

state decays for different Monte-Carlo generators.

Produces a list comparing branching ratios and invariant mass distributions for the decay modes found.

Table of decay Table of decay modes:modes:

●Decay channel

●Branching ratio for generator #1 and #2

●Rough statistical errors of branching ratios

●Maximal “Shape Difference Parameter”

●Similarity Coefficients(combined: for all decay modes)Slide from one of Piotr’s Talk!

●Histogrammes of invariant mass from generator

#1 and #2

●Ratio of the two histogrammes

●Shape Difference Parameter value

Example of histogrammes:Example of histogrammes:

Slide from one of Piotr’s Talk!

Directory Structure

Example Added

Interface Extended to HepMC

Event data access: Event data access: HEPEvent libraryHEPEvent library

Now added

Two classes added

HepMCEvent (Inherits from the HepEvent and HepMC::GenEvent classes) Has a list of HepMCParticles Implemented some basic method to access these

HepMCParticle (Inherits from the HepParticle and HepMC::GenParticle classes) Implemented methods to access GenParticle

properties Also methods to getList of Mother/Daughter

Particles is needed by MC-Tester Other methods left as stub as not needed by MC-

tester

C++ example added

Example of use in main method for the pythia 8 event generatior

… //Initialize MC-TESTER MC_Initialize();… + Some configuration

In event loop { … // Fill phythia event // to HepMC format ToHepMC.fill_next_event( event, HepMCEvt );

//Make new MC-TESTER // HepMCEvent event and // pass to the tester HepMCEvent * temp_event = new HepMCEvent(*HepMCEvt); MC_Analyze(temp_event);}

//Finalise MC-TESTER MC_Finalize();…

Example: Comparision of pythia 6.4 (Fortran) to pythia 8.1 (C++) Is now possible to compare the output

of Fortran and C++ monte-carlo generators.

Example: tau decay in e+eZ0 events

Plans

Some more debugging and clean up of MC-Tester HepMC example needed (will not take long)

But successful first step done Move to looking at tauola interface?


Recommended