/** \file def.h - Project: SOFTSUSY - Author: Ben Allanach - Manual: hep-ph/0104145, Comp. Phys. Comm. 143 (2002) 305 - Webpage: http://hepforge.cedar.ac.uk/softsusy/ \brief switches (options) and parameters such as default fermion masses, required accuracy etc */ #ifndef DEF_H #define DEF_H #include namespace softsusy{ /// uncomment if you want to use looptools (slower) rather than SOFTSUSY's /// defined loop functions: good for testing /// #define USE_LOOPTOOLS /// uncomment if you want checking of vector/matrices bounds: slows code /// down. It also now checks over/underflows in matrix multiplication etc /// #define ARRAY_BOUNDS_CHECKING /// Set to true (default) if you want to include 2-loop SM contributions to /// electroweak gauge coupling threshold effects // extern bool twoLEW; extern bool NMSSMTools; extern bool SoftHiggsOut; /// Set to number of loops to use for calculation of Higgs mass /// (currently up to 3 with Himalaya; the default is 2) extern int numHiggsMassLoops; /// Set to number of loops to use for REWSB condition up to the default of 2 extern int numRewsbLoops; const double EPSTOL = 1.0e-11; ///< underflow accuracy const double PI = atan(1.0) * 4.0; ///< or 3.141592653589793 longhand; const double root2 = sqrt(2.0); ///< used to flag diabolical problems const double numberOfTheBeast = 6.66e66; extern double GMU; ///< Fermi constant extern double MZ; ///< Z boson mass /// LEPEWWG central value 14/06/06. Is just used for intialisation etc const double MW = 80.404; /// particle data book 2004 central value. Is just used for intialisation etc const double MZCENT = 91.1876; /// variable for level of output and amount of quark: 0-3, higher numbers /// giving more diagnostics. Set by user in file "massIn" extern int PRINTOUT; /// overall accuracy required extern double TOLERANCE; /// For RPV: do you want to fix the RPV SUSY couplings at MSUSY? extern bool susyRpvBCatMSUSY; /// Again, for RPV: do you want old school (SLHA-1 like) output? extern bool forceSlha1; /// For flavour violation: records which SCKM trilinears have been set in /// SLHA2 extern bool slha2setTrilinear[]; /// Flag which can be set to switch on producing spectrum output even for /// theoretically ruled out regions of parameter space extern bool printRuledOutSpectra; /// If =0 (default), sets tachyonic mA=0, otherwise resets mA=sqrt(|mA|^2) extern bool mAFlag; /// A handy global variable for random number generator extern long idummySave; /// minimum branching ratio that will get printed out extern double minBR; /// If false, don't calculate the three-body decays extern bool threeBodyDecays; /// If true, output partial widths of decays in SLHA comments extern bool outputPartialWidths; /// If true, calculate decays extern bool calcDecays; /// Allow users to input mh, mA0, mHp, mH0 pole masses from the outset, /// perhaps from eg another program. SOFTSUSY uses its own calculation of /// Higgs couplings and mixing, but the input pole masses in eg decay /// calculations. Initially, we have hacked this in with the following /// global variables. Ideally though, they would be incorporated into /// SOFTSUSY variables. extern bool inputMhPole, inputMA0Pole, inputMH0Pole, inputMHpmPole; /// extern values for those quantities extern double fixMhPole, fixMA0Pole, fixMH0Pole, fixMHpmPole; /// Includes the evaluation of leading two-loop thresholds corrections /// to the strong coupling constant and to the third family of fermion masses extern bool USE_TWO_LOOP_GAUGE_YUKAWA; /// just implements decoupling procedure "consistently" for /// the case of b-quark mass. It requires the external momentum to be zero. /// However, the difference between the p^2 = 0 and p^2 = mb^2 cases /// is expected to be of O((mb/MSUSY)^2), which we can formally neglect. extern bool MB_DECOUPLING; enum { ENABLE_TWO_LOOP_MT_AS = 0x1, ENABLE_TWO_LOOP_AS_AS_YUK = 0x2, ENABLE_TWO_LOOP_MB_AS = 0x4, ENABLE_TWO_LOOP_MB_YUK = 0x8, ENABLE_TWO_LOOP_MTAU_YUK = 0x10 }; /// Various two-loop thresholds, eg 2-loop QCD corrections to m_gluino extern bool USE_TWO_LOOP_SPARTICLE_MASS; /// If = 0, no expansion for gluino. If = 1, expand around gluino and squark /// pole masses. If = 2, expand only around gluino pole mass rather than the /// tree-level mass and iterate. 1 and 2 are a little slower. extern int expandAroundGluinoPole; /// Quick start bool to trap svev setting rather than xiS setting extern bool setsVevEWSB; } #endif