Hto4l-v1.x README ================= Hto4l is an event generator for the SM Higgs decay into 4 charged leptons up to NLOPS electroweak accuracy. It can be used either for the calculation of the partial width of the Higgs boson in the H -> ZZ -> 4l channels or in association with any event generator which provides events for the Higgs production in the Les Houches standard format. The calculation is strictly meaningful with on-shell Higgs production and decay (narrow width approximation). If the LHE events are produced by Breit-Wigner spreading the Higgs virtuality, Hto4l assumes the virtuality to be the mass of the Higgs on an event by event basis The generator has been developed by S. Boselli [1,2], C.M. Carloni Calame[1], G. Montagna[1,2], O. Nicrosini [2] and F. Piccinini [2] [1] Dipartimento di Fisica Nucleare e Teorica, Universita' di Pavia (Italy) [2] INFN, Sezione di Pavia For information, updates and citing the code, please refer to the web page: http:/www.pv.infn.it/hepcomplex/hto4l.html Changelog --------- 1.0 -> 1.01 Bug corrected in LHEinterface.F file. 1.01 -> 1.02 Added an input option to skip 'nskip' events in the LHE input file. Compiling the code ------------------ A self-explaining Makefile is provided. Just type 'make' and the Hto4l executable is compiled. Hto4l has been tested with GCC gfortran 4.7+. The Hto4l package includes a copy of the LoopTools libraries, v2.10 (http://www.feynarts.de/looptools/), slightly patched to suppress a few print-outs. Input parameters (an input-check-* file is provided as template) ---------------------------------------------------------------- nmax ! Number of points to be generated/calculated. ! If 'lhe' mode is chosen, nmax must be larger than ! the number of events in the LHE file. nskip ! Number of events to skip in the input LHE file (nskip>=0). ! If 'standalone' mode is chosen, set nskip = 0. unweighted ! running mode. Possible choices: weighted/unweighted 0.16d0 ! maximizing value for unweighting. If = 0, it is searched over 10^6 phase space points, ! otherwise this value is taken and no search is performed. ! A suggested value can be found after a run in the final output statistics file. eemm ! Final state particles (eemm/eeee/mmmm) matched ! Order of radiative corrections ! born = LO decay, born level. ! exoal = includes NLO electroweak corrections ! matched = NLOPS accuracy, NLO EW + multi-photon emission. Best prediction. 123423 ! Seed for random number generator 125. ! Higgs mass (GeV) 1 ! Include only QED correction or QED+Weak corrections. ! 0 = only QED corrections, 1 = full EW NLO 0.d0 ! cut on low lepton pair invariant mass (GeV). ! A cut applied at generator level, which might improve ! unweighting efficiency: events with invmass(p_i+p_j) < cut ! are rejected, where i and j are any possible opposite sign leptons 'standalone' ! if running in 'standalone' or 'lhe' mode, ! 'lhe' mode reads a LHE file for Higgs production ! and writes a LHE file where the Higgs has been decayed by Hto4l 'output-check-lhe/' ! name of the directory where all the data of the ! run will be saved. 'pwgevents.lhe' ! Higgs production LHE file to be read 'lheoutput.lhe' ! Higgs decay LHE file to be written If 'weighted' mode is chosen the Higgs partial width is calculated generating nmax weighted events. Mainly useful in 'standalone' mode. 'unweighted' mode is meant to be used when a production LHE file is read in input ('lhe' mode). Event by event the Higgs boson decay is performed with unitary weight and a new LHE file where the full events (production + decay) are stored is produced in output. In both cases a *.statistics file is produced in the output directory. In this file the partial decay width, statistics information and input parameters are stored. Also some differential distributions are saved in ASCII format, the files have the extension .dat, to be plotted e.g. with gnuplot. Checking the code ----------------- We include the input file 'input-check-user-v1.0' and the directory 'output-check/' where the results of a quick test run are stored. By feeding the provided input file to Hto4l, the results in 'output-check-user/' must coincide. User modifiable files/routines ------------------------------ * userroutines.F The routines which can be modified by the user are in the file userroutines.F, no other routine should be modified in principle by the user. The modifiable routines are: subroutine initrndgen(iseed) Pseudo-Random Number Generator initialization. By default, RANLUX is used. subroutine wraprnd(csiout,n) PRNG, it returns a random double precision array csiout(n) of random numbers in (0,1), uniformly distributed. subroutine setmassesandconstants Sets quarks, W, Z, tau masses, W, Z widths, alpha_EM(q^2=0) and G_Fermi. To be tuned to the production parameters if needed. subroutine cuts(p1,p2,p3,p4,qph,icut) Routine to implement cuts at decay level. It returns icut=1 if the event has to be rejected, icut=0 otherwise. p1(0:3), p2(0:3), p3(0:3), p4(0:3) are the lepton momenta in the event and qph(40,0:3) are the (up-to-40) photons momenta. * driver.F This is the main program, some inputs are read, Hto4l is initialized, the decay loop is performed and a run finalization is done. * LHEinterface.F It contains the routines to read and write LHE files. It has been tested with events produced with POWHEG and MC@NLO.