<<

generators

Introduction Event generators generate simulated high-energy them are performed using Monte Carlo methods. physics events. Despite the simple structure of The final-state particles generated by event gen- the tree-level perturbative quantum field theory erators can be fed into a detector simulation, al- description of the collision and decay processes lowing a precise prediction and verification for the in an event, the observed high-energy process entire system of experimental setup. However, as usually contains significant amount of modifica- the detector simulation is usually a complex and tions, like and bremsstrahlung or computationally expensive task, simple event anal- loop diagram corrections, that usually are too ysis techniques are also performed directly on event complex to be easily evaluated in real calcula- generator results. tions directly on the diagrammatic level. Any realistic test of the underlying physical process A typical hadronic event generator simulates the in a experiment, therefore, following subprocesses: Initial-state composition and substructure requires an adequate inclusion of these complex • Initial-state radiation behaviors surrounding the actual process. Based • The hard process on the fact that in most processes, a factoriza- • Resonance decay tion of the full process into individual problems • Final-state radiation is possible (which means a negligible effect from • interference), these individual processes are cal- Accompanying semi-hard processes • culated separately, and the probabilistic branch- and further decay • ing between

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 1) S. Lehti and V.Karimaki¨ Lecture 8 Event generators A typical heavy ion event generator usually can generator should be in the form of events, with the be less strict in simulating the rare and rather same average behavior and the same fluctuations negligible processes found in a hadronic genera- as real data. tor, but it would need to simulate the following subprocesses, in addition to those in a hadronic Event generators can be used in many different generator: ways. The five main applications are probably the following: Nuclear initial-state • High multiplicity, soft processes To give a feeling for the kind of events one • • may expect/hope to find, and at what rates In-medium energy loss • As a help in the planning of a new detector, Collective behavior of the medium (not • so that detector performance is optimized, • handled properly by any generators so far) within other constraints, for the study of in- The major event generators that are used by cur- teresting physics scenarios. rent experiments are e.g.: As a tool for devising the analysis strategies Pythia • that should be used with real data, to opti- • Herwig mize signal-to-background conditions • Isajet As a method for estimating detector accep- • • Alpgen tance corrections that have to be applied to • MC@NLO (Next to Leading Order) raw data • CompHEP As a convenient framework within which to • • TopReX interpret the observed phenomena in terms • As the name indicates, the output of an event of a more fundamental underlying theory

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 2) S. Lehti and V.Karimaki¨ Lecture 8 Event generators

a few optional interfaces. PYTHIA All default settings and particle and process data The PYTHIA program is frequently used for are stored in BLOCK DATA PYDATA. This sub- event generation in high-energy physics. The program must be linked at the beginning of the emphasis is on multiparticle production in colli- main program for the proper functioning of other sions between elementary particles. This in par- routines − ticular means hard interactions in e+e , pp and EXTERNAL PYDATA ep colliders, although also other applications are The program philosophy of PYTHIA is that the envisaged. The program is intended to generate Monte Carlo program is built as a slave system, and complete events, in as much detail as experimen- the user has to supply the main program. The de- tally observables ones, within the bounds of our tails how the program should perform specific tasks current understanding of the underlying physics. is done by setting common block variables. By calling subroutines the program is told to generate The documentation is extensive, and extremely events according to rules established by the user. useful, and it can be found in To extract information on the generated events, http://www.thep.lu.se/~torbjorn/Pythia.html one can look at common block PYJETS, or to call The PYTHIA package is completely self- various functions and subroutines to analyse the contained. In addition interfaces to externally events. defined subprocesses, PDF libraries, τ decay li- In the core process generation machinery, like se- braries and a time routine are provided, plus lection of hard process kinematics, a sizable

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 3) S. Lehti and V.Karimaki¨ Lecture 8 Event generators In the initialization step all basic characteristics of amount of initialization is performed in the the coming generation are specified. This includes PYINIT call, and thereafter the events gener- the selection of required processes, the selection ated by PYEVNT all obey rules established at of kinematics, definition of the underlying physics that point. The common block variables speci- scenario, e.g. the Higgs mass, selection of PDF’s, fying methods and constraints to be used have switching off of generation parts not needed, and to be set before calling PYINIT. initialization of the event generation procedure. PYTHIA is extremely versatile, but the price to In the event loop the events are generated and be paid for this is having a large number of ad- studied. The generation of next event is done with justable parameters and switches for alternative call modes of operation. Since all these parameters CALL PYEVNT and switches are assigned sensible default values, The events are then saved on disk, or interfaced to there is no reason to worry about them until the a detector simulation. need arises. Unless explicitly stated, all switches and parameters can be changed independently In the final step, in addition to producing output, of each other. the events can be normalized to expected rates as the number of events simulated is not always the The normal usage of PYTHIA can be subdivided number of events expected. For example a process into three steps: with a very large cross section may be expected to initialization • give millions of events, while simulating that many event generation loop • events may not always be feasible. In that case the printing and histogramming • events must be given weights.

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 4) S. Lehti and V.Karimaki¨ Lecture 8 Event generators

Example 1: How to get particle listing Example 2: Simulating Z boson production In PYTHIA every particle is given a unique Let’s assume we want to study the Z boson in µ+µ− code, a KF code. This code is needed e.g. final state. For that we need to initialize PYTHIA when forcing decays, or when you want to se- to produce Z bosons, and then force them to de- lect a particle in your analysis for some reason. cay into muons, as there is no need to include the To get a full list of the KF codes, one can call other decay modes producing very different signa- PYLIST: tures in the detector. The initialization step looks like following: Main program: MSEL=0 CALL PYLIST(12) MSUB(1)=1 CKIN(1) = 80 END DO IDC=MDCY(22,2),MDCY(22,2)+MDCY(22,3)-1 This list is so useful that you might want to MDME(IDC,1)=MIN(0,MDME(IDC,1)) save the output on your disk or even print it. ENDDO In the listing the decay modes (IDC) for each DO IDC=MDCY(23,2),MDCY(23,2)+MDCY(23,3)-1 particle are also included. These can be used MDME(IDC,1)=MIN(0,MDME(IDC,1)) for switching decay modes on and off. Note ENDDO that while the KF code is not changed between MDME(171,1)=1 PYTHIA versions, the IDC code for decays may MDME(184,1)=1 change (and have changed) when new potential decay modes are included. CALL PYINIT(’CMS’,’P’,’P’,14000.D0)

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 5) S. Lehti and V.Karimaki¨ Lecture 8 Event generators

The first line MSEL=0 switches all channels off The event loop consists of a loop over as many giving full user control. events as we want. Choosing too low a value MSUB(1)=1 sets the process 1 on. The pro- for the number of simulated events results in poor cesses are listed in the PYTHIA manual, here statistics, but choosing too large a value will make ¯ ∗ we select the subprocess fifi γ /Z the simulation computationally expensive and very → CKIN(1) sets the lower limit for mˆ = √s. We time consuming. Within the event loop the events are not interested in the Z/γ∗ production well are generated by calling subroutine PYEVNT below the Z mass, it has huge cross section and The final step consists of event normalization. If the kinematical selection excludes it anyway. we assume an integrated luminosity of 30 fb−1, the The Z boson KF code is 23, the γ KF code is normalization factor (event weight) will be 22, the DO loops switch all the decay channels CNOR = PARI(2)*10.**12 *NEV*LUMI off. Once they are all off, we set the muon chan- where PARI(2) is the total integrated cross section nel open using MDME(IDC,1)=1. The particle divided by number of events, NEV is the number of listing (Example 1) gives IDC=171 for γ µµ events and LUMI the chosen luminosity. The factor and IDC=184 for Z µµ. → → 1012 comes from unit conversion, in PYTHIA the Finally we initialize PYTHIA with the chosen pa- cross sections are in mb’s, while the luminosity is rameter values for production and decay, with in fb−1. CM energy of 14 TeV for colliding proton beams.

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 6) S. Lehti and V.Karimaki¨ Lecture 8 Event generators

Example 3: How to set PDF’s To change the PDF used in example 2 to a PDF from an external library, we need to add PDF calls In the previous example we used PYTHIA’s de- in the program initialization, and to disable the fault parton distribution function (PDF), which dummy routines in the PYTHIA code. As PDFLIB is CTEQ5L. If some other PDF is preferred, it is becoming obsolete, LHAPDF is used as an ex- can be selected in the initialization. ample. The procedure is the following: The complete set of PDF’s available in PYTHIA Read LHAPDF docs. are listed in the PYTHIA manual section 7: Pro- cess Generation. More can be found in exter- Edit PYTHIA source code and rename dummy sub- nal libraries of parton distributions, PDFLIB and routines PDFSET and STRUCTM to disable them. LHAPDF. PDFLIB is the older one, and no new These routines are available in the library interface. parton distributions has been added in it for couple of years. The newer LHAPDF (the Les In your initialization call SETPDFPATH to set the Houches Accord PDF interface) contains all new path to the PDF data file you are using. sets of the last five years or so. LHAPDF has an interface LHAGLUE, which is identical to the Add a call (and argument type definitions) to PDF- PDFLIB interface. SET with arguments PARM(1) = ’DEFAULT’ To change PDF to one already available in VAL(1) = PDF set number PYTHIA, use MSTP(51) to select the set. The PDF set number depends on the chosen PDF, Use PYTHIA manual to check which value of and it can be found in the LHAPDF manual ap- MSTP(51) selects the chosen PDF. pendix A : PDF set numbers and names.

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 7) S. Lehti and V.Karimaki¨ Lecture 8 Event generators HERWIG Choose scale, and call STRUCTM. For LHC e.g. HERWIG is another general purpose Monte Carlo X = 0.002 event generator. It includes the simulation of hard CALL STRUCTM(X,X,X,X,X,X,X,X,X,X,X) -lepton, lepton- and hadron-hadron Compile and link the LHAPDF library with the scattering and soft hadron-hadron collisions. It rest of your code. The LHAPDF code can be uses parton-shower approach for initial and final found in http://hepforge.cedar.ac.uk/lhapdf state QCD radiation, including colour coherence effects and azimuthal corrections both within and The initialization code looks like following, as- between jets. suming CTEQ6LL PDF is chosen and the corre- sponding data file cteq6ll.LHpdf is found in the A generic hard process, i.e. process with high mo- local directory: mentum transfer, is divided in four components in HERWIG. These are CALL PYINIT(’CMS’,’P’,’P’,14000.D0) Elementary hard subprocess CALL SETPDFPATH(’.’) • Initial and final state parton showers • PARM(1) = ’DEFAULT’ Heavy object decays • VAL(1) = 10042 ! CTEQ6LL Hadronization process CALL PDFSET(PARM,VAL) • The official HERWIG homepage for documentation X = 0.002 and source code is CALL STRUCTM(X,X,X,X,X,X,X,X,X,X,X) http://hepwww.rl.ac.uk/theory/seymour/herwig

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 8) S. Lehti and V.Karimaki¨ Lecture 8 Event generators Here we selected LHC beams with 14 TeV CM Example 4: Simulating Z boson production energy, colliding protons, and producing Z bosons (and γ∗) decaying into muons, process 1353. Let’s repeat the example 2, now using HERWIG instead of PYTHIA. The source code can be SUSY particles are not needed, so line for SUSY downloaded from the HERWIG web page, and particle data can be commented. The rest of the code can remain as is, but to be sure the program it includes the fortran herwig6510.f and header works, some test prints are included files HERWIG65.INC and herwig6510.inc. As in SUBROUTINE HWANAL PYTHIA, the user must write the main program, INTEGER NEVHEP,NHEP,ISTHEP,JMOHEP,JDAHEP from where the HERWIG routines are called. A DOUBLE PRECISION PHEP,VHEP good stating point is e.g. an example program PARAMETER (NMXHEP=4000) available in the HERWIG manual chapter 8. COMMON/HEPEVT/NEVHEP,NHEP, &ISTHEP(NMXHEP),IDHEP(NMXHEP), PART1=’p’ & JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP), PART2=’p’ & PHEP(5,NMXHEP),VHEP(5,NMXHEP) PBEAM1=7000. DO i = 1,NHEP PBEAM2=PBEAM1 IF(ABS(IDHEP(i)).EQ.13.AND. IPROC = 1353 & ABS(IDHEP(JMOHEP(1,i)))) THEN print *,”ev, muon pt ”,NEVHEP, CALL HWIGIN & sqrt(PHEP(1,i)**2+PHEP(2,i)**2) ENDIF EMMIN = 80 ! min lepton-lepton-mass ENDDO END

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 9) S. Lehti and V.Karimaki¨ Lecture 8 Event generators

The particle id codes are the revised Particle OTHER EVENT GENERATORS Data Group ones. The only exception is the The number of event generators is increasing. Of- lightest MSSM Higgs boson h with id 26 to dis- ten the general purpose event generators can be tinguish it from the SM Higgs boson (id=25). used, or they can serve as a good starting point, HERWIG gives the output in the LEP standard but in many cases there are special event genera- common block /HEPEVT/. tors available giving more precise predictions. The For the normalization in the final step, the pro- event generators can be specialized in e.g. top cess cross section (times the branching ratio) is physics, or vector boson fusion, or associated pro- needed. The cross section is stored in common duction with n jets etc. It is often very healthy /HWEVNT/ with variable name AVWGT. The to compare the results from different event gen- cross section is given in nb. erators, and to try to understand the differences. The PDF’s are included using variables AUTPDF Which event generator to use is up to the user, and MODPDF for the two beams: but when presenting results the choice of the event CALL SETPDFPATH(’.’) generator may be criticized. AUTPDF(1) = ’HWLHAPDF’ !beam 1 Many of the specialized event generators include MODPDF(1) = 10042 !beam 1 (CTEQ6LL PDF) AUTPDF(2) = AUTPDF(1) !beam 2 code only for the core calculations, and use general MODPDF(2) = MODPDF(1) !beam 2 purpose event generators like PYTHIA and HER- Like in PYTHIA one must comment dummy rou- WIG as a user interface. This simplifies the HEP tines PDFSET and STRUCTM in the HERWIG simulation, as the event generators can be easily source code. switched from one to another.

Spring 2010 COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 10) S. Lehti and V.Karimaki¨ Lecture 8