Index: trunk/share/examples/Zprime.sin =================================================================== --- trunk/share/examples/Zprime.sin (revision 8466) +++ trunk/share/examples/Zprime.sin (revision 8467) @@ -1,88 +1,88 @@ # Zprime.sin # Simple complete physics example: sequential Z' in Drell-Yan ######################################################################## # # Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## model = Zprime alias pr = u:d:s:c:gl:U:D:S:C alias lepton = e1:E1 process zp_drell_yan = pr, pr => e1, E1 # Define model parameters mZH = 1500 GeV wZH = 50 GeV ms = 0 mc = 0 # Define reasonable cuts and integrate the cross section(s) # in order to initialize the phase space grids for similation cuts = all Pt >= 50 GeV [lepton] and all -2.5 <= Eta <= 2.5 [e1:E1] and all M >= 800 GeV [e1,E1] # Define the process scale scale = 1500 GeV # Beam specification and integration sqrts = 14 TeV beams = p,p => pdf_builtin integrate (zp_drell_yan) { iterations = 3:10000:"gw",6:20000 } ?unweighted = false # Define title etc. as global variables, that will be used by PLOT $description = - "A WHIZARD 2.2 Example. + "A WHIZARD 3.0 Example. Cuts: $p_T^\ell\ge50 \textrm{ GeV}$, $M_{\ell\ell} \ge$800 GeV, $|\eta(\ell)|\le2.5$ \newline Using weighted events to produce smooth distributions." $y_label = "$N_{\textrm{events}}$" # Allocate plots $title = "$Z'$ Drell-Yan dilepton peak $pp\to \ell\ell$" $x_label = "$M_{\ell\ell}$/GeV" histogram m_lepton (1 TeV, 2 TeV, 50 GeV) $title = "$Z'$ Drell-Yan: $p_T$ distribution of the $\ell$" $x_label = "$p_T^{\ell}$/GeV" histogram pt_lepton (100 GeV, 2000 GeV, 100 GeV) $title = "$Z'$ Drell-Yan: Angular distribution of the $\ell$" $x_label = "$\theta^{\ell}$/rad" histogram th_lepton (0, pi) analysis = record m_lepton (eval M [e1,E1]); record pt_lepton (eval Pt [e1]); record th_lepton (eval Theta [e1]) # Set the desired numbers of events... n_events = 100000 # ... and simulate, requesting status information every 5000 events simulate (zp_drell_yan) {checkpoint = 5000} compile_analysis { $out_file = "Zprime.dat" } Index: trunk/share/examples/NLO_NLL_matched.sin =================================================================== --- trunk/share/examples/NLO_NLL_matched.sin (revision 8466) +++ trunk/share/examples/NLO_NLL_matched.sin (revision 8467) @@ -1,110 +1,100 @@ model = SM_tt_threshold -?vis_history = false - mZ = 91.1876 mW = 80.385 mb = 4.2 mH = 1.250000000000E+02 me = 0.0 alpha_em_i = 132.23323 !!! GF = 1.1663787E-005 m1S = 172.0 Vtb = 1. wZ = 2.443 wW = 2.049 wH = 4.143E-03 ?alphas_is_fixed = false ?alphas_from_mz = true ?alphas_from_lambda_qcd = false alphas = 0.118 ! (Z pole, NLL running to mu_h) alphas_order = 2 alphas_nf = 5 scale = m1S alpha_power = 4 alphas_power = 0 library = NLO_NLL_matched offshell_strategy = 1 + !!! NLO width and decay 32 !!! helicity-approximated nrqcd_order = 1 !!! NLL form factor FF = -4 !!! MATCHED mpole_fixed = 1 real wtop1S = wtop mpole_fixed = -1 show(model) mult_call_virt = 0.75 ! mult_call_real = 20 ! iterations = 10:40000:"gw",5:20000 !!! For reliable, high-quality results use the above iterations and average over !!! ~20 integration runs mult_call_real = 5 iterations = 3:2000:"gw",3:2000 !!! {{{ Variables to scan over real scale_variations = 0 !!! can be used for common scale variations real mass_cut = -1 !!! can be used to cut on mWB real matched_variations = 0 !!! can be used for matching variations sqrts = 350.0 !!! }}} sqrtsstepsize = 0.1 GeV sqrtsmin = sqrts - 2 * sqrtsstepsize sqrtsmax = sqrts + 2 * sqrtsstepsize if (scale_variations == 0) then sh = 1.0 sf = 1.0 elsif (scale_variations == 1) then sh = 0.5 sf = 2.0 elsif (scale_variations == 2) then sh = 2.0 sf = 1.0 elsif (scale_variations == 3) then sh = 2.0 sf = 0.5 elsif (scale_variations == 4) then sh = 0.5 sf = 1.0 endif if (matched_variations == 0) then v1 = 0.10 v2 = 0.30 elsif (matched_variations == 1) then v1 = 0.15 v2 = 0.30 elsif (matched_variations == 4) then v1 = 0.10 v2 = 0.40 endif if (mass_cut > 0) then cuts = all abs (M - m1S) < mass_cut [Wp, b] and all abs (M - m1S) < mass_cut [Wm, B] endif $method = "threshold" -$born_me_method = "threshold" -$loop_me_method = "threshold" -$correlation_me_method = "threshold" -$real_tree_me_method = "threshold" -!!! Full can be separated into Born, Real and Virtual +!!! full can be separated into Born, Real and Virtual process matched_nlodecay = E1, e1 => Wp, Wm, b, B { nlo_calculation = full } integrate (matched_nlodecay) $method = "openloops" -$born_me_method = "openloops" -$loop_me_method = "openloops" -$correlation_me_method = "openloops" -$real_tree_me_method = "openloops" process nlofull = E1, e1 => Wp, Wm, b, B { nlo_calculation = full } !!! h * m1S * sqrt(nustar) scale = sh * m1S * sqrt(abs(sqrt((sqrts - 2 * m1S + I * wtop1S) / m1S)) + 0.05) integrate (nlofull) printf "sqrts = %6.2f" (sqrts) printf "NLO = %6.2f +- %5.2f" (integral(nlofull), error(nlofull)) printf "MATCHED-NLO = %6.2f +- %5.2f" (integral(matched_nlodecay), error(matched_nlodecay)) printf "MATCHED = %6.2f +- %5.2f" (integral(nlofull) + integral(matched_nlodecay), sqrt(error(nlofull)**2 + error(matched_nlodecay)**2)) Index: trunk/share/examples/LEP_cc10.sin =================================================================== --- trunk/share/examples/LEP_cc10.sin (revision 8466) +++ trunk/share/examples/LEP_cc10.sin (revision 8467) @@ -1,68 +1,68 @@ # LEP_cc10.sin # Simple complete physics example: W endpoint in the Standard Model ######################################################################## # # Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## model = SM # This is the CC10 charged current process important # for LEP physics. No flavor summation for jets here. process cc10 = e1, E1 => e2, N2, u, D compile # We set the muon mass to zero. mmu = 0 sqrts = 209 GeV integrate (cc10) { iterations = 12:20000 } # We set a luminosity of 10 inverse femtobarn. Note that this is roughly # two orders of magnitude higher than the final LEP2 integrated luminosity. luminosity = 10 # Define title etc. as global variables, that will be used by PLOT $description = - "A WHIZARD 2.2 Example. + "A WHIZARD 3.0 Example. Charged current CC10 process from LEP 2." $y_label = "$N_{\textrm{events}}$" # Allocate plots $title = "Di-jet invariant mass $M_{jj}$ in $e^+e^- \to \mu^- \bar\nu_\mu u \bar d$" $x_label = "$M_{jj}$/GeV" histogram m_jets (70 GeV, 90 GeV, 0.5 GeV) $title = "Muon energy $E_\mu$ in $e^+e^- \to \mu^- \bar\nu_\mu u \bar d$" $x_label = "$E_\mu$/GeV" histogram e_muon (0 GeV, 209 GeV, 4) analysis = record m_jets (eval M [u,D]); record e_muon (eval E [e2]) simulate (cc10) compile_analysis { $out_file = "cc10.dat" } Index: trunk/share/examples/LEP_higgs.sin =================================================================== --- trunk/share/examples/LEP_higgs.sin (revision 8466) +++ trunk/share/examples/LEP_higgs.sin (revision 8467) @@ -1,97 +1,97 @@ # LEP_higgs.sin # Simple complete physics example: Higgs search at LEP ######################################################################## # # Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## model = SM alias n = n1:n2:n3 alias N = N1:N2:N3 alias q = u:d:s:c alias Q = U:D:S:C # The Higgsstrahlung process process zh = e1, E1 => Z, h # The missing-energy channel process nnbb = e1, E1 => n, N, b, B # Other channels (for the 4-jet channels # we combine EW and QCD contributions) process qqbb = e1, E1 => q, Q, b, B process bbbb = e1, E1 => b, B, b, B process eebb = e1, E1 => e1, E1, b, B process qqtt = e1, E1 => q, Q, e3, E3 process bbtt = e1, E1 => b, B, e3, E3 compile sqrts = 209 GeV # Set the input parameters # Would-be 115 GeV Higgs at LEP mH = 115 GeV wH = 3.228 MeV # Running b mass mb = 2.9 GeV me = 0 ms = 0 mc = 0 cuts = all M >= 10 GeV [q,Q] integrate (zh) { iterations = 5:5000} integrate(nnbb,qqbb,bbbb,eebb, qqtt,bbtt) { iterations = 12:20000, 1:30000 } # Define title etc. as global variables, that will be used by PLOT $description = - "A WHIZARD 2.2 Example. Light Higgs search at LEP. A 115 GeV pseudo-Higgs has been added. Luminosity enlarged by two orders of magnitude." + "A WHIZARD 3.0 Example. Light Higgs search at LEP. A 115 GeV pseudo-Higgs has been added. Luminosity enlarged by two orders of magnitude." $y_label = "$N_{\textrm{events}}$" # Allocate plots $title = "Invisible mass distribution in $e^+e^- \to \nu\bar\nu b \bar b$" $x_label = "$M_{\nu\nu}$/GeV" histogram m_invisible (70 GeV, 130 GeV, 0.5 GeV) $title = "$bb$ invariant mass distribution in $e^+e^- \to \nu\bar\nu b \bar b$" $x_label = "$M_{b\bar b}$/GeV" histogram m_bb (70 GeV, 130 GeV, 0.5 GeV) analysis = record m_invisible (eval M [n,N]); record m_bb (eval M [b,B]) # This is more than 100 times the LEP luminosity at 209 GeV. luminosity = 10 simulate (nnbb) $title = "Dijet invariant mass distribution in $e^+e^- \to q \bar q b \bar b$" $x_label = "$M_{q\bar q}$/GeV" histogram m_jj (70 GeV, 130 GeV, 0.5 GeV) simulate (qqbb) { analysis = record m_jj (eval M / 1 GeV [combine [q,Q]]) } compile_analysis { $out_file = "lep_higgs.dat" } Index: trunk/share/examples/Z-lineshape.sin =================================================================== --- trunk/share/examples/Z-lineshape.sin (revision 8466) +++ trunk/share/examples/Z-lineshape.sin (revision 8467) @@ -1,64 +1,75 @@ # Z-lineshape.sin # Simple complete physics example: Z lineshape in the Standard Model ######################################################################## # -# Copyright (C) 1999-2020 by +# Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by +# under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## +# We choose our favourite model model = SM +beams = e1, E1 + +# Define some particle containers for the cuts alias lep = e1:E1:e2:E2 alias prt = lep:A +# These are the two processes we want to compare process bornproc = e1, E1 => e2, E2 -process rc = e1, E1 => e2, E2, A +process realcorr = e1, E1 => e2, E2, A compile cuts = all E >= 100 MeV [prt] and all abs (cos(Theta)) <= 0.99 [prt] and all M2 >= (1 GeV)^2 [prt, prt] - -# Define title etc. as global variables, that will be used by PLOT: -$description = "A WHIZARD 2.2 Example" + +# Define title and labels as global variables that will be used in the plot: +$description = "A WHIZARD 3.0 Example" $x_label = "$\sqrt{s}$/GeV" $y_label = "$\sigma(s)$/pb" +x_min = 88 GeV +x_max = 95 GeV # Allocate one plot $title = "The Z Lineshape in $e^+e^-\to\mu^+\mu^-$" -plot lineshape_born { x_min = 88 GeV x_max = 95 GeV } - +plot lineshape_born + # Allocate another plot $title = "The Z Lineshape in $e^+e^-\to\mu^+\mu^-\gamma$" -plot lineshape_rc { x_min = 88 GeV x_max = 95 GeV } +plot lineshape_realcorr {$draw_options = "withcolor blue"} +# Compute the cross sections for different sqrts +# with smaller steps around the peak scan sqrts = ((88.0 GeV => 90.0 GeV /+ 0.5 GeV), (90.1 GeV => 91.9 GeV /+ 0.1 GeV), (92.0 GeV => 95.0 GeV /+ 0.5 GeV)) { - beams = e1, E1 integrate (bornproc) { iterations = 2:1000:"gw", 1:2000 } record lineshape_born (sqrts, integral (bornproc) / 1000) - integrate (rc) { iterations = 5:3000:"gw", 2:5000 } - record lineshape_rc (sqrts, integral (rc) / 1000) + integrate (realcorr) { iterations = 5:3000:"gw", 2:5000 } + record lineshape_realcorr (sqrts, integral (realcorr) / 1000) } +$title = "The Z Lineshape in $e^+e^-\to\mu^+\mu^-(\gamma)$" +graph g1 = lineshape_born & lineshape_realcorr {$draw_options = "withcolor blue"} + compile_analysis { $out_file = "Z-lineshape.dat" } Index: trunk/share/examples/eeww_polarized.sin =================================================================== --- trunk/share/examples/eeww_polarized.sin (revision 8466) +++ trunk/share/examples/eeww_polarized.sin (revision 8467) @@ -1,111 +1,111 @@ # eeww_polarized.sin # Use WHIZARD's initial and final state polarization facilities to # examine the angular distributions for all 36 helicity combinations # in e+, e- -> W+, W- ######################################################################## # # Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## # Define and compile the process model = SM process eeww = "e+", "e-" => "W+", "W-" compile # Define the beams and event count (for simulation) sqrts = 200 GeV beams = "e+", "e-" n_events = 100000 # Tell WHIZARD to retain the W polarization in the generated events polarized "W+", "W-" # Define common description for all histograms below $description = - "A WHIZARD 2.2 Example. $W$ pair production in polarized ILC beams at 200 GeV. Analysis for polarized $W$s." + "A WHIZARD 3.0 Example. $W$ pair production in polarized ILC beams at 200 GeV. Analysis for polarized $W$s." # Define histograms for all final-state helicity combinations. histogram cta_mm (-1, 1, 0.1) { $title = "$WW$ polarization: -1 -1" } histogram cta_m0 (-1, 1, 0.1) { $title = "$WW$ polarization: -1 0" } histogram cta_mp (-1, 1, 0.1) { $title = "$WW$ polarization: -1 +1" } histogram cta_0m (-1, 1, 0.1) { $title = "$WW$ polarization: 0 -1" } histogram cta_00 (-1, 1, 0.1) { $title = "$WW$ polarization: 0 0" } histogram cta_0p (-1, 1, 0.1) { $title = "$WW$ polarization: 0 +1" } histogram cta_pm (-1, 1, 0.1) { $title = "$WW$ polarization: +1 -1" } histogram cta_p0 (-1, 1, 0.1) { $title = "$WW$ polarization: +1 0" } histogram cta_pp (-1, 1, 0.1) { $title = "$WW$ polarization: +1 +1" } # Loop over e+ / e- helicity scan int hel_ep = (-1, 1) { scan int hel_em = (-1, 1) { # Apply the helicity setup beams_pol_density = @(hel_ep), @(hel_em) # (Re)calculate the integral for each initial state polarization integrate (eeww) # The analysis setup fills the different histograms analysis = if (any Hel == -1 ["W+"] and any Hel == -1 ["W-"] ) then record cta_mm (eval cos (Theta) ["W+"]) elsif (any Hel == -1 ["W+"] and any Hel == 0 ["W-"] ) then record cta_m0 (eval cos (Theta) ["W+"]) elsif (any Hel == -1 ["W+"] and any Hel == +1 ["W-"] ) then record cta_mp (eval cos (Theta) ["W+"]) elsif (any Hel == 0 ["W+"] and any Hel == -1 ["W-"] ) then record cta_0m (eval cos (Theta) ["W+"]) elsif (any Hel == 0 ["W+"] and any Hel == 0 ["W-"] ) then record cta_00 (eval cos (Theta) ["W+"]) elsif (any Hel == 0 ["W+"] and any Hel == +1 ["W-"] ) then record cta_0p (eval cos (Theta) ["W+"]) elsif (any Hel == +1 ["W+"] and any Hel == -1 ["W-"] ) then record cta_pm (eval cos (Theta) ["W+"]) elsif (any Hel == +1 ["W+"] and any Hel == 0 ["W-"] ) then record cta_p0 (eval cos (Theta) ["W+"]) elsif (any Hel == +1 ["W+"] and any Hel == +1 ["W-"] ) then record cta_pp (eval cos (Theta) ["W+"]) endif # Generate events (keep the helicity information). As this takes # some time, we request status information. The event sample has to # be rebuilt as it is different for different initial state polarization. $sample = sprintf "eeww%+d%+d" (hel_ep, hel_em) # Generate a new event sample and fill histograms on the fly simulate (eeww) { ?rebuild_events = true ?polarized_events = true checkpoint = 10000 } # Generate a PDF document with all histograms for this e+/e- helicity compile_analysis { $out_file = $sample & ".dat" } # Reset histograms clear (analysis) } } Index: trunk/share/examples/W-endpoint.sin =================================================================== --- trunk/share/examples/W-endpoint.sin (revision 8466) +++ trunk/share/examples/W-endpoint.sin (revision 8467) @@ -1,85 +1,85 @@ # W-endpoint.sin # Simple complete physics example: W endpoint in the Standard Model ######################################################################## # # Copyright (C) 1999-2020 by # Wolfgang Kilian # Thorsten Ohl # Juergen Reuter # with contributions from # cf. main AUTHORS file # # WHIZARD is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # WHIZARD is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ######################################################################## model = SM # Set up the process alias parton = u:U:d:D:g alias jet = parton ### We could have added strange and charm jets: # alias jet = parton:s:S:c:C alias lepton = e1:e2 alias neutrino = n1:N1:n2:N2 process enj = parton, parton => lepton, neutrino, jet compile ms = 0 mc = 0 me = 0 mmu = 0 # LHC design energy sqrts = 14 TeV beams = p, p => pdf_builtin $pdf_builtin_set = "cteq6l" # Define reasonable cuts and integrate the cross section(s) # in order to initialize the phase space grids for similation cuts = all Pt >= 10 GeV [jet:lepton] integrate (enj) { iterations = 5:20000:"gw", 3:10000 } # Define title etc. as global variables, that will be used by PLOT $description = - "A WHIZARD 2.2 Example. Cuts $p_T($visible$)\ge10 \textrm{ GeV}$." + "A WHIZARD 3.0 Example. Cuts $p_T($visible$)\ge10 \textrm{ GeV}$." $y_label = "$N_{\textrm{events}}$" # Allocate plots $title = "$W$ Endpoint (``Jacobian Peak'') in $pp\to \ell\bar\nu j$" $x_label = "$p_T^\ell$/GeV" histogram pt_lepton (0 GeV, 80 GeV, 2 GeV) $title = "Jet-$p_T$ in $pp\to \ell\bar\nu j$" $x_label = "$p_T^j$/GeV" histogram pt_jet (0 GeV, 80 GeV, 2 GeV) $title = "Lepton Energy in $pp\to \ell\bar\nu j$" $x_label = "$E^\ell$/GeV" histogram e_lepton (0 GeV, 160 GeV, 4 GeV) $title = "Jet Energy in $pp\to \ell\bar\nu j$" $x_label = "$E^j$/GeV" histogram e_jet (0 GeV, 80 GeV, 2 GeV) analysis = record pt_lepton (eval Pt [extract index 1 [sort by Pt [lepton]]]); record pt_jet (eval Pt [extract index 1 [sort by Pt [jet]]]); record e_lepton (eval E [extract index 1 [sort by Pt [lepton]]]); record e_jet (eval E [extract index 1 [sort by Pt [jet]]]) simulate (enj) { n_events = 2000 } compile_analysis { $out_file = "W-endpoint.dat" }