]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TIsajet/Icommon.h
Changes related to the initialization of random numbers generators. Now one can use...
[u/mrichter/AliRoot.git] / TIsajet / Icommon.h
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