whizard-prelude.nw 5.15 KB
Newer Older
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
1
% -*- ess-noweb-default-code-mode: f90-mode; noweb-default-code-mode: f90-mode; -*-
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
2
3
% WHIZARD code as NOWEB source: Header, intro and generic stuff

Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
4
\documentclass[a4paper]{report}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
5

6
\usepackage{amsmath,amssymb,dsfont}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
7
8
9

\usepackage
  [bookmarks,bookmarksopen=true,bookmarksopenlevel=1,bookmarksnumbered=true]
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
10
11
12
  {hyperref}

\usepackage{noweb}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
13
14
15
16
17
18
19
20
21
22
\usepackage{graphics,graphicx}
\usepackage{url}
\setlength{\nwmarginglue}{1em}
\noweboptions{smallcode,noidentxref}
%%% Saving paper:
\def\nwendcode{\endtrivlist\endgroup}
\nwcodepenalty=0
\let\nwdocspar\relax

%\makeindex
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
23

Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
24
25
26
27
28
29
30
31
32
33
34
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Macros

\def\tsum{{\textstyle\sum}}

\newcommand{\circeone}{\texttt{CIRCE1}}
\newcommand{\circetwo}{\texttt{CIRCE2}}
\newcommand{\whizard}{\texttt{WHIZARD}}
% Noweb emacs mode: single ' below
\newcommand{\oMega}{\texttt{O'MEGA}}
\newcommand{\vamp}{\texttt{VAMP}}
Vincent Rothe's avatar
v2.6.0    
Vincent Rothe committed
35
\newcommand{\vamptwo}{\texttt{VAMP2}}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
36
37
\newcommand{\pythia}{\texttt{PYTHIA}}
\newcommand{\gosam}{\texttt{GoSam}}
Vincent Rothe's avatar
v2.4.0    
Vincent Rothe committed
38
39
40
41
42
43
44
45
46
\newcommand{\includemodulegraph}{\begingroup
  \catcode`_=12 \doincludemodulegraph}
\newcommand{\doincludemodulegraph}[1]{%
  \begin{figure}
  \includegraphics[width=\textwidth]{#1}%
  \caption{Module dependencies in \texttt{src/#1}.}
  \end{figure}
  \endgroup
}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
47
48
49
50

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51
\def\WhizardVersion{3.0.1+}
52
\def\WhizardDate{Jul 08 2021}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
53
<<Version>>=
54
3.0.1+
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
55
<<Date>>=
56
Jul 08 2021
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
57
@
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{%
  \whizard\footnote{The original meaning of the acronym is \emph{$W$,
  Higgs, $Z$, And Respective Decays}.  The current program is much more
  than that, however.}
}
\author{%
  Wolfgang Kilian,%
    \thanks{e-mail: \texttt{kilian@physik.uni-siegen.de}}
  Thorsten Ohl,%
    \thanks{e-mail: \texttt{ohl@physik.uni-wuerzburg.de}}
  J\"urgen Reuter%
    \thanks{e-mail: \texttt{juergen.reuter@desy.de}}}
\date{Version \WhizardVersion, \WhizardDate \\
 \mbox{}
 with contributions from:
Vincent Rothe's avatar
v2.7.0    
Vincent Rothe committed
74
 Fabian Bach, Tim Barklow, Vincent Bettaque, Mikael Berggren,
75
 Hans-Werner Boschmann, Felix Braam, Simon Brass, Pia Bredt,
76
77
 Bijan Chokouf\'{e} Nejad, Oliver Fischer, Christian Fleper, David Gordo Gomez, Uta
 Klein, Akiya Miyamoto, Moritz Prei{\ss}er, Vincent Rothe, Sebastian Schmidt,
Vincent Rothe's avatar
v2.7.0    
Vincent Rothe committed
78
79
 Marco Sekulla, So Young Shim, Christian Speckner, Pascal Stienemeier,
 Manuel Utsch, Christian Weiss, Daniel Wiesler, Zhijie Zhao
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
80
81
82
83
84
 \vspace{1cm}
 \begin{center}
 \includegraphics[width=4cm]{Whizard-Logo}
 \end{center}
 \mbox{} \\
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
85
 \vspace{.2cm}}
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
86
87
88
89
90
91
92
93
94
\maketitle


\begin{abstract}
\texttt{WHIZARD} is an application of the \texttt{VAMP} algorithm:
Adaptive multi-channel integration and event generation. The bare
\texttt{VAMP} library is augmented by modules for Lorentz algebra,
particles, phase space, etc., such that physical processes with
arbitrary complex final states [well, in principle\ldots] can be
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
95
integrated and \emph{unweighted} events be generated.
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
96
97
98
\end{abstract}


Vincent Rothe's avatar
v2.4.0    
Vincent Rothe committed
99
100
101
102
103
104
105
106
\newpage

\begin{figure}
\centering
\includegraphics[angle=90,width=\textwidth,height=\textheight,keepaspectratio]{overview}
\caption{Overall folder structure}
\end{figure}

Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
107
108
109
110
\newpage

\tableofcontents

Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
111
\newpage
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
112
113
114
115
116
117
118
119
120
121
122

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Changes}

  {\bf For a comprehensive list of changes confer the
    ChangeLog file or the subversion log.}

\chapter{Preliminaries}
The WHIZARD file header:
<<File header>>=
! WHIZARD <<Version>> <<Date>>
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
123
!
124
! Copyright (C) 1999-2021 by
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
125
126
127
!     Wolfgang Kilian <kilian@physik.uni-siegen.de>
!     Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
!     Juergen Reuter <juergen.reuter@desy.de>
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
128
!
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
129
!     with contributions from
Vincent Rothe's avatar
v2.6.0    
Vincent Rothe committed
130
!     cf. main AUTHORS file
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
131
132
!
! WHIZARD is free software; you can redistribute it and/or modify it
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
133
! under the terms of the GNU General Public License as published by
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
134
135
136
137
138
! the Free Software Foundation; either version 2, or (at your option)
! any later version.
!
! WHIZARD is distributed in the hope that it will be useful, but
! WITHOUT ANY WARRANTY; without even the implied warranty of
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
139
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
140
141
142
143
144
145
146
147
148
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! This file has been stripped of most comments.  For documentation, refer
! to the source 'whizard.nw'
Vincent Rothe's avatar
v2.4.1    
Vincent Rothe committed
149
@
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
150
151
152
153
154
155
156
We are strict with our names:
<<Standard module head>>=
  implicit none
  private
@ This is the way to envoke the kinds module (not contained in this source)
<<Use kinds>>=
  use kinds, only: default
Vincent Rothe's avatar
v2.2.4    
Vincent Rothe committed
157
158
<<Use kinds with double>>=
  use kinds, only: default, double
Vincent Rothe's avatar
v2.2.3  
Vincent Rothe committed
159
160
161
162
163
@ %def default
@ And we make heavy use of variable-length strings
<<Use strings>>=
  use iso_varying_string, string_t => varying_string
@ %def string_t
Vincent Rothe's avatar
v2.7.1    
Vincent Rothe committed
164
165
166
167
@ Access to the [[debug_on]] master switch
<<Use debug>>=
  use debug_master, only: debug_on
@ %def debug_on
Vincent Rothe's avatar
v2.6.0    
Vincent Rothe committed
168
169
170
171
172
173
@ And we need the Fortran 2008 MPI module, if compiled with [[MPI]].
<<Use mpi f08>>=
@
<<MPI: Use mpi f08>>=
  use mpi_f08 !NODEP!
@ %def mpi_f08