7dae8538 |
1 | #ifndef ROOT_ICommon |
2 | #define ROOT_ICommon |
3 | |
4 | #ifndef __CFORTRAN_LOADED |
5 | //*KEEP,cfortran. |
6 | #include "cfortran.h" |
7 | //*KEND. |
8 | #endif |
9 | |
10 | extern "C" { |
11 | |
12 | /*========================================================================*/ |
13 | /* COMMON/DYLIM/QMIN,QMAX,QTMIN,QTMAX,YWMIN,YWMAX,XWMIN,XWMAX,THWMIN, */ |
14 | /* & THWMAX,PHWMIN,PHWMAX,SETLMQ(12) */ |
15 | /*------------------------------------------------------------------------*/ |
16 | typedef struct { |
17 | Float_t qmin; |
18 | Float_t qmax; |
19 | Float_t qtmin; |
20 | Float_t qtmax; |
21 | Float_t ywmin; |
22 | Float_t ywmax; |
23 | Float_t xwmin; |
24 | Float_t xwmax; |
25 | Float_t thwmin; |
26 | Float_t thwmax; |
27 | Float_t phwmin; |
28 | Float_t phwmax; |
29 | Bool_t setlmq[12]; |
30 | Bool_t ywset; |
31 | Bool_t thwset; |
32 | } DylimCommon; |
33 | |
34 | #define DYLIM COMMON_BLOCK(DYLIM, dylim) |
35 | COMMON_BLOCK_DEF(DylimCommon,DYLIM); |
36 | |
37 | /**************************************************************************/ |
38 | /* D E S C R I P T I O N : */ |
39 | /*------------------------------------------------------------------------*/ |
40 | /* qmin, qmax : Mass limits for W */ |
41 | /* qtmin, qtmax : q-subscript-t limits for W */ |
42 | /* ywmin, ywmax : Y limits for W. Cannot be set simultaneously with */ |
43 | /* thwmin, thwmax. */ |
44 | /* xwmin, xwmax : Feynman x limit for W */ |
45 | /* thwmin, thwmax : Theta limits for W. Cannot be set simultaneously */ |
46 | /* with ywmin, ywmax. */ |
47 | /* phwmin, phwmax : Phi limits for W */ |
48 | /* setlmq : */ |
49 | /* ywset, thwset : Logical flags internal to the interface. */ |
50 | /**************************************************************************/ |
51 | |
52 | |
53 | |
54 | /*========================================================================*/ |
55 | /* COMMON/EEPAR/SGMXEE,PLEP,PLEM,RSHMIN,RSHMAX,UPSLON,SIGZ,IBREM,IBEAM */ |
56 | /*------------------------------------------------------------------------*/ |
57 | typedef struct { |
58 | Float_t sgmxee; |
59 | Float_t plep; |
60 | Float_t plem; |
61 | Float_t rshmin; |
62 | Float_t rshmax; |
63 | Float_t upslon; |
64 | Float_t sigz; |
65 | Bool_t ibrem; |
66 | Bool_t ibeam; |
67 | } EeparCommon; |
68 | |
69 | #define EEPAR COMMON_BLOCK(EEPAR, eepar) |
70 | COMMON_BLOCK_DEF(EeparCommon,EEPAR); |
71 | |
72 | /**************************************************************************/ |
73 | /* D E S C R I P T I O N : */ |
74 | /*------------------------------------------------------------------------*/ |
75 | /* sgmxee */ |
76 | /* plep : Polarisation of positron beam (P-subscript-L of e-superscript-+ */ |
77 | /* plem : Polarisation of electron beam (P-subscript-L of e-superscript-- */ |
78 | /* */ |
79 | /* Brem- and beam-strahlung parameters */ |
80 | /* rshmin : minimum subprocess energy (root-s-hyphen-subscript-min) */ |
81 | /* rshmax : maximum subprocess energy (root-s-hyphen-subscript-max) */ |
82 | /* upslon : beamstrahlung parameter (UPSILON) */ |
83 | /* sigz : Longitudinal beam size in mm (sigma-subscript-z) */ |
84 | /* ibrem : True if EEBREM used */ |
85 | /* ibeam : True if EEBEAM used */ |
86 | /**************************************************************************/ |
87 | |
88 | |
89 | |
90 | /*========================================================================*/ |
91 | /* COMMON/FORCE/NFORCE,IFORCE(MXFORC),MFORCE(5,MXFORC),LOOK2(2,MXFORC), */ |
92 | /* & LOOKST(MXFORC),MEFORC(MXFORC) */ |
93 | /*------------------------------------------------------------------------*/ |
94 | typedef struct { |
95 | static const Int_t mxforc = 40; |
96 | Int_t nforce; |
97 | Int_t iforce[mxforc]; |
98 | Int_t mforce[mxforc][5]; |
99 | Int_t look2[mxforc][2]; |
100 | Int_t lookst[mxforc]; |
101 | Int_t meforc[mxforc]; |
102 | } ForceCommon; |
103 | |
104 | #define FORCE COMMON_BLOCK(FORCE, force) |
105 | COMMON_BLOCK_DEF(ForceCommon,FORCE); |
106 | |
107 | /**************************************************************************/ |
108 | /* D E S C R I P T I O N : */ |
109 | /*------------------------------------------------------------------------*/ |
110 | /* mxforce : Size of forced-decay array */ |
111 | /* nforce : Number of forced decay paths */ |
112 | /* iforce : ID code for particle of forced decay */ |
113 | /* mforce : Mode(s) of forced decay */ |
114 | /* look2 */ |
115 | /* lookst */ |
116 | /* meforc : Matrix element of the forced decay */ |
117 | /**************************************************************************/ |
118 | |
119 | |
120 | |
121 | /*========================================================================*/ |
122 | /* COMMON/FRGPAR/PUD,PBARY,SIGQT,PEND,XGEN(8),PSPIN1(8),PMIX1(3,2), */ |
123 | /* & PMIX2(3,2),XGENSS(9) */ |
124 | /*------------------------------------------------------------------------*/ |
125 | typedef struct { |
126 | Float_t pud; |
127 | Float_t pbary; |
128 | Float_t sigqt; |
129 | Float_t pend; |
130 | Float_t xgen[8]; |
131 | Float_t pspin1[8]; |
132 | Float_t pmix1[2][3]; |
133 | Float_t pmix2[2][3]; |
134 | Float_t xgenss[9]; |
135 | Float_t *pmixx1[6]; |
136 | Float_t *pmixx2[6]; |
137 | Float_t *frpar[32]; |
138 | } FrgparCommon; |
139 | |
140 | #define FRGPAR COMMON_BLOCK(FRGPAR, frgpar) |
141 | COMMON_BLOCK_DEF(FrgparCommon,FRGPAR); |
142 | |
143 | /**************************************************************************/ |
144 | /* D E S C R I P T I O N : */ |
145 | /*------------------------------------------------------------------------*/ |
146 | /* Fragmentation parameters : */ |
147 | /* pud : */ |
148 | /* pbary : */ |
149 | /* sigqt : Internal k-subscript-t parameter for jet fragmentation (sigma) */ |
150 | /* pend : */ |
151 | /* xgen : Jet fragmentation, Peterson with epsilon = a(n) / m, n = 4-8 */ |
152 | /* pspin1 : */ |
153 | /* pmix1 : */ |
154 | /* pmix2 : */ |
155 | /* xgenss : Fragmentation of GLSS, UPSS etc with epsilon = a(n)/m-squared */ |
156 | /**************************************************************************/ |
157 | |
158 | |
159 | |
160 | /*========================================================================*/ |
161 | /* COMMON/HCON/ANWWWW(4,4,4),ADWWWW(2,4),AIWWWW(4),HMASS,HGAM,HGAMS(29), */ |
162 | /* & ETAHGG,MATCHH(29),ZSTARS(4,2),IHTYPE,HGAMSS(85,85) */ |
163 | /*------------------------------------------------------------------------*/ |
164 | typedef struct { |
165 | Float_t anwwww[4][4][4]; |
166 | Float_t adwwww[4][2]; |
167 | Float_t aiwwww[4]; |
168 | Float_t hmass; |
169 | Float_t hgam; |
170 | Float_t hgams[29]; |
171 | Float_t etahgg; |
172 | Int_t matchh[29]; |
173 | Float_t zstars[2][4]; |
174 | Int_t ihtype; |
175 | Float_t hgamss[85][85]; |
176 | } HconCommon; |
177 | |
178 | #define HCON COMMON_BLOCK(HCON, hcon) |
179 | COMMON_BLOCK_DEF(HconCommon,HCON); |
180 | |
181 | /**************************************************************************/ |
182 | /* D E S C R I P T I O N : */ |
183 | /*------------------------------------------------------------------------*/ |
184 | /* anwwww : */ |
185 | /* adwwww : */ |
186 | /* aiwwww : */ |
187 | /* hmass : */ |
188 | /* hgam : */ |
189 | /* hgams : */ |
190 | /* etahgg: */ |
191 | /* matchh : */ |
192 | /* zstars : */ |
193 | /* ihtype : MSSM Higgs type, either HL0, HH0 or HA0 */ |
194 | /* hgamss : */ |
195 | /**************************************************************************/ |
196 | |
197 | |
198 | |
199 | /*========================================================================*/ |
200 | /* COMMON/JETLIM/PMIN(MXLIM),PMAX(MXLIM),PTMIN(MXLIM),PTMAX(MXLIM), */ |
201 | /* & YJMIN(MXLIM),YJMAX(MXLIM),PHIMIN(MXLIM),PHIMAX(MXLIM), */ |
202 | /* & XJMIN(MXLIM),XJMAX(MXLIM),THMIN(MXLIM),THMAX(MXLIM), */ |
203 | /* & SETLMJ(12*MXLIM) */ |
204 | /*------------------------------------------------------------------------*/ |
205 | typedef struct { |
206 | static const Int_t mxlim = 8; |
207 | Float_t pmin[mxlim]; |
208 | Float_t pmax[mxlim]; |
209 | Float_t ptmin[mxlim]; |
210 | Float_t ptmax[mxlim]; |
211 | Float_t yjmin[mxlim]; |
212 | Float_t yjmax[mxlim]; |
213 | Float_t phimin[mxlim]; |
214 | Float_t phimax[mxlim]; |
215 | Float_t xjmin[mxlim]; |
216 | Float_t xjmax[mxlim]; |
217 | Float_t thmin[mxlim]; |
218 | Float_t thmax[mxlim]; |
219 | Bool_t setlmj[12*mxlim]; |
220 | } JetlimCommon; |
221 | |
222 | #define JETLIM COMMON_BLOCK(JETLIM, jetlim) |
223 | COMMON_BLOCK_DEF(JetlimCommon,JETLIM); |
224 | |
225 | /**************************************************************************/ |
226 | /* D E S C R I P T I O N : */ |
227 | /*------------------------------------------------------------------------*/ |
228 | /* Changes to mxlim should be echoed in MGLIMS and some of its access */ |
229 | /* routines. */ |
230 | /* pmin, pmax : Momentum limits for jets. */ |
231 | /* ptmin, ptmax : p-subscript-t limits for jets. */ |
232 | /* yjmin, yjmax : Y limits for each jet; not simultaneous to thmin, thmax.*/ |
233 | /* phimin, phimax : Phi limits for jets. */ |
234 | /* xjmin, xjmax : Feynman x limits for jets. */ |
235 | /* thmin, thmax : Theta limits for jets, not simultaneous with yjmin, */ |
236 | /* yjmax. */ |
237 | /* setlmj : */ |
238 | /* yjset, thset : Logical flags internal to the interface. */ |
239 | /**************************************************************************/ |
240 | |
241 | |
242 | |
243 | /*========================================================================*/ |
244 | /* COMMON/JETPAR/P(3),PT(3),YJ(3),PHI(3),XJ(3),TH(3),CTH(3),STH(3), */ |
245 | /* & JETTYP(3),SHAT,THAT,QSQ,X1,X2,PBEAM(2), */ |
246 | /* & QMW,QW,QTW,YW,XW,THW,QTMW,PHIW,SHAT1,THAT1,UHAT1,JWTYP, */ |
247 | /* & INITYP(2),ISIGS,PBEAMS(5) */ |
248 | /*------------------------------------------------------------------------*/ |
249 | typedef struct { |
250 | Float_t p[3]; |
251 | Float_t pt[3]; |
252 | Float_t yj[3]; |
253 | Float_t phi[3]; |
254 | Float_t xj[3]; |
255 | Float_t th[3]; |
256 | Float_t cth[3]; |
257 | Float_t sth[3]; |
258 | Int_t jettyp[3]; |
259 | Float_t shat; |
260 | Float_t that; |
261 | Float_t uhat; |
262 | Float_t qsq; |
263 | Float_t x1; |
264 | Float_t x2; |
265 | Float_t pbeam[2]; |
266 | Float_t qmw; |
267 | Float_t qw; |
268 | Float_t qtw; |
269 | Float_t yw; |
270 | Float_t xw; |
271 | Float_t thw; |
272 | Float_t qtmw; |
273 | Float_t phiw; |
274 | Float_t shat1; |
275 | Float_t that1; |
276 | Float_t uhat1; |
277 | Int_t jwtyp; |
278 | Float_t alfqsq; |
279 | Float_t cthw; |
280 | Float_t sthw; |
281 | Float_t q0w; |
282 | Int_t inityp[2]; |
283 | Int_t isigs; |
284 | Float_t pbeams[5]; |
285 | } JetparCommon; |
286 | |
287 | #define JETPAR COMMON_BLOCK(JETPAR, jetpar) |
288 | COMMON_BLOCK_DEF(JetparCommon,JETPAR); |
289 | |
290 | |
291 | /**************************************************************************/ |
292 | /* D E S C R I P T I O N : */ |
293 | /*------------------------------------------------------------------------*/ |
294 | /* jwtyp : W type, either W+-, Z0 or GM. */ |
295 | /**************************************************************************/ |
296 | |
297 | |
298 | |
299 | /*========================================================================*/ |
300 | /* COMMON/KEYS/IKEY, KEYON, KEYS(MXKEYS) */ |
301 | /*------------------------------------------------------------------------*/ |
302 | |
303 | typedef struct { |
304 | static const Int_t mxkeys = 20; |
305 | Bool_t keys[mxkeys]; |
306 | Bool_t keyon; |
307 | Int_t ikey; |
308 | Char_t *reac; |
309 | } KeysCommon; |
310 | |
311 | #define KEYS COMMON_BLOCK(KEYS, keys) |
312 | COMMON_BLOCK_DEF(KeysCommon,KEYS); |
313 | |
314 | /**************************************************************************/ |
315 | /* D E S C R I P T I O N : */ |
316 | /*------------------------------------------------------------------------*/ |
317 | /* keys : Flag for process type. */ |
318 | /**************************************************************************/ |
319 | |
320 | |
321 | |
322 | /*========================================================================*/ |
323 | /* COMMON/KKGRAV/NEXTRAD,MASSD,KKGSD,SURFD,UVCUT */ |
324 | /*------------------------------------------------------------------------*/ |
325 | |
326 | typedef struct { |
327 | Int_t nextrad; |
328 | Float_t massd; |
329 | Float_t kkgsd; |
330 | Float_t surfd; |
331 | Bool_t uvcut; |
332 | } KkgravCommon; |
333 | |
334 | #define KKGRAV COMMON_BLOCK(KKGRAV, kkgrav) |
335 | COMMON_BLOCK_DEF(KkgravCommon,KKGRAV); |
336 | |
337 | /**************************************************************************/ |
338 | /* D E S C R I P T I O N : */ |
339 | /*------------------------------------------------------------------------*/ |
340 | /* EXTRADIM process parameters : */ |
341 | /* nextrad : delta */ |
342 | /* massd : M-subscript-D */ |
343 | /* uvcut : Logical flag */ |
344 | /* */ |
345 | /* kkgsd : */ |
346 | /* surfd : */ |
347 | /**************************************************************************/ |
348 | |
349 | |
350 | |
351 | /*========================================================================*/ |
352 | /* COMMON/MBGEN/POMWT(LIMPOM),POMGEN(LIMPOM),MNPOM,MXPOM,PDIFFR,NPOM, */ |
353 | /* & XBARY(2),DXBARY(2),XPOM(LIMPOM,2) */ |
354 | /*------------------------------------------------------------------------*/ |
355 | typedef struct { |
356 | static const Int_t limpom = 20; |
357 | Float_t pomwt[limpom]; |
358 | Float_t pomgen[limpom]; |
359 | Int_t mnpom; |
360 | Int_t mxpom; |
361 | Float_t pdiffr; |
362 | Int_t npom; |
363 | Float_t xbary[2]; |
364 | Float_t dxbary[2]; |
365 | Float_t xpom[2][limpom]; |
366 | } MbgenCommon; |
367 | |
368 | #define MBGEN COMMON_BLOCK(MBGEN, mbgen) |
369 | COMMON_BLOCK_DEF(MbgenCommon,MBGEN); |
370 | |
371 | /**************************************************************************/ |
372 | /* D E S C R I P T I O N : */ |
373 | /*------------------------------------------------------------------------*/ |
374 | /* pomwt */ |
375 | /* pomgen */ |
376 | /* mnpom, mxpom : Min and max number of cut pomerons. */ |
377 | /* pdiffr */ |
378 | /* npom */ |
379 | /* xbary */ |
380 | /* dxbary */ |
381 | /* xpom */ |
382 | /**************************************************************************/ |
383 | |
384 | |
385 | |
386 | /*========================================================================*/ |
387 | /* COMMON/MGLIMS/EHMGMN,EHMGMX,YHMGMN,YHMGMX,AMIJMN(MXLIM,MXLIM), */ |
388 | /* & AMIJMX(MXLIM,MXLIM),FIXMIJ(MXLIM,MXLIM) */ |
389 | /*------------------------------------------------------------------------*/ |
390 | typedef struct { |
391 | static const Int_t mxlim = 8; |
392 | Float_t ehmgmn; |
393 | Float_t ehmgmx; |
394 | Float_t yhmgmn; |
395 | Float_t yhmgmx; |
396 | Float_t amijmn[mxlim][mxlim]; |
397 | Float_t amijmx[mxlim][mxlim]; |
398 | Bool_t fixmij[mxlim][mxlim]; |
399 | } MglimsCommon; |
400 | |
401 | #define MGLIMS COMMON_BLOCK(MGLIMS, mglims) |
402 | COMMON_BLOCK_DEF(MglimsCommon,MGLIMS); |
403 | |
404 | /**************************************************************************/ |
405 | /* D E S C R I P T I O N : */ |
406 | /*------------------------------------------------------------------------*/ |
407 | /* Changes in mxlim should be echoed in JETLIM and in access routines for */ |
408 | /* amijmn and amijmx. */ |
409 | /* Limits for MadGraph multiparton processes */ |
410 | /* ehmgmn, ehmgmx : Mass range */ |
411 | /* yhmgmn, yhmgmx : */ |
412 | /* amijmn, amijmx : Multimet mass limits */ |
413 | /* fixmij : */ |
414 | /**************************************************************************/ |
415 | |
416 | |
417 | |
418 | /*========================================================================*/ |
419 | /* COMMON/NODCAY/NODCAY,NOETA,NOPI0,NONUNU,NOEVOL,NOHADR,NOGRAV */ |
420 | /*------------------------------------------------------------------------*/ |
421 | typedef struct { |
422 | Bool_t nodcay; |
423 | Bool_t noeta; |
424 | Bool_t nopi0; |
425 | Bool_t nonunu; |
426 | Bool_t noevol; |
427 | Bool_t nohadr; |
428 | Bool_t nograv; |
429 | } NodcayCommon; |
430 | |
431 | #define NODCAY COMMON_BLOCK(NODCAY, nodcay) |
432 | COMMON_BLOCK_DEF(NodcayCommon,NODCAY); |
433 | |
434 | /**************************************************************************/ |
435 | /* D E S C R I P T I O N : */ |
436 | /*------------------------------------------------------------------------*/ |
437 | /* Booleans used to forbid decay channels. */ |
438 | /* nodcay : Suppress all decays */ |
439 | /* noeta : Suppress eta decays */ |
440 | /* nopi0 : Suppress pi-zero decays */ |
441 | /* nonunu : Suppess Z-zero neutrino decays */ |
442 | /* noevol : Suppress QCD evolution and hadronisation */ |
443 | /* nohadr : Suppress hadronisation of jets and beam jets */ |
444 | /* nograv : Suppress gravitino decays in GMSB model */ |
445 | /**************************************************************************/ |
446 | |
447 | |
448 | |
449 | /*========================================================================*/ |
450 | /* COMMON/PARTCL/NPTCL,PPTCL(5, MXPTCL),IORIG(MXPTCL),IDENT(MXPTCL), */ |
451 | /* & IDCAY(MXPTCL) */ |
452 | /*------------------------------------------------------------------------*/ |
453 | typedef struct { |
454 | static const Int_t mxptcl = 4000; |
455 | static const Int_t ipack = 10000; |
456 | Int_t nptcl; |
457 | Float_t pptcl[mxptcl][5]; |
458 | Int_t iorig[mxptcl]; |
459 | Int_t ident[mxptcl]; |
460 | Int_t idcay[mxptcl]; |
461 | } PartclCommon; |
462 | |
463 | #define PARTCL COMMON_BLOCK(PARTCL, partcl) |
464 | COMMON_BLOCK_DEF(PartclCommon,PARTCL); |
465 | |
466 | /**************************************************************************/ |
467 | /* D E S C R I P T I O N : */ |
468 | /*------------------------------------------------------------------------*/ |
469 | /* Stores HEPEVT data. */ |
470 | /* nptcl : Number of particles. */ |
471 | /* pptcl : x, y, z, and 0 momentum of particles, and mass. */ |
472 | /* iorig : origin of particles. */ |
473 | /* ident : ID code. */ |
474 | /* idcay : ID of decay products. */ |
475 | /* mxptcl : Max number of particles. */ |
476 | /* ipack : Packing integer, used in decoding idcay. */ |
477 | /**************************************************************************/ |
478 | |
479 | |
480 | |
481 | /*========================================================================*/ |
482 | /* COMMON/PRIMAR/NJET,SCM,HALFE,ECM,IDIN(2),NEVENT,NTRIES,NSIGMA */ |
483 | /*------------------------------------------------------------------------*/ |
484 | typedef struct { |
485 | Int_t njet; |
486 | Float_t scm; |
487 | Float_t halfe; |
488 | Float_t ecm; |
489 | Int_t idin[2]; |
490 | Int_t nevent; |
491 | Int_t ntries; |
492 | Int_t nsigma; |
493 | } PrimarCommon; |
494 | |
495 | #define PRIMAR COMMON_BLOCK(PRIMAR, primar) |
496 | COMMON_BLOCK_DEF(PrimarCommon,PRIMAR); |
497 | |
498 | /**************************************************************************/ |
499 | /* D E S C R I P T I O N : */ |
500 | /*------------------------------------------------------------------------*/ |
501 | /* njet : */ |
502 | /* scm : Square of the center-of-mass energy. */ |
503 | /* halfe : Half the center-of-mass energy. */ |
504 | /* ecm : Center-of-mass energy. */ |
505 | /* idin : Beam types 1 and 2. */ |
506 | /* nevent : Number of events to build. */ |
507 | /* ntries : Maximum number of tries to find a good event. */ |
508 | /* nsigma : Number of unevolved events for SIGF calculation. */ |
509 | /**************************************************************************/ |
510 | |
511 | |
512 | |
513 | /*========================================================================*/ |
514 | /* COMMON/PRTOUT/NEVPRT,NJUMP */ |
515 | /*------------------------------------------------------------------------*/ |
516 | typedef struct { |
517 | Int_t nevprt; |
518 | Int_t njump; |
519 | } PrtoutCommon; |
520 | |
521 | #define PRTOUT COMMON_BLOCK(PRTOUT, prtout) |
522 | COMMON_BLOCK_DEF(PrtoutCommon,PRTOUT); |
523 | |
524 | /**************************************************************************/ |
525 | /* D E S C R I P T I O N : */ |
526 | /*------------------------------------------------------------------------*/ |
527 | /* nevprt : Number of events to print */ |
528 | /* njump : Print every njump events. */ |
529 | /**************************************************************************/ |
530 | |
531 | |
532 | |
533 | /*========================================================================*/ |
534 | /* COMMON/QCDPAR/ALAM,ALAM2,CUTJET,ISTRUC */ |
535 | /*------------------------------------------------------------------------*/ |
536 | typedef struct { |
537 | Float_t alam; |
538 | Float_t alam2; |
539 | Float_t cutjet; |
540 | Int_t istruc; |
541 | } QcdparCommon; |
542 | |
543 | #define QCDPAR COMMON_BLOCK(QCDPAR, qcdpar) |
544 | COMMON_BLOCK_DEF(QcdparCommon,QCDPAR); |
545 | |
546 | /**************************************************************************/ |
547 | /* D E S C R I P T I O N : */ |
548 | /*------------------------------------------------------------------------*/ |
549 | /* alam : QCD scale (LAMBDA) */ |
550 | /* alam2 : Square of alam */ |
551 | /* cutjet : Cutoff mass for QCD jet evolution (mu-subscript-c) */ |
552 | /* istruc : Structure functions CTEQ3L, CTEQ2L, EHLQ or DO. */ |
553 | /**************************************************************************/ |
554 | |
555 | |
556 | |
557 | /*========================================================================*/ |
558 | /* COMMON/QLMASS/AMLEP(100),NQLEP,NMES,NBARY */ |
559 | /*------------------------------------------------------------------------*/ |
560 | typedef struct { |
561 | static const Int_t nqlep = 61; |
562 | static const Int_t nmes = 2; |
563 | static const Int_t nbary = 2; |
564 | Float_t amlep[100]; |
565 | } QlmassCommon; |
566 | |
567 | #define QLMASS COMMON_BLOCK(QLMASS, qlmass) |
568 | COMMON_BLOCK_DEF(QlmassCommon,QLMASS); |
569 | |
570 | /**************************************************************************/ |
571 | /* D E S C R I P T I O N : */ |
572 | /*------------------------------------------------------------------------*/ |
573 | /* amlep : (C++ indices, Fortran is one greater) */ |
574 | /* [5-7] : t, y and x quark mass (m-subscript-t, -y, -x) */ |
575 | /* [21-26] : Masses of u, d, s, c, b and t, all -tilde */ |
576 | /* [29] : g-tilde mass */ |
577 | /* [30] : gamma-tilde mass */ |
578 | /* [31-36] : Masses for nu-e, e, nu-mu, mu, nu-tau and tau, all -tilde */ |
579 | /* [39] : W-plus-tilde mass */ |
580 | /* [40] : Z-zero-tilde mass */ |
581 | /* [63-71] : Higgs meson masses, charges 0,0,0,0,0,1,1,2,2 */ |
582 | /**************************************************************************/ |
583 | |
584 | |
585 | |
586 | /*========================================================================*/ |
587 | /* COMMON/SEED/XSEED */ |
588 | /*------------------------------------------------------------------------*/ |
589 | typedef struct { |
590 | Char_t xseed[24]; |
591 | } SeedCommon; |
592 | |
593 | #define SEED COMMON_BLOCK(SEED, seed) |
594 | COMMON_BLOCK_DEF(SeedCommon,SEED); |
595 | |
596 | /**************************************************************************/ |
597 | /* D E S C R I P T I O N : */ |
598 | /*------------------------------------------------------------------------*/ |
599 | /* Random number seed */ |
600 | /**************************************************************************/ |
601 | |
602 | |
603 | |
604 | /*========================================================================*/ |
605 | /* COMMON/SUGNU/XNUSUG(18) */ |
606 | /*------------------------------------------------------------------------*/ |
607 | typedef struct { |
608 | Float_t xnusug[18]; |
609 | } SugnuCommon; |
610 | |
611 | #define SUGNU COMMON_BLOCK(SUGNU, sugnu) |
612 | COMMON_BLOCK_DEF(SugnuCommon,SUGNU); |
613 | |
614 | /**************************************************************************/ |
615 | /* D E S C R I P T I O N : */ |
616 | /*------------------------------------------------------------------------*/ |
617 | /* Non-universal SUGRA terms : (C++ indexes again) */ |
618 | /* xnusug[0-2] : Gaugino masses */ |
619 | /* [3-5] : A terms (A-subscript-tau, -b, -t) */ |
620 | /* [6-7] : Higgs masses (M-subscript-H-subscript-d, -u) */ |
621 | /* [8-12] : 1st / 2nd generation masses (M-subscript-eR, -eL, -dR, */ |
622 | /* -uR, -uL) */ |
623 | /* [13-17] : 3rd generation masses (M-subscript-tau R, -tau L, -bR, */ |
624 | /* -tR, -tL) */ |
625 | /**************************************************************************/ |
626 | |
627 | |
628 | |
629 | /*========================================================================*/ |
630 | /* COMMON/TCPAR/TCMRHO,TCGRHO */ |
631 | /*------------------------------------------------------------------------*/ |
632 | typedef struct { |
633 | Float_t tcmrho; |
634 | Float_t tcgrho; |
635 | } TcparCommon; |
636 | |
637 | #define TCPAR COMMON_BLOCK(TCPAR, tcpar) |
638 | COMMON_BLOCK_DEF(TcparCommon,TCPAR); |
639 | |
640 | /**************************************************************************/ |
641 | /* D E S C R I P T I O N : */ |
642 | /*------------------------------------------------------------------------*/ |
643 | /* tcmrho : Technicolor mass */ |
644 | /* tcgrho : Technicolor width */ |
645 | /**************************************************************************/ |
646 | |
647 | |
648 | |
649 | /*========================================================================*/ |
650 | /* COMMON/TYPES/LOC(100),NTYP,NJTTYP,NWWTYP(2),NWMODE(3) */ |
651 | /*------------------------------------------------------------------------*/ |
652 | typedef struct { |
653 | static const Int_t mxtype = 8; |
654 | Int_t loc[100]; |
655 | Int_t ntyp; |
656 | Int_t njttyp[mxtype]; |
657 | Int_t nwwtyp[2]; |
658 | Int_t nwmode[3]; |
659 | } TypesCommon; |
660 | |
661 | #define TYPES COMMON_BLOCK(TYPES, types) |
662 | COMMON_BLOCK_DEF(TypesCommon,TYPES); |
663 | |
664 | /**************************************************************************/ |
665 | /* D E S C R I P T I O N : */ |
666 | /*------------------------------------------------------------------------*/ |
667 | /* Note : Any change in mxtype should be copied in xtypes. */ |
668 | /* loc : */ |
669 | /* ntyp : */ |
670 | /* njttyp : Number of jet types in jet [index]. */ |
671 | /* nwwtyp : */ |
672 | /* nwmode : */ |
673 | /**************************************************************************/ |
674 | |
675 | |
676 | |
677 | /*========================================================================*/ |
678 | /* COMMON/XMSSM/GOMSSM,GOSUG,GOGMSB,GOAMSB,AL3UNI, */ |
679 | /* & XGLSS,XMUSS,XHASS,XTBSS, */ |
680 | /* & XQ1SS,XDRSS,XURSS,XL1SS,XERSS, */ |
681 | /* & XQ2SS,XSRSS,XCRSS,XL2SS,XMRSS, */ |
682 | /* & XQ3SS,XBRSS,XTRSS,XL3SS,XTARSS,XATSS,XABSS,XATASS, */ |
683 | /* & XM1SS,XM2SS,XM0SU,XMHSU,XA0SU,XTGBSU,XSMUSU, */ |
684 | /* & XLAMGM,XMESGM,XN5GM,XCMGV,XMGVTO, */ |
685 | /* & XRSLGM,XDHDGM,XDHUGM,XDYGM,XN51GM,XN52GM,XN53GM, */ |
686 | /* & XMN3NR,XMAJNR,XANSS,XNRSS,XSBCS */ |
687 | /*------------------------------------------------------------------------*/ |
688 | |
689 | typedef struct { |
690 | Bool_t gomssm; |
691 | Bool_t gosug; |
692 | Bool_t gogmsb; |
693 | Bool_t goamsb; |
694 | Bool_t al3uni; |
695 | Float_t xglss; |
696 | Float_t xmuss; |
697 | Float_t xhass; |
698 | Float_t xtbss; |
699 | Float_t xq1ss; |
700 | Float_t xdrss; |
701 | Float_t xurss; |
702 | Float_t xl1ss; |
703 | Float_t xerss; |
704 | Float_t xq2ss; |
705 | Float_t xsrss; |
706 | Float_t xcrss; |
707 | Float_t xl2ss; |
708 | Float_t xmrss; |
709 | Float_t xq3ss; |
710 | Float_t xbrss; |
711 | Float_t xtrss; |
712 | Float_t xl3ss; |
713 | Float_t xtarss; |
714 | Float_t xatss; |
715 | Float_t xabss; |
716 | Float_t xatass; |
717 | Float_t xm1ss; |
718 | Float_t xm2ss; |
719 | Float_t xm0su; |
720 | Float_t xmhsu; |
721 | Float_t xa0su; |
722 | Float_t xtgbsu; |
723 | Float_t xsmusu; |
724 | Float_t xlamgm; |
725 | Float_t xmesgm; |
726 | Float_t xn5gm; |
727 | Float_t xcmgv; |
728 | Float_t mgvto; |
729 | Float_t xrslgm; |
730 | Float_t xdhdgm; |
731 | Float_t xdhugm; |
732 | Float_t xdygm; |
733 | Float_t xn51gm; |
734 | Float_t xn52gm; |
735 | Float_t xn53gm; |
736 | Float_t xmn3nr; |
737 | Float_t xmajnr; |
738 | Float_t xanss; |
739 | Float_t xnrss; |
740 | Float_t xsbcs; |
741 | |
742 | } XmssmCommon; |
743 | |
744 | #define XMSSM COMMON_BLOCK(XMSSM, xmssm) |
745 | COMMON_BLOCK_DEF(XmssmCommon,XMSSM); |
746 | |
747 | /**************************************************************************/ |
748 | /* D E S C R I P T I O N : */ |
749 | /*------------------------------------------------------------------------*/ |
750 | /* Keyword flags : */ |
751 | /* gomssm : True if any of the MSSM* keywords or SUGRA, GMSB or AMSB have */ |
752 | /* been used. */ |
753 | /* gosug : True if SUGRA has been used. */ |
754 | /* gogmsb : True if GMSB has been used. */ |
755 | /* goamsb : True if AMSB has been used. */ |
756 | /* al3uni : True if AL3UNI has been used. */ |
757 | /* */ |
758 | /* MSSM parameters : */ |
759 | /* xglss : Gluino mass */ |
760 | /* xmuss : mu */ |
761 | /* xhass : A mass */ |
762 | /* xtbss : tan beta */ |
763 | /* */ |
764 | /* MSSM first generation : */ |
765 | /* xq1ss : q-subscript-1 mass */ |
766 | /* xdrss : d-subscript-r mass */ |
767 | /* xurss : u-subscript-r mass */ |
768 | /* xl1ss : l-subscript-1 mass */ |
769 | /* xerss : e-subscript-1 mass */ |
770 | /* */ |
771 | /* MSSM second generation : */ |
772 | /* xq2ss : q-subscript-2 mass */ |
773 | /* xsrss : s-subscript-r mass */ |
774 | /* xcrss : c-subscript-r mass */ |
775 | /* xl2ss : l-subscript-2 mass */ |
776 | /* xmrss : mu-subscript-r mass */ |
777 | /* */ |
778 | /* MSSM third generation : */ |
779 | /* xq3ss : q-subscript-3 mass */ |
780 | /* xbrss : b-subscript-r mass */ |
781 | /* xtrss : t-subscript-r mass */ |
782 | /* xl3ss : l-subscript-3 mass */ |
783 | /* xtarss : tau-subscript-r mass */ |
784 | /* xatss, xabss, xatass : A-subscript-t, -b, -tau mixings. */ |
785 | /* */ |
786 | /* MSSM gaugino masses */ |
787 | /* xm1ss, xm2ss : M-subscript-1, -2 */ |
788 | /* */ |
789 | /* Anomaly-mediated SUSY breaking / Minimal supergravity parameters : */ |
790 | /* xm0su : scalar mass (m-subscript-0) */ |
791 | /* xmhsu : gravitino mass (m-subscript-three halves) */ |
792 | /* xa0su : trilinear breaking term (A-subscript-0) */ |
793 | /* xtgbsu : VEV ratio (tan beta) */ |
794 | /* xsmusu : sign (sgn mu) */ |
795 | /* */ |
796 | /* GMSB messinger SUSY breaking */ |
797 | /* xlamgm : mass (LAMBDA-subscript-m) */ |
798 | /* xmesgm : */ |
799 | /* xn5gm : number of 5 + 5-bar (M-subscript-m) */ |
800 | /* xcmgv : gravitino scale (C-subscript-gr) */ |
801 | /* */ |
802 | /* Non-minimal GMSB parameters */ |
803 | /* xrslgm : gaugino mass multiplier (R-slash) */ |
804 | /* xdhdgm : Higgs mass shift (delta M-squared-subscript-Hd) */ |
805 | /* xdhugm : Higgs mass shift (delta M-squared-subscript-Hu) */ |
806 | /* xdygm : D-term mass-squared (D-subscript-Y of M) */ |
807 | /* xn51gm, xn52gm, xn53gm : independent gauge group messengers */ |
808 | /* (N-subscript-5-subscript-1, -2, -3) */ |
809 | /* SUGRA see-saw nu-effect */ |
810 | /* xmn3nr : nu-mass (m-subscript-nu-subscript-tau) */ |
811 | /* xmajnr : int. scale (M-subscript-N) */ |
812 | /* xanss : GUT scale (A-subscript-n) */ |
813 | /* xnrss : nu SSB terms (m-subscript-nu-tilde-subscript-R) */ |
814 | /* */ |
815 | /* xsbcs */ |
816 | /* */ |
817 | /* Gravitino mass */ |
818 | /* xmgvto : gravitino mass (M-subscript-gravitino) */ |
819 | /**************************************************************************/ |
820 | |
821 | |
822 | |
823 | /*========================================================================*/ |
824 | /* COMMON/XTYPES/PARTYP(40),TITLE(10),JETYP(30,MXTYPE),WWTYP(30,2), */ |
825 | /* & WMODES(30,3) */ |
826 | /*------------------------------------------------------------------------*/ |
827 | typedef struct { |
828 | static const Int_t mxtype = 8; |
829 | Char_t* partyp[40]; |
830 | Char_t* title; |
831 | Char_t* jetyp[mxtype][30]; |
832 | Char_t* wwtyp[2][30]; |
833 | Char_t* wmodes[3][30]; |
834 | } XtypesCommon; |
835 | |
836 | #define XTYPES COMMON_BLOCK(XTYPES, xtypes) |
837 | COMMON_BLOCK_DEF(XtypesCommon,XTYPES); |
838 | |
839 | /**************************************************************************/ |
840 | /* D E S C R I P T I O N : */ |
841 | /*------------------------------------------------------------------------*/ |
842 | /* Note : Any change in mxtype should be copied in types. */ |
843 | /* partyp */ |
844 | /* title */ |
845 | /* jetyp */ |
846 | /* wwtyp : Decay modes for WPAIR */ |
847 | /* wmodes : Decay modes for weak force carriers */ |
848 | /**************************************************************************/ |
849 | |
850 | |
851 | |
852 | /*========================================================================*/ |
853 | /* COMMON/WCON/SIN2W,WMASS(4),WGAM(4),AQ(12,4),BQ(12,4),COUT(4), */ |
854 | /* & MATCH(25,4),WCBR(25,4),CUTOFF,CUTPOW,TBRWW(4,2), */ |
855 | /* & RBRWW(12,4,2),EZ,AQDP(12,4),BQDP(12,4),EZDP,WFUDGE */ |
856 | /*------------------------------------------------------------------------*/ |
857 | typedef struct { |
858 | |
859 | Float_t sin2w; |
860 | Float_t wmass[4]; |
861 | Float_t wgam[4]; |
862 | Float_t aq[4][12]; |
863 | Float_t bq[4][12]; |
864 | Float_t cout[4]; |
865 | Int_t match; |
866 | Float_t wcbr[4][25]; |
867 | Float_t cutoff; |
868 | Float_t cutpow; |
869 | Float_t tbrww[2][4]; |
870 | Float_t rbrww[2][4][12]; |
871 | Float_t ez; |
872 | Float_t aqdp[4][12]; |
873 | Float_t bqdp[4][12]; |
874 | Float_t ezdp; |
875 | Float_t wfudge; |
876 | } WconCommon; |
877 | |
878 | #define WCON COMMON_BLOCK(WCON, wcon) |
879 | COMMON_BLOCK_DEF(WconCommon, WCON); |
880 | |
881 | /**************************************************************************/ |
882 | /* D E S C R I P T I O N : */ |
883 | /*------------------------------------------------------------------------*/ |
884 | /* sin2w : Weinberg angle (sin-squared(theta-subscript-W)) */ |
885 | /* wmass : W and Z masses */ |
886 | /* wgam : */ |
887 | /* aq : */ |
888 | /* bq : */ |
889 | /* cout : */ |
890 | /* match */ |
891 | /* wcbr */ |
892 | /* cutoff, cutpow : mu-square and nu, respectively, in formula */ |
893 | /* cutoff q*t-square = mu-square*Q-power-nu */ |
894 | /* for DRELLYAN events. */ |
895 | /* tbrww */ |
896 | /* rbrww */ |
897 | /* ez */ |
898 | /* aqdp */ |
899 | /* bqdp */ |
900 | /* ezdp */ |
901 | /* wfudge : Fudge factor for DRELLYAN evolution scale */ |
902 | /**************************************************************************/ |
903 | } |
904 | |
905 | #endif |
906 | |
907 | // Endfile. |
908 | |
909 | |
910 | |
911 | |
912 | |
913 | |
914 | |
915 | |