 -------------------------------------------------------
       2HDMC - TWO-HIGGS-DOUBLET MODEL CALCULATOR
 -------------------------------------------------------

  2HDMC is a C++ code for performing calculations in 
  the general, CP-conserving, two-Higgs-doublet model.        
	

  AUTHORS
 -------------------------------------------------------
  The 2HDMC code is developed and maintained by

  Johan Rathsman    <johan.rathsman@physics.uu.se>
  Oscar Stal        <oscar.stal@desy.de>
  David Eriksson    <david.so.eriksson@gmail.com>


  OBTAINING THE CODE
 -------------------------------------------------------
  The easiest way of obtaining 2HDMC is from the 
  official webpage: 

  ->  http://www.isv.uu.se/thep/MC/2HDMC

  From this page also the class documentation can be 
  downloaded. The full manual has been published and
  is available from
  
  ->  http://arxiv.org/abs/0902.0851

 
  SYSTEM REQUIREMENTS
 -------------------------------------------------------
  2HDMC has been tested to compile (with gcc 4) and run 
  under GNU/Linux on both 32- and 64-bit systems. 
  It requires a working installation of the GNU 
  Scientific Library (GSL). The latter is often included
  in standard Linux distributions, but can otherwise be 
  obtained from

  ->  http://www.gnu.org/software/gsl

  It can also be useful to download HiggsBounds
  (optional) since 2HDMC can interface the LEP and 
  Tevatron constraints implemented in this code. 
  HiggsBounds is available from

  ->  http://www.ippp.dur.ac.uk/HiggsBounds
	
  Starting from 2HDMC 1.1, HiggsBounds version 2.0 or
  higher is required due to a change in the interface.

  The HiggsBounds library libHB.a should be placed in
  the lib/ directory of the 2HDMC installation. To link 
  2HDMC with HiggsBounds support, two lines in the 
  Makefile should be uncommented. If you use 2HDMC 
  with the HiggsBounds library, please cite the relevant 
  publications.

  Earlier versions of 2HDMC (pre 1.1) also had an option
  to link with NMSSMTools for limits on neutral Higgs 
  bosons. This feature is now considered obsolete, and
  is thus no longer supported. 
  

  INSTALLING AND RUNNING
 -------------------------------------------------------
  To compile the library and example programs, run:
  $ make

  To compile the 2HDMC library, run:
  $ make lib

  To compile a single program, with source Prog.cpp, 
  located in src/, run
  $ make Prog

  To verify the 2HDMC installation, the sample program 
  'Demo' can be executed and the output compared to the 
  appendices of the manual.

  FILE DESCRIPTION
 --------------------------------------------------------------------
  A complete installation of 2HDMC should contain the
  following directory structure:
 
   2HDMC
     |
     |--- lib
     |
     |--- MGME
     |
     |--- src 

  The contents of each directory is as follows:
 	
  2HDMC
   README   	    This document

   Hp_limit_cs      Experimental data from DELPHI on charged 
   Hp_limit_tau	    Higgs decays to cs and tau nu

   LH_sample_input  Sample LesHouches-style input file

   Makefile   	    Main Makefile of 2HDMC

   Doxyfile         Configuration file used to generate class 
                    documentation with doxygen

  lib
   The compiled 2HDMC library is put here.
 
  MGME/2HDMC
   The files in this directory make up the MadGraph/MadEvent
   model which can be used together with the 2HDM output. These
   files should be put in the "Models" directory of the MG/ME
   installation.
  
  src
   Constaints.cpp    Source files for the Constraints class which
   Constraints.h     calculates observables useful for constraining
		     the two-Higgs-doublet model.

   DecayTable.cpp    Sources for the DecayTable class. Calculates
   DecayTable.h	     the decay modes of the 2HDM Higgs bosons.

   SM.cpp	     Source of the SM class which holds the SM 
   SM.h		     parameters.

   THDM.cpp	     Source files of the main (THDM) class. This
   THDM.h	     class implements the two-Higgs-doublet model.

   Util.cpp	     Contains helper functions.
   Util.h

   The src directory also contains the sample main programs:

   Demo.cpp	     General Demo program
   CalcGen.cpp       Sample calculator for the generic basis
   CalcHiggs.cpp     Sample calculator for the Higgs basis
   CalcLH.cpp        Sample calculator using LesHouches-style input
   CalcMSSM.cpp	     Sample calculator for the (tree-level) MSSM
   CalcInert.cpp     Sample calculator for the Inert Doublet model
   CalcPhys.cpp      Sample calculator for the physical basis
	

  RELEASE HISTORY
 --------------------------------------------------------------------
  1.2b    2012-02-20	Added beta support for HiggsBounds 3.6

  1.1	  2010-10-07	Fixed bug in MG/ME model with LHA reading of
			BLOCK Alpha. 
			Implemented new interface for HiggsBounds 2.0.
			Removed legacy support for NMSSMTools Higgs
                   	mass limits.
 
  1.0.7   2010-06-21	Improved memory handling.

  1.0.6   2009-12-11	Fixed problems with calculation of the 
			oblique parameters for degenerate masses.
			Bugs corrected, affecting calculation 
			of S,U,V, and X. [Thanks to Martin Wiebusch]

  1.0.5   2009-08-31  	Les Houches interface improved to provide
			output for SuperIso.

  1.0.3   2009-06-22    Implemented check of perturbativity.

  1.0.2   2009-06-15    Implemented interface to HiggsBounds.
                        More efficient handling of DecayTables.
                        Improved handling of gsl errors.
                        Various small fixes.

  1.0.1   2009-03-04    Fixed compiler problem with gcc-3.4.

  1.0     2009-02-05    First release of 2HDMC.
