1 | # $Id: eeww_polarized.sin 3070 2011-03-28 08:09:25Z jr_reuter $ |
---|
2 | # Use WHIZARD's initial and final state polarization facilities to |
---|
3 | # examine the angular distributions for all 36 helicity combinations |
---|
4 | # in e+, e- -> W+, W- |
---|
5 | ######################################################################## |
---|
6 | # |
---|
7 | # Copyright (C) 1999-2011 by |
---|
8 | # Wolfgang Kilian <kilian@physik.uni-siegen.de> |
---|
9 | # Thorsten Ohl <ohl@physik.uni-wuerzburg.de> |
---|
10 | # Juergen Reuter <juergen.reuter@desy.de> |
---|
11 | # Christian Speckner <Christian.Speckner@physik.uni-freiburg.de> |
---|
12 | # |
---|
13 | # WHIZARD is free software; you can redistribute it and/or modify it |
---|
14 | # under the terms of the GNU General Public License as published by |
---|
15 | # the Free Software Foundation; either version 2, or (at your option) |
---|
16 | # any later version. |
---|
17 | # |
---|
18 | # WHIZARD is distributed in the hope that it will be useful, but |
---|
19 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
21 | # GNU General Public License for more details. |
---|
22 | # |
---|
23 | # You should have received a copy of the GNU General Public License |
---|
24 | # along with this program; if not, write to the Free Software |
---|
25 | # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
---|
26 | # |
---|
27 | ######################################################################## |
---|
28 | |
---|
29 | |
---|
30 | # Define and compile the process |
---|
31 | model = SM |
---|
32 | process eeww = "e+", "e-" => "W+", "W-" |
---|
33 | compile |
---|
34 | |
---|
35 | # Define the beams and event count (for simulation) |
---|
36 | sqrts = 200 GeV |
---|
37 | beams = "e+", "e-" |
---|
38 | n_events = 100000 |
---|
39 | |
---|
40 | # Tell WHIZARD to retain the W polarization in the generated events |
---|
41 | polarized "W+", "W-" |
---|
42 | |
---|
43 | # Loop over e+ / e- helicity |
---|
44 | scan int hel_ep = (-1, 1) { |
---|
45 | scan int hel_em = (-1, 1) { |
---|
46 | # Apply the helicity setup |
---|
47 | beam_polarization = diagonal_density (hel_ep:1), diagonal_density (hel_em:1) |
---|
48 | |
---|
49 | # (Re)calculate the integral for each initial state polarization |
---|
50 | integrate (eeww) |
---|
51 | |
---|
52 | # Define histograms for all different final state helicies. We |
---|
53 | # have to automatically generate tags from the initial state |
---|
54 | # helicites |
---|
55 | string $hist_mm = sprintf "cta%i_%i_-1_-1" (hel_ep, hel_em) |
---|
56 | histogram $hist_mm (-1, 1, 0.1) { |
---|
57 | $title = sprintf "polarization: %i %i -1 -1" (hel_ep, hel_em) |
---|
58 | } |
---|
59 | string $hist_ml = sprintf "cta%i_%i_-1_0" (hel_ep, hel_em) |
---|
60 | histogram $hist_ml (-1, 1, 0.1) { |
---|
61 | $title = sprintf "polarization: %i %i -1 0" (hel_ep, hel_em) |
---|
62 | } |
---|
63 | string $hist_mp = sprintf "cta%i_%i_-1_1" (hel_ep, hel_em) |
---|
64 | histogram $hist_mp (-1, 1, 0.1) { |
---|
65 | $title = sprintf "polarization: %i %i -1 1" (hel_ep, hel_em) |
---|
66 | } |
---|
67 | string $hist_lm = sprintf "cta%i_%i_0_-1" (hel_ep, hel_em) |
---|
68 | histogram $hist_lm (-1, 1, 0.1) { |
---|
69 | $title = sprintf "polarization: %i %i 0 -1" (hel_ep, hel_em) |
---|
70 | } |
---|
71 | string $hist_ll = sprintf "cta%i_%i_0_0" (hel_ep, hel_em) |
---|
72 | histogram $hist_ll (-1, 1, 0.1) { |
---|
73 | $title = sprintf "polarization: %i %i 0 0" (hel_ep, hel_em) |
---|
74 | } |
---|
75 | string $hist_lp = sprintf "cta%i_%i_0_1" (hel_ep, hel_em) |
---|
76 | histogram $hist_lp (-1, 1, 0.1) { |
---|
77 | $title = sprintf "polarization: %i %i 0 1" (hel_ep, hel_em) |
---|
78 | } |
---|
79 | string $hist_pm = sprintf "cta%i_%i_1_-1" (hel_ep, hel_em) |
---|
80 | histogram $hist_pm (-1, 1, 0.1) { |
---|
81 | $title = sprintf "polarization: %i %i 1 -1" (hel_ep, hel_em) |
---|
82 | } |
---|
83 | string $hist_pl = sprintf "cta%i_%i_1_0" (hel_ep, hel_em) |
---|
84 | histogram $hist_pl (-1, 1, 0.1) { |
---|
85 | $title = sprintf "polarization: %i %i 1 0" (hel_ep, hel_em) |
---|
86 | } |
---|
87 | string $hist_pp = sprintf "cta%i_%i_1_1" (hel_ep, hel_em) |
---|
88 | histogram $hist_pp (-1, 1, 0.1) { |
---|
89 | $title = sprintf "polarization: %i %i 1 1" (hel_ep, hel_em) |
---|
90 | } |
---|
91 | |
---|
92 | # The analysis setup fills the different histograms |
---|
93 | analysis = |
---|
94 | if (all Hel == -1 ["W+"] and all Hel == -1 ["W-"] ) then |
---|
95 | record $hist_mm (eval cos (Theta) ["W+"]) |
---|
96 | endif; if (all Hel == -1 ["W+"] and all Hel == 0 ["W-"] ) then |
---|
97 | record $hist_ml (eval cos (Theta) ["W+"]) |
---|
98 | endif; if (all Hel == -1 ["W+"] and all Hel == 1 ["W-"] ) then |
---|
99 | record $hist_mp (eval cos (Theta) ["W+"]) |
---|
100 | endif; if (all Hel == 0 ["W+"] and all Hel == -1 ["W-"] ) then |
---|
101 | record $hist_lm (eval cos (Theta) ["W+"]) |
---|
102 | endif; if (all Hel == 0 ["W+"] and all Hel == 0 ["W-"] ) then |
---|
103 | record $hist_ll (eval cos (Theta) ["W+"]) |
---|
104 | endif; if (all Hel == 0 ["W+"] and all Hel == 1 ["W-"] ) then |
---|
105 | record $hist_lp (eval cos (Theta) ["W+"]) |
---|
106 | endif; if (all Hel == 1 ["W+"] and all Hel == -1 ["W-"] ) then |
---|
107 | record $hist_pm (eval cos (Theta) ["W+"]) |
---|
108 | endif; if (all Hel == 1 ["W+"] and all Hel == 0 ["W-"] ) then |
---|
109 | record $hist_pl (eval cos (Theta) ["W+"]) |
---|
110 | endif; if (all Hel == 1 ["W+"] and all Hel == 1 ["W-"] ) then |
---|
111 | record $hist_pp (eval cos (Theta) ["W+"]) |
---|
112 | endif |
---|
113 | |
---|
114 | # Generate events (keep the helicity information). As this takes |
---|
115 | # some time, we request status information. |
---|
116 | simulate (eeww) { |
---|
117 | ?polarized_events = true |
---|
118 | checkpoint = 10000 |
---|
119 | } |
---|
120 | } |
---|
121 | } |
---|
122 | |
---|
123 | # Write out the generated histograms in eeww_polarized.ps / eeww_polarized.pdf |
---|
124 | compile_analysis { $out_file = "eeww_polarized.dat" } |
---|
125 | |
---|