Slide 1 University of Melbourne
Document Sample


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.
Decay of decay
Table channel
●
modes:
●Branching ratio for
generator #1 and #2
●Rough statistical
errors of branching
ratios
●Maximal “Shape
Difference
Parameter”
●Similarity
Slide from one of Piotr’s Talk! Coefficients
Example of histogrammes:
●Histogrammes
of invariant
mass from
generator
#1 and #2
●Ratio of the two
histogrammes
●Shape
Difference
Parameter value
Slide from one of Piotr’s Talk!
Directory Structure
Example Added
Interface Extended
to HepMC
Event data access:
HEPEvent 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
…
//Initialize MC-TESTER
MC_Initialize();
… + Some configuration
In event loop {
C++ example …
// Fill phythia event
added // to HepMC format
ToHepMC.fill_next_event(
event, HepMCEvt
);
//Make new MC-TESTER
// HepMCEvent event and
Example of use in // pass to the tester
HepMCEvent * temp_event =
main method for the new HepMCEvent(*HepMCEvt);
pythia 8 event MC_Analyze(temp_event);
}
generatior
//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?
Get documents about "