WHIZARD is hosted by Hepforge, IPPP Durham
Previous Up Next

Chapter 6  Examples

In the following sections five realistic applications of WHIZARD are presented: first, three LEP examples, namely, Higgs production in the four-fermion channels, W production (four fermions), and strong WW scattering (six fermions). With certain refinements and modifications, they could be used for actual physical applications. However, here they are intended as a form of tutorial, showing typical setups and common problems. We then switch to two LHC examples, the Jacobian peak or endpoint in W production and Drell-Yan production of a heavy Z′ vector boson. Note that WHIZARD 1 was intended for lepton collider simulations basically, a lot of hadron collider physics does work perfectly with this version, but WHIZARD 2 has been specifically designed for hadron collider physics. So we strongly recommend using WHIZARD 2 in such cases. We nevertheless present the two LHC examples here.

6.1  Higgs production at LEP

Let us simulate the production of a 115 GeV Standard Model Higgs in e+e collisions at 209 GeV. With this mass, the Higgs boson decays mainly into b b with a small fraction of τ+τ decays. Here, we only consider the signal together with its irreducible background, contributing to the processes

  e e+ννbb 
 qq bb 
 bb bb 
 µ µ+  bb 
 e e+  bb 
 qqττ+

where q=u,d,s,c and ν=νeµτ. This list of processes directly translates into the configuration file whizard.prc:

# WHIZARD configuration file

# The selected model
model SM

alias q u:d:s:c
alias Q U:D:S:C
alias n n1:n2:n3
alias N N1:N2:N3

# Processes
#  Methods: omega=O'Mega)

# Tag     In      Out      Method Option
#=====================================================
# On-shell process:
zh              e1,E1   Z,H             omega
# Full four-fermion matrix elements:
nnbb            e1,E1   n,N,b,B         omega 
qqbb            e1,E1   q,Q,b,B         omega   c
bbbb            e1,E1   b,B,b,B         omega   c
eebb            e1,E1   e1,E1,b,B       omega 
mmbb            e1,E1   e2,E2,b,B       omega 
qqtt            e1,E1   q,Q,e3,E3       omega 
bbtt            e1,E1   b,B,e3,E3       omega

Here, we use flavor summation for the quark and missing-energy channels. After this file has been saved in the conf subdirectory, we should run configure in the directory where we had unpacked the distribution, if not already done,

> ./configure

and make and install the executable

> make install

After this step is completed, we are ready for running the program.

6.1.1  The on-shell process

All necessary files have now been installed in the results subdirectory:

> cd results
> ls
Makefile      whizard       whizard.cut5  whizard.mdl
Makefile.in   whizard.cut1  whizard.in    whizard.prc

The file whizard.prc is a copy of the one we prepared above. whizard.mdl contains all SM-specific definitions. Here, only the vertex list contained within is used for phase space generation; usually we don’t need to modify it. The two cut configuration files are empty. The file which is of interest for us now is whizard.in which we have to edit:

 &process_input
 process_id = "zh"
 sqrts = 209
 /

 &integration_input
 stratified = F
 /

 &simulation_input /

 &diagnostics_input /

 &parameter_input
 MH = 115
 wH = 0.3228E-02
 Mb = 2.9
 Me = 0
 Ms = 0
 Mc = 0
 /

 &beam_input /

 &beam_input /

As a warm-up, we examine the on-shell process ee+ZH, labeled zh. We insert the c.m. energy 209 GeV and the Higgs mass 115 GeV. The next two parameters are not relevant here, but will be needed for the other processes: The Higgs width value wH is the one returned by HDECAY [8]. The b mass Mb is the running mass evaluated at a scale around mH. This is important since the Hbb coupling is proportional to mb.1 The setting stratified=F calls for importance sampling instead of stratified sampling (see below). All other fields are left empty.

Having saved whizard.in, the program can be started:

> ./whizard

(if you like, you can also type make run). Since this process is trivial, the results are there immediately:

 ! WHIZARD 1.97 (May 31 2011)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Reading phase space configurations from file whizard.phx
 !
 ! Process nnbb:
 !    e a-e -> nu_e a-nu_e   b a-b
 !    e a-e -> nu_mu a-nu_mu   b a-b
 !    e a-e -> nu_tau a-nu_tau   b a-b
 !   32  16 ->      1        2   4   8
 ! Process energy set to     209.00     GeV
 !    12 phase space channels found for process nnbb
 ! Scanning phase space channels for equivalences ...
 ! Phase space:      12 equivalence relations found.
 !
 ! Created grids:     12 channels,  8 dimensions with 20 bins
 !
 ! WHIZARD run for process nnbb:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! No cut data found for process nnbb
 ! Preparing (fixed weights):   1 sample of      20000 calls ...
    1      20000  1.0948826E+02  1.94E+00    1.77    2.51*  3.93    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  1.0834009E+02  1.92E+00    1.77    2.50*  3.88
    3      20000  1.0638224E+02  7.58E-01    0.71    1.01* 14.69
    4      20000  1.0667771E+02  6.08E-01    0.57    0.81* 19.32
    5      20000  1.0672584E+02  5.62E-01    0.53    0.75* 19.40
    6      20000  1.0562583E+02  5.39E-01    0.51    0.72* 19.10
    7      20000  1.0656915E+02  5.45E-01    0.51    0.72  15.70
    8      20000  1.0690159E+02  5.39E-01    0.50    0.71* 18.15
    9      20000  1.0706322E+02  5.39E-01    0.50    0.71* 18.44
   10      20000  1.0656723E+02  5.29E-01    0.50    0.70* 18.90
   11      20000  1.0630854E+02  5.23E-01    0.49    0.70* 20.26
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   12      60000  1.0655809E+02  3.04E-01    0.28    0.70  15.36    1.57   3
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 00m 12s
 !=============================================================================
 ! Summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID     Integral[fb]  Error[fb]   Err[%]        Frac[%]
 !-----------------------------------------------------------------------------
   nnbb           1.0655809E+02  3.04E-01    0.28         100.00
 !-----------------------------------------------------------------------------
   sum            1.0655809E+02  3.04E-01    0.28         100.00
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 ! No event generation requested

The cross section is2

  σ =  106.56 ± 0.30 fb

This calculation takes roughly a minute on a PC (Intel Core2 2.5 GHz, gfortran compiler). Of course, if we invest more CPU time, we can improve the accuracy, as explained in the previous subsection.

In inspecting the output, the column tagged Err/Exp is of main interest (read: relative error over expected relative error). This is the estimated relative error multiplied by the square root of the number of calls, a number which should be of the order one. Each time this error improves, the entry is marked with a star. The best grid so far (the last one with a star) will be used for integration, and later for event generation. As evident from the column Eff[%], the estimated reweighting efficiency improves as well. In the last column the χ2 value divided by the number of iterations is shown. This value is meaningful only if there is more than one iteration in the integration step. This is not the case here, so it is zero in our example.

Let us now generate events. We define a nonzero luminosity (100 fb−1, which was more than 100 times the LEP integrated luminosity per year):

 &process_input
 process_id = "nnbb"
 sqrts = 209
 luminosity = 100
 /

We do not want to repeat the adaptation and integration steps, therefore we read in the previously adapted grids

 &integration_input
 read_grids = T
 /

Now running WHIZARD will result in a repetition of the previous result, before event generation is started:

 ! Reading analysis configuration data from file whizard.cut5
 ! No analysis data found for process nnbb
 ! Event sample corresponds to luminosity [fb-1] =   100.0
 ! Event sample corresponds to       69367  weighted events
 ! Generating      10656 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process nnbb:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10656  1.0655809E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    7.9       (    0.07% )  | Maximal weight:  1.25

The generation of 10,656 events takes one more minute in this case. No further analysis has been requested, so we just get the total cross section again. By definition, this is equal to the previously calculated cross section, but the error now corresponds to the actual event sample.

There are some excess events (weight greater than one), but the effect of this excess being dropped is considerably less than the statistical error of the event sample. If necessary, the excess could be removed by setting safety_factor to a value greater than one (e.g., 1.1), at the expense of extra CPU time since the reweighting efficiency is reduced by this factor.

The event sample can be further analyzed: Let us plot the missing invariant mass distribution and the dijet invariant mass distribution, which should exhibit peaks at the Z and Higgs mass. To this end, we tell WHIZARD to reread the generated event sample

&simulation_input
read_events = T
/

and make up an analysis configuration file whizard.cut5:

# cut/histogram configuration file
# e- e+ -> nu nubar b bbar
# 32 16    1    2   4  8
process nnbb, qqbb, bbbb, eebb, mmbb, qqtt, bbtt
  histogram M of 3 within 0 209 nbin 40
and
  histogram M of 12 within 0 209 nbin 40
and
  cut M of 12 within 114 116
  histogram M of 3 within 0 209 nbin 40

This type of analysis can serve for all processes, therefore we have added the other tags. The last histogram counts only those events which have a bb invariant mass close to the Higgs mass. The numbers result from adding up the binary codes of the external particles, which are shown as a the comment in the file header.

Running WHIZARD this time takes almost no time since only the previously generated files have to be read:

 ! Reading analysis configuration data from file whizard.cut5
 ! Found   3 analysis configuration datasets.
 ! Looking for raw event file whizard.evx ...
 ! Event sample corresponds to luminosity [fb-1] =   100.0
 ! Event sample corresponds to       69367  weighted events
 ! Reading      10656 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process nnbb:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10656  1.0655809E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    7.9       (    0.07% )  | Maximal weight:  1.25
 !=============================================================================
 ! Analysis results for process nnbb:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10656  1.0655809E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    7.9       (    0.07% )  | Maximal weight:  1.25
 !=============================================================================
 ! Analysis results for process nnbb:
 !
 ! Additional cuts:
 ! integration pass 5
 cut M of   12      within  1.14000E+02  1.16000E+02
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13       2166  2.1659612E+01  4.65E-01    2.15    1.00  20.33
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    1.5       (    0.07% )  | Maximal weight:  1.05

From the last line we read off that the actual contribution of Higgs production in this channel is 2166 events (or 20.33 %). Here the efficiency is not the reweighting efficiency as before, but the fraction of events remaining after cuts. The histograms can now be found in the output file whizard.nnbb.dat:

 !=============================================================================
 ! WHIZARD 1.97 (May 31 2011)
 ! Process nnbb:
 !    e a-e -> nu_e a-nu_e   b a-b
 !    e a-e -> nu_mu a-nu_mu   b a-b
 !    e a-e -> nu_tau a-nu_tau   b a-b
 !   32  16 ->      1        2   4   8
 ! Analysis results for process nnbb:
 !
 ! Histograms:
 !
 histogram M of   3     within  0.00000E+00  2.09000E+02  nbin   40
   2.61250000        0.00000000        0.00000000        0.00000000
   7.83750000        1.00000000        1.00000000        0.00000000
   13.0625000        2.00000000        1.41421356        0.00000000
   18.2875000        3.00000000        1.73205081       0.220852468
   23.5125000        4.00000000        2.00000000        0.00000000
   28.7375000        7.00000000        2.64575131        0.00000000
   33.9625000        10.0000000        3.16227766       0.379512096E-01
   39.1875000        13.0000000        3.60555128        0.00000000
   44.4125000        20.0000000        4.47213595       0.455956036E-02
   49.6375000        28.0000000        5.29150262       0.180557973
   54.8625000        36.0000000        6.00000000       0.452075346E-03
   60.0875000        49.0000000        7.00000000        0.00000000
   65.3125000        63.0000000        7.93725393       0.131335186
   70.5375000        72.0000000        8.48528137       0.922046560
   75.7625000        154.000000        12.4096736        0.00000000
   80.9875000        274.000000        16.5529454        0.00000000
   86.2125000        1071.00000        32.7261363        1.47417846
 .....

In these histograms, the first column is the bin midpoint. The second column is the number of entries, the third column the statistical error on this number (√N). The fourth column shows the excess events, which introduce an additional error. However, for each bin this contribution is negligible compared to the statistical error which is present anyway.

The actual histograms are shown in Fig. 6.1. (For better illustration, we have changed the linear scale to a logarithmic one; this is done in the file whizard-plots.tex by the manual replacement of the lines 3

  setup(linear,linear); graphrange (#0.00,#0), (#209.,??);

by

  setup(linear,log); graphrange (#0.00,#.5), (#209.,#1e4);

and a subsequent rerun)

> make plots

Figure 6.1: Histograms for the process ee+→ννbb at √s=209 GeV with mH=115 GeV. Top: Dijet invariant mass distribution. Bottom: Missing invariant mass distribution.

In the dijet invariant mass distribution the Z and Higgs peaks are clearly visible. At low dijet invariant mass there is a tail of continuum bb production. In the missing mass distribution the peak is at the Z mass.

6.1.2  The four-jet channel

There are two four-jet channels

  ee+ → qq bb,    bb bb.

If the light quark masses are set to zero (see the input file above), all light quark channels can be treated in a single run. For unequal masses, flavor summation is not possible, therefore the b channel has to be treated separately. (We can’t set the b mass to zero since this would remove the b Yukawa coupling.)

Running the program as before for the process qqbb with the given input and analysis configuration files takes about a few minutes in total. The cross section result is

  σ =  284.05 ± 0.71 fb

and 28406 events are generated in this run, 4637 of them within the Higgs mass window.

To obtain a finite result, WHIZARD had to insert a cut of 10 GeV on the dijet invariant mass of the light quarks. This cut is written into the file whizard.qqbb.cut0:

 ! Automatically generated set of cuts
 ! Process qqbb:
 !    e a-e ->   u a-u   b a-b
 !    e a-e ->   d a-d   b a-b
 !    e a-e ->   s a-s   b a-b
 !    e a-e ->   c a-c   b a-b
 !   32  16 ->   1   2   4   8
 process qqbb
 cut M of    3      within  1.00000E+01  1.00000E+99

The cut could be modified either by changing the default value in whizard.in, e.g.

&integration_input
...
default_jet_cut = 5  
/

or by providing a non-empty file whizard.cut1 of the same format, with a different set of cuts. If an appropriate process entry is found in this file, any default cuts are ignored.

The bbbb channel is similar, although the presence of identical particles in the final state makes phase space more complicated. The adaptation again works well and we get

σ =  44.71 ± 0.12 fb      (1)

6.1.3  The lepton channels

In the µ+µ channel adaptation takes somewhat longer due to the small muon mass, if no cuts are provided. However, the 10 iterations of the adaptation step are sufficient, and in the final integration step, the result

  σ =  52.83 ±  0.16 fb

is perfectly stable. With suitable cuts, we can set the muon mass to zero, which as a side effect speeds up the calculation by a factor of two.

A more difficult task is to get to a stable result for the cross section of the process

  ee+ → ee+b b

without cuts, but with nonzero electron mass. The default choice for the number of calls and iterations does not suffice here:

 ! WHIZARD run for process eebb:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! Replacing default cuts by user-defined cuts.
 ! Preparing (fixed weights):   1 sample of      20000 calls ...
    1      20000  1.0106043E+03  3.58E+02   35.42   50.10*  0.22    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  30 samples of      20000 calls ...
    2      20000  1.1608216E+03  5.28E+02   45.46   64.29   0.14
    3      20000  9.4934352E+02  2.17E+02   22.83   32.28*  0.09
    4      20000  1.6287972E+03  2.77E+02   17.00   24.04*  0.12
    5      20000  2.3970665E+03  6.33E+02   26.41   37.35   0.07
    6      20000  3.8934769E+03  1.27E+03   32.57   46.06   0.03
    7      20000  1.2274732E+04  9.29E+03   75.71  107.07   0.05
    8      20000  5.5859667E+03  2.25E+03   40.21   56.87   0.06
    9      20000  3.8208742E+03  5.29E+02   13.84   19.57*  0.13
   10      20000  4.5776710E+03  6.04E+02   13.20   18.67*  0.27
   11      20000  1.2110487E+04  5.47E+03   45.16   63.86   0.04
 .....

Apparently, convergence is not reached. One possibility to proceed is to reuse these grids, but do further iterations:

&integration_input
calls = 1 20000 30 20000 3 20000
read_grids = T
/

For the first iterations the old results are copied. The additional iterations now find convergence, although the final accuracy and efficiency are not really satisfactory:

 .....
   28      20000  7.5246100E+03  1.72E+02    2.29    3.24   1.17
   29      20000  7.7685827E+03  2.05E+02    2.64    3.73   0.93
   30      20000  8.0304810E+03  3.52E+02    4.38    6.19   0.60
   31      20000  7.7031026E+03  2.21E+02    2.87    4.06   0.81
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   32      60000  7.2436310E+03  1.39E+02    1.91    4.69   0.31    2.37   3
 !-----------------------------------------------------------------------------

To get a more precise result, we should also increase the number of calls per iteration. This costs additional CPU time.

Fortunately, there is a shortcut. The problem of this calculation is the fact that a large part of the cross section comes from the region of very forward electrons. Furthermore, there is a piece which corresponds to bbγ* production where the virtual photon splits into the electron-positron pair. These small regions are sampled only after several iterations and only then have sufficiently adapted grids. The mappings built into WHIZARD assume the parameters default_Q_cut and default_mass_cut as typical scales for these subprocesses. The implicit assumption, which works in many cases, is that this is not too far from the actual cuts. However, if there are no cuts, the assumption is inadequate. We rather should set those parameters to zero

&integration_input
  default_Q_cut = 0
  default_mass_cut = 0
/

(which actually replaces them by some finite small value), and start again:

 ! WHIZARD run for process eebb:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! Replacing default cuts by user-defined cuts.
 ! Preparing (fixed weights):   1 sample of      20000 calls ...
    1      20000  8.6041111E+03  4.17E+03   48.43   68.48*  0.16    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  1.0198520E+04  3.59E+03   35.25   49.84*  0.19
    3      20000  7.1720651E+03  4.57E+02    6.37    9.00*  0.44
    4      20000  8.0690070E+03  3.42E+02    4.24    6.00*  0.39
    5      20000  7.5135901E+03  3.94E+02    5.24    7.41   0.40
    6      20000  8.0065259E+03  4.47E+02    5.58    7.89   0.31
    7      20000  7.4418114E+03  2.71E+02    3.65    5.16*  0.88
    8      20000  7.8493882E+03  1.78E+02    2.27    3.20*  1.26
    9      20000  7.3683498E+03  1.27E+02    1.72    2.43*  2.27
   10      20000  7.4932575E+03  1.13E+02    1.51    2.14*  2.55
   11      20000  7.7184631E+03  1.45E+02    1.88    2.66   2.26
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   12      60000  7.5716096E+03  1.13E+02    1.49    3.66   0.09    1.59   3
 !-----------------------------------------------------------------------------

This time, the difficult regions are sampled from the beginning.

With standard cuts on the electron energies and angles, this process is well-behaved. The extra effort is needed only if we are particularly interested in the events with electron and positron going in the very forward and backward regions, respectively.

6.2  6-fermion production: Higgs pairs

A process which is of interest at a future Linear Collider is Higgs pair production, which is sensitive to the Higgs trilinear coupling. A process definition file whizard.prc for this process could look like

# WHIZARD configuration file

alias q u:d:s:c
alias Q U:D:S:C

model   SM
#=============================================================
# On-shell process:
zhh             e1,E1   Z,H,H         omega

# Full six-fermion matrix elements:
qqbbbb          e1,E1   q,Q,b,B,b,B   omega       c

For simplicity, we consider only six-quark production where four quarks are b quarks (the main decay channel of the Higgs pair), and the remaining quark pair is light.

The input file whizard.in is prepared for the six-fermion process at √s=500 GeV with default settings. We would like to generate an event sample corresponding to 10 ab−1.

 &process_input
 process_id = "qqbbbb"
 sqrts = 500
 luminosity = 10000
 /

 &integration_input /

 &simulation_input /

 &diagnostics_input /

 &parameter_input
 mH = 115
 wH = 0.3228E-02
 mb = 2.9
 me = 0
 ms = 0
 mc = 0
 /

 &beam_input /

 &beam_input /

Without further considerations, we switch into the results subdirectory and start integration and event generation

> ./whizard

After the initial message

 ! WHIZARD 1.97 (May 31 2011)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 !
 ! Process qqbbbb:
 !    e a-e ->   u a-u   b a-b   b a-b
 !    e a-e ->   d a-d   b a-b   b a-b
 !    e a-e ->   s a-s   b a-b   b a-b
 !    e a-e ->   c a-c   b a-b   b a-b
 !  128  64 ->   1   2   4   8  16  32
 ! Process energy set to     500.00     GeV
 ! Reading vertices from file whizard.mdl ...
 ! Model file:       54 trilinear vertices found.
 ! Model file:       54 vertices usable for phase space setup.
 ! Generating phase space channels for process qqbbbb...

the program needs quite some time for generating the phase space configuration (this would be faster without flavor summation). Fortunately, the configuration is written to the file whizard.phx and WHIZARD will reuse it when possible.

After this step is finished, a default cut for the light quark pair is inserted and integration is started.

 ! Phase space:     342 phase space channels generated.
 ! Scanning phase space channels for equivalences ...
 ! Phase space:    1368 equivalence relations found.
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.qqbbbb.cut0
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.qqbbbb.cut0
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.qqbbbb.cut0
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.qqbbbb.cut0
 ! Wrote phase space configurations to file whizard.phx
 !
 ! Created grids:    342 channels, 14 dimensions with 20 bins
 !
 ! WHIZARD run for process qqbbbb:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! No cut data found for process qqbbbb
 ! Using default cuts.
 cut M of    3      within  1.00000E+01  1.00000E+99
 ! Preparing (fixed weights):   1 sample of     100000 calls ...

The whole adaptation and integration run takes a considerable amount of CPU time (about one day on an Xeon or Alpha processor). If only one quark flavor were considered, this could be reduced by a factor of four (currently, WHIZARD/O’Mega does not take advantage of the fact that some matrix elements with different flavor content are in fact identical. Such a mechanism, known as cross-flavor common subexpression elimination has been incorporated into WHIZARD 2.).

A usable result is already reached after about 10 iterations, with considerable fluctuation around the optimal grid4:

    1     100000  1.4904184E+00  1.97E-01   13.21   41.77*  0.54    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  20 samples of     100000 calls ...
    2     100000  1.5389248E+00  3.52E-01   22.86   72.29   0.52
    3     100000  1.5009010E+00  7.44E-02    4.96   15.67*  0.60
    4     100000  1.6253297E+00  7.43E-02    4.57   14.45*  0.68
    5     100000  1.6136791E+00  4.64E-02    2.87    9.08*  0.70
    6     100000  2.2312050E+00  6.57E-01   29.46   93.15   0.51
    7     100000  1.5917687E+00  3.05E-02    1.92    6.07*  1.09
    8     100000  1.6079748E+00  4.15E-02    2.58    8.16   0.91
    9     100000  1.5235805E+00  3.38E-02    2.22    7.03   1.21
   10     100000  1.6966923E+00  7.18E-02    4.23   13.38   1.16
   11     100000  1.5519629E+00  2.22E-02    1.43    4.52*  1.68
   12     100000  1.5970681E+00  2.47E-02    1.55    4.90   1.74
   13     100000  1.6847993E+00  5.81E-02    3.45   10.90   1.67
   14     100000  1.5552737E+00  1.64E-02    1.05    3.33*  2.55
   15     100000  1.6117607E+00  1.84E-02    1.14    3.61   2.67
   16     100000  1.6167684E+00  2.17E-02    1.34    4.24   2.63
   17     100000  1.6052581E+00  1.94E-02    1.21    3.83   2.82
   18     100000  1.6101957E+00  1.95E-02    1.21    3.84   3.10
   19     100000  1.6045048E+00  1.54E-02    0.96    3.03*  3.20
   20     100000  1.5782323E+00  1.44E-02    0.91    2.88*  3.78
   21     100000  1.5855381E+00  1.33E-02    0.84    2.65*  3.76
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of     100000 calls ...

Nevertheless, the best grid obtained so far can safely be used for event generation. The final estimate for the integral is

   22     300000  1.5716132E+00  6.93E-03    0.44    2.41*  2.80    0.46   3
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    1h 19m 27s

However, we don’t need that many events: simulating 10 ab−1 now takes only half an hour:

 ! Event sample corresponds to luminosity [fb-1] =  0.1000E+05
 ! Event sample corresponds to      561275  weighted events
 ! Generating      15716 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process qqbbbb_full:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   23      15716  1.5716132E+00  1.25E-02    0.80    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:  273.0       (    1.74% )  | Maximal weight: 45.62

If we wish to know how many of those events are originating from HH pairs, we should set up an analysis configuration file whizard.cut5 like this

! e- e+ -> q qbar b bbar b bbar
!128 64    1  2   4  8  16  32
process qqbbbb
  cut M of 12 within 114 116
  cut M of 48 within 114 116
and
  cut M of 36 within 114 116
  cut M of 24 within 114 116

and rerun the program, setting read_grids=T and read_events=T. The result is

 ! Analysis results for process qqbbbb_full:
 !
 ! Additional cuts:
 ! integration pass 5
 cut M of   12      within  1.14000E+02  1.16000E+02
 cut M of   48      within  1.14000E+02  1.16000E+02
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   23        195  1.9500164E-02  1.40E-03    7.16    1.00   1.24
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    1.4       (    0.70% )  | Maximal weight:  1.27
 !=============================================================================
 ! Analysis results for process qqbbbb_full:
 !
 ! Additional cuts:
 ! integration pass 5
 cut M of   36      within  1.14000E+02  1.16000E+02
 cut M of   24      within  1.14000E+02  1.16000E+02
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   23        167  1.6700140E-02  1.29E-03    7.74    1.00   1.06
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    0.0       (    0.00% )  | Maximal weight:  1.00

The two event samples may be added (assuming that no events pass both cuts simultaneously), to yield 362 “signal” events.

The stability of the result and the computing time can be improved by reducing the number of phase space channels (see Sec. 4.6.2).

6.3  Vector boson scattering: polarization and beamstrahlung

In case no light Higgs boson exists, one will try to measure vector boson scattering at high-energy colliders, e.g.

  W+W → W+WZZ

Such processes can be described in an effective-Lagrangian approach, where higher-order corrections to the scattering amplitude are described by new parameters α45,…. WHIZARD defines these anomalous couplings in the model SM_ac.mdl.

At an e+e collider, WW scattering processes occur as a subprocess of

  ee+ → νeνe qq qq.

This can be simulated in a single run, if we set up the process configuration file whizard.prc as follows:

# WHIZARD configuration file

model   SM_ac

alias q u:d
alias Q U:D
alias n n1:n2:n3
alias N N1:N2:N3

# Tag    In      Out                       Method Option
#=======================================================
# On-shell process:
ww       W+,W-   W+,W-                     omega
zz       W+,W-   Z,Z                       omega

# Full six-fermion matrix elements:
nnqqqq   e1,E1   n,N,q,Q,q,Q               omega   c
enqqqq   e1,E1   e1,N1,q,Q,q,Q             omega   c,w:c
neqqqq   e1,E1   n1,E1,q,Q,q,Q             omega   c,w:c
eeqqqq   e1,E1   e1,E1,q,Q,q,Q             omega   c,w:c

# First neutrino generation only:
# WW and ZZ
nnuudd   e1,E1   n1,N1,u,U,d,D             omega   c
# WW only
nnucsd   e1,E1   n1,N1,u,C,s,D             omega   c
eeucsd   e1,E1   e1,E1,u,C,s,D             omega   c,w:c
# ZZ only
nnuuss   e1,E1   n1,N1,u,U,s,S             omega   c
# WZ
enudss   e1,E1   e1,N1,u,D,s,S             omega   c,w:c

# Second neutrino generation only:
# WW and ZZ
nnuudd2  e1,E1   n2,N2,u,U,d,D             omega   c
# WW only
nnucsd2  e1,E1   n2,N2,u,C,s,D             omega   c
# ZZ only
nnuuss2  e1,E1   n2,N2,u,U,s,S             omega   c

This is actually an abridged version of the process file whizard.prc.ww-strong that comes with the standard distribution.

In the chosen model, the Higgs boson is actually not absent, but its mass is set to a very large value (resp. infinity) by default. Apart from the signal process nnqqqq we have included some important background processes, which must be considered if the final-state electron is not observed. For these processes, gauge invariance is an issue, and we must set the w:f (fudged-width) or w:c (constant-width) option to obtain a consistent result. Note, however, that the fudged-width option does not work with the ’c’ flag for colored amplitudes, but the constant-width option works perfectly fine.

The setup below is (for historical reasons) for the original TESLA collider design. We may have polarization and have to account for ISR and beamstrahlung. The input file whizard.in specifies 80 % left-handed electron polarization and 40 % right-handed positron polarization:

 &process_input
 process_id = "nnqqqq"
 sqrts = 800
 luminosity = 0
 polarized_beams = T
 structured_beams = T
 /

 &integration_input
 calls = 1 100000 15 100000 5
 default_Q_cut = 0
 /

 &simulation_input
 /

 &diagnostics_input 
 /

 &parameter_input
 ms = 0
 mc = 0
 a4 = 0
 a5 = 0
 /

 &beam_input 
 particle_name = "e-"
 polarization = 0.80 0
 CIRCE_on = T
 CIRCE_acc = 2
 ISR_on = T
 ISR_alpha = 0.0072993
 ISR_m_in = 0.000511
 /

 &beam_input 
 particle_name = "e+"
 polarization = 0 0.40
 CIRCE_on = T
 CIRCE_acc = 2
 ISR_on = T
 ISR_alpha = 0.0072993
 ISR_m_in = 0.000511
 /

Polarization is switched on by the entry polarized_beams in the first block. Then, the polarization settings in the beam_input blocks are respected. Similarly, structured_beams switches on possible spectra and/or structure function settings. Now, the beam particles are no longer automatically defined by the process, but have to be explicitly defined for each beam.

The beamstrahlung settings (CIRCE) are for the accelerator type 2 (TESLA), default parameterization version and revision numbers. Concerning initial-state radiation (ISR), we should set the electromagnetic coupling constant equal to the low-energy value of 1/137 since on-shell photons are radiated. The incoming mass must be reset equal to 511 keV, since the physical electron mass me has been set to zero.

In the parameter section, the two anomalous couplings α4 and α5 are included. Here, we set them to zero which is also the default value.

The signal process considered here is quite well-behaved, so, in the integration section, we choose a number of iterations that is smaller than the default for this class of processes, to limit execution time. (The zero value set for the Q cut is unnecessary for the signal process considered here and could be left out. It is useful for integrating the background process e+ee+e qq qq. With no Q cut on the final-state electron, we get the total cross section. The parameter default_Q_cut has the side effect of setting the scale for the integration over the transverse momentum. If the parameter is zero, the electron mass is taken as setting the scale, which is appropriate for the total cross section.) The actual cuts for the signal and background processes may be taken as the default ones, or we could write them explicitly in a file. The default cuts require a minimum invariant mass of 10 GeV for each quark pair.

The output shown below is for the complete process, including all possible flavor combinations in the process labeled nnqqqq

  ee+ → νeνe qq qq;      ν = νe, νµ, ντ;      q = ud
 ! WHIZARD 1.97 (May 31 2011)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Reading phase space configurations from file whizard.phx
 !
 ! Process nnqqqq:
 !    e a-e -> nu_e a-nu_e   u a-u   u a-u
.....
 !    e a-e -> nu_tau a-nu_tau   d a-d   d a-d
 !  128  64 ->      1        2   4   8  16  32
 ! Process energy set to     800.00     GeV
 ! Active structure functions for beam 1:
 !   CIRCE:          e -> e                (generator)
 !   ISR:            e -> e
 ! Active structure functions for beam 2:
 !   CIRCE:          a-e -> a-e              (generator)
 !   ISR:            a-e -> a-e
 ! Warning: CIRCE: Beamstrahlung effect on polarization will be ignored.
 ! Warning: CIRCE: Beamstrahlung effect on polarization will be ignored.
 ! Warning: ISR: Effect on beam polarization will be ignored.
 ! Warning: ISR: Effect on beam polarization will be ignored.
 !   416 phase space channels found for process nnqqqq
 ! Scanning phase space channels for equivalences ...
 ! Phase space:    2160 equivalence relations found.
 ! Note: This cross section may be infinite without cuts.
.....
 ! Wrote default cut configuration file whizard.nnqqqq.cut0
 !
 ! Created grids:    416 channels, 18 dimensions with 20 bins
 ! Reading grid data from file whizard.nnqqqq.grb
 ! Reading grid data from file whizard.nnqqqq.grc
 !
 ! WHIZARD run for process nnqqqq:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! No cut data found for process nnqqqq
 ! Using default cuts.
 cut M of   12      within  1.00000E+01  1.00000E+99
 cut M of   20      within  1.00000E+01  1.00000E+99
 cut M of   36      within  1.00000E+01  1.00000E+99
 cut M of   24      within  1.00000E+01  1.00000E+99
 cut M of   40      within  1.00000E+01  1.00000E+99
 cut M of   48      within  1.00000E+01  1.00000E+99
 ! Using grids and results from file:
    1     100000  6.8946962E+00  1.25E+00   18.14   57.37*  0.75    0.00   1
 !-----------------------------------------------------------------------------
 ! Using grids and results from file:
    2     100000  6.8564783E+00  1.19E+00   17.42   55.09*  0.85
    3     100000  1.2555981E+01  5.38E+00   42.87  135.55   0.45
    4     100000  6.0430895E+00  3.31E-01    5.48   17.34*  0.86
    5     100000  6.8791354E+00  5.83E-01    8.48   26.82   1.02
    6     100000  6.2190338E+00  1.86E-01    2.99    9.46*  1.16
    7     100000  6.0883991E+00  1.37E-01    2.24    7.10*  1.66
    8     100000  6.1381611E+00  1.15E-01    1.88    5.94*  1.66
    9     100000  6.1823849E+00  1.09E-01    1.77    5.59*  1.70
   10     100000  6.2165210E+00  2.23E-01    3.59   11.34   1.49
   11     100000  6.0081519E+00  8.52E-02    1.42    4.48*  2.23
   12     500000  6.0368363E+00  4.79E-02    0.79    5.62   0.73    
   13     100000  5.7156812E+00  1.38E-01    2.41    7.61   3.19
   14     100000  6.0900287E+00  1.15E-01    1.88    5.95   1.75
   15     100000  6.2165952E+00  1.25E-01    2.01    6.37   1.56
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   5 samples of     100000 calls ...
   16     500000  6.1040057E+00  5.19E-02    0.85    6.01   0.68    1.19   5
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 26m 58s
 !=============================================================================
 ! Summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID     Integral[fb]  Error[fb]   Err[%]        Frac[%]
 !-----------------------------------------------------------------------------
   nnqqqq         6.1040057E+00  5.19E-02    0.85         100.00
 !-----------------------------------------------------------------------------
   sum            6.1040057E+00  5.19E-02    0.85         100.00
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 ! No event generation requested

6.4  W endpoint at LHC

We want to study the Jacobian peak of the W boson at the LHC. Therefore, we introduce aliases for leptons and neutrinos as well as for light jets and use the following whizard.prc file:

# WHIZARD configuration file
# The selected model
model   SM

alias j u:U:d:D:g
alias ll e1:e2
alias neutrino n1:n2:N1:N2

# Processes
# Tag           In      Out             Method  Option
#=====================================================
enj             j,j     ll,neutrino,j   omega   c    
  

Note that we sum only over up and down quark (as well as the gluon) for the parton as well as for the final jet. More quarks can easily be added, but do not change the picture. We sum over the first two lepton (and neutrino) generations, but take only production of negatively charged W bosons into account. Many technical details have been discussed above and need not be repeated here.

We use the following input file:

 &process_input
 process_id = "enj"
 sqrts = 14000
 polarized_beams = F
 structured_beams = T
 /

 &integration_input
 calls = 3 10000 10 20000 5 100000
 /

 &simulation_input
 n_events = 1000
 /

 &diagnostics_input /

 &parameter_input /

 &beam_input
  particle_name = "p"
  LHAPDF_on = T
  LHAPDF_file = "cteq6ll.LHpdf"
  PDF_running_scale = T
 /

 &beam_input
  particle_name = "p"
  LHAPDF_on = T
  LHAPDF_file = "cteq6ll.LHpdf"
  PDF_running_scale = T
 /    
  

So the setup is for a 14 TeV LHC (pp) collider, using cteq6ll.LHpdf leading order CTEQ PDFs from LHAPDF. We chose to use a running scale (i.e. √ŝ) rather than the W mass. Instead of choosing a specific luminosity we just generated 1,000 unweighted events. We adopt only very mild cuts, i.e. a 10 GeV pT cut on the charged lepton and the jet in the file whizard.cut1:

 process enj 
 cut PT of 1 within 10 99999
 cut PT of 2 within 10 99999
 cut PT of 4 within 10 99999

Figure 6.2: Histograms for the process pp→ ℓ νj at √s=14 TeV. Top: pT distribution of the lepton, Bottom: pT distribution of the jet.


Figure 6.3: Histograms for the process pp→ ℓ νj at √s=14 TeV. Top: Energy distribution of the lepton, Bottom: Energy distribution of the jet.

Starting WHIZARD gives the following run output:

 ! WHIZARD 1.97 (May 31 2011)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Reading phase space configurations from file whizard.phx
 !
 ! Process enj:
 !  a-u   d ->   e a-nu_e   g
.....
 !    g   d ->  mu a-nu_mu   u
 !   16   8 ->   1       2   4
 ! Process energy set to     14000.     GeV
 *************************************
 *       LHAPDF Version 5.8.4        *
 *   Configured for the following:   *
 *             All PDFs              *
 *         FULL MEMORY option        *
 *    Maximum  3 concurrent set(s)   *
 *************************************

 >>>>>> PDF description: <<<<<<
 CTEQ6L1 - LO with LO alpha_s
.....
 >>>>>>                   <<<<<<
 Parametrization: CTEQ6

 ! Active structure functions for beam 2:
 !   LHAPDF:         p -> a-u
 !     3 phase space channels found for process enj
 ! Scanning phase space channels for equivalences ...
 ! Phase space:       3 equivalence relations found.
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.enj.cut0
.....
 !
 ! Created grids:      3 channels,  7 dimensions with 20 bins
 !
 ! WHIZARD run for process enj:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! Replacing default cuts by user-defined cuts.
 cut pT of    1      within  1.00000E+01  9.99990E+04
 cut pT of    2      within  1.00000E+01  9.99990E+04
 cut pT of    4      within  1.00000E+01  9.99990E+04
 ! Preparing (fixed weights):   3 samples of      10000 calls ...
    1      30000  5.1065657E+06  1.32E+05    2.58    4.47*  0.21    2.66   3
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  5.2468949E+06  1.05E+05    2.01    2.84*  1.65
    3      20000  5.1653531E+06  5.66E+04    1.10    1.55*  3.25
    4      20000  5.2198528E+06  4.94E+04    0.95    1.34*  3.14
    5      20000  5.1720114E+06  5.11E+04    0.99    1.40   2.18
    6      20000  5.1487802E+06  4.58E+04    0.89    1.26*  7.61
    7      20000  5.1670713E+06  4.32E+04    0.84    1.18*  3.95
    8      20000  5.2170596E+06  4.51E+04    0.86    1.22   3.01
    9      20000  5.2760343E+06  4.92E+04    0.93    1.32   2.50
   10      20000  5.2178545E+06  4.38E+04    0.84    1.19   6.15
   11      20000  5.2588972E+06  4.46E+04    0.85    1.20   4.02
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   5 samples of     100000 calls ...
   12     500000  5.2309417E+06  9.60E+03    0.18    1.30   0.66    0.34   5
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 00m 44s
 !=============================================================================
 ! Summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID     Integral[fb]  Error[fb]   Err[%]        Frac[%]
 !-----------------------------------------------------------------------------
   enj            5.2309417E+06  9.60E+03    0.18         100.00
 !-----------------------------------------------------------------------------
   sum            5.2309417E+06  9.60E+03    0.18         100.00
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 !
 ! Reading analysis configuration data from file whizard.cut5
 ! Found   1 analysis configuration dataset.
 ! Event sample corresponds to luminosity [fb-1] =  0.1912E-03
 ! Event sample corresponds to      150712  weighted events
 ! Generating       1000 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process enj:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13       1000  5.2309417E+06  1.65E+05    3.16    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    5.0       (    0.50% )  | Maximal weight:  3.41    
  

For the analysis, we want to histogram the pT distributions for the charged lepton and the jet as well as their corresponding energies. This is achieved with the analysis file whizard.cut5:

 process enj
 histogram PT of 1 within 0 80 nbin 40
 histogram PT of 4 within 0 80 nbin 40
 histogram E of 1 within 0 160 nbin 40
 histogram E of 4 within 0 80 nbin 40    
  

In the following figures we show the pT distribution of the lepton which shows the Jacobian peak from the W decay, while the corresponding histogram of the jet does not show this feature 6.2. Fig. 6.3 shows the energy of the lepton and the jet, respectively. These are more less resembling the behavior of the pT distribution.

6.5  Z′ in Drell-Yan Production at the LHC

As a second example for LHC physics, we consider the simplest beyond the Standard Model (BSM) search, namely that for Z′ bosons in Drell-Yan production with subsequent decay into electrons. After having defined the process in whizard.prc:

# WHIZARD configuration file
# The selected model
model   Zprime
alias p u:d:s:c:U:D:S:C
# Processes
# Tag           In      Out             Method  Option
#=====================================================
drellyan        p,p     e1,E1           omega   c

Note that we have to set the model to Zprime, otherwise for the SM WHIZARD would generate ordinary Drell-Yan production and our search for a high-energetic dilepton resonance would be in vain.

We impose the following cuts on the process: basically experimental trigger cuts, demanding the final state leptons to have a transverse momentum pT > 50 GeV and to stay centrally in the detector, i.e. −2.5 < η < +2.5. Furthermore, we concentrate on the discovery region for a heavy vector resonance in Drell-Yan production, meaning that we look only for dilepton invariant masses larger than 800 GeV (below we will assume that the Z′ boson has a mass of 1.5 TeV). The cuts are set by the following statements in the file whizard.cut1:

process drellyan            
cut PT of 1 within 50 99999
cut PT of 2 within 50 99999
cut Eta of 1 within -2.5 2.5
cut Eta of 2 within -2.5 2.5
cut M of 3 within 800 99999

The input file is only a slight modification of the one whizard.in.Zprime that can be found in the conf subdirectory:

 &process_input
 process_id = "drellyan"
 sqrts = 14000
 luminosity = 0
 polarized_beams = F
 structured_beams = T
 /

 &integration_input
 calls = 1 10000 10 20000 5 100000
 /

 &simulation_input
 n_events = 100000
 /

 &diagnostics_input /

 &parameter_input
 Me = 0
 Ms = 0
 Mc = 0
 MH = 115
 wH = 0.3228E-02
 MZH = 1500
 wZH = 50
!!! Zprime couplings as multiples of Z couplings
 v_lep = 1.0
 v_neu = 1.0
 v_up  = 1.0
 v_dwn = 1.0
 a_lep = 1.0
 a_neu = 1.0
 a_up  = 1.0
 a_dwn = 1.0
!!! Explicit Zprime couplings
 glepv = 0.0
 gneuv = 0.0
 gupv  = 0.0
 gdwnv = 0.0
 glepa = 0.0
 gneua = 0.0
 gupa  = 0.0
 gdwna = 0.0
 /

 &beam_input 
 particle_name = "p" 
 LHAPDF_on = T
 LHAPDF_file = "cteq6ll.LHpdf"
 LHAPDF_set = 0
 !!! Should be chosen equal to MZH
 PDF_scale = 1500
 /

 &beam_input 
 particle_name = "p" 
 LHAPDF_on = T
 LHAPDF_file = "cteq6ll.LHpdf"
 LHAPDF_set = 0
 !!! Should be chosen equal to MZH
 PDF_scale = 1500
 /

Again, cteq6ll.LHpdf sets from LHAPDF are used, this time with a scale equal to the mass of the Z′ boson, namely 1.5 TeV. The width is not calculated, but set explicitly to 50 GeV. For the couplings, there are several parameters which could be set in that particular BSM model. The couplings glepv etc. allow for explicit values for the Z′ couplings to the SM fermions, while v_lep, a_lep etc. are just rescalings of the SM Z boson couplings to the fermions. As these values are set equal to one everywhere, this Z′ is the infamous strawman model of a sequential Z′ which however from a theoretical point of view is useless, because it is a non-renormalizable model.

Starting WHIZARD yields the following output:

 ! WHIZARD 1.97 (May 31 2011)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 !
 ! Process drellyan:
 !    u a-u ->   e a-e
.....
 !    8   4 ->   1   2
 ! Process energy set to     14000.     GeV
 *************************************
 *       LHAPDF Version 5.8.3        *
 *   Configured for the following:   *
 *             All PDFs              *
 *         FULL MEMORY option        *
 *    Maximum  3 concurrent set(s)   *
 *************************************

 >>>>>> PDF description: <<<<<<
.....
 >>>>>>                   <<<<<<

 Parametrization: CTEQ6           

 ! Active structure functions for beam 2:
 !   LHAPDF:         p -> a-u
 ! Reading vertices from file whizard.mdl ...
 ! Model file:       62 trilinear vertices found.
 ! Model file:       62 vertices usable for phase space setup.
 ! Generating phase space channels for process drellyan...
 ! Phase space:       2 phase space channels generated.
 ! Scanning phase space channels for equivalences ...
 ! Phase space:       2 equivalence relations found.
 ! Note: This cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.drellyan.cut0
.....
 ! Wrote phase space configurations to file whizard.phx
 !
 ! Created grids:      2 channels,  4 dimensions with 20 bins
 !
 ! WHIZARD run for process drellyan:
 !=============================================================================
 ! It      Calls  Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
 ! Reading cut configuration data from file whizard.cut1
 ! Replacing default cuts by user-defined cuts.
 cut pT of    1      within  5.00000E+01  9.99990E+04
 cut pT of    2      within  5.00000E+01  9.99990E+04
 cut eta of    1      within -2.50000E+00  2.50000E+00
 cut eta of    2      within -2.50000E+00  2.50000E+00
 cut M of    3      within  8.00000E+02  9.99990E+04
 ! Preparing (fixed weights):   1 sample of      10000 calls ...
    1      10000  6.3659147E+01  7.91E+00   12.42   12.42*  0.22    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  8.2530400E+01  6.53E+00    7.91   11.19*  0.26
    3      20000  6.6421810E+01  1.83E+00    2.75    3.89*  1.88
    4      20000  6.9202182E+01  8.07E-01    1.17    1.65*  7.94
    5      20000  6.9246385E+01  4.22E-01    0.61    0.86*  4.39
    6      20000  6.9431259E+01  3.46E-01    0.50    0.71* 11.81
    7      20000  6.9932020E+01  3.67E-01    0.52    0.74   9.65
    8      20000  6.9123994E+01  3.80E-01    0.55    0.78   7.37
    9      20000  6.9979530E+01  3.95E-01    0.56    0.80   8.59
   10      20000  7.0999763E+01  3.80E-01    0.54    0.76   8.86
   11      20000  7.0029224E+01  4.01E-01    0.57    0.81   9.40
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   5 samples of     100000 calls ...
   12     500000  6.9702626E+01  7.24E-02    0.10    0.73   3.28    0.51   5
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 00m 05s
 !=============================================================================
 ! Summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID     Integral[fb]  Error[fb]   Err[%]        Frac[%]
 !-----------------------------------------------------------------------------
   drellyan       6.9702626E+01  7.24E-02    0.10         100.00
 !-----------------------------------------------------------------------------
   sum            6.9702626E+01  7.24E-02    0.10         100.00
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 !
 ! Reading analysis configuration data from file whizard.cut5
 ! Found   1 analysis configuration dataset.
 ! Event sample corresponds to luminosity [fb-1] =   1435.
 ! Event sample corresponds to     3050955  weighted events
 ! Generating     100000 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process drellyan:
 ! It      Events Integral[fb]  Error[fb]   Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13     100000  6.9702626E+01  2.20E-01    0.32    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:   42.0       (    0.04% )  | Maximal weight:  2.44

In the analysis, we want to investigate the dilepton invariant mass spectrum in the high-energy region, the pT distribution of the lepton, as well as the lepton’s angular correlation. Hence, we use the following analysis file whizard.cut5:

process drellyan
histogram M of 3 within 1000 2000 step 50
histogram PT of 1 within 100 2000 step 100
histogram AAD of 1 within 0 180 step 10

The three distributions are shown in the three Figs. 6.4, 6.5, and 6.6.


Figure 6.4: Drell-Yan production of a 1.5 TeV Z′ boson. Dilepton invariant mass.


Figure 6.5: Drell-Yan production of a 1.5 TeV Z′ boson. pT distribution of the negatively charged lepton.


Figure 6.6: Drell-Yan production of a 1.5 TeV Z′ boson. Angle of the negatively charged lepton with respect to the beam.

6.6  Energy and more general parameter scans

If one wants to scan over a parameter range (either the center-of-mass energy for which there is also the option to use a uniform beam spectrum or another parameter of the model), there is the shell script scan_range.pl which can be found in the conf subdirectory:

 #!/usr/bin/perl
# Loop over energy and extract results

$prog = "./whizard";
$file = "whizard.out";

$Emin = 500;
$Emax = 5000;
$Estep = 50;

@processes = (
              "eemm"
              );

foreach $proc (@processes) {
    $proc{$proc} = 1;
    eval "\$tab_".$proc." .= 'Cross section for process $proc\n'";
    eval "\$tab_".$proc." .= '# sqrts[GeV]  sigma[fb]         error[fb]\n'";
}

for ($E=$Emin; $E <= $Emax; $E=$E+$Estep) {
    system ("$prog -P'Mzh=$E'");
#    system ("$prog -p'sqrts=$E'");
    open (RESULT, "$file") or die;
    while (<RESULT>) {
        ($proc, $cs, $err) = split;
        if ($proc{$proc}) {
            eval "\$tab_".$proc." .= '    $E      $cs      $err\n'";
        }
    }
    close (RESULT);
}

open (OUT, ">scan_range.dat");
foreach $proc (@processes) {
    eval "print OUT \$tab_".$proc;
    print OUT "\n\n";
}
close (OUT);   

This PERL script takes a list of processes (here only eemm intended to be ee+ → µµ+) to be attached to the PERL array @processes. Then, there is one input parameter $E that is varied between the two values $Emin and $Emax with steps $Estep. The following line of code system ("$prog -P'Mzh=$E'") calls the program (i.e. WHIZARD) with the command line option setting the parameter (here Mzh, i.e. the mass of the heavy Z′ boson and varies it. The center-of-mass energy must then be set explicitly in the whizard.in file. (If the parameter to be varied is √s itself, the corresponding entry in the input file could be empty). The PERL script produces an output file scan_rannge.dat which contains histogrammed data for the corresponding variable. Note that WHIZARD 2 has an intrinsic option for parameter scans, and is able to directly produce plain histogram files. For more information confer the WHIZARD 2 manual.


1
For a genuine analysis, one should inspect the underlying assumptions and try to find a consistent parameter set. Since the WHIZARD matrix elements are evaluated at tree level, some higher-order corrections should not be included in the Higgs width.
2
This number should be taken with a grain of salt. See footnote 6.1.1.
3
Note that in WHIZARD 2 this can be directly demanded by flags in the input file.
4
By reducing the parameter weights_power in the input file, these fluctuations can be somewhat dampened.

Previous Up Next