Slide 1 University of Melbourne

Document Sample
scope of work template
							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+eZ0 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?

						
Other docs by liuqingyan
tma02 _33_
Views: 85  |  Downloads: 0
Volume
Views: 115  |  Downloads: 0
bulletin58
Views: 2  |  Downloads: 0
07.02CAPTscience
Views: 4  |  Downloads: 0
agencies attending Project Homeless Connect
Views: 16  |  Downloads: 0
Ultrasound Technology
Views: 91  |  Downloads: 0
private_alternative_loans_2010
Views: 0  |  Downloads: 0
NEWSLETTER_CONNECTRIX
Views: 6  |  Downloads: 0