/* @(#)root/pythia6:$Name: $:$Id: TPythia6Calls.h,v 1.3 2002/11/16 17:13:50 brun Exp $ */ /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TPythia6Calls #define ROOT_TPythia6Calls // // converted with i2h by P.Murat // //------------------------------------------------------------------------------ //...This file contains a complete listing of all PYTHIA //...commonblocks, and additionally some recommended other //...declarations. You may copy this to the top of your //...mina program and then eliminate unnecessary parts. // Jun 19 1998 P.Murat(CDF): add implicit for integers //----------------------------------------------------------------- //...All real arithmetic in double precision. // IMPLICIT DOUBLE PRECISION(A-H, O-Z) // implicit integer (i-n) //...Three Pythia functions return integers, so need declaring. //...Parameter statement to help give large particle numbers //...(left- and righthanded SUSY, excited fermions). //...Commonblocks. //...The event record. //...Parameters. //...Particle properties + some flavour parameters. //...Decay information. //...Particle names //...Random number generator information. //...Selection of hard scattering subprocesses. //...Parameters. //...Internal variables. //...Process information. //...Parton distributions and cross sections. //...Resonance width and secondary decay treatment. //...Generation and cross section statistics. //...Process names. //...Total cross sections. //...Photon parton distributions: total and valence only. //...Setting up user-defined processes. //...Supersymmetry parameters. //...Supersymmetry mixing matrices. //...Parameters for Gauss integration of supersymmetric widths. //...Histogram information. //------------------------------------------------------------------------------ int const KSUSY1 = 1000000; int const KSUSY2 = 2000000; int const KEXCIT = 4000000; int const KNDCAY = 8000; //should be 4000 for pythia61 struct Pyjets_t { int N; int NPAD; int K[5][4000]; double P[5][4000]; double V[5][4000]; }; struct Pydat1_t { int MSTU[200]; double PARU[200]; int MSTJ[200]; double PARJ[200]; }; struct Pydat2_t { int KCHG[4][500]; double PMAS[4][500]; double PARF[2000]; double VCKM[4][4]; }; struct Pydat3_t { int MDCY[3][500]; int MDME[2][KNDCAY]; double BRAT[KNDCAY]; int KFDP[5][KNDCAY]; }; struct Pydat4_t { char CHAF[2][500][16]; // here I needed manual intervention }; struct Pydatr_t { int MRPY[6]; double RRPY[100]; }; struct Pysubs_t { int MSEL; int MSELPD; int MSUB[500]; int KFIN[81][2]; // double CKIN[200]; }; struct Pypars_t { int MSTP[200]; double PARP[200]; int MSTI[200]; double PARI[200]; }; struct Pyint1_t { int MINT[400]; double VINT[400]; }; struct Pyint2_t { int ISET[500]; int KFPR[2][500]; double COEF[20][500]; int ICOL[2][4][40]; }; struct Pyint3_t { double XSFX[81][2]; // int ISIG[3][1000]; double SIGH[1000]; }; struct Pyint4_t { int MWID[500]; double WIDS[5][500]; }; struct Pyint5_t { int NGENPD; int NGEN[3][501]; double XSEC[3][501]; }; struct Pyint6_t { char PROC[501][28]; }; struct Pyint7_t { double SIGT[6][7][7]; }; struct Pyint8_t { double XPVMD[13]; double XPANL[13]; double XPANH[13]; double XPBEH[13]; double XPDIR[13]; }; struct Pyint9_t { double VXPVMD[13]; double VXPANL[13]; double VXPANH[13]; double VXPDGM[13]; }; struct Pyuppr_t { int NUP; int KUP[7][20]; int NFUP; int IFUP[2][10]; double PUP[5][20]; double Q2UP[11]; }; struct Pymssm_t { int IMSS[100]; double RMSS[100]; }; struct Pyssmt_t { double ZMIX[4][4]; double UMIX[2][2]; double VMIX[2][2]; double SMZ[4]; double SMW[2]; double SFMIX[4][16]; }; struct Pyints_t { double XXM[20]; }; struct Pybins_t { int IHIST[4]; int INDX[1000]; double BIN[20000]; }; #endif