180 likes | 276 Views
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?.
E N D
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 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!
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 { … // 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(); … C++ example added • Example of use in main method for the pythia 8 event generatior
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?