void recordphysics( ofstream& outputfile, MssmSoftsusy& m, 
		    double M_moduli, double M_gauge, double M_mess, 
		    double tanb, 
		    double btosgamma, double muong2, double bsmumu, double oh2  ) 
{
  sPhysical p = m.displayPhys(); 

  outputfile << M_moduli 
	     << " " << M_gauge 
	     << " " << M_mess
	     << " " << tanb ; 

  outputfile << " " << p.mhiggs(1)
	     << " " << p.mhiggs(2)
	     << " " << p.mhiggs(3)
	     << " " << p.mhiggs(4) 
	     << " " << p.msnu(1) 
	     << " " << p.msnu(2)
	     << " " << p.msnu(3)
	     << " " << p.mch(1)
	     << " " << p.mch(2)
	     << " " << p.mneut(1)
	     << " " << p.mneut(2)
	     << " " << p.mneut(3)
	     << " " << p.mneut(4)
	     << " " << p.mGluino
	     << " " << p.mu(1,1)
	     << " " << p.mu(2,1)
	     << " " << p.mu(1,2)
	     << " " << p.mu(2,2)
	     << " " << p.mu(1,3)
	     << " " << p.mu(2,3)
	     << " " << p.md(1,1)
	     << " " << p.md(2,1)
	     << " " << p.md(1,2)
	     << " " << p.md(2,2)
	     << " " << p.md(1,3)
	     << " " << p.md(2,3)
	     << " " << p.me(1,1)
	     << " " << p.me(2,1)
	     << " " << p.me(1,2)
	     << " " << p.me(2,2)
	     << " " << p.me(1,3)
	     << " " << p.me(2,3) ; 

  outputfile << " " << btosgamma
	     << " " << muong2 
	     << " " << bsmumu
	     << " " << oh2 
	     << " " << m.displayProblem().test()
	     << endl ; 

}
bool checktheresult( MssmSoftsusy& m ) 
{
  sPhysical p = m.displayPhys(); 
  
  if( p.mhiggs(1) != p.mhiggs(1) ) return false; 
  if( p.mhiggs(2) != p.mhiggs(2) ) return false; 
  if( p.mhiggs(3) != p.mhiggs(3) ) return false; 
  if( p.mhiggs(4) != p.mhiggs(4) ) return false; 
  if( p.msnu(1)   != p.msnu(1)   ) return false;
  if( p.msnu(2)   != p.msnu(2)   ) return false;
  if( p.msnu(3)   != p.msnu(3)   ) return false;
  if( p.mch(1)    != p.mch(1)    ) return false;
  if( p.mch(2)    != p.mch(2)    ) return false;
  if( p.mneut(1)  != p.mneut(1)  ) return false;
  if( p.mneut(2)  != p.mneut(2)  ) return false;
  if( p.mneut(3)  != p.mneut(3)  ) return false;
  if( p.mneut(4)  != p.mneut(4)  ) return false;
  if( p.mGluino   != p.mGluino   ) return false; 

  return true; 
}
void spectrumrecord( ofstream& spectrumfile, MssmSoftsusy& m ) 
{
  sPhysical p = m.displayPhys() ;

  spectrumfile << " " << p.mhiggs(1)
	       << " " << p.mhiggs(2)
	       << " " << p.mhiggs(3)
	       << " " << p.mhiggs(4) 
	       << " " << p.msnu(1) 
	       << " " << p.msnu(2)
	       << " " << p.msnu(3)
	       << " " << p.mch(1)
	       << " " << p.mch(2)
	       << " " << p.mneut(1)
	       << " " << p.mneut(2)
	       << " " << p.mneut(3)
	       << " " << p.mneut(4)
	       << " " << p.mGluino
	       << " " << p.mu(1,1)
	       << " " << p.mu(2,1)
	       << " " << p.mu(1,2)
	       << " " << p.mu(2,2)
	       << " " << p.mu(1,3)
	       << " " << p.mu(2,3)
	       << " " << p.md(1,1)
	       << " " << p.md(2,1)
	       << " " << p.md(1,2)
	       << " " << p.md(2,2)
	       << " " << p.md(1,3)
	       << " " << p.md(2,3)
	       << " " << p.me(1,1)
	       << " " << p.me(2,1)
	       << " " << p.me(1,2)
	       << " " << p.me(2,2)
	       << " " << p.me(1,3)
	       << " " << p.me(2,3) 
	       << endl ; 

}
Example #4
0
double getCrossSection(MssmSoftsusy & r, char * fileName, double m0, double m12, double a0, double tanb) {
  double msq = (r.displayPhys().mu(1, 1) + r.displayPhys().mu(2, 1) + 
	 r.displayPhys().md(1, 1) + r.displayPhys().mu(2, 1)) / 4;
  double mg = r.displayPhys().mGluino;
  double mt = r.displayDataSet().displayPoleMt();

  char buff[500];
  char fn[500];
  sprintf(fn, "/home/bca20/code/prospino/output_%d_%d_%d_%d",int(m0),int(m12),int(a0),int(tanb));
  sprintf(buff, "cd /home/bca20/code/prospino; echo \"%10.4f %10.4f %8.2f %d 14000.\" | ./crosssec | grep -v NAN > output_%d_%d_%d_%d",msq,mg,mt,1,int(m0),int(m12),int(a0),int(tanb));
  cout << buff << endl;
  int err = system(buff);
  double xs = 0.;

  if (!err) {
  fstream fin(fn, ios::in); 
  fin >> xs;
  } else  cout << "CROSS SECTION ERROR\n" << xs;
void gaugegravityBcs0( MssmSoftsusy & m, 
		       const DoubleVector & inputParameters ) { 
  double M_moduli_local, M_gauge_local, M_mess_local ; 
  M_moduli_local = inputParameters.display(1) ;

  double m1, m2, m3 ; 


  m1 = l1 * M_moduli_local ; 
  m2 = l2 * M_moduli_local ;
  m3 = l3 * M_moduli_local ; 
  m.setGauginoMass( 1, m1 ) ; 
  m.setGauginoMass( 2, m2 ) ; 
  m.setGauginoMass( 3, m3 ) ;
  
  double mqlsq , mllsq, mursq, mdrsq, mersq ; 
  double mhusq , mhdsq; 
  double M_moduli_sqr_local; 
  M_moduli_sqr_local = M_moduli_local*M_moduli_local ;

  mqlsq = ( 1 - nQ ) * M_moduli_sqr_local ;
  mllsq = ( 1 - nL ) * M_moduli_sqr_local ; 
  mursq = ( 1 - nU ) * M_moduli_sqr_local ;
  mdrsq = ( 1 - nD ) * M_moduli_sqr_local ;
  mersq = ( 1 - nE ) * M_moduli_sqr_local ; 
  mhusq = ( 1 - nHu) * M_moduli_sqr_local ; 
  mhdsq = ( 1 - nHd) * M_moduli_sqr_local ; 

  DoubleMatrix id(3, 3);
  id(1, 1) = 1.0; id(2, 2) = 1.0; id(3, 3) = 1.0;

  m.setSoftMassMatrix(mQl, mqlsq * id);
  m.setSoftMassMatrix(mUr, mursq * id);
  m.setSoftMassMatrix(mDr, mdrsq * id);
  m.setSoftMassMatrix(mLl, mllsq * id);
  m.setSoftMassMatrix(mEr, mersq * id); 
  m.setMh1Squared(mhdsq);
  m.setMh2Squared(mhusq);


  double A_HuQU , A_HdQD, A_HdLE ; 

  A_HuQU = ( 3 - nHu - nQ - nU ) * M_moduli_local ;
  A_HdQD = ( 3 - nHd - nQ - nD ) * M_moduli_local ; 
  A_HdLE = ( 3 - nHd - nL - nE ) * M_moduli_local ; 

  m.setTrilinearElement(UA, 1, 1, m.displayYukawaElement(YU, 1, 1) * A_HuQU);
  m.setTrilinearElement(UA, 2, 2, m.displayYukawaElement(YU, 2, 2) * A_HuQU);
  m.setTrilinearElement(UA, 3, 3, m.displayYukawaElement(YU, 3, 3) * A_HuQU);
  m.setTrilinearElement(DA, 1, 1, m.displayYukawaElement(YD, 1, 1) * A_HdQD);
  m.setTrilinearElement(DA, 2, 2, m.displayYukawaElement(YD, 2, 2) * A_HdQD);
  m.setTrilinearElement(DA, 3, 3, m.displayYukawaElement(YD, 3, 3) * A_HdQD);
  m.setTrilinearElement(EA, 1, 1, m.displayYukawaElement(YE, 1, 1) * A_HdLE);
  m.setTrilinearElement(EA, 2, 2, m.displayYukawaElement(YE, 2, 2) * A_HdLE);
  m.setTrilinearElement(EA, 3, 3, m.displayYukawaElement(YE, 3, 3) * A_HdLE);

}
void RGRUN( ofstream& rgefile, MssmSoftsusy& m , 
	    double log10startscale, double log10endscale, 
	    int number ) 
{
  double scale ; 
  double step; 
  step = ( log10endscale - log10startscale) / number; 
  m.runto( pow( 10, log10startscale )  ) ; 
  for( int i = 0 ; i < number ; i++ ) { 
    scale = pow( 10, log10startscale + step*i) ; 
    m.runto( scale) ; 
    DoubleMatrix mQlmat = m.displaySoftMassSquared(mQl); 
    DoubleMatrix mUrmat = m.displaySoftMassSquared(mUr); 
    DoubleMatrix mDrmat = m.displaySoftMassSquared(mDr); 
    DoubleMatrix mLlmat = m.displaySoftMassSquared(mLl); 
    DoubleMatrix mErmat = m.displaySoftMassSquared(mEr); 
   
    double mHusqr = m.displayMh2Squared(); 
    double mHdsqr = m.displayMh1Squared(); 

    rgefile << scale 
	    << " " << m.displayGaugeCoupling(1) 
	    << " " << m.displayGaugeCoupling(2)
	    << " " << m.displayGaugeCoupling(3)
	    << " " << m.displayGaugino(1)
	    << " " << m.displayGaugino(2)
	    << " " << m.displayGaugino(3)
	    << " " << mQlmat(3,3)
	    << " " << mUrmat(3,3)
	    << " " << mDrmat(3,3)
	    << " " << mLlmat(3,3)
	    << " " << mErmat(3,3)
	    << " " << mQlmat(1,1)
	    << " " << mUrmat(1,1)
	    << " " << mDrmat(1,1)
	    << " " << mLlmat(1,1)
	    << " " << mErmat(1,1)
            << " " << mHusqr
	    << " " << mHdsqr
	    << endl ;
  }
}
void gaugegravityBcs2( MssmSoftsusy & m, 
		       const DoubleVector & inputParameters ) { 
  double alpha1, alpha2 , alpha3 ; 
  alpha1 = sqr(m.displayGaugeCoupling(1)) / ( 4.0 * PI ) ; 
  alpha2 = sqr(m.displayGaugeCoupling(2)) / ( 4.0 * PI ) ; 
  alpha3 = sqr(m.displayGaugeCoupling(3)) / ( 4.0 * PI ) ; 

  double M_gauge_local ;
  M_gauge_local = inputParameters.display(2); 

  m.setGaugeCoupling( 1, global_g1 ); 
  m.setGaugeCoupling( 2, global_g2 ); 
  m.setGaugeCoupling( 3, global_g3 ); 

  
  double m1 , m2 , m3 ;

  m1 = inter_gaugino1 - N * alpha1 / (4.0*PI) * M_gauge_local ;
  m2 = inter_gaugino2 - N * alpha2 / (4.0*PI) * M_gauge_local ; 
  m3 = inter_gaugino3 - N * alpha3 / (4.0*PI) * M_gauge_local ; 

  m.setGauginoMass(1, m1) ;
  m.setGauginoMass(2, m2) ;
  m.setGauginoMass(3, m3) ;

  double mqlsq , mllsq, mursq, mdrsq, mersq ; 
  double mhusq , mhdsq; 
  double M_gauge_sqr_local; 
  M_gauge_sqr_local = sqr( M_gauge_local ) ;

  mursq = 2.0/sqr( 4.0 * PI )*N * M_gauge_sqr_local * 
    ( 4.0/3.0 * sqr(alpha3) + 0.6 * 4.0 / 9.0 * sqr(alpha1) ) ;
  mdrsq =  2.0/sqr( 4.0 * PI )*N * M_gauge_sqr_local * 
    ( 4.0/3.0 * sqr(alpha3) + 0.6 * 1.0 / 9.0 * sqr(alpha1) ) ;  
  mersq =  2.0/sqr( 4.0 * PI )*N * M_gauge_sqr_local * 
    ( 0.6 * sqr(alpha1) ) ;
  mqlsq =  2.0/sqr( 4.0 * PI )*N * M_gauge_sqr_local * 
    ( 4.0/3.0 * sqr(alpha3) + 0.75 * sqr(alpha2) + 0.6 /36.0 * sqr(alpha1)) ;
  mllsq = 2.0/sqr( 4.0 * PI )*N * M_gauge_sqr_local * 
    ( 0.75 * sqr(alpha2) + 0.6*0.25 * sqr(alpha1) ) ; 
  mhusq = mllsq; 
  mhdsq = mllsq; 

  DoubleMatrix id(3, 3);
  id(1, 1) = 1.0; id(2, 2) = 1.0; id(3, 3) = 1.0;

 
  m.setSoftMassMatrix(mQl, inter_massmQl + mqlsq * id);
  m.setSoftMassMatrix(mUr, inter_massmUr + mursq * id);
  m.setSoftMassMatrix(mDr, inter_massmDr + mdrsq * id);
  m.setSoftMassMatrix(mLl, inter_massmLl + mllsq * id);  
  m.setSoftMassMatrix(mEr, inter_massmEr + mersq * id);
  m.setMh2Squared(inter_massmHu+ mhusq);
  m.setMh1Squared(inter_massmHd+ mhdsq);

  m.setTrilinearElement(UA, 1, 1, m.displayYukawaElement(YU, 1, 1) 
			* inter_A_HuQU(1,1));
  m.setTrilinearElement(UA, 2, 2, m.displayYukawaElement(YU, 2, 2) 
			* inter_A_HuQU(2,2));
  m.setTrilinearElement(UA, 3, 3, m.displayYukawaElement(YU, 3, 3) 
			* inter_A_HuQU(3,3));
  m.setTrilinearElement(DA, 1, 1, m.displayYukawaElement(YD, 1, 1) 
			* inter_A_HdQD(1,1));
  m.setTrilinearElement(DA, 2, 2, m.displayYukawaElement(YD, 2, 2) 
			* inter_A_HdQD(2,2));
  m.setTrilinearElement(DA, 3, 3, m.displayYukawaElement(YD, 3, 3) 
			* inter_A_HdQD(3,3));
  m.setTrilinearElement(EA, 1, 1, m.displayYukawaElement(YE, 1, 1) 
			* inter_A_HdLE(1,1));
  m.setTrilinearElement(EA, 2, 2, m.displayYukawaElement(YE, 2, 2) 
			* inter_A_HdLE(2,2));
  m.setTrilinearElement(EA, 3, 3, m.displayYukawaElement(YE, 3, 3) 
			* inter_A_HdLE(3,3));

  //  cout << "In gaugegravityBcs2" << endl; 
  //  cout << "gaugino(1) = " << inter_gaugino1 << " " << m1 << endl 
  //       << "gaugino(2) = " << inter_gaugino2 << " " << m2 << endl 
  //       << "gaugino(3) = " << inter_gaugino3 << " " << m3 << endl; 
  //  cout << "inter_massmQl + mqlsq * id (3,3) = " << inter_massmQl(3,3) + mqlsq
  //       << endl;
}
Example #8
0
int main() {
  /// Sets up exception handling
  signal(SIGFPE, FPE_ExceptionHandler); 

  try {
 /// Sets format of output: 6 decimal places
  outputCharacteristics(6);

  cerr << "SOFTSUSY" << SOFTSUSY_VERSION 
       << " test program, Ben Allanach 2002\n";
  cerr << "If you use SOFTSUSY, please refer to B.C. Allanach,\n";
  cerr << "Comput. Phys. Commun. 143 (2002) 305, hep-ph/0104145\n";

  /// Parameters used: CMSSM parameters
  double m12 = 500., a0 = 0., mGutGuess = 2.0e16, tanb = 10.0, m0 = 125.;
  int sgnMu = 1;      ///< sign of mu parameter 
  int numPoints = 10; ///< number of scan points

  QedQcd oneset;      ///< See "lowe.h" for default definitions parameters

  /// most important Standard Model inputs: you may change these and recompile
  double alphasMZ = 0.1187, mtop = 173.5, mbmb = 4.18;
  oneset.setAlpha(ALPHAS, alphasMZ);
  oneset.setPoleMt(mtop);
  oneset.setMbMb(mbmb);

  oneset.toMz();      ///< Runs SM fermion masses to MZ

  /// Print out the SM data being used, as well as quark mixing assumption and
  /// the numerical accuracy of the solution
  cout << "# Low energy data in SOFTSUSY: MIXING=" << MIXING << " TOLERANCE=" 
       << TOLERANCE << endl << oneset << endl;

  /// Print out header line
  cout << "# tan beta   mh           mA           mH0          mH+-\n";

  int i; 
  /// Set limits of tan beta scan
  double startTanb = 3.0, endTanb = 50.0;
  /// Cycle through different points in the scan
  for (i = 0; i<=numPoints; i++) {

    tanb = (endTanb - startTanb) / double(numPoints) * double(i) +
      startTanb; // set tan beta ready for the scan.

    /// Preparation for calculation: set up object and input parameters
    MssmSoftsusy r; 
    DoubleVector pars(3); 
    pars(1) = m0; pars(2) = m12; pars(3) = a0;
    bool uni = true; // MGUT defined by g1(MGUT)=g2(MGUT)
    
    /// Calculate the spectrum
    r.lowOrg(sugraBcs, mGutGuess, pars, sgnMu, tanb, oneset, uni);

    /// check the point in question is problem free: if so print the output
    if (!r.displayProblem().test()) 
      cout << tanb << " " << r.displayPhys().mh0 << " " 
	   << r.displayPhys().mA0 << " " 
	   << r.displayPhys().mH0 << " " 
	   << r.displayPhys().mHpm << endl;
    else
      /// print out what the problem(s) is(are)
      cout << tanb << " " << r.displayProblem() << endl;
  }
  }
  catch(const string & a) { cout << a; }
  catch(const char * a) { cout << a; }
  catch(...) { cout << "Unknown type of exception caught.\n"; }

  exit(0);
}
Example #9
0
 /// Return GiNac exmap with MSSM (Yukawa Model) parameters
GiNaC::exmap drBarPars_exmap(const MssmSoftsusy & mssy_) {
	exmap  mass_n_coupls;
	softsusy::drBarPars drb_params(mssy_.displayDrBarPars());
	mass_n_coupls[MSSM::mt] = drb_params.mt;	
	mass_n_coupls[MSSM::mb] = drb_params.mb;	
	mass_n_coupls[MSSM::MZ] = drb_params.mz;	
	mass_n_coupls[MSSM::MW] = drb_params.mw;

		// -------------- physical higgses masses ------------ //

	mass_n_coupls[MSSM::mh0] = drb_params.mh0(1);
	mass_n_coupls[MSSM::mA0] = drb_params.mA0(1);
	mass_n_coupls[MSSM::mH0] = drb_params.mh0(2);
	mass_n_coupls[MSSM::mHp] = drb_params.mHpm;
	
		// -------------- higgses mixing --------------------- //

		{
	ex tb_num(mssy_.displayTanb());
	ex cb_num = pow(pow(tb_num, 2) +1, numeric(-1,2)).evalf();
	ex sb_num = (tb_num*cb_num).evalf();
	ex alhpa_num(drb_params.thetaH);
	ex ca_num = cos(alhpa_num).evalf();
	ex sa_num = sin(alhpa_num).evalf();
	mass_n_coupls[MSSM::TB] = tb_num;
	mass_n_coupls[MSSM::SB] = sb_num;
	mass_n_coupls[MSSM::CB] = cb_num;
	mass_n_coupls[MSSM::CA] = ca_num;
	mass_n_coupls[MSSM::SA] = sa_num;

		// ------------------- gluino mass ------------------- //


	if ((close(drb_params.mGluino, drb_params.md(1,2),0.003)) ||
      (close(drb_params.mGluino, drb_params.md(2,2),0.003))) 
			{ 
				mass_n_coupls[MSSM::mgl] = drb_params.mGluino*0.995;
				cerr << "gluino mass has been changed by 0.5 % to avoid instability" << endl;
			}
	 	else
			mass_n_coupls[MSSM::mgl] = drb_params.mGluino;
			
	 

		// -------------- sfermion mixings --------------------- //

	mass_n_coupls[MSSM::csb] = cos(numeric(drb_params.thetab).evalf());
	mass_n_coupls[MSSM::snb] = sin(numeric(drb_params.thetab).evalf());
	mass_n_coupls[MSSM::cst] = cos(numeric(drb_params.thetat).evalf());
	mass_n_coupls[MSSM::snt] = sin(numeric(drb_params.thetat).evalf());
	mass_n_coupls[MSSM::csl] = cos(numeric(drb_params.thetatau).evalf());
	mass_n_coupls[MSSM::snl] = sin(numeric(drb_params.thetatau).evalf());

		// -------------- sfermion masses --------------------- //

	mass_n_coupls[MSSM::mst1] = numeric(drb_params.mu(1, 3));
	mass_n_coupls[MSSM::mst2] = numeric(drb_params.mu(2, 3));
	mass_n_coupls[MSSM::msb1] = numeric(drb_params.md(1,3));
	mass_n_coupls[MSSM::msb2] = numeric(drb_params.md(2,3));
	mass_n_coupls[MSSM::mstau1] = numeric(drb_params.me(1,3));
	mass_n_coupls[MSSM::mstau2] = numeric(drb_params.me(2,3));
	mass_n_coupls[MSSM::msd1] = numeric(drb_params.md(1,2)); // second generation squarks
	mass_n_coupls[MSSM::msd2] = numeric(drb_params.md(2,2));

		// squarks of generations 1,2 do not mix

		// -------------- coupling constants ---------------- //

		mass_n_coupls[MSSM::GS] = mssy_.displayGaugeCoupling(3);
		mass_n_coupls[MSSM::YT] = drb_params.ht;
		mass_n_coupls[MSSM::YB] = drb_params.hb;
		mass_n_coupls[MSSM::YL] = drb_params.htau;

		// -------------- soft couplings ------------------- //

		mass_n_coupls[MSSM::MUE] = mssy_.displaySusyMu();
		mass_n_coupls[MSSM::At] = mssy_.displaySoftA(UA,3,3);
		mass_n_coupls[MSSM::Ab] = mssy_.displaySoftA(DA,3,3);
		mass_n_coupls[MSSM::Al] = mssy_.displaySoftA(EA,3,3);

		mass_n_coupls[MSSM::ab] = mssy_.displaySoftA(UA,3,3) - mssy_.displaySusyMu()*tb_num;
		mass_n_coupls[MSSM::at] = mssy_.displaySoftA(DA,3,3) - mssy_.displaySusyMu()/tb_num; ;
		// --------------- (Scale MZ) --------------//
		mass_n_coupls[MSSM::scale] = mssy_.displayMu(); //drb_params.mz;

		// -------------- msusy common scale --------------- //
		
		mass_n_coupls[MSSM::msusy] = drb_params.mu(1,1);
		//sqrt(drb_params.mu(1,3)*drb_params.mu(2,3));

		// -------------- tau sneutrino mass --------------- //
		//
		mass_n_coupls[MSSM::msntau] = drb_params.msnu(3);

		// FIXME: need to do msq == mgl
		return mass_n_coupls;
		}

	}
Example #10
0
void printLineOut(double m0, double m12, double a0, double tanb, 
		  MssmSoftsusy twoLoop, MssmSoftsusy twoLoopAs, 
		  MssmSoftsusy & twoLoopMt, MssmSoftsusy & twoLoopMb, 
		  MssmSoftsusy & threeLoop, double omega2, double omegaAs, 
		  double omegaMt, double omegaMb, double omega3, 
		  double msqAv2, double msqAvAs, double msqAvMt, 
		  double msqAvMb, double msqAv3, double cs, double csAs, 
		  double csMt, double csMb, double cs3, double dA, 
		  double dAAs, double dAMt, double dAMb, double dA3, 
		  double dY, double dYAs, double dYMt, 
		  double dYMb, double dY3, double dYp, double dYpAs, 
		  double dYpMt, double dYpMb, double dYp3) {

  /// Any problems and get gnuplot to ignore the point unless it's only musq
  /// wrong sign... 
  if (twoLoop.displayProblem().test() || 
      threeLoop.displayProblem().test()) 
    if (!testMuSqWrongSignOnlyProblem(twoLoop.displayProblem()) ||
	!testMuSqWrongSignOnlyProblem(threeLoop.displayProblem()))
      cout << "# ";
  
  cout << m0                                                     ///< 1
	     << " " << m12                                             ///< 2
	     << " " << a0                                              ///< 3
	     << " " << tanb                                            ///< 4
	     << " " << twoLoop.displayPhys().mh0(1)                    ///< 5
	     << " " << twoLoopAs.displayPhys().mh0(1)                  ///< 6
	     << " " << twoLoopMt.displayPhys().mh0(1)                  ///< 7
	     << " " << twoLoopMb.displayPhys().mh0(1)                  ///< 8
	     << " " << threeLoop.displayPhys().mh0(1)                  ///< 9
	     << " " << twoLoop.displayPhys().mA0(1)                    ///< 10
	     << " " << twoLoopAs.displayPhys().mA0(1)                  ///< 11
	     << " " << twoLoopMt.displayPhys().mA0(1)                  ///< 12
	     << " " << twoLoopMb.displayPhys().mA0(1)                  ///< 13
	     << " " << threeLoop.displayPhys().mA0(1)                  ///< 14
	     << " " << twoLoop.displayPhys().mh0(2)                    ///< 15
	     << " " << twoLoopAs.displayPhys().mh0(2)                  ///< 16
	     << " " << twoLoopMt.displayPhys().mh0(2)                  ///< 17
	     << " " << twoLoopMb.displayPhys().mh0(2)                  ///< 18
	     << " " << threeLoop.displayPhys().mh0(2)                  ///< 19
	     << " " << twoLoop.displayPhys().mHpm                      ///< 20
	     << " " << twoLoopAs.displayPhys().mHpm                    ///< 21
	     << " " << twoLoopMt.displayPhys().mHpm                    ///< 22
	     << " " << twoLoopMb.displayPhys().mHpm                    ///< 23
	     << " " << threeLoop.displayPhys().mHpm                    ///< 24
	     << " " << twoLoop.displayPhys().mGluino                   ///< 25
	     << " " << twoLoopAs.displayPhys().mGluino                 ///< 26
	     << " " << twoLoopMt.displayPhys().mGluino                 ///< 27
	     << " " << twoLoopMb.displayPhys().mGluino                 ///< 28
	     << " " << threeLoop.displayPhys().mGluino                 ///< 29
	     << " " << msqAv2                                          ///< 30
	     << " " << msqAvAs                                         ///< 31 
	     << " " << msqAvMt                                         ///< 32
	     << " " << msqAvMb                                         ///< 33
	     << " " << msqAv3                                          ///< 34
	     << " " << twoLoop.displayPhys().me(1, 1)                  ///< 35 
	     << " " << twoLoopAs.displayPhys().me(1, 1)                ///< 36 
	     << " " << twoLoopMt.displayPhys().me(1, 1)                ///< 37 
	     << " " << twoLoopMb.displayPhys().me(1, 1)                ///< 38 
	     << " " << threeLoop.displayPhys().me(1, 1)                ///< 39 
	     << " " << twoLoop.displayPhys().me(2, 1)                  ///< 40 
	     << " " << twoLoopAs.displayPhys().me(2, 1)                ///< 41 
	     << " " << twoLoopMt.displayPhys().me(2, 1)                ///< 42
	     << " " << twoLoopMb.displayPhys().me(2, 1)                ///< 43
	     << " " << threeLoop.displayPhys().me(2, 1)                ///< 44
	     << " " << fabs(twoLoop.displayPhys().mneut(1))            ///< 45 
	     << " " << fabs(twoLoopAs.displayPhys().mneut(1))          ///< 46
	     << " " << fabs(twoLoopMt.displayPhys().mneut(1))          ///< 47
	     << " " << fabs(twoLoopMb.displayPhys().mneut(1))          ///< 48
	     << " " << fabs(threeLoop.displayPhys().mneut(1))          ///< 49
	     << " " << fabs(twoLoop.displayPhys().mneut(2))            ///< 50
	     << " " << fabs(twoLoopAs.displayPhys().mneut(2))          ///< 51
	     << " " << fabs(twoLoopMt.displayPhys().mneut(2))          ///< 52
	     << " " << fabs(twoLoopMb.displayPhys().mneut(2))          ///< 53
	     << " " << fabs(threeLoop.displayPhys().mneut(2))          ///< 54
	     << " " << fabs(twoLoop.displayPhys().mneut(3))            ///< 55
	     << " " << fabs(twoLoopAs.displayPhys().mneut(3))          ///< 56
	     << " " << fabs(twoLoopMt.displayPhys().mneut(3))          ///< 57 
	     << " " << fabs(twoLoopMb.displayPhys().mneut(3))          ///< 58
	     << " " << fabs(threeLoop.displayPhys().mneut(3))          ///< 59
	     << " " << fabs(twoLoop.displayPhys().mneut(4))            ///< 60
	     << " " << fabs(twoLoopAs.displayPhys().mneut(4))          ///< 61
	     << " " << fabs(twoLoopMt.displayPhys().mneut(4))          ///< 62
	     << " " << fabs(twoLoopMb.displayPhys().mneut(4))          ///< 63
	     << " " << fabs(threeLoop.displayPhys().mneut(4))          ///< 64
	     << " " << twoLoop.displayPhys().mu(1, 3)                  ///< 65
	     << " " << twoLoopAs.displayPhys().mu(1, 3)                ///< 66
	     << " " << twoLoopMt.displayPhys().mu(1, 3)                ///< 67
	     << " " << twoLoopMb.displayPhys().mu(1, 3)                ///< 68
	     << " " << threeLoop.displayPhys().mu(1, 3)                ///< 69
	     << " " << twoLoop.displayPhys().mu(2, 3)                  ///< 70
	     << " " << twoLoopAs.displayPhys().mu(2, 3)                ///< 71
	     << " " << twoLoopMt.displayPhys().mu(2, 3)                ///< 72
	     << " " << twoLoopMb.displayPhys().mu(2, 3)                ///< 73
	     << " " << threeLoop.displayPhys().mu(2, 3)                ///< 74
	     << " " << twoLoop.displayPhys().md(1, 3)                  ///< 75
	     << " " << twoLoopAs.displayPhys().md(1, 3)                ///< 76
	     << " " << twoLoopMt.displayPhys().md(1, 3)                ///< 77
	     << " " << twoLoopMb.displayPhys().md(1, 3)                ///< 78
	     << " " << threeLoop.displayPhys().md(1, 3)                ///< 79
	     << " " << twoLoop.displayPhys().md(2, 3)                  ///< 80
	     << " " << twoLoopAs.displayPhys().md(2, 3)                ///< 81
	     << " " << twoLoopMt.displayPhys().md(2, 3)                ///< 82
	     << " " << twoLoopMb.displayPhys().md(2, 3)                ///< 83
	     << " " << threeLoop.displayPhys().md(2, 3)                ///< 84
	     << " " << twoLoop.displayPhys().me(1, 3)                  ///< 85
	     << " " << twoLoopAs.displayPhys().me(1, 3)                ///< 86
	     << " " << twoLoopMt.displayPhys().me(1, 3)                ///< 87
	     << " " << twoLoopMb.displayPhys().me(1, 3)                ///< 88
	     << " " << threeLoop.displayPhys().me(1, 3)                ///< 89
	     << " " << twoLoop.displayPhys().me(2, 3)                  ///< 90
	     << " " << twoLoopAs.displayPhys().me(2, 3)                ///< 91
	     << " " << twoLoopMt.displayPhys().me(2, 3)                ///< 92
	     << " " << twoLoopMb.displayPhys().me(2, 3)                ///< 93
	     << " " << threeLoop.displayPhys().me(2, 3)                ///< 94
	     << " " << twoLoop.displayYukawaElement(YU, 3, 3)          ///< 95
	     << " " << twoLoopAs.displayYukawaElement(YU, 3, 3)        ///< 96
	     << " " << twoLoopMt.displayYukawaElement(YU, 3, 3)        ///< 97
	     << " " << twoLoopMb.displayYukawaElement(YU, 3, 3)        ///< 98
	     << " " << threeLoop.displayYukawaElement(YU, 3, 3)        ///< 99
	     << " " << twoLoop.displayYukawaElement(YD, 3, 3)          ///< 100
	     << " " << twoLoopAs.displayYukawaElement(YD, 3, 3)        ///< 101
	     << " " << twoLoopMt.displayYukawaElement(YD, 3, 3)        ///< 102
	     << " " << twoLoopMb.displayYukawaElement(YD, 3, 3)        ///< 103
	     << " " << threeLoop.displayYukawaElement(YD, 3, 3)        ///< 104
	     << " " << twoLoop.displayYukawaElement(YE, 3, 3)          ///< 105
	     << " " << twoLoopAs.displayYukawaElement(YE, 3, 3)        ///< 106
	     << " " << twoLoopMt.displayYukawaElement(YE, 3, 3)        ///< 107
	     << " " << twoLoopMb.displayYukawaElement(YE, 3, 3)        ///< 108
	     << " " << threeLoop.displayYukawaElement(YE, 3, 3);       ///< 109
    int facMusq3= 1., facMusq2 = 1., facMusq2As = 1., facMusq2Mt = 1., 
      facMusq2Mb = 1.;
    if (twoLoop.displayProblem().muSqWrongSign) facMusq2 = -1. ;
    if (twoLoopAs.displayProblem().muSqWrongSign) facMusq2As = -1. ;
    if (twoLoopMt.displayProblem().muSqWrongSign) facMusq2Mt = -1. ;
    if (twoLoopMb.displayProblem().muSqWrongSign) facMusq2Mb = -1. ;
    if (threeLoop.displayProblem().muSqWrongSign) facMusq3 = -1. ;
    cout << " " << twoLoop.displaySusyMu()  * facMusq2             ///< 110
	 << " " << twoLoopAs.displaySusyMu()  * facMusq2As         ///< 111
	 << " " << twoLoopMt.displaySusyMu()  * facMusq2Mt         ///< 112
	 << " " << twoLoopMb.displaySusyMu()  * facMusq2Mb         ///< 113
	 << " " << threeLoop.displaySusyMu()  * facMusq3           ///< 114
	 << " " << fabs(twoLoop.displayPhys().mch(1))              ///< 115
	 << " " << fabs(twoLoopAs.displayPhys().mch(1))            ///< 116
	 << " " << fabs(twoLoopMt.displayPhys().mch(1))            ///< 117
	 << " " << fabs(twoLoopMb.displayPhys().mch(1))            ///< 118
	 << " " << fabs(threeLoop.displayPhys().mch(1))            ///< 119
	 << " " << fabs(twoLoop.displayPhys().mch(2))              ///< 120
	 << " " << fabs(twoLoopAs.displayPhys().mch(2))            ///< 121
	 << " " << fabs(twoLoopMt.displayPhys().mch(2))            ///< 122
	 << " " << fabs(twoLoopMb.displayPhys().mch(2))            ///< 123
	 << " " << fabs(threeLoop.displayPhys().mch(2))            ///< 124
	 << " " << omega2                                          ///< 125
	 << " " << omegaAs                                         ///< 126
	 << " " << omegaMt                                         ///< 127
	 << " " << omegaMb                                         ///< 128
	 << " " << omega3                                         ///< 129
	 << " " << twoLoop.displayGaugeCoupling(3)                ///< 130
	 << " " << twoLoopAs.displayGaugeCoupling(3)              ///< 131
	 << " " << twoLoopMt.displayGaugeCoupling(3)              ///< 132
	 << " " << twoLoopMb.displayGaugeCoupling(3)              ///< 133
	 << " " << threeLoop.displayGaugeCoupling(3)             ///< 134
	 << " " << cs                                             ///< 135
	 << " " << csAs                                           ///< 136
	 << " " << csMt                                           ///< 137
	 << " " << csMb                                           ///< 138
	 << " " << cs3                                            ///< 139
	 << " " << QEWSB                                          ///< 140
	 << " " << dA                                             ///< 141
	 << " " << dAAs                                           ///< 142
	 << " " << dAMt                                           ///< 143
	 << " " << dAMb                                           ///< 144
	 << " " << dA3                                            ///< 145
	 << " " << dY                                             ///< 146
	 << " " << dYAs                                           ///< 147
	 << " " << dYMt                                           ///< 148
	 << " " << dYMb                                           ///< 149
	 << " " << dY3                                            ///< 150
	 << " " << dYp                                            ///< 151
	 << " " << dYpAs                                          ///< 152
	 << " " << dYpMt                                          ///< 153
	 << " " << dYpMb                                          ///< 154
	 << " " << dYp3;                                          ///< 155
    if (twoLoop.displayProblem().test()) cout << "# 2-loop problem: " 
					      << twoLoop.displayProblem();
    if (threeLoop.displayProblem().test()) cout << "# 3-loop problem " 
						<< threeLoop.displayProblem(); 
    cout << endl;
}