Previous Up Next
6 Examples
In the following sections three realistic applications of WHIZARD are presented: 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.

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 t+t- decays. Here, we only consider the signal together with its irreducible background, contributing to the processes
e- e+ ->
n
_
n
 
b
_
b
 
  ->
q
_
q
 
b
_
b
 
  ->
b
_
b
 
b
_
b
 
  ->
µ- µ+ b
_
b
 
  ->
e- e+ b
_
b
 
  ->
q
_
q
 
t-t+
where q=u,d,s,c and n=ne,nµ,nt. This list of processes directly translates into the configuration file whizard.prc:
# WHIZARD configuration file
# The selected model:
model   SM

# Processes
# (Methods: chep=CompHEP, mad=MadGraph, omega=O'Mega)
# (Options: number=QCD order [Madgraph])
#
# Tag           In      Out                      Method  Option
#=============================================================
# On-shell process:
zh              e1,E1   Z,H                       chep

# Full four-fermion matrix elements (no QCD):
nnbb            e1,E1   n1:n2:n3,N1:N2:N3,b,B     omega   
qqbb            e1,E1   u:d:s:c,U:D:S:C,b,B       omega
bbbb            e1,E1   b,B,b,B                   omega
eebb            e1,E1   e1,E1,b,B                 omega   
mmbb            e1,E1   e2,E2,b,B                 omega
qqtt            e1,E1   u:d:s:c,U:D:S:C,e3,E3     omega
bbtt            e1,E1   b,B,e3,E3                 omega

# QCD contribution (gluon splitting):
uubb_qcd        e1,E1   u,U,b,B                   mad     2
ddbb_qcd        e1,E1   d,D,b,B                   mad     2
ssbb_qcd        e1,E1   s,S,b,B                   mad     2
ccbb_qcd        e1,E1   c,C,b,B                   mad     2
bbbb_qcd        e1,E1   b,B,b,B                   mad     2
Here, we use flavor summation for the quark and missing-energy channels. Since O'Mega can't yet handle QCD corrections where one quark pair originates from gluon fragmentation, those are implemented using MadGraph for the matrix elements. (We could also use CompHEP for that purpose. For 2-> 4 processes, however, CompHEP matrix elements typically need considerable more CPU time both in compilation and execution.)

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 e-e+-> 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.26 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.30 (Sep 20 2004)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Process zh:
 !    e a-e ->   Z   H
 !    8   4 ->   1   2
 ! Reading vertices from file whizard.mdl ...
 ! Model file:       48 vertices found.
 ! Generating phase space channels for process zh...
 ! Phase space:       1 phase space channels generated.
 ! Scanning phase space channels for equivalences ...
 ! Phase space:       1 equivalence relations found.
 ! Wrote phase space configurations to file whizard.phx
 ! Created grids:      1 channels,  2 dimensions with 20 bins
 !=============================================================================
 ! WHIZARD run for process zh:
 !-----------------------------------------------------------------------------
 ! 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 zh
 ! Preparing (fixed weights):   1 sample of       5000 calls ...
    1       5000  1.6114541E+02  1.16E-02    0.01    0.01* 99.44    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):   3 samples of       5000 calls ...
    2       5000  1.6114763E+02  1.16E-02    0.01    0.01  99.44
    3       5000  1.6117303E+02  2.07E-02    0.01    0.01  98.28
    4       5000  1.6118480E+02  3.57E-02    0.02    0.02  97.12
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of       5000 calls ...
    5      15000  1.6115362E+02  1.08E-02    0.01    0.01  95.62    0.78   3
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 00m 00s
 !=============================================================================
 ! Total cross section summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID      Integral[fb]  Error[fb]  Err[%]         Eff[%]   Chi2
 !-----------------------------------------------------------------------------
   zh             1.6115362E+02  1.08E-02    0.01          95.62    0.78
 !-----------------------------------------------------------------------------
   sum            1.6115362E+02  1.08E-02    0.01          95.62
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 ! No event generation requested
 ! WHIZARD run finished.
We read off the total cross section
s = 161.154 ± 0.011 fb
Clearly the grid adaptation was of no use at all, since the final error is no smaller than the initial one. This would have been even worse if we had not inserted stratified = F. However, for less trivial processes stratified sampling usually gives better results, and in the examples presented below we keep stratified = T.

If we were interested in a more accurate result, we could increase the statistics like this
 &integration_input
 calls = 1 100000 1 100000 3 500000
 ...
(one initial run of 100,000 events, one run of 100,000 events for adaptation, 3 runs of 500,000 events for integration) and would get something like
s = 161.1410 ± 0.0002 fb.
This serves merely as an illustration: for this process the cross section is easily obtained analytically, and the accuracy is limited by the input parameters anyway.

6.1.2 The missing-energy channel
The actual virtues of WHIZARD lie in calculating complete multi-fermion processes. Requesting the process
e-e+ -> n
_
n
 
b
_
b
 
  where n=ne,nµ,nt
in the input file, which we have called nnbb,
 &process_input
 process_id = "nnbb"
 sqrts = 209
 /
and returning to the default integration setting
  &integration_input /
we arrive at a result like this:

 ! WHIZARD 1.30 (Sep 20 2004)
 ! 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
 !   32  16 ->    1      2   4   8
 !    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.0572597E+02  1.87E+00    1.77    2.50*  4.26    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  1.0881157E+02  1.87E+00    1.72    2.43*  4.46
    3      20000  1.0788791E+02  7.63E-01    0.71    1.00* 12.91
    4      20000  1.0711324E+02  6.09E-01    0.57    0.80* 17.05
    5      20000  1.0781600E+02  5.67E-01    0.53    0.74* 19.86
    6      20000  1.0519942E+02  5.37E-01    0.51    0.72* 19.82
    7      20000  1.0709944E+02  5.36E-01    0.50    0.71* 19.84
    8      20000  1.0606741E+02  5.23E-01    0.49    0.70* 18.75
    9      20000  1.0661251E+02  5.20E-01    0.49    0.69* 17.92
   10      20000  1.0674035E+02  5.21E-01    0.49    0.69  18.98
   11      20000  1.0691411E+02  5.16E-01    0.48    0.68* 19.06
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   12      60000  1.0706821E+02  2.94E-01    0.27    0.67* 16.65    0.45   3
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    0h 00m 49s
 !=============================================================================
 ! Total cross section summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID      Integral[fb]  Error[fb]  Err[%]         Eff[%]   Chi2
 !-----------------------------------------------------------------------------
   nnbb           1.0706821E+02  2.94E-01    0.27          16.65    0.45
 !-----------------------------------------------------------------------------
   sum            1.0706821E+02  2.94E-01    0.27          16.65
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 ! No event generation requested
 ! WHIZARD run finished.
The cross section is27
s = 107.07 ± 0.29 fb
This calculation takes less than 4 minutes on a PC (Pentium IV 2.4 GHz, NAGWare Fortran 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 c2 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 is 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       64323  weighted events
 ! Generating      10707 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process nnbb:
 !-----------------------------------------------------------------------------
 ! It      Events  Integral[fb]  Error[fb]  Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10707  1.0706821E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    2.2       (    0.02% )  | Maximal weight:  1.01
 ! There were no errors and  2 warning(s).
 ! WHIZARD run finished.
The generation of 10,707 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,
        uubb_qcd, ddbb_qcd, ssbb_qcd, ccbb_qcd, bbbb_qcd
  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       64323  weighted events
 ! Reading      10707 unweighted events ...
 ! Event generation finished.
 !=============================================================================
 ! Analysis results for process nnbb:
 !-----------------------------------------------------------------------------
 ! It      Events  Integral[fb]  Error[fb]  Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10707  1.0706821E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    2.2       (    0.02% )  | Maximal weight:  1.01
 !=============================================================================
 ! Analysis results for process nnbb:
 !-----------------------------------------------------------------------------
 ! It      Events  Integral[fb]  Error[fb]  Err[%]    Acc  Eff[%]   Chi2 N[It]
 !-----------------------------------------------------------------------------
   13      10707  1.0706821E+02  1.03E+00    0.97    1.00 100.00
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    2.2       (    0.02% )  | Maximal weight:  1.01
 !=============================================================================
 ! 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       2204  2.2039631E+01  4.69E-01    2.13    1.00  20.58
 !-----------------------------------------------------------------------------
 ! Warning: Excess events:    0.4       (    0.02% )  | Maximal weight:  1.02
 ! There were no errors and  6 warning(s).
 ! WHIZARD run finished.
From the last line we read off that the actual contribution of Higgs production in this channel is 2204 events (or 20.58 %). 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.30 (Sep 20 2004)
 ! Process nnbb:
 !    e a-e -> nu_e a-nu_e   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        2.00000000        1.41421356        0.00000000
   13.0625000        5.00000000        2.23606798        0.00000000
   18.2875000        3.00000000        1.73205081        0.00000000
   23.5125000        7.00000000        2.64575131        0.00000000
   28.7375000        12.0000000        3.46410162        0.00000000
   33.9625000        14.0000000        3.74165739        0.00000000
   39.1875000        13.0000000        3.60555128        0.00000000
   44.4125000        22.0000000        4.69041576       0.131470099
   49.6375000        31.0000000        5.56776436        0.00000000
   54.8625000        42.0000000        6.48074070       0.242629656E-01
   60.0875000        34.0000000        5.83095189        0.00000000
   65.3125000        70.0000000        8.36660027        0.00000000
   70.5375000        94.0000000        9.69535971       0.313546084
   75.7625000        118.000000        10.8627805       0.238297301E-01
   80.9875000        264.000000        16.2480768        0.00000000
   86.2125000        1091.00000        33.0302891       0.425686281
 ...
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 (N1/2). 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. 15. (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
  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 15: Histograms for the process e-e+->nn_bb_ at s1/2=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.3 The four-jet channel
There are two four-jet channels
e-e+ -> q
_
q
 
b
_
b
 
,    b
_
b
 
b
_
b
 
.
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 10 minutes in total. The cross section result is
s = 286.37 ± 0.76 fb
and 28638 events are generated in this run, 4681 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
 !  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 bb_bb_ 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
s = 44.51 ± 0.11 fb     (10)
Here, we have slightly cheated: The O'Mega matrix element which has been integrated lacks the correct color factor for the interference term (in the squared amplitude) where the b quark lines are crossed. This is, however, a negligible effect: If we take MadGraph matrix elements instead (which have exact color information), the result is identical within the integration error.

6.1.4 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
s = 52.90 ± 0.13 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
e-e+ -> e-e+
_
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  5.8506685E+02  2.01E+02   34.38   48.62*  0.20    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  3.2960904E+02  4.39E+01   13.32   18.84*  0.31
    3      20000  1.2921900E+03  4.96E+02   38.42   54.34   0.08
    4      20000  2.4987669E+03  8.45E+02   33.83   47.85   0.10
    5      20000  2.4882598E+03  4.07E+02   16.36   23.14   0.09
    6      20000  3.4067505E+03  9.85E+02   28.92   40.89   0.06
    7      20000  2.8709019E+03  3.28E+02   11.44   16.18*  0.11
    8      20000  3.2983652E+03  3.47E+02   10.51   14.87*  0.18
    9      20000  4.1803823E+04  2.89E+04   69.02   97.61   0.02
   10      20000  3.8984197E+03  3.82E+02    9.81   13.87*  0.13
 ...
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.9532372E+03  4.41E+02    5.55    7.85   0.31
   29      20000  7.8702516E+03  2.87E+02    3.64    5.15   0.50
   30      20000  7.5438112E+03  2.33E+02    3.09    4.37   1.04
   31      20000  7.4196016E+03  1.62E+02    2.18    3.08*  1.08
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   32      60000  7.6111773E+03  1.09E+02    1.43    3.50   0.60    1.57   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_g* production where the virtual photon splits into the electron-positron pair. These small regions are sampled only after several iterations have sufficiently adapted the 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  1.5053744E+04  6.09E+03   40.43   57.17*  0.20    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of      20000 calls ...
    2      20000  4.5557243E+03  1.46E+03   32.11   45.42*  0.16
    3      20000  6.6003671E+03  3.98E+02    6.03    8.52*  0.47
    4      20000  7.9219196E+03  5.13E+02    6.48    9.16   0.31
    5      20000  7.5913298E+03  2.36E+02    3.11    4.39*  1.36
    6      20000  7.4324783E+03  1.86E+02    2.51    3.55*  0.85
    7      20000  7.4668913E+03  1.42E+02    1.91    2.70*  2.02
    8      20000  7.1885920E+03  1.10E+02    1.53    2.16*  2.94
    9      20000  7.5275492E+03  1.86E+02    2.47    3.49   0.89
   10      20000  7.4377512E+03  1.38E+02    1.85    2.61   2.21
   11      20000  7.6289727E+03  1.09E+02    1.43    2.02*  2.89
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   3 samples of      20000 calls ...
   12      60000  7.5581817E+03  6.53E+01    0.86    2.11   1.79    0.20   3
 !-----------------------------------------------------------------------------
This time, the difficult regions are sampled from the beginning.

With standard cuts on the electron energies and angles, this process his 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.1.5 QCD contribution
The QCD background where one quark pair results from gluon splitting is not included in the above. It has been listed separately in our process set. Here, no flavor summation is (yet) possible, and we have to calculate the individual quark flavors separately. Taking, e.g., the channel uubb_qcd
e-e+ -> u
_
u
 
b
_
b
 
     (QCD contribution)
with the default cut M(uu_)>10 GeV, we obtain
s = 51.66 ± 0.23 fb
with the default settings. The invariant mass distribution of the jet pair can be analyzed as before (Fig. 16).


Figure 16: Invariant mass distribution of the light quark pair for the process e-e+-> uu_ bb_, taking into account only the QCD contribution.


Although the total cross section is quite large, the amount contributing in the Higgs mass region is tiny (0.35 %), as the analysis shows:

 ! 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         18  1.8000350E-01  4.24E-02   23.57    1.00   0.35
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

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

# Full six-fermion matrix elements (no QCD):
qqbbbb          e1,E1   u:d:s:c,U:D:S:C,b,B,b,B   omega

# QCD contribution (gluon splitting):
uubbbb_qcd1     e1,E1   u,U,b,B,b,B               mad     2
uubbbb_qcd2     e1,E1   u,U,b,B,b,B               mad     4
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. This is supplemented by second- and fourth-order QCD contributions calculated by MadGraph.

The input file whizard.in is prepared for the six-fermion process at s1/2=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 = 1000
 /

 &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.30 (Sep 20 2004)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Process qqbbbb:
 !    e a-e ->   u a-u   b a-b   b a-b
 !  128  64 ->   1   2   4   8  16  32
 ! Warning: No color flow information available for process qqbbbb
 ! Reading vertices from file whizard.mdl ...
 ! Model file:       63 trilinear vertices found.
 ! Model file:       63 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.

The absence of color flow information, indicated by the warning message, is a problem of the O'Mega matrix element --- only the leading color connection is evaluated. However, the resulting error is typically negligible since the subleading terms are suppressed by kinematical factors.

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

 ! Phase space:     408 phase space channels generated.
 ! Scanning phase space channels for equivalences ...
 ! Phase space:    1632 equivalence relations found.
 ! Note: The 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:    408 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 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).

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

    1     100000  1.7245154E-01  9.02E-03    5.23   16.54*  0.73    0.00       
 !------------------------------------------------------------------------
 ! Adapting (var. weights):  Generating          20 samples of      100000 
 events ...
    2     100000  1.4965342E-01  2.15E-03    1.43    4.54*  1.97               
    3     100000  1.4929719E-01  1.29E-03    0.86    2.73*  2.16               
    4     100000  1.5426710E-01  5.29E-03    3.43   10.84   0.99               
    5     100000  1.5014838E-01  1.48E-03    0.99    3.12   1.93               
    6     100000  1.4741355E-01  1.11E-03    0.75    2.37*  3.02               
    7     100000  1.5119871E-01  1.33E-03    0.88    2.78   2.20               
    8     100000  1.4969993E-01  8.36E-04    0.56    1.77*  3.26               
    9     100000  1.5623658E-01  5.13E-03    3.28   10.38   1.17               
   10     100000  1.5145665E-01  7.81E-04    0.52    1.63*  3.55               
   11     100000  1.5170008E-01  1.05E-03    0.69    2.19   3.22               
   12     100000  1.5207701E-01  9.18E-04    0.60    1.91   3.35               
   13     100000  1.6122997E-01  1.03E-02    6.36   20.13   0.88               
   14     100000  1.5167050E-01  7.18E-04    0.47    1.50*  4.22               
   15     100000  1.5346776E-01  1.60E-03    1.04    3.30   2.59               
   16     100000  1.5190641E-01  9.46E-04    0.62    1.97   3.72               
   17     100000  3.9266569E-01  2.40E-01   61.19  193.49   0.11               
   18     100000  1.5427618E-01  1.94E-03    1.26    3.98   2.23               
   19     100000  1.5282396E-01  1.90E-03    1.24    3.94   2.57               
   20     100000  1.5299694E-01  1.11E-03    0.73    2.30   3.15               
   21     100000  1.6406596E-01  1.30E-02    7.90   24.98   0.68               
 !------------------------------------------------------------------------
 ! Integrating (fixed w.):  Generating           1 sample of      100000 
 events ...
Nevertheless, the best grid obtained so far can safely be used for event generation. The final estimate for the integral is

   22     100000  1.5188597E-01  7.48E-04    0.49    1.56   4.19    0.00       
 !------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:         2:24:24 hours
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
 !
 ! Generating        1519 unweighted events ...
 !========================================================================
 ! Analysis results for the generated event sample:
 !------------------------------------------------------------------------
 ! It     Calls   Integral[fb]  Error[fb]  Err[%] Err/Exp Eff[%]   Chi2
 !------------------------------------------------------------------------
   23       1519  1.5188597E-01  3.90E-03    2.57    1.00 100.00               
 !------------------------------------------------------------------------
 ! Excess events:    6.8       (Error[%]:    0.45 )
 ! WHIZARD run finished.
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 the generated event sample:
 !
 ! Additional cuts:
 ! integration level            5
 cut M of  12  12 within  1.14000E+02  1.16000E+02
 cut M of  48  48 within  1.14000E+02  1.16000E+02
 !------------------------------------------------------------------------
 ! It     Calls   Integral[fb]  Error[fb]  Err[%] Err/Exp Eff[%]   Chi2
 !------------------------------------------------------------------------
   23        150  1.4998614E-02  1.22E-03    8.16    1.00   9.87               
 !========================================================================
 ! Analysis results for the generated event sample:
 !
 ! Additional cuts:
 ! integration level            5
 cut M of  36  36 within  1.14000E+02  1.16000E+02
 cut M of  24  24 within  1.14000E+02  1.16000E+02
 !------------------------------------------------------------------------
 ! It     Calls   Integral[fb]  Error[fb]  Err[%] Err/Exp Eff[%]   Chi2
 !------------------------------------------------------------------------
   23        199  1.9898162E-02  1.41E-03    7.09    1.00  13.10               
 ! WHIZARD run finished.
The two event samples may be added (assuming that no events pass both cuts simultaneously), to yield 349 ``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+W-, ZZ
Such processes can be described in an effective-Lagrangian approach, where higher-order corrections to the scattering amplitude are described by new parameters a4,a5,.... WHIZARD defines these anomalous couplings in the model SM_ac.mdl.

At an e+e- collider, WW scattering processes occur as a subprocess of
e-e+ -> ne
_
n
e
q
_
q
 
q
_
q
 
.
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

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

# Full six-fermion matrix elements (no QCD):
nnqqqq   e1,E1   n1:n2:n3,N1:N2:N3,u:d,U:D,u:d,U:D   omega
enqqqq   e1,E1   e1,N1,u:d,U:D,u:d,U:D               omega   w:f
neqqqq   e1,E1   n1,E1,u:d,U:D,u:d,U:D               omega   w:f
eeqqqq   e1,E1   e1,E1,u:d,U:D,u:d,U:D               omega   w:f

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

# Second neutrino generation only:
# WW and ZZ
nnuudd2  e1,E1   n2,N2,u,U,d,D                       omega
# WW only
nnucsd2  e1,E1   n2,N2,u,C,s,D                       omega
# ZZ only
nnuuss2  e1,E1   n2,N2,u,U,s,S                       omega
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.

The setup below is for the 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 10 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 a4 and a5 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+e--> e+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
e-e+ -> ne
_
n
e
q
_
q
 
q
_
q
 
;      n = ne, nµ, nt;      q = u, d

 ! WHIZARD 1.30 (Sep 20 2004)
 ! Reading process data from file whizard.in
 ! Wrote whizard.out
 ! Process nnqqqq:
 !    e a-e -> nu_e a-nu_e   u a-u   u a-u
 !  128  64 ->    1      2   4   8  16  32
 ! Warning: No color flow information available for process nnqqqq
 ! 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.
 ! Reading vertices from file whizard.mdl ...
 ! Model file:       57 trilinear vertices found.
 ! Model file:       57 vertices usable for phase space setup.
 ! Generating phase space channels for process nnqqqq...
 ! Phase space:     419 phase space channels generated.
 ! Scanning phase space channels for equivalences ...
 ! Phase space:    2165 equivalence relations found.
 ! Note: The cross section may be infinite without cuts.
 ! Wrote default cut configuration file whizard.nnqqqq.cut0
 ! Wrote phase space configurations to file whizard.phx
 ! Created grids:    419 channels, 18 dimensions with 20 bins
 !=============================================================================
 ! 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
 ! Preparing (fixed weights):   1 sample of     100000 calls ...
    1     100000  6.3551041E+00  8.47E-01   13.33   42.14*  0.92    0.00   1
 !-----------------------------------------------------------------------------
 ! Adapting (variable wgts.):  10 samples of     100000 calls ...
    2     100000  6.2483097E+00  8.96E-01   14.34   45.34   0.90
    3     100000  5.7224764E+00  1.37E-01    2.39    7.56*  0.74
    4     100000  5.8265889E+00  9.12E-02    1.57    4.95*  1.07
    5     100000  5.8355602E+00  7.12E-02    1.22    3.86*  1.55
    6     100000  5.8333281E+00  5.98E-02    1.03    3.24*  1.72
    7     100000  5.8430723E+00  6.24E-02    1.07    3.38   2.09
    8     100000  5.7988184E+00  5.38E-02    0.93    2.93*  2.17
    9     100000  5.7520261E+00  4.94E-02    0.86    2.71*  2.47
   10     100000  5.8027805E+00  5.01E-02    0.86    2.73   2.32
   11     100000  5.8475680E+00  5.04E-02    0.86    2.73   2.49
 !-----------------------------------------------------------------------------
 ! Integrating (fixed wgts.):   5 samples of     100000 calls ...
   12     500000  5.8180783E+00  2.56E-02    0.44    3.11   0.98    1.13   5
 !-----------------------------------------------------------------------------
 !
 ! Time estimate for generating 10000 unweighted events:    3h 55m 03s
 !=============================================================================
 ! Total cross section summary (all processes):
 !-----------------------------------------------------------------------------
 ! Process ID      Integral[fb]  Error[fb]  Err[%]         Eff[%]   Chi2
 !-----------------------------------------------------------------------------
   nnqqqq         5.8180783E+00  2.56E-02    0.44           0.98    1.13
 !-----------------------------------------------------------------------------
   sum            5.8180783E+00  2.56E-02    0.44           0.00
 !=============================================================================
 ! Wrote whizard.out
 ! Integration complete.
 ! No event generation requested
 ! There were no errors and 15 warning(s).
 ! WHIZARD run finished.

Previous Up Next