From 4362cc37277e4d8ed3a5b069831dc502c3bdabbc Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 9 Jun 2017 10:59:49 +0200 Subject: [PATCH 01/13] Stripped the fpmc::Fpmc object out of the HepMC wrapper to ease the manipulation and open up for tests --- CMakeLists.txt | 2 +- Fpmc/CMakeLists.txt | 2 +- {HepMCWrapper => Fpmc}/Fpmc.cc | 139 ++++++----------------- Fpmc/Fpmc.h | 54 +++++++++ {HepMCWrapper => Fpmc}/FpmcParameters.cc | 32 +++--- {HepMCWrapper => Fpmc}/FpmcParameters.h | 5 + HepMCWrapper/CMakeLists.txt | 4 +- HepMCWrapper/Fpmc.h | 89 --------------- HepMCWrapper/Wrapper.cc | 92 +++++++++++++++ HepMCWrapper/Wrapper.h | 60 ++++++++++ HepMCWrapper/main.cc | 15 +-- 11 files changed, 270 insertions(+), 224 deletions(-) rename {HepMCWrapper => Fpmc}/Fpmc.cc (59%) create mode 100644 Fpmc/Fpmc.h rename {HepMCWrapper => Fpmc}/FpmcParameters.cc (77%) rename {HepMCWrapper => Fpmc}/FpmcParameters.h (92%) delete mode 100644 HepMCWrapper/Fpmc.h create mode 100644 HepMCWrapper/Wrapper.cc create mode 100644 HepMCWrapper/Wrapper.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b5abfa..455bfab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,7 +74,7 @@ set_target_properties(FPMC PROPERTIES LINKER_LANGUAGE CXX) #----- link the HepMC wrapper into a dedicated library if(HEPMC_LIB) - add_library(HepMCWrapper SHARED $) + add_library(HepMCWrapper SHARED $) target_link_libraries(HepMCWrapper ${CLHEP_LIB}) endif() diff --git a/Fpmc/CMakeLists.txt b/Fpmc/CMakeLists.txt index 13ad24f..6e4cce4 100644 --- a/Fpmc/CMakeLists.txt +++ b/Fpmc/CMakeLists.txt @@ -1,4 +1,4 @@ include_directories(${PROJECT_SOURCE_DIR}/External ${PROJECT_SOURCE_DIR}/Herwig) -add_library(FPMCCore OBJECT fpmc.f) +add_library(FPMCCore OBJECT Fpmc.cc fpmc.f FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) set_target_properties(FPMCCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/HepMCWrapper/Fpmc.cc b/Fpmc/Fpmc.cc similarity index 59% rename from HepMCWrapper/Fpmc.cc rename to Fpmc/Fpmc.cc index 744a267..c37b7f2 100644 --- a/HepMCWrapper/Fpmc.cc +++ b/Fpmc/Fpmc.cc @@ -1,52 +1,25 @@ #include "Fpmc.h" -#ifndef HEPMC_VERSION2 -extern HEPEVT hepevt_; -#endif - namespace fpmc { - Fpmc::Fpmc( double comEnergy, const char* card ) : - herwigVerbosity_( 1 ), hepMCVerbosity_( true ), maxEventsToPrint_( 2 ), - comEnergy_( comEnergy ), + Fpmc::Fpmc( const char* card ) : + herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), params_( FpmcParameters::parseCard( card ) ), - hadronize_( true ), debug_( false ), dbg_( std::cout ) - { - params_.dump(); - } + debug_( false ), dbg_( std::cout ) + {} - Fpmc::~Fpmc() + Fpmc::Fpmc( const FpmcParameters& params ) : + herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), + params_( params ), + debug_( false ), dbg_( std::cout ) {} - void - Fpmc::write( const char* out ) - { -#ifdef HEPMC_VERSION2 - std::ofstream output( out ); - hepMCEvt_->write( output ); - output.close(); -#else // HepMC v>=3 - HepMC::WriterAscii output( out ); - output.write_event( *hepMCEvt_ ); - output.close(); -#endif - } + Fpmc::~Fpmc() + {} void - Fpmc::begin() + Fpmc::init() const { - //--- use random seeds from datacard - long seed0 = ( params_.has( "nrn1" ) ) ? params_.getLong( "nrn1" ) : -1L; - long seed1 = ( params_.has( "nrn2" ) ) ? params_.getLong( "nrn2" ) : -1L; - if ( seed0<0 || seed1<0 ) { - auto randomEngine = std::make_shared(); - - if ( seed0<0 ) seed0 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); - if ( seed1<0 ) seed1 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); - - if ( debug_ ) dbg_ << "[FPMC Wrapper] SEEDS: " << seed0 << ", " << seed1 << std::endl; - } - //--- print the FPMC greetings fpmc_welcome(); @@ -55,7 +28,12 @@ namespace fpmc << " UTYPINT = " << params_.getString( "typint" ) << std::endl << " UTMASS = " << params_.getFloat( "tmass" ) << std::endl; } + params_.writeCard( "lastrun.card" ); + } + void + Fpmc::initHerwig() const + { dbg_ << "[FPMC Wrapper] Initializing HERWIG/FPMC" << std::endl; //--- call hwudat to set up HERWIG block data @@ -64,17 +42,13 @@ namespace fpmc if ( params_.has( "part1" ) ) params_.getString( "part1" ).copy( hwbmch_.PART1, 8 ); if ( params_.has( "part2" ) ) params_.getString( "part2" ).copy( hwbmch_.PART2, 8 ); - hwproc_.PBEAM1 = comEnergy_/2.; - hwproc_.PBEAM2 = comEnergy_/2.; + hwproc_.PBEAM1 = hwproc_.PBEAM2 = params_.sqrtS()/2.; if ( params_.has( "typepr" ) ) params_.getString( "typepr" ).copy( prtype_.TYPEPR, 3 ); if ( params_.has( "typint" ) ) params_.getString( "typint" ).copy( prtype_.TYPINT, 3 ); if ( params_.has( "iproc" ) ) hwproc_.IPROC = params_.getInt( "iproc" ); - hadronize_ = strcmp( params_.getString( "hadr" ).c_str(), "Y" )==0; - dbg_ << "[FPMC Wrapper] Run hadronization/showering: " << hadronize_ << std::endl; - if ( debug_ ) { dbg_ << "[FPMC Wrapper] PART1 = '" << hwbmch_.PART1 << "'" << std::endl << "[FPMC Wrapper] PART2 = '" << hwbmch_.PART2 << "'" << std::endl @@ -91,8 +65,21 @@ namespace fpmc hwpram_.MODPDF[0] = -111; hwpram_.LWSUD = 0; // don't write Sudakov form factors + //--- use random seeds from datacard + long seed0 = ( params_.has( "nrn1" ) ) ? params_.getLong( "nrn1" ) : -1L; + long seed1 = ( params_.has( "nrn2" ) ) ? params_.getLong( "nrn2" ) : -1L; + if ( seed0<0 || seed1<0 ) { + auto randomEngine = std::make_shared(); + + if ( seed0<0 ) seed0 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); + if ( seed1<0 ) seed1 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); + + if ( debug_ ) dbg_ << "[FPMC Wrapper] SEEDS: " << seed0 << ", " << seed1 << std::endl; + } + hwevnt_.NRN[0] = seed0; hwevnt_.NRN[1] = seed1; + hwevnt_.MAXER = 100000000; // O(inf) hwdspn_.LWDEC = 0; // don't write three/four body decays // (no fort.77 and fort.88 ...) @@ -116,7 +103,7 @@ namespace fpmc params_.fetchAAEXOTICAL( aaexotical_ ); params_.fetchCHIDEFPMC( chidefpmc_ ); - chidefpmc_.CHIDeS = comEnergy_*comEnergy_; + chidefpmc_.CHIDeS = params_.sqrtS()*params_.sqrtS(); params_.fetchKMR2FPMC( kmr2fpmc_ ); params_.fetchION( ion_ ); @@ -147,28 +134,18 @@ namespace fpmc // this will replace the beam electrons by protons, radiated photons by pomerons/reggeons, etc. int init = 1; hwfxer( &init ); - - params_.writeCard( "lastrun.card" ); } - void - Fpmc::end() - {} - bool - Fpmc::run() + Fpmc::next( hwevnt_t& event ) { -#ifndef HEPMC_VERSION2 - HepMC::HEPEVT_Wrapper::set_hepevt_address( ( char* )&hepevt_ ); - HepMC::HEPEVT_Wrapper::zero_everything(); -#endif //--- call herwig routines to create HEPEVT hwuine(); // initialize event hwepro(); // generate hard subprocess - if ( hadronize_ ) { + if ( params_.hadronise() ) { hwbgen(); // parton cascades hwdhob(); // heavy quark decays @@ -185,55 +162,9 @@ namespace fpmc int init = 0; hwfxer( &init ); // fix event record (i.e. restore correct intermediate states) + event = hwevnt_; + if ( hwevnt_.IERROR ) return false; -#ifdef HEPMC_VERSION2 - hepMCEvt_ = std::make_shared( *conv_.read_next_event() ); -#else - std::cout << "---> " << HepMC::HEPEVT_Wrapper::number_entries() << std::endl; - //HepMC::HEPEVT_Wrapper::set_number_entries( 4000 ); - //HepMC::HEPEVT_Wrapper::set_sizeof_real( 8 ); - HepMC::HEPEVT_Wrapper::print_hepevt(); - HepMC::HEPEVT_Wrapper::HEPEVT_to_GenEvent( hepMCEvt_.get() ); -#endif - - hepMCEvt_->set_event_number( event_-1 ); -#ifdef HEPMC_VERSION2 - hepMCEvt_->set_signal_process_id( hwproc_.IPROC ); - hepMCEvt_->set_event_scale( -1. ); -#endif - hepMCEvt_->weights().push_back( hwevnt_.EVWGT ); - -#ifdef HEPMC_VERSION2 - HepMC::PdfInfo pdfInfo; - pdfInfo.set_x1( hwhard_.XX[0] ); - pdfInfo.set_x2( hwhard_.XX[1] ); - pdfInfo.set_scalePDF( hwhard_.EMSCA ); - hepMCEvt_->set_pdf_info( pdfInfo ); -#else - auto pdf_info = std::make_shared(); - pdf_info->set( 0, 0, hwhard_.XX[0], hwhard_.XX[1], hwhard_.EMSCA, 0, 0 ); - hepMCEvt_->set_pdf_info( pdf_info ); -#endif - - /*HepMC::GenParticle* incomingParton = NULL; - HepMC::GenParticle* targetParton = NULL; - // find incoming parton (first entry with IST=121) - for(HepMC::GenEvent::particle_const_iterator it = event()->particles_begin(); (it != event()->particles_end() && incomingParton==NULL); it++) - if((*it)->status()==121) incomingParton = (*it); - - // find target parton (first entry with IST=122) - for(HepMC::GenEvent::particle_const_iterator it = event()->particles_begin(); (it != event()->particles_end() && targetParton==NULL); it++) - if((*it)->status()==122) targetParton = (*it);*/ - -#ifdef HEPMC_VERSION2 - //******** Verbosity ******** - if ( event_<=maxEventsToPrint_ && hepMCVerbosity_ ) { - // Prints HepMC event - dbg_ << "\n----------------------" << std::endl - << "Event process id = " << hepMCEvt_->signal_process_id() << std::endl; - hepMCEvt_->print(); - } -#endif //--- increment the events counter ++event_; diff --git a/Fpmc/Fpmc.h b/Fpmc/Fpmc.h new file mode 100644 index 0000000..d04b849 --- /dev/null +++ b/Fpmc/Fpmc.h @@ -0,0 +1,54 @@ +#ifndef Fpmc_Fpmc_h +#define Fpmc_Fpmc_h + +/** \class Fpmc + * + * Main FPMC object + * + ***************************************/ + +#include "CLHEP/Random/JamesRandom.h" +#include "CLHEP/Random/RandFlat.h" + +#include "herwig.h" +#include "fpmc.h" + +#include "FpmcParameters.h" + +#include +#include +#include + +namespace fpmc +{ + class Fpmc + { + public: + Fpmc( const char* card ); + Fpmc( const FpmcParameters& params ); + ~Fpmc(); + + bool next( hwevnt_t& evt ); + + protected: + void init() const; + void initHerwig() const; + + /// HERWIG verbosity + unsigned int herwigVerbosity_; + /// Events to print if verbosity + unsigned int maxEventsToPrint_; + + /// Number of events already generated + unsigned int event_; + + /// List of parameters obtained from the steering card + FpmcParameters params_; + + /// Enable/disable the extra printout + bool debug_; + std::ostream& dbg_; + }; +} + +#endif diff --git a/HepMCWrapper/FpmcParameters.cc b/Fpmc/FpmcParameters.cc similarity index 77% rename from HepMCWrapper/FpmcParameters.cc rename to Fpmc/FpmcParameters.cc index 4fce2c3..640b9be 100644 --- a/HepMCWrapper/FpmcParameters.cc +++ b/Fpmc/FpmcParameters.cc @@ -4,22 +4,22 @@ namespace fpmc { FpmcParameters::FpmcParameters() : std::map( { - { "rmass", "0.0" }, { "wmass", "80.425" }, { "hmass", "125.0" }, { "tmass", "174.3" }, { "mst1", "250.0" }, { "msb1", "250.0" }, - { "ecms", "14000.0" }, { "yjmin", "-6.0" }, { "yjmax", "6.0" }, { "ptmin", "0.0" }, { "ptmax", "1.e8" }, { "emmin", "10.0" }, { "emmax", "1.e8" }, - { "maxev", "1000" }, { "iproc", "16010" }, { "nflux", "15" }, { "nrn1", "33799" }, { "nrn2", "11799" }, { "ifit", "10" }, { "isoftm", "1" }, { "typepr", "EXC" }, { "typint", "QED" }, - { "dkappa", "0.0" }, { "acw", "0.0" }, { "a0w", "0.0" }, { "a0z", "0.0" }, { "acz", "0.0" }, { "a1a", "0.0" }, { "a2a", "0.0" }, - { "aaanom", "0" }, { "aaexotic", "0" }, - { "aam", "0.0" }, { "aaq", "0.0" }, { "aan", "0.0" }, { "aaf0", "0.0" }, { "aaf0z", "0.0" }, { "aaf0w", "0.0" }, { "aaf0zg", "0.0" }, { "aaw", "0.0" }, { "aaa2", "0.0" }, - { "chidex", "-1.0" }, { "chidexp", "-1.0" }, { "chides2", "-1.0" }, { "chidegapmin", "0.0" }, { "chidegapmax", "0.0" }, { "chide_iglu", "-1" }, { "chidepath", "External/CHIDe/Data/" }, - { "xi1min", "-1.0" }, { "xi1max", "-1.0" }, { "xi2min", "-1.0" }, { "xi2max", "-1.0" }, - { "kmr2q2cut", "2.0" }, { "kmr2surv", "0.3" }, { "kmr2scale", "0.618" }, { "kmr2_delta", "1" }, - { "dlambda", "0.0" }, { "anomcutoff", "-1" }, - { "ywwmin", "0.0" }, { "ywwmax", "0.1" }, { "q2wwmn", "0.0" }, { "q2wwmx", "4.0" }, - { "output", "1" }, { "outputlhe", "0" }, { "ntname", "tmpntuple.ntp" }, { "lhefile", "FPMC.lhe" }, - { "zion", "1" }, { "aion", "1" }, { "bmin", "1.0" }, - { "hadr", "Y" }, - { "part1", "E+" }, { "part2", "E+" }, - { "modpdf1", "-1" }, { "modpdf2", "-1" } } ) {} + { "rmass", "0.0" }, { "wmass", "80.425" }, { "hmass", "125.0" }, { "tmass", "174.3" }, { "mst1", "250.0" }, { "msb1", "250.0" }, + { "ecms", "14000.0" }, { "yjmin", "-6.0" }, { "yjmax", "6.0" }, { "ptmin", "0.0" }, { "ptmax", "1.e8" }, { "emmin", "10.0" }, { "emmax", "1.e8" }, + { "maxev", "1000" }, { "iproc", "16010" }, { "nflux", "15" }, { "nrn1", "33799" }, { "nrn2", "11799" }, { "ifit", "10" }, { "isoftm", "1" }, { "typepr", "EXC" }, { "typint", "QED" }, + { "dkappa", "0.0" }, { "acw", "0.0" }, { "a0w", "0.0" }, { "a0z", "0.0" }, { "acz", "0.0" }, { "a1a", "0.0" }, { "a2a", "0.0" }, + { "aaanom", "0" }, { "aaexotic", "0" }, + { "aam", "0.0" }, { "aaq", "0.0" }, { "aan", "0.0" }, { "aaf0", "0.0" }, { "aaf0z", "0.0" }, { "aaf0w", "0.0" }, { "aaf0zg", "0.0" }, { "aaw", "0.0" }, { "aaa2", "0.0" }, + { "chidex", "-1.0" }, { "chidexp", "-1.0" }, { "chides2", "-1.0" }, { "chidegapmin", "0.0" }, { "chidegapmax", "0.0" }, { "chide_iglu", "-1" }, { "chidepath", "External/CHIDe/Data/" }, + { "xi1min", "-1.0" }, { "xi1max", "-1.0" }, { "xi2min", "-1.0" }, { "xi2max", "-1.0" }, + { "kmr2q2cut", "2.0" }, { "kmr2surv", "0.3" }, { "kmr2scale", "0.618" }, { "kmr2_delta", "1" }, + { "dlambda", "0.0" }, { "anomcutoff", "-1" }, + { "ywwmin", "0.0" }, { "ywwmax", "0.1" }, { "q2wwmn", "0.0" }, { "q2wwmx", "4.0" }, + { "output", "1" }, { "outputlhe", "0" }, { "ntname", "tmpntuple.ntp" }, { "lhefile", "FPMC.lhe" }, + { "zion", "1" }, { "aion", "1" }, { "bmin", "1.0" }, + { "hadr", "Y" }, + { "part1", "E+" }, { "part2", "E+" }, + { "modpdf1", "-1" }, { "modpdf2", "-1" } } ) {} FpmcParameters FpmcParameters::parseCard( const char* filename ) diff --git a/HepMCWrapper/FpmcParameters.h b/Fpmc/FpmcParameters.h similarity index 92% rename from HepMCWrapper/FpmcParameters.h rename to Fpmc/FpmcParameters.h index 53efaad..78426e8 100644 --- a/HepMCWrapper/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -34,6 +34,11 @@ namespace fpmc std::map map() const { return *this; } + bool hadronise() const { return strcmp( getString( "hadr" ).c_str(), "Y" )==0; } + + void setSqrtS( double sqrts ) { add( "ecms", sqrts ); } + double sqrtS() const { return getFloat( "ecms" ); } + void fetchHWPRAM( hwpram_t& ) const; void fetchHWPROP( hwprop_t& ) const; void fetchHWHARD( hwhard_t& ) const; diff --git a/HepMCWrapper/CMakeLists.txt b/HepMCWrapper/CMakeLists.txt index bb3cbd0..79b8515 100644 --- a/HepMCWrapper/CMakeLists.txt +++ b/HepMCWrapper/CMakeLists.txt @@ -1,3 +1,3 @@ include_directories(${PROJECT_SOURCE_DIR}/Examples ${HEPMC_INCLUDE}) -add_library(Export OBJECT Fpmc.cc FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) -set_target_properties(Export PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) +add_library(Wrapper OBJECT Wrapper.cc) +set_target_properties(Wrapper PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/HepMCWrapper/Fpmc.h b/HepMCWrapper/Fpmc.h deleted file mode 100644 index 148e515..0000000 --- a/HepMCWrapper/Fpmc.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef FpmcInterface_Fpmc_h -#define FpmcInterface_Fpmc_h - -/** \class Fpmc - * - * Generates Fpmc HepMC events - * - ***************************************/ - -#include "HepMC/GenEvent.h" -#include "HepMC/HEPEVT_Wrapper.h" -#include "HepMC/Version.h" - -#ifndef HEPMC_VERSION_CODE // HepMC v2 -#define HEPMC_VERSION2 - -#include "HepMC/IO_HERWIG.h" -#include "HepMC/PdfInfo.h" - -#else // HepMC v>=3 - -#include "HepMC/WriterAscii.h" -#include "HepMC/GenPdfInfo.h" - -#endif - -#include "CLHEP/Random/JamesRandom.h" -#include "CLHEP/Random/RandFlat.h" - -#include "herwig.h" -#include "fpmc.h" - -#include "FpmcParameters.h" - -#include -#include -#include -#include -#include -#include - -namespace fpmc -{ - class Fpmc - { - public: - Fpmc( double, const char* ); - ~Fpmc(); - - void begin(); - bool run(); - void end(); - void write( const char* ); - - /// Retrieve the last event generated - const HepMC::GenEvent* event() const { return hepMCEvt_.get(); } - - private: - void initialiseParams(); -#ifdef HEPMC_VERSION2 - HepMC::IO_HERWIG conv_; -#endif - /// Last event generated - std::shared_ptr hepMCEvt_; - - /// HERWIG verbosity - unsigned int herwigVerbosity_; - /// HepMC verbosity - bool hepMCVerbosity_; - /// Events to print if verbosity - unsigned int maxEventsToPrint_; - - /// Number of events already generated - unsigned int event_; - /// Centre of mass energy for the initial system - double comEnergy_; - - /// List of parameters obtained from the steering card - FpmcParameters params_; - - /// Enable/disable the hadronisation - bool hadronize_; - /// Enable/disable the extra printout - bool debug_; - std::ostream& dbg_; - }; -} - -#endif diff --git a/HepMCWrapper/Wrapper.cc b/HepMCWrapper/Wrapper.cc new file mode 100644 index 0000000..bcf4be5 --- /dev/null +++ b/HepMCWrapper/Wrapper.cc @@ -0,0 +1,92 @@ +#include "Wrapper.h" + +#ifndef HEPMC_VERSION2 +extern HEPEVT hepevt_; +#endif + +namespace fpmc +{ + Wrapper::Wrapper( double comEnergy, const char* card ) : + Fpmc( card ), hepMCVerbosity_( true ) + { + params_.setSqrtS( comEnergy ); + params_.dump(); + } + + Wrapper::~Wrapper() + {} + + const HepMC::GenEvent* + Wrapper::event() + { + //----- start by generating the next event with FPMC + + hwevnt_t last_evt; + if ( !Fpmc::next( last_evt ) ) return 0; + if ( last_evt.IERROR ) return 0; + +#ifdef HEPMC_VERSION2 + hepMCEvt_ = std::make_shared( *conv_.read_next_event() ); +#else + HepMC::HEPEVT_Wrapper::print_hepevt(); + HepMC::HEPEVT_Wrapper::HEPEVT_to_GenEvent( hepMCEvt_.get() ); +#endif + + hepMCEvt_->set_event_number( event_-1 ); +#ifdef HEPMC_VERSION2 + hepMCEvt_->set_signal_process_id( hwproc_.IPROC ); //FIXME + hepMCEvt_->set_event_scale( -1. ); +#endif + hepMCEvt_->weights().push_back( last_evt.EVWGT ); + +#ifdef HEPMC_VERSION2 + HepMC::PdfInfo pdfInfo; + pdfInfo.set_x1( hwhard_.XX[0] ); + pdfInfo.set_x2( hwhard_.XX[1] ); + pdfInfo.set_scalePDF( hwhard_.EMSCA ); //FIXME + hepMCEvt_->set_pdf_info( pdfInfo ); +#else + auto pdf_info = std::make_shared(); + pdf_info->set( 0, 0, hwhard_.XX[0], hwhard_.XX[1], hwhard_.EMSCA, 0, 0 ); //FIXME + hepMCEvt_->set_pdf_info( pdf_info ); +#endif + + /*HepMC::GenParticle* incomingParton = NULL; + HepMC::GenParticle* targetParton = NULL; + // find incoming parton (first entry with IST=121) + for(HepMC::GenEvent::particle_const_iterator it = event()->particles_begin(); (it != event()->particles_end() && incomingParton==NULL); it++) + if((*it)->status()==121) incomingParton = (*it); + + // find target parton (first entry with IST=122) + for(HepMC::GenEvent::particle_const_iterator it = event()->particles_begin(); (it != event()->particles_end() && targetParton==NULL); it++) + if((*it)->status()==122) targetParton = (*it);*/ + +#ifdef HEPMC_VERSION2 + //******** Verbosity ******** + if ( event_<=maxEventsToPrint_ && hepMCVerbosity_ ) { + // Prints HepMC event + dbg_ << "\n----------------------" << std::endl + << "Event process id = " << hepMCEvt_->signal_process_id() << std::endl; + hepMCEvt_->print(); + } +#endif + + return hepMCEvt_.get(); + } + + void + Wrapper::write( const char* out ) + { + if ( !hepMCEvt_.get() ) return; + +#ifdef HEPMC_VERSION2 + std::ofstream output( out ); + hepMCEvt_->write( output ); + output.close(); +#else // HepMC v>=3 + HepMC::WriterAscii output( out ); + output.write_event( *hepMCEvt_ ); + output.close(); +#endif + } +} diff --git a/HepMCWrapper/Wrapper.h b/HepMCWrapper/Wrapper.h new file mode 100644 index 0000000..5d38a90 --- /dev/null +++ b/HepMCWrapper/Wrapper.h @@ -0,0 +1,60 @@ +#ifndef FpmcInterface_Fpmc_h +#define FpmcInterface_Fpmc_h + +/** \class Fpmc + * + * Generates Fpmc HepMC events + * + ***************************************/ + +#include "HepMC/GenEvent.h" +#include "HepMC/HEPEVT_Wrapper.h" +#include "HepMC/Version.h" + +#ifndef HEPMC_VERSION_CODE // HepMC v2 +#define HEPMC_VERSION2 + +#include "HepMC/IO_HERWIG.h" +#include "HepMC/PdfInfo.h" + +#else // HepMC v>=3 + +#include "HepMC/WriterAscii.h" +#include "HepMC/GenPdfInfo.h" + +#endif + +#include "Fpmc.h" +#include "FpmcParameters.h" + +#include +#include +#include +#include + +namespace fpmc +{ + class Wrapper : public Fpmc + { + public: + Wrapper( double, const char* ); + ~Wrapper(); + + /// Retrieve the last event generated + const HepMC::GenEvent* event(); + /// Write the last event generated onto a file + void write( const char* ); + + private: +#ifdef HEPMC_VERSION2 + HepMC::IO_HERWIG conv_; +#endif + /// Last event generated + std::shared_ptr hepMCEvt_; + + /// HepMC verbosity + bool hepMCVerbosity_; + }; +} + +#endif diff --git a/HepMCWrapper/main.cc b/HepMCWrapper/main.cc index b8a33f4..bb81ea2 100644 --- a/HepMCWrapper/main.cc +++ b/HepMCWrapper/main.cc @@ -1,4 +1,4 @@ -#include "Fpmc.h" +#include "Wrapper.h" #include #include @@ -128,8 +128,7 @@ int main( int argc, char* argv[] ) << "=========================================================" << endl; cout << oss.str(); - fpmc::Fpmc* generator = new fpmc::Fpmc( comEnergy_, datacard_.c_str() ); - generator->begin(); + fpmc::Wrapper generator( comEnergy_, datacard_.c_str() ); #ifdef HEPMC_VERSION2 HepMC::IO_GenEvent output( outputFileName_, ios::out ); @@ -138,18 +137,12 @@ int main( int argc, char* argv[] ) #endif for(unsigned int evt = 0; evt < maxEvents_; ++evt){ cout << "[FPMC Wrapper] Processing event " << (evt + 1) << endl; - bool success = generator->run(); - if(!success){ - cout << "[FPMC Wrapper] WARNING: Event " << (evt + 1) << " failed." << endl; - continue; - } #ifdef HEPMC_VERSION2 - output.write_event( generator->event() ); + output.write_event( generator.event() ); #else - output.write_event( *generator->event() ); + output.write_event( *generator.event() ); #endif } - generator->end(); return 0; } From eb81197978c164e16e41be6dc20982ca2a8e9c9b Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 9 Jun 2017 12:18:49 +0200 Subject: [PATCH 02/13] Added tests ; new set/getters for the FPMC object --- CMakeLists.txt | 10 ++++---- Fpmc/Fpmc.cc | 49 ++++++++++++++++++++++++++++---------- Fpmc/Fpmc.h | 10 ++++++-- Fpmc/FpmcParameters.h | 6 +++++ HepMCWrapper/Wrapper.cc | 2 +- Tests/CMakeLists.txt | 32 +++++++++++++++++++++++++ Tests/dummy_hwaend.h | 6 +++++ Tests/launch_standalone.cc | 18 ++++++++++++++ 8 files changed, 112 insertions(+), 21 deletions(-) create mode 100644 Tests/CMakeLists.txt create mode 100644 Tests/dummy_hwaend.h create mode 100644 Tests/launch_standalone.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index 455bfab..234f936 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ set(PROJECT_VERSION 1) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -Wno-deprecated-declarations -pedantic -std=c++11 -g") -set(MODULES Fpmc Herwig External HepMCWrapper Examples) +set(MODULES Fpmc Herwig External HepMCWrapper Examples Tests) #----- enable Fortran @@ -51,6 +51,10 @@ endif() include_directories(${CLHEP_INCLUDE}) +#----- all useful libraries + +set(LIBRARIES FPMC ${GSL_LIB} ${CLHEP_LIB} ${GSL_CBLAS_LIB} ${LHAPDF_LIB}) + #----- build all the intermediate objects foreach(_mod ${MODULES}) @@ -78,10 +82,6 @@ if(HEPMC_LIB) target_link_libraries(HepMCWrapper ${CLHEP_LIB}) endif() -#----- all useful libraries - -set(LIBRARIES FPMC ${GSL_LIB} ${GSL_CBLAS_LIB} ${LHAPDF_LIB}) - #----- test executable if(CERNLIB_LIB) diff --git a/Fpmc/Fpmc.cc b/Fpmc/Fpmc.cc index c37b7f2..a1e30a5 100644 --- a/Fpmc/Fpmc.cc +++ b/Fpmc/Fpmc.cc @@ -2,14 +2,22 @@ namespace fpmc { + Fpmc::Fpmc() : + herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), + initialised_( false ), + debug_( false ), dbg_( std::cout ) + {} + Fpmc::Fpmc( const char* card ) : herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), + initialised_( false ), params_( FpmcParameters::parseCard( card ) ), debug_( false ), dbg_( std::cout ) {} Fpmc::Fpmc( const FpmcParameters& params ) : herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), + initialised_( false ), params_( params ), debug_( false ), dbg_( std::cout ) {} @@ -18,23 +26,26 @@ namespace fpmc {} void - Fpmc::init() const + Fpmc::initialise() { //--- print the FPMC greetings fpmc_welcome(); if ( debug_ ) { - dbg_ << "[FPMC Wrapper] UTYPEPR = " << params_.getString( "typepr" ) << std::endl - << " UTYPINT = " << params_.getString( "typint" ) << std::endl - << " UTMASS = " << params_.getFloat( "tmass" ) << std::endl; + dbg_ << "UTYPEPR = " << params_.getString( "typepr" ) << std::endl + << "UTYPINT = " << params_.getString( "typint" ) << std::endl + << "UTMASS = " << params_.getFloat( "tmass" ) << std::endl; } + initHerwig(); params_.writeCard( "lastrun.card" ); } void - Fpmc::initHerwig() const + Fpmc::initHerwig() { - dbg_ << "[FPMC Wrapper] Initializing HERWIG/FPMC" << std::endl; + if ( initialised_ ) dbg_ << "WARNING: Herwig already initialised for this run!" << std::endl; + + dbg_ << "Initializing HERWIG/FPMC" << std::endl; //--- call hwudat to set up HERWIG block data //hwudat(); @@ -47,14 +58,14 @@ namespace fpmc if ( params_.has( "typepr" ) ) params_.getString( "typepr" ).copy( prtype_.TYPEPR, 3 ); if ( params_.has( "typint" ) ) params_.getString( "typint" ).copy( prtype_.TYPINT, 3 ); - if ( params_.has( "iproc" ) ) hwproc_.IPROC = params_.getInt( "iproc" ); + if ( params_.has( "iproc" ) ) hwproc_.IPROC = params_.processId(); if ( debug_ ) { - dbg_ << "[FPMC Wrapper] PART1 = '" << hwbmch_.PART1 << "'" << std::endl - << "[FPMC Wrapper] PART2 = '" << hwbmch_.PART2 << "'" << std::endl - << "[FPMC Wrapper] TYPEPR = " << prtype_.TYPEPR << std::endl - << "[FPMC Wrapper] TYPINT = " << prtype_.TYPINT << std::endl - << "[FPMC Wrapper] IPROC = " << hwproc_.IPROC << std::endl; + dbg_ << "PART1 = '" << hwbmch_.PART1 << "'" << std::endl + << "PART2 = '" << hwbmch_.PART2 << "'" << std::endl + << "TYPEPR = " << prtype_.TYPEPR << std::endl + << "TYPINT = " << prtype_.TYPINT << std::endl + << "IPROC = " << hwproc_.IPROC << std::endl; } hwigin_(); @@ -74,7 +85,7 @@ namespace fpmc if ( seed0<0 ) seed0 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); if ( seed1<0 ) seed1 = CLHEP::RandFlat::shoot( randomEngine.get(), 1L, 10000L ); - if ( debug_ ) dbg_ << "[FPMC Wrapper] SEEDS: " << seed0 << ", " << seed1 << std::endl; + if ( debug_ ) dbg_ << "SEEDS: " << seed0 << ", " << seed1 << std::endl; } hwevnt_.NRN[0] = seed0; @@ -134,6 +145,18 @@ namespace fpmc // this will replace the beam electrons by protons, radiated photons by pomerons/reggeons, etc. int init = 1; hwfxer( &init ); + + initialised_ = true; + } + + double + Fpmc::crossSection() const + { + if ( !initialised_ ) { + dbg_ << "WARNING: Herwig/FPMC not yet initialised! Invalid cross-section retrieved." << std::endl; + return 0.; + } + return hwevnt_.EVWGT * 1.e3; // return in pb } bool diff --git a/Fpmc/Fpmc.h b/Fpmc/Fpmc.h index d04b849..8cd8172 100644 --- a/Fpmc/Fpmc.h +++ b/Fpmc/Fpmc.h @@ -24,21 +24,27 @@ namespace fpmc class Fpmc { public: + Fpmc(); Fpmc( const char* card ); Fpmc( const FpmcParameters& params ); ~Fpmc(); + FpmcParameters& parameters() { return params_; } + + void initialise(); + double crossSection() const; + bool next( hwevnt_t& evt ); protected: - void init() const; - void initHerwig() const; + void initHerwig(); /// HERWIG verbosity unsigned int herwigVerbosity_; /// Events to print if verbosity unsigned int maxEventsToPrint_; + bool initialised_; /// Number of events already generated unsigned int event_; diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index 78426e8..c4eefe9 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -36,6 +36,12 @@ namespace fpmc bool hadronise() const { return strcmp( getString( "hadr" ).c_str(), "Y" )==0; } + void setProcessId( unsigned int iproc ) { add( "iproc", iproc ); } + unsigned int processId() const { return getInt( "iproc" ); } + + void setInitialFlux( unsigned int nflux ) { add( "nflux", nflux ); } + unsigned int initialFlux() const { return getInt( "nflux" ); } + void setSqrtS( double sqrts ) { add( "ecms", sqrts ); } double sqrtS() const { return getFloat( "ecms" ); } diff --git a/HepMCWrapper/Wrapper.cc b/HepMCWrapper/Wrapper.cc index bcf4be5..23428a5 100644 --- a/HepMCWrapper/Wrapper.cc +++ b/HepMCWrapper/Wrapper.cc @@ -34,7 +34,7 @@ namespace fpmc hepMCEvt_->set_event_number( event_-1 ); #ifdef HEPMC_VERSION2 - hepMCEvt_->set_signal_process_id( hwproc_.IPROC ); //FIXME + hepMCEvt_->set_signal_process_id( params_.getProcessId() ); hepMCEvt_->set_event_scale( -1. ); #endif hepMCEvt_->weights().push_back( last_evt.EVWGT ); diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt new file mode 100644 index 0000000..aad5511 --- /dev/null +++ b/Tests/CMakeLists.txt @@ -0,0 +1,32 @@ +#----- list all test executables + +file(GLOB executables_noroot RELATIVE ${PROJECT_SOURCE_DIR}/Tests *.cc) +file(GLOB executables_root RELATIVE ${PROJECT_SOURCE_DIR}/Tests *.cxx) + +foreach(exec_src ${executables_noroot}) + string(REPLACE ".cc" "" exec_bin ${exec_src}) + add_executable(${exec_bin} ${exec_src}) + set_target_properties(${exec_bin} PROPERTIES EXCLUDE_FROM_ALL true) + target_link_libraries(${exec_bin} ${LIBRARIES}) + #target_link_libraries(${exec_bin} FPMC) + #add_test(${exec_bin} ${exec_bin}) + #set_tests_properties(${exec_bin} PROPERTIES PASS_REGULAR_EXPRESSION "Passed") +endforeach() + +#----- specify the tests requiring ROOT + +find_package(ROOT QUIET) +if(${ROOT_FOUND}) + message(STATUS "ROOT found in ${ROOT_INCLUDE_DIRS}") + include_directories(${ROOT_INCLUDE_DIRS}) + link_directories(${ROOT_LIBRARY_DIR}) + + foreach(exec_src ${executables_root}) + string(REPLACE ".cxx" "" exec_bin ${exec_src}) + add_executable(${exec_bin} ${exec_src}) + set_target_properties(${exec_bin} PROPERTIES EXCLUDE_FROM_ALL true) + target_link_libraries(${exec_bin} FPMC ${ROOT_LIBRARIES}) + endforeach() +else() + message(STATUS "ROOT not found! skipping these tests!") +endif() diff --git a/Tests/dummy_hwaend.h b/Tests/dummy_hwaend.h new file mode 100644 index 0000000..9704e73 --- /dev/null +++ b/Tests/dummy_hwaend.h @@ -0,0 +1,6 @@ +#ifndef Tests_dummy_hwaend_h +#define Tests_dummy_hwaend_h + +void hwaend_() {} + +#endif diff --git a/Tests/launch_standalone.cc b/Tests/launch_standalone.cc new file mode 100644 index 0000000..82a3f4e --- /dev/null +++ b/Tests/launch_standalone.cc @@ -0,0 +1,18 @@ +#include "Fpmc.h" +#include "dummy_hwaend.h" + +int main() +{ + fpmc::Fpmc gen; + gen.parameters().setProcessId( 16008 ); // QED yy->mu,mu + gen.parameters().setInitialFlux( 15 ); + gen.initialise(); + + hwevnt_t event; + unsigned int i=0, num_events = 100; + + do { + if ( gen.next( event ) ) i++; + } while ( i Date: Fri, 9 Jun 2017 12:51:35 +0200 Subject: [PATCH 03/13] New enums to simplify the UI --- Fpmc/Fpmc.cc | 2 +- Fpmc/FpmcParameters.h | 6 ++-- Fpmc/FpmcTypes.h | 41 ++++++++++++++++++++++++ Herwig/herwig.h | 65 ++++++++++---------------------------- Tests/launch_standalone.cc | 2 +- 5 files changed, 64 insertions(+), 52 deletions(-) create mode 100644 Fpmc/FpmcTypes.h diff --git a/Fpmc/Fpmc.cc b/Fpmc/Fpmc.cc index a1e30a5..a22014c 100644 --- a/Fpmc/Fpmc.cc +++ b/Fpmc/Fpmc.cc @@ -187,7 +187,7 @@ namespace fpmc event = hwevnt_; - if ( hwevnt_.IERROR ) return false; + if ( event.IERROR ) return false; //--- increment the events counter ++event_; diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index c4eefe9..8a7d520 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -1,6 +1,8 @@ #ifndef FpmcInterface_FpmcParameters_h #define FpmcInterface_FpmcParameters_h +#include "FpmcTypes.h" + #include "herwig.h" #include "fpmc.h" @@ -39,8 +41,8 @@ namespace fpmc void setProcessId( unsigned int iproc ) { add( "iproc", iproc ); } unsigned int processId() const { return getInt( "iproc" ); } - void setInitialFlux( unsigned int nflux ) { add( "nflux", nflux ); } - unsigned int initialFlux() const { return getInt( "nflux" ); } + void setIntermediateFlux( const Flux& nflux ) { add( "nflux", nflux ); } + Flux intermediateFlux() const { return static_cast( getInt( "nflux" ) ); } void setSqrtS( double sqrts ) { add( "ecms", sqrts ); } double sqrtS() const { return getFloat( "ecms" ); } diff --git a/Fpmc/FpmcTypes.h b/Fpmc/FpmcTypes.h new file mode 100644 index 0000000..ae0eb7c --- /dev/null +++ b/Fpmc/FpmcTypes.h @@ -0,0 +1,41 @@ +#ifndef Fpmc_FpmcTypes_h +#define Fpmc_FpmcTypes_h + +namespace fpmc +{ + enum Flux + { + // Exclusive QCD fluxes + PomeronFlux = 9, + ReggeonFlux = 10, + KMRExclusive = 16, + CHIDeExclusive = 17, + PomeronReggeon = 19, + PomeronReggeonPP = 21, + // QED fluxes + PhotonPhotonCahnJackson = 12, + PhotonPhotonAA = 13, + PhotonPhotonPPPapageorgiou = 14, + PhotonPhotonBudnevCoherent = 15, + PhotonPhotonPA = 23, + // Combined fluxes + PhotonPomeronPP = 20, + PomeronPhotonPP = 22, + PhotonPomeronPA = 26, + PomeronPhotonPA = 25 + }; + + /*enum ProcessType + { + ExclusiveProcess = "EXC", + InclusiveProcess = "INC" + }; + + enum InteractionType + { + QED = "QED", + QCD = "QCD" + };*/ +} + +#endif diff --git a/Herwig/herwig.h b/Herwig/herwig.h index 70e3aa0..db42975 100644 --- a/Herwig/herwig.h +++ b/Herwig/herwig.h @@ -2,16 +2,8 @@ #define HERWIG_INC //-------------------------HERWIG common block ------------------------------------- -// COMMON block stuff, that doesn't come with the HerwigWrapper6_4.h .... -/*C Arrays for particle properties (NMXRES = max no of particles defined) - PARAMETER(NMXRES=500) - COMMON/HWPROP/RLTIM(0:NMXRES),RMASS(0:NMXRES),RSPIN(0:NMXRES), - & ICHRG(0:NMXRES),IDPDG(0:NMXRES),IFLAV(0:NMXRES),NRES, - & VTOCDK(0:NMXRES),VTORDK(0:NMXRES), - & QORQQB(0:NMXRES),QBORQQ(0:NMXRES) */ - -static const int nmxres = 500+1; // we need NMXRES+1 entries ... +static const int nmxres = 500; static const int nmxsud = 1024; // max number of entries for Sudakov lookup table static const int nmxcdk = 4000; static const int nmxhep = 4000; @@ -20,11 +12,6 @@ static const int modmax = 50; static const int maxhrp = 100; static const int imaxch = 20; -static const int NPROC = 117; -static const int MAXMS = 100; -static const int NPSIMP = 16; -static const double SMALL = 1.e-20; - #ifdef __cplusplus extern "C" { @@ -77,11 +64,11 @@ extern "C" } hwprch_t; extern hwprch_t hwprch_; - + //--- arrays for particle properties (NMXRES = max no of particles defined) typedef struct { - double RLTIM[nmxres], RMASS[nmxres], RSPIN[nmxres]; - int ICHRG[nmxres], IDPDG[nmxres],IFLAV[nmxres], NRES; - int VTOCDK[nmxres], VTORDK[nmxres], QORQQB[nmxres], QBORQQ[nmxres]; + double RLTIM[nmxres+1], RMASS[nmxres+1], RSPIN[nmxres+1]; + int ICHRG[nmxres+1], IDPDG[nmxres],IFLAV[nmxres+1], NRES; + int VTOCDK[nmxres+1], VTORDK[nmxres+1], QORQQB[nmxres+1], QBORQQ[nmxres+1]; // starting from 0... } hwprop_t; extern hwprop_t hwprop_; @@ -121,7 +108,7 @@ extern "C" //--- weights used in cluster decays typedef struct { - double REPWT[5][5][4],SNGWT,DECWT,QWT[3],PWT[12],SWTEF[nmxres]; + double REPWT[5][5][4],SNGWT,DECWT,QWT[3],PWT[12],SWTEF[nmxres+1]; } hwuwts_t; extern hwuwts_t hwuwts_; @@ -202,41 +189,23 @@ extern "C" extern hw6300_t hw6300_; //-------------------------- JIMMY COMMON BLOCK ------------------------------- -/* - DOUBLE PRECISION YGAMMA, JMZMIN, JMRAD, PTJIM - DOUBLE PRECISION PHAD, JMU2, JMV2, SMALL, JMARRY -c JMARRY is the array storing gamma-p xsec at various z, & -c max weight for each z - DOUBLE PRECISION TOTSCAT, NLOST - - INTEGER MAXMS, NPSIMP, MSFLAG, JMPTYP, JCMVAR, NPROC - LOGICAL ANOMOFF - - PARAMETER( NPROC = 117 ) - PARAMETER( MAXMS = 100 ) ! Maximum multiple scatters - PARAMETER( NPSIMP = 16 ) ! No. of Simpson rule (YBJ) -C intervals (must be even) - PARAMETER( SMALL = 1.0D-20 ) - INTEGER JMOUT, JMBUG, FN_TYPE, NSCAT, JMUEO, MAXMSTRY - PARAMETER(JMOUT = 6) - COMMON / JMPARM / PTJIM, YGAMMA, JMZMIN, JMRAD(264) - & ,PHAD, JMU2, JMV2, JMARRY( 6+MAXMS,0:NPSIMP ) - & ,NLOST, TOTSCAT, ANOMOFF, JCMVAR, JMUEO - & ,JMPTYP(NPROC), JMBUG, FN_TYPE, MSFLAG, MAXMSTRY - DOUBLE PRECISION JMPROC, JMVETO - COMMON / JMEVNT/ JMPROC(NPROC) - &, JMVETO(2,13), NSCAT -*/ + static const int nproc = 117; + static const int maxms = 100; + static const int npsimp = 16; + //static const double small = 1.e-20; + //static const int jmout = 6; typedef struct { - double PTJIM,YGAMMA,JMZMIN,JMRAD[264],PHAD,JMU2,JMV2,JMARRY[NPSIMP+1][6+MAXMS], - NLOST,TOTSCAT; - int ANAMOFF,JCMVAR,JMUEO,JMPTYP[NPROC],JMBUG,FN_TYPE,MSFLAG,MAXMSTRY; + double PTJIM,YGAMMA,JMZMIN,JMRAD[264],PHAD,JMU2,JMV2; + double JMARRY[npsimp+1][6+maxms]; // array storing gamma-p xsec at various z, and max weight for each z + double NLOST,TOTSCAT; + int ANOMOFF; // logical + int JCMVAR,JMUEO,JMPTYP[nproc],JMBUG,FN_TYPE,MSFLAG,MAXMSTRY; } jmparm_t; extern jmparm_t jmparm_; typedef struct { - double JMPROC[NPROC],JMVETO[13][2]; + double JMPROC[nproc],JMVETO[13][2]; int NSCAT; } jmevnt_t; extern jmevnt_t jmevnt_; diff --git a/Tests/launch_standalone.cc b/Tests/launch_standalone.cc index 82a3f4e..7153219 100644 --- a/Tests/launch_standalone.cc +++ b/Tests/launch_standalone.cc @@ -5,7 +5,7 @@ int main() { fpmc::Fpmc gen; gen.parameters().setProcessId( 16008 ); // QED yy->mu,mu - gen.parameters().setInitialFlux( 15 ); + gen.parameters().setIntermediateFlux( fpmc::PhotonPhotonBudnevCoherent ); gen.initialise(); hwevnt_t event; From c48729a930dd2d4a2e7ec373d015903076548a8f Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 9 Jun 2017 14:57:42 +0200 Subject: [PATCH 04/13] Further simplification of the UI with verbose interaction/process types --- Fpmc/FpmcParameters.h | 40 ++++++++++++++++++++++++++++++++++++++ Fpmc/FpmcTypes.h | 13 ++----------- Tests/launch_standalone.cc | 2 ++ 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index 8a7d520..0da4ad6 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -38,12 +38,52 @@ namespace fpmc bool hadronise() const { return strcmp( getString( "hadr" ).c_str(), "Y" )==0; } + //----- unique ID of the process to generate + void setProcessId( unsigned int iproc ) { add( "iproc", iproc ); } unsigned int processId() const { return getInt( "iproc" ); } + //----- type of process involved + + void setProcessType( const char* typepr ) { add( "typepr", typepr ); } + void setProcessType( const ProcessType& typepr ) { + switch ( typepr ) { + case ExclusiveProcess: add( "typepr", "EXC" ); break; + case InclusiveProcess: add( "typepr", "INC" ); break; + default: break; + } + } + ProcessType processType() const { + const std::string typepr = getString( "typepr" ); + if ( typepr.compare( "EXC" )==0 ) return ExclusiveProcess; + if ( typepr.compare( "INC" )==0 ) return InclusiveProcess; + return InvalidProcess; + } + + //----- type of interaction involved + + void setInteractionType( const char* typint ) { add( "typint", typint ); } + void setInteractionType( const InteractionType& typint ) { + switch ( typint ) { + case QED: add( "typint", "QED" ); break; + case QCD: add( "typint", "QCD" ); break; + default: break; + } + } + InteractionType interactionType() const { + const std::string typint = getString( "typint" ); + if ( typint.compare( "QED" )==0 ) return QED; + if ( typint.compare( "QCD" )==0 ) return QCD; + return InvalidInteraction; + } + + //----- type of intermediate particles flux + void setIntermediateFlux( const Flux& nflux ) { add( "nflux", nflux ); } Flux intermediateFlux() const { return static_cast( getInt( "nflux" ) ); } + //----- centre of mass energy of the initial system + void setSqrtS( double sqrts ) { add( "ecms", sqrts ); } double sqrtS() const { return getFloat( "ecms" ); } diff --git a/Fpmc/FpmcTypes.h b/Fpmc/FpmcTypes.h index ae0eb7c..dcb278c 100644 --- a/Fpmc/FpmcTypes.h +++ b/Fpmc/FpmcTypes.h @@ -25,17 +25,8 @@ namespace fpmc PomeronPhotonPA = 25 }; - /*enum ProcessType - { - ExclusiveProcess = "EXC", - InclusiveProcess = "INC" - }; - - enum InteractionType - { - QED = "QED", - QCD = "QCD" - };*/ + enum ProcessType { InvalidProcess = -1, ExclusiveProcess = 0, InclusiveProcess = 1 }; + enum InteractionType { InvalidInteraction = -1, QED = 0, QCD = 1 }; } #endif diff --git a/Tests/launch_standalone.cc b/Tests/launch_standalone.cc index 7153219..c82b764 100644 --- a/Tests/launch_standalone.cc +++ b/Tests/launch_standalone.cc @@ -5,6 +5,8 @@ int main() { fpmc::Fpmc gen; gen.parameters().setProcessId( 16008 ); // QED yy->mu,mu + gen.parameters().setProcessType( fpmc::ExclusiveProcess ); + gen.parameters().setInteractionType( fpmc::QED ); gen.parameters().setIntermediateFlux( fpmc::PhotonPhotonBudnevCoherent ); gen.initialise(); From 3b61f5d7319352e4bcf371a7e8904bd281a2388d Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 9 Jun 2017 15:27:24 +0200 Subject: [PATCH 05/13] eta/pt ranges supported for the steering card --- Fpmc/Fpmc.cc | 2 +- Fpmc/FpmcParameters.h | 20 ++++++++++++++++++- Tests/test_solibrary.sh | 7 +++++++ ...aunch_standalone.cc => test_standalone.cc} | 10 ++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100755 Tests/test_solibrary.sh rename Tests/{launch_standalone.cc => test_standalone.cc} (75%) diff --git a/Fpmc/Fpmc.cc b/Fpmc/Fpmc.cc index a22014c..788e6d1 100644 --- a/Fpmc/Fpmc.cc +++ b/Fpmc/Fpmc.cc @@ -156,7 +156,7 @@ namespace fpmc dbg_ << "WARNING: Herwig/FPMC not yet initialised! Invalid cross-section retrieved." << std::endl; return 0.; } - return hwevnt_.EVWGT * 1.e3; // return in pb + return hwevnt_.AVWGT * 1.e3; // return in pb } bool diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index 0da4ad6..75ee5cc 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -86,7 +86,25 @@ namespace fpmc void setSqrtS( double sqrts ) { add( "ecms", sqrts ); } double sqrtS() const { return getFloat( "ecms" ); } - + + //----- events kinematics + + void setPtRange( double ptmin, double ptmax=0. ) { + add( "ptmin", ptmin ); + if ( ptmax>0. ) add( "ptmax", ptmax ); + } + double ptMin() const { return getFloat( "ptmin" ); } + double ptMax() const { return getFloat( "ptmax" ); } + + void setEtaRange( double etamin, double etamax ) { + add( "yjmin", etamin ); + add( "yjmax", etamax ); + } + double etaMin() const { return getFloat( "yjmin" ); } + double etaMax() const { return getFloat( "yjmax" ); } + + //----- full common blocks population + void fetchHWPRAM( hwpram_t& ) const; void fetchHWPROP( hwprop_t& ) const; void fetchHWHARD( hwhard_t& ) const; diff --git a/Tests/test_solibrary.sh b/Tests/test_solibrary.sh new file mode 100755 index 0000000..2b3fb7a --- /dev/null +++ b/Tests/test_solibrary.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +g++ test_standalone.cc -o test_standalone \ + -L../build/ -lFPMC \ + `gsl-config --libs` \ + `clhep-config --libs` \ + -I../Fpmc -I../Herwig diff --git a/Tests/launch_standalone.cc b/Tests/test_standalone.cc similarity index 75% rename from Tests/launch_standalone.cc rename to Tests/test_standalone.cc index c82b764..d424bad 100644 --- a/Tests/launch_standalone.cc +++ b/Tests/test_standalone.cc @@ -4,12 +4,22 @@ int main() { fpmc::Fpmc gen; + + //--- parameterise the run + + gen.parameters().setSqrtS( 13.e3 ); // in GeV gen.parameters().setProcessId( 16008 ); // QED yy->mu,mu gen.parameters().setProcessType( fpmc::ExclusiveProcess ); gen.parameters().setInteractionType( fpmc::QED ); gen.parameters().setIntermediateFlux( fpmc::PhotonPhotonBudnevCoherent ); + gen.parameters().setPtRange( 10. ); // no upper limit + + //--- initialise the run + gen.initialise(); + //--- generate some events + hwevnt_t event; unsigned int i=0, num_events = 100; From 6878b251c20926603924d3430564e21701e66f50 Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 13:40:42 +0200 Subject: [PATCH 06/13] Simplified the directories structure ; now compiling through CMake, not yet for Make --- CMakeLists.txt | 77 +--- .../main.cc => Examples/fpmc-wrapper.cc | 2 +- External/CMakeCache.txt | 434 ------------------ External/herwig6500.inc | 344 -------------- Fpmc/CMakeLists.txt | 14 +- {External => Fpmc/External}/CHIDe.inc | 0 .../External}/CHIDe/CMakeLists.txt | 0 .../External}/CHIDe/Common/CHIDeFunctions.f | 0 .../External}/CHIDe/Common/CHIDedcadredo.f | 0 .../External}/CHIDe/Common/CHIDedgd2007.f | 0 .../External}/CHIDe/Common/CHIDedgd2008.f | 0 .../External}/CHIDe/Common/CHIDedgdforward.f | 0 .../External}/CHIDe/Data/Higgssudatab.d | 0 .../External}/CHIDe/Data/dgdtab1.d | 0 .../External}/CHIDe/Data/dgdtab2.d | 0 .../External}/CHIDe/Data/dgdtab3.d | 0 .../External}/CHIDe/Data/dgdtab4.d | 0 .../External}/CHIDe/Data/ggsudatab.d | 0 .../External}/CHIDe/Diphoton/CHIDeDiphoton.f | 0 .../CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f | 0 .../CHIDe/Diphoton/CHIDeDiphotonFunctions.f | 0 .../CHIDe/Diphoton/CHIDeDiphotonInit.f | 0 .../External}/CHIDe/GG/CHIDeGG.f | 0 .../External}/CHIDe/GG/CHIDeGGAmplitudes.f | 0 .../External}/CHIDe/GG/CHIDeGGDurhamlike.f | 0 .../External}/CHIDe/GG/CHIDeGGFunctions.f | 0 .../External}/CHIDe/GG/CHIDeGGInit.f | 0 .../External}/CHIDe/Higgs/CHIDeHiggs.f | 0 .../External}/CHIDe/Higgs/CHIDeHiggsInit.f | 0 {External => Fpmc/External}/CHIDe/Makefile | 0 .../External}/CHIDe/Standalone/Standalone.f | 0 .../CHIDe/Standalone/StandaloneDiphoton.f | 0 .../External}/CHIDe/Standalone/StandaloneGG.f | 0 .../CHIDe/Standalone/StandaloneHiggs.f | 0 .../External}/CHIDe/Standalone/Vegas.f | 0 .../CHIDe/Standalone/VegasDiphoton.f | 0 .../External}/CHIDe/Standalone/VegasGG.f | 0 .../External}/CHIDe/Standalone/VegasHiggs.f | 0 .../External}/CHIDe/Standalone/vegas11.f | 0 {External => Fpmc/External}/CMakeLists.txt | 0 .../comphep_interface/CMakeLists.txt | 0 .../comphep_interface/comphep_wraper.cpp | 0 .../sqme_aaaa/CMakeLists.txt | 0 .../comphep_interface/sqme_aaaa/Makefile | 0 .../sqme_aaaa/comphep/include/out_ext.h | 0 .../sqme_aaaa/comphep/include/out_int.h | 0 .../sqme_aaaa/comphep/include/sqme0.c | 0 .../sqme_aaaa/src/call_util.cpp | 0 .../comphep_interface/sqme_aaaa/src/d1.cpp | 0 .../comphep_interface/sqme_aaaa/src/extern.h | 0 .../comphep_interface/sqme_aaaa/src/f1.cpp | 0 .../sqme_aaaa/src/service.cpp | 0 .../sqme_aaaa/src/sqme.c_save | 0 .../comphep_interface/sqme_aaaa/src/sqme.cpp | 0 .../sqme_aaaa/test/diff_cross.h | 0 .../sqme_aaaa/test/testcall.cpp | 0 .../sqme_aaaa/test/testcall2.cpp | 0 .../sqme_aaww/CMakeLists.txt | 0 .../comphep_interface/sqme_aaww/Makefile | 0 .../sqme_aaww/comphep/include/out_ext.h | 0 .../sqme_aaww/comphep/include/out_int.h | 0 .../sqme_aaww/comphep/include/sqme0.c | 0 .../sqme_aaww/src/call_util.cpp | 0 .../comphep_interface/sqme_aaww/src/d1.cpp | 0 .../comphep_interface/sqme_aaww/src/extern.h | 0 .../comphep_interface/sqme_aaww/src/f1.cpp | 0 .../comphep_interface/sqme_aaww/src/f2.cpp | 0 .../comphep_interface/sqme_aaww/src/f3.cpp | 0 .../comphep_interface/sqme_aaww/src/f4.cpp | 0 .../comphep_interface/sqme_aaww/src/f5.cpp | 0 .../comphep_interface/sqme_aaww/src/f6.cpp | 0 .../sqme_aaww/src/service.cpp | 0 .../sqme_aaww/src/sqme.c_save | 0 .../comphep_interface/sqme_aaww/src/sqme.cpp | 0 .../sqme_aaww/test/diff_cross.h | 0 .../sqme_aaww/test/testcall.cpp | 0 .../sqme_aaww/test/testcall2.cpp | 0 .../sqme_aazz/CMakeLists.txt | 0 .../comphep_interface/sqme_aazz/Makefile | 0 .../sqme_aazz/comphep/include/out_ext.h | 0 .../sqme_aazz/comphep/include/out_int.h | 0 .../sqme_aazz/comphep/include/sqme0.c | 0 .../sqme_aazz/src/call_util.cpp | 0 .../comphep_interface/sqme_aazz/src/d1.cpp | 0 .../comphep_interface/sqme_aazz/src/extern.h | 0 .../comphep_interface/sqme_aazz/src/f1.cpp | 0 .../sqme_aazz/src/service.cpp | 0 .../sqme_aazz/src/sqme.c_save | 0 .../comphep_interface/sqme_aazz/src/sqme.cpp | 0 .../sqme_aazz/test/diff_cross.h | 0 .../sqme_aazz/test/testcall.cpp | 0 .../sqme_aazz/test/testcall2.cpp | 0 .../External}/excl_aaaa/CMakeLists.txt | 0 .../External}/excl_aaaa/Makefile | 0 .../excl_aaaa/bsmf_sqme_aaaa/sqme.cpp | 0 .../excl_aaaa/bsmv_sqme_aaaa/sqme.cpp | 0 .../External}/excl_aaaa/commons/functions.cpp | 0 .../External}/excl_aaaa/commons/functions.h | 0 .../excl_aaaa/commons/helicity_amplitudes.cpp | 0 .../excl_aaaa/commons/helicity_amplitudes.h | 0 .../excl_aaaa/eft_sqme_aaaa/sqme.cpp | 2 +- .../excl_aaaa/eft_sqme_aaaz/sqme.cpp | 0 .../External}/excl_aaaa/excl_aaaa_wraper.cpp | 0 .../resonances0even_sqme_aaaa/sqme.cpp | 0 .../resonances0even_sqme_az/sqme.cpp | 0 .../resonances0even_sqme_az/test/Makefile | 0 .../resonances0even_sqme_gluglu/sqme.cpp | 0 .../resonances0even_sqme_hh/sqme.cpp | 0 .../resonances0even_sqme_ww/sqme.cpp | 0 .../resonances0even_sqme_ww/test/Makefile | 0 .../resonances0even_sqme_zz/sqme.cpp | 0 .../resonances0even_sqme_zz/test/Makefile | 0 .../resonances0evenoh_sqme_zz/sqme.cpp | 0 .../excl_aaaa/resonances2_sqme_aaaa/sqme.cpp | 0 .../External}/excl_aaaa/sm_sqme_aaaa/sqme.cpp | 0 .../External}/kmrlumi/CMakeLists.txt | 0 {External => Fpmc/External}/kmrlumi/KMR.f | 0 .../External}/kmrlumi/kmrLumi_ExHume_LHC.f | 0 .../External}/kmrlumi/kmrLumi_ExHume_Tev.f | 0 .../External}/kmrlumi/kmrLumi_Lonnblad_LHC.f | 0 .../External}/kmrlumi/kmrLumi_Lonnblad_Tev.f | 0 .../External}/kmrlumi2/CMakeLists.txt | 0 {External => Fpmc/External}/kmrlumi2/Makefile | 0 {External => Fpmc/External}/kmrlumi2/kmr2.f | 0 {External => Fpmc/External}/kmrlumi2/kmr2.inc | 0 .../External}/kmrlumi2/mrst2002.f | 0 .../External}/kmrlumi2/mrst2002nlo.dat | 0 {External => Fpmc/External}/lininter.f | 0 {External => Fpmc/External}/ntuple.f | 0 {External => Fpmc/External}/ntuple_ww.f | 0 {External => Fpmc/External}/pdf/h1qcd.f | 0 {External => Fpmc/External}/pdf/i_2006_fita.f | 0 {External => Fpmc/External}/pdf/i_2006_fitb.f | 0 {External => Fpmc/External}/pdf/i_nlotables.f | 0 .../External}/pdf/pdftable_h194ext.inc | 0 .../External}/pdf/pdftable_h197.inc | 0 .../External}/pdf/pdftable_h1zeus.inc | 0 .../External}/pdf/pdftable_zeus.inc | 0 {External => Fpmc/External}/pdf/qcd_2006.f | 0 {External => Fpmc/External}/pxcone_intf.f | 0 {External => Fpmc/External}/pxcone_mod_new.f | 0 .../External}/reco_ok/HERWIG65.INC | 0 .../External}/reco_ok/pxcone_mod_new.f | 0 {External => Fpmc/External}/reco_ok/reco_ok.f | 0 {External => Fpmc/External}/shw.inc | 0 .../External}/softc/CMakeLists.txt | 0 {External => Fpmc/External}/softc/getsoftc.f | 0 .../External}/softc/soft.14TeV.effopa.f | 0 .../External}/softc/soft.14TeV.f | 0 .../External}/softc/soft.2TeV.effopa.f | 0 {External => Fpmc/External}/softc/soft.2TeV.f | 0 {External => Fpmc/External}/softc/softc.ini | 0 {External => Fpmc/External}/sudakov.f | 0 {External => Fpmc/External}/sudakovSP.f | 0 {External => Fpmc/External}/testSud.f | 0 {External => Fpmc/External}/tools.f | 0 Fpmc/Fpmc.h | 4 +- Fpmc/FpmcParameters.h | 4 +- HepMCWrapper/Wrapper.h => Fpmc/HepMCWrapper.h | 0 Fpmc/{ => interface}/fpmc.h | 0 Fpmc/{ => interface}/fpmc.inc | 0 {Herwig => Fpmc/interface}/herwig.h | 0 Fpmc/{ => src}/Fpmc.cc | 0 Fpmc/{ => src}/FpmcParameters.cc | 0 .../Wrapper.cc => Fpmc/src/HepMCWrapper.cc | 4 +- Fpmc/{ => src}/fpmc.f | 30 +- HepMCWrapper/CMakeLists.txt | 3 - Herwig/CMakeLists.txt | 4 +- Objects/.keepme | 0 cmake/FindEnvironment.cmake | 40 ++ 170 files changed, 89 insertions(+), 873 deletions(-) rename HepMCWrapper/main.cc => Examples/fpmc-wrapper.cc (99%) delete mode 100644 External/CMakeCache.txt delete mode 100644 External/herwig6500.inc rename {External => Fpmc/External}/CHIDe.inc (100%) rename {External => Fpmc/External}/CHIDe/CMakeLists.txt (100%) rename {External => Fpmc/External}/CHIDe/Common/CHIDeFunctions.f (100%) rename {External => Fpmc/External}/CHIDe/Common/CHIDedcadredo.f (100%) rename {External => Fpmc/External}/CHIDe/Common/CHIDedgd2007.f (100%) rename {External => Fpmc/External}/CHIDe/Common/CHIDedgd2008.f (100%) rename {External => Fpmc/External}/CHIDe/Common/CHIDedgdforward.f (100%) rename {External => Fpmc/External}/CHIDe/Data/Higgssudatab.d (100%) rename {External => Fpmc/External}/CHIDe/Data/dgdtab1.d (100%) rename {External => Fpmc/External}/CHIDe/Data/dgdtab2.d (100%) rename {External => Fpmc/External}/CHIDe/Data/dgdtab3.d (100%) rename {External => Fpmc/External}/CHIDe/Data/dgdtab4.d (100%) rename {External => Fpmc/External}/CHIDe/Data/ggsudatab.d (100%) rename {External => Fpmc/External}/CHIDe/Diphoton/CHIDeDiphoton.f (100%) rename {External => Fpmc/External}/CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f (100%) rename {External => Fpmc/External}/CHIDe/Diphoton/CHIDeDiphotonFunctions.f (100%) rename {External => Fpmc/External}/CHIDe/Diphoton/CHIDeDiphotonInit.f (100%) rename {External => Fpmc/External}/CHIDe/GG/CHIDeGG.f (100%) rename {External => Fpmc/External}/CHIDe/GG/CHIDeGGAmplitudes.f (100%) rename {External => Fpmc/External}/CHIDe/GG/CHIDeGGDurhamlike.f (100%) rename {External => Fpmc/External}/CHIDe/GG/CHIDeGGFunctions.f (100%) rename {External => Fpmc/External}/CHIDe/GG/CHIDeGGInit.f (100%) rename {External => Fpmc/External}/CHIDe/Higgs/CHIDeHiggs.f (100%) rename {External => Fpmc/External}/CHIDe/Higgs/CHIDeHiggsInit.f (100%) rename {External => Fpmc/External}/CHIDe/Makefile (100%) rename {External => Fpmc/External}/CHIDe/Standalone/Standalone.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/StandaloneDiphoton.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/StandaloneGG.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/StandaloneHiggs.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/Vegas.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/VegasDiphoton.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/VegasGG.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/VegasHiggs.f (100%) rename {External => Fpmc/External}/CHIDe/Standalone/vegas11.f (100%) rename {External => Fpmc/External}/CMakeLists.txt (100%) rename {External => Fpmc/External}/comphep_interface/CMakeLists.txt (100%) rename {External => Fpmc/External}/comphep_interface/comphep_wraper.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/CMakeLists.txt (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/Makefile (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/comphep/include/out_ext.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/comphep/include/out_int.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/comphep/include/sqme0.c (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/call_util.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/d1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/extern.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/f1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/service.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/sqme.c_save (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/src/sqme.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/test/diff_cross.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/test/testcall.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaaa/test/testcall2.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/CMakeLists.txt (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/Makefile (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/comphep/include/out_ext.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/comphep/include/out_int.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/comphep/include/sqme0.c (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/call_util.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/d1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/extern.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f2.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f3.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f4.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f5.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/f6.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/service.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/sqme.c_save (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/src/sqme.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/test/diff_cross.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/test/testcall.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aaww/test/testcall2.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/CMakeLists.txt (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/Makefile (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/comphep/include/out_ext.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/comphep/include/out_int.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/comphep/include/sqme0.c (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/call_util.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/d1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/extern.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/f1.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/service.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/sqme.c_save (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/src/sqme.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/test/diff_cross.h (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/test/testcall.cpp (100%) rename {External => Fpmc/External}/comphep_interface/sqme_aazz/test/testcall2.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/CMakeLists.txt (100%) rename {External => Fpmc/External}/excl_aaaa/Makefile (100%) rename {External => Fpmc/External}/excl_aaaa/bsmf_sqme_aaaa/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/bsmv_sqme_aaaa/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/commons/functions.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/commons/functions.h (100%) rename {External => Fpmc/External}/excl_aaaa/commons/helicity_amplitudes.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/commons/helicity_amplitudes.h (100%) rename {External => Fpmc/External}/excl_aaaa/eft_sqme_aaaa/sqme.cpp (99%) rename {External => Fpmc/External}/excl_aaaa/eft_sqme_aaaz/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/excl_aaaa_wraper.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_aaaa/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_az/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_az/test/Makefile (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_gluglu/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_hh/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_ww/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_ww/test/Makefile (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_zz/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0even_sqme_zz/test/Makefile (100%) rename {External => Fpmc/External}/excl_aaaa/resonances0evenoh_sqme_zz/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/resonances2_sqme_aaaa/sqme.cpp (100%) rename {External => Fpmc/External}/excl_aaaa/sm_sqme_aaaa/sqme.cpp (100%) rename {External => Fpmc/External}/kmrlumi/CMakeLists.txt (100%) rename {External => Fpmc/External}/kmrlumi/KMR.f (100%) rename {External => Fpmc/External}/kmrlumi/kmrLumi_ExHume_LHC.f (100%) rename {External => Fpmc/External}/kmrlumi/kmrLumi_ExHume_Tev.f (100%) rename {External => Fpmc/External}/kmrlumi/kmrLumi_Lonnblad_LHC.f (100%) rename {External => Fpmc/External}/kmrlumi/kmrLumi_Lonnblad_Tev.f (100%) rename {External => Fpmc/External}/kmrlumi2/CMakeLists.txt (100%) rename {External => Fpmc/External}/kmrlumi2/Makefile (100%) rename {External => Fpmc/External}/kmrlumi2/kmr2.f (100%) rename {External => Fpmc/External}/kmrlumi2/kmr2.inc (100%) rename {External => Fpmc/External}/kmrlumi2/mrst2002.f (100%) rename {External => Fpmc/External}/kmrlumi2/mrst2002nlo.dat (100%) rename {External => Fpmc/External}/lininter.f (100%) rename {External => Fpmc/External}/ntuple.f (100%) rename {External => Fpmc/External}/ntuple_ww.f (100%) rename {External => Fpmc/External}/pdf/h1qcd.f (100%) rename {External => Fpmc/External}/pdf/i_2006_fita.f (100%) rename {External => Fpmc/External}/pdf/i_2006_fitb.f (100%) rename {External => Fpmc/External}/pdf/i_nlotables.f (100%) rename {External => Fpmc/External}/pdf/pdftable_h194ext.inc (100%) rename {External => Fpmc/External}/pdf/pdftable_h197.inc (100%) rename {External => Fpmc/External}/pdf/pdftable_h1zeus.inc (100%) rename {External => Fpmc/External}/pdf/pdftable_zeus.inc (100%) rename {External => Fpmc/External}/pdf/qcd_2006.f (100%) rename {External => Fpmc/External}/pxcone_intf.f (100%) rename {External => Fpmc/External}/pxcone_mod_new.f (100%) rename {External => Fpmc/External}/reco_ok/HERWIG65.INC (100%) rename {External => Fpmc/External}/reco_ok/pxcone_mod_new.f (100%) rename {External => Fpmc/External}/reco_ok/reco_ok.f (100%) rename {External => Fpmc/External}/shw.inc (100%) rename {External => Fpmc/External}/softc/CMakeLists.txt (100%) rename {External => Fpmc/External}/softc/getsoftc.f (100%) rename {External => Fpmc/External}/softc/soft.14TeV.effopa.f (100%) rename {External => Fpmc/External}/softc/soft.14TeV.f (100%) rename {External => Fpmc/External}/softc/soft.2TeV.effopa.f (100%) rename {External => Fpmc/External}/softc/soft.2TeV.f (100%) rename {External => Fpmc/External}/softc/softc.ini (100%) rename {External => Fpmc/External}/sudakov.f (100%) rename {External => Fpmc/External}/sudakovSP.f (100%) rename {External => Fpmc/External}/testSud.f (100%) rename {External => Fpmc/External}/tools.f (100%) rename HepMCWrapper/Wrapper.h => Fpmc/HepMCWrapper.h (100%) rename Fpmc/{ => interface}/fpmc.h (100%) rename Fpmc/{ => interface}/fpmc.inc (100%) rename {Herwig => Fpmc/interface}/herwig.h (100%) rename Fpmc/{ => src}/Fpmc.cc (100%) rename Fpmc/{ => src}/FpmcParameters.cc (100%) rename HepMCWrapper/Wrapper.cc => Fpmc/src/HepMCWrapper.cc (96%) rename Fpmc/{ => src}/fpmc.f (99%) delete mode 100644 HepMCWrapper/CMakeLists.txt delete mode 100644 Objects/.keepme create mode 100644 cmake/FindEnvironment.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 234f936..8a413b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,9 @@ project(FPMC) set(PROJECT_VERSION 1) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -Wno-deprecated-declarations -pedantic -std=c++11 -g") +set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/cmake) -set(MODULES Fpmc Herwig External HepMCWrapper Examples Tests) +set(MODULES Fpmc Herwig Examples Tests) #----- enable Fortran @@ -12,49 +13,10 @@ enable_language(Fortran) #----- external dependencies -if($ENV{HOSTNAME} MATCHES "^lxplus[0-9]+.cern.ch") - set(BASE_DIR "/cvmfs/sft.cern.ch/lcg/external") - set(CERNLIB_DIR "${BASE_DIR}/cernlib/2006a/x86_64-slc6-gcc47-opt") - set(GSL_DIR "${BASE_DIR}/GSL/1.14/x86_64-slc5-gcc44-opt") - set(CLHEP_DIR "${BASE_DIR}/clhep/2.2.0.4/x86_64-slc6-gcc48-opt") - set(HEPMC_DIR "${BASE_DIR}/HepMC/2.06.08/x86_64-slc6-gcc48-opt") - set(LHAPDF_DIR "${BASE_DIR}/MCGenerators/lhapdf/5.8.9/x86_64-slc6-gcc46-opt") - - message(STATUS "Compiling on LXPLUS. Do not forget to source the environment variables!") - - find_library(CERNLIB_LIB NAMES cernlib HINTS "${CERNLIB_DIR}/lib") - find_library(CERNLIB_MATHLIB_LIB NAMES mathlib HINTS "${CERNLIB_DIR}/lib") - find_library(CERNLIB_PACKLIB_LIB NAMES packlib HINTS "${CERNLIB_DIR}/lib") - find_library(CERNLIB_PAWLIB_LIB NAMES pawlib HINTS "${CERNLIB_DIR}/lib") - message(STATUS "PAW found in ${CERNLIB_PAWLIB_LIB}") - - find_library(GSL_LIB gsl HINTS "${GSL_DIR}/lib") - find_library(GSL_CBLAS_LIB gslcblas HINTS "${GSL_DIR}/lib") - #--- searching for CLHEP - find_library(CLHEP_LIB CLHEP HINTS "${CLHEP_DIR}/lib") - find_path(CLHEP_INCLUDE CLHEP HINTS "${CLHEP_DIR}/include") - #--- searching for LHAPDF - find_library(LHAPDF_LIB LHAPDF HINTS "${LHAPDF_DIR}/lib") - #--- searching for HepMC - find_library(HEPMC_LIB HepMC HINTS "${HEPMC_DIR}/lib") - find_library(HEPMC_FIO_LIB HepMCfio HINTS "${HEPMC_DIR}/lib") - find_path(HEPMC_INCLUDE HepMC HINTS "${HEPMC_DIR}/include") -else() - find_library(GSL_LIB gsl) - find_library(GSL_CBLAS_LIB gslcblas) - find_library(CLHEP_LIB CLHEP) - find_path(CLHEP_INCLUDE CLHEP) - find_library(LHAPDF_LIB LHAPDF) - find_library(HEPMC_LIB HepMC) - find_path(HEPMC_INCLUDE HepMC) -endif() - +include(FindEnvironment) +include_directories(${PROJECT_SOURCE_DIR}) include_directories(${CLHEP_INCLUDE}) -#----- all useful libraries - -set(LIBRARIES FPMC ${GSL_LIB} ${CLHEP_LIB} ${GSL_CBLAS_LIB} ${LHAPDF_LIB}) - #----- build all the intermediate objects foreach(_mod ${MODULES}) @@ -62,25 +24,9 @@ foreach(_mod ${MODULES}) add_subdirectory(${_mod}) endforeach() -#----- link everything in a single shared FPMC library (FPMC and HERWIG altogether) - -add_library(FPMCBare SHARED EXCLUDE_FROM_ALL $ $) -set_target_properties(FPMCBare PROPERTIES LINKER_LANGUAGE CXX) - -add_library(FPMCDeps SHARED EXCLUDE_FROM_ALL $ $ $ $ $ $) -target_link_libraries(FPMCDeps comphep) -set_target_properties(FPMCDeps PROPERTIES LINKER_LANGUAGE CXX) - -add_library(FPMC SHARED $ $ $ $ $ $ $ $) -target_link_libraries(FPMC comphep) -set_target_properties(FPMC PROPERTIES LINKER_LANGUAGE CXX) +#----- all useful libraries -#----- link the HepMC wrapper into a dedicated library - -if(HEPMC_LIB) - add_library(HepMCWrapper SHARED $) - target_link_libraries(HepMCWrapper ${CLHEP_LIB}) -endif() +set(LIBRARIES FpmcCore FpmcExternals FpmcHerwig ${GSL_LIB} ${CLHEP_LIB} ${GSL_CBLAS_LIB} ${LHAPDF_LIB}) #----- test executable @@ -92,12 +38,15 @@ endif() if(HEPMC_LIB) include_directories(${HEPMC_INCLUDE}) + list(APPEND LIBRARIES FpmcHepMC) message(STATUS "HepMC found at " ${HEPMC_LIB}) - include_directories(HepMCWrapper Examples) - add_executable(fpmc-hepmc HepMCWrapper/main.cc Examples/dummy_hwaend.f) - target_link_libraries(fpmc-hepmc ${LIBRARIES} HepMCWrapper ${HEPMC_LIB} ${HEPMC_FIO_LIB}) + include_directories(Examples) + add_executable(fpmc-hepmc Examples/fpmc-wrapper.cc Examples/dummy_hwaend.f) + target_link_libraries(fpmc-hepmc ${LIBRARIES} ${HEPMC_LIB} ${HEPMC_FIO_LIB}) endif() #----- copies -file(COPY ${PROJECT_SOURCE_DIR}/External/CHIDe/Data/ DESTINATION External/CHIDe/Data/) +file(COPY ${PROJECT_SOURCE_DIR}/Datacards/ DESTINATION Datacards/) +file(COPY ${PROJECT_SOURCE_DIR}/Fpmc/External/CHIDe/Data/ DESTINATION Fpmc/External/CHIDe/Data/) + diff --git a/HepMCWrapper/main.cc b/Examples/fpmc-wrapper.cc similarity index 99% rename from HepMCWrapper/main.cc rename to Examples/fpmc-wrapper.cc index bb81ea2..a0691de 100644 --- a/HepMCWrapper/main.cc +++ b/Examples/fpmc-wrapper.cc @@ -1,4 +1,4 @@ -#include "Wrapper.h" +#include "Fpmc/HepMCWrapper.h" #include #include diff --git a/External/CMakeCache.txt b/External/CMakeCache.txt deleted file mode 100644 index d77bf9f..0000000 --- a/External/CMakeCache.txt +++ /dev/null @@ -1,434 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/forthomme/work/pheno/fpmc_devel/fpmc/External -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or -// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//Flags used by the compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release builds for minimum -// size. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds. -CMAKE_CXX_FLAGS_RELEASE:STRING=-O2 -DNDEBUG - -//Flags used by the compiler during release builds with debug info. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//Flags used by the compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release builds for minimum -// size. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O2 -DNDEBUG - -//Flags used by the compiler during release builds with debug info. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Flags used by the linker. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF - -//Fortran compiler -CMAKE_Fortran_COMPILER:FILEPATH=/usr/bin/gfortran - -//Flags for Fortran compiler. -CMAKE_Fortran_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_Fortran_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release builds for minimum -// size. -CMAKE_Fortran_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG -Os - -//Flags used by the compiler during release builds. -CMAKE_Fortran_FLAGS_RELEASE:STRING=-O2 -DNDEBUG -O3 - -//Flags used by the compiler during release builds with debug info. -CMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake - -//Flags used by the linker during the creation of modules. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=FPMC - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Flags used by the linker during the creation of dll's. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Dependencies for target -Externals_LIB_DEPENDS:STATIC= - -//Value Computed by CMake -FPMC_BINARY_DIR:STATIC=/home/forthomme/work/pheno/fpmc_devel/fpmc/External - -//Dependencies for target -FPMC_LIB_DEPENDS:STATIC= - -//Value Computed by CMake -FPMC_SOURCE_DIR:STATIC=/home/forthomme/work/pheno/fpmc_devel/fpmc - -//Path to a library. -GSL_CBLAS_LIBRARY:FILEPATH=/usr/lib64/libgslcblas.so - -//Path to a library. -GSL_CBLAS_LIBRARY_DEBUG:FILEPATH=/usr/lib64/libgslcblas.so - -//Path to a file. -GSL_INCLUDE_DIR:PATH=/usr/include - -//Path to a library. -GSL_LIBRARY:FILEPATH=/usr/lib64/libgsl.so - -//Path to a library. -GSL_LIBRARY_DEBUG:FILEPATH=/usr/lib64/libgsl.so - -GSL_ROOT_DIR:STRING=/usr - -//Path to a library. -HEPMC_LIB:FILEPATH=/usr/local/lib64/libHepMC.so - -//Path to a library. -HEPMC_ROOTIO_LIB:FILEPATH=/usr/local/lib64/libHepMCrootIO.so - -//The directory containing a CMake configuration file for HepMC. -HepMC_DIR:PATH=/usr/local/share/HepMC/cmake - -//Path to a library. -LHAPDF_LIB:FILEPATH=/usr/lib64/libLHAPDF.so - -//pkg-config executable -PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/forthomme/work/pheno/fpmc_devel/fpmc/External -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//ADVANCED property for variable: CMAKE_Fortran_COMPILER -CMAKE_Fortran_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_Fortran_FLAGS -CMAKE_Fortran_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_Fortran_FLAGS_DEBUG -CMAKE_Fortran_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_Fortran_FLAGS_MINSIZEREL -CMAKE_Fortran_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_Fortran_FLAGS_RELEASE -CMAKE_Fortran_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_Fortran_FLAGS_RELWITHDEBINFO -CMAKE_Fortran_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/forthomme/work/pheno/fpmc_devel/fpmc -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=10 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//Details about finding GSL -FIND_PACKAGE_MESSAGE_DETAILS_GSL:INTERNAL=[/usr/include][/usr/lib64/libgsl.so][/usr/lib64/libgslcblas.so][v2.1()] -//Details about finding PkgConfig -FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v0.29.1()] -//ADVANCED property for variable: GSL_CBLAS_LIBRARY -GSL_CBLAS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: GSL_CBLAS_LIBRARY_DEBUG -GSL_CBLAS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -GSL_CFLAGS:INTERNAL= -GSL_CFLAGS_I:INTERNAL= -GSL_CFLAGS_OTHER:INTERNAL= -GSL_FOUND:INTERNAL=1 -GSL_INCLUDEDIR:INTERNAL=/usr/include -//ADVANCED property for variable: GSL_INCLUDE_DIR -GSL_INCLUDE_DIR-ADVANCED:INTERNAL=1 -GSL_INCLUDE_DIRS:INTERNAL= -GSL_LDFLAGS:INTERNAL=-lgsl;-lgslcblas;-lm -GSL_LDFLAGS_OTHER:INTERNAL= -GSL_LIBDIR:INTERNAL=/usr/lib64 -GSL_LIBRARIES:INTERNAL=gsl;gslcblas;m -//ADVANCED property for variable: GSL_LIBRARY -GSL_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: GSL_LIBRARY_DEBUG -GSL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -GSL_LIBRARY_DIRS:INTERNAL= -GSL_LIBS:INTERNAL= -GSL_LIBS_L:INTERNAL= -GSL_LIBS_OTHER:INTERNAL= -GSL_LIBS_PATHS:INTERNAL= -GSL_PREFIX:INTERNAL=/usr -//ADVANCED property for variable: GSL_ROOT_DIR -GSL_ROOT_DIR-ADVANCED:INTERNAL=1 -GSL_STATIC_CFLAGS:INTERNAL= -GSL_STATIC_CFLAGS_I:INTERNAL= -GSL_STATIC_CFLAGS_OTHER:INTERNAL= -GSL_STATIC_INCLUDE_DIRS:INTERNAL= -GSL_STATIC_LDFLAGS:INTERNAL=-lgsl;-lgslcblas;-lm -GSL_STATIC_LDFLAGS_OTHER:INTERNAL= -GSL_STATIC_LIBDIR:INTERNAL= -GSL_STATIC_LIBRARIES:INTERNAL=gsl;gslcblas;m -GSL_STATIC_LIBRARY_DIRS:INTERNAL= -GSL_STATIC_LIBS:INTERNAL= -GSL_STATIC_LIBS_L:INTERNAL= -GSL_STATIC_LIBS_OTHER:INTERNAL= -GSL_STATIC_LIBS_PATHS:INTERNAL= -//ADVANCED property for variable: GSL_VERSION -GSL_VERSION-ADVANCED:INTERNAL=1 -GSL_VERSION:INTERNAL=2.1 -GSL_gsl_INCLUDEDIR:INTERNAL= -GSL_gsl_LIBDIR:INTERNAL= -GSL_gsl_PREFIX:INTERNAL= -GSL_gsl_VERSION:INTERNAL= -//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE -PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 -__pkg_config_arguments_GSL:INTERNAL=QUIET;gsl -__pkg_config_checked_GSL:INTERNAL=1 -prefix_result:INTERNAL=/usr/lib64 - diff --git a/External/herwig6500.inc b/External/herwig6500.inc deleted file mode 100644 index 70ff5d7..0000000 --- a/External/herwig6500.inc +++ /dev/null @@ -1,344 +0,0 @@ -C ****COMMON BLOCK FILE FOR HERWIG VERSION 6.4**** -C -C ALTERATIONS: Layout completely overhauled for 5.9 -C -C -C New common blocks added for version 6.1: -C HWCLUS,HWSUSY,HWRPAR,HWMINB -C -C New variables added for version 6.1: -C OMHMIX,ET2MIX,PH3MIX,IOP4JT,NPRFMT, -C PRNDEF,PRNTEX,PRNWEB,EFFMIN,GCUTME, -C IOP4JT,NPRFMT see HWPRAM -C Y4JT,DURHAM see HWHARD -C QORQQB,QBORQQ see HWPROP -C NRECO see HWUCLU -C TXNAME see HWUNAM -C PPCL,NCL,IDCL see HWCLUS -C TANB,ALPHAH,COSBPA,SINBPA,COSBMA, -C SINBMA,COSA,SINA,COSB,SINB,COTB, -C ZMIXSS,ZMXNSS,ZSGNSS,LFCH,RFCH, -C SLFCH,SRFCH,WMXUSS,WMXVSS,WSGNSS, -C QMIXSS,LMIXSS,THETAT,THETAB,THETAL, -C ATSS,ABSS,ALSS,MUSS,FACTSS,GHWWSS, -C GHZZSS,GHDDSS,GHUUSS,GHWHSS,GHSQSS, -C XLMNSS,RMMNSS,DMSSM,SENHNC, -C SSPARITY,SUSYIN see HWSUSY -C LAMDA1,LAMDA2,LAMDA3,HRDCOL,RPARTY, -C COLUPD see HWRPAR -C PMBN1,PMBN2,PMBN3,PMBK1,PMBK2, -C PMBM1,PMBM2,PMBP1,PMBP2,PMBP3 see HWMINB -C -C New parameters added for version 6.1: -C NMXCL -C -C Parameter NMXRES raised to 500 -C -C Scalar variables changed to arrays of size 2: -C CLSMR,PSPLT,CLDIR see HWPRAM -C -C NEW for HERWIG6.200 -C -C New common blocks added for version 6.2: -C HWGRAV see HWHGRV -C -C NEW for HERWIG6.202 -C -C New common block added for version 6.202: -C HW6202 -C which contains all other new variables, parameters and -C control flags introduced since version 6.1, so that -C other common blocks become identical to version 6.1 -C -C New parameters added for version 6.2: -C VIPWID,DXRCYL,DXZMAX,DXRSPH,LRSUSY see HWIGIN -C GRVLAM,EMGRV,GAMGRV see HWHGRV -C -C New control flags added for version 6.2: -C WZRFR see HWBJCO -C FIX4JT see HWIGIN -C IMSSM,IHIGGS see HWUINC -C -C New variable added for version 6.2: -C PARITY see HWUINC -C -C Version 6.203: -C -C NMXHEP raised to 4000 for LHC studies -C -C - IMPLICIT NONE - DOUBLE PRECISION ZERO,ONE,TWO,THREE,FOUR,HALF - PARAMETER (ZERO =0.D0, ONE =1.D0, TWO =2.D0, - & THREE=3.D0, FOUR=4.D0, HALF=0.5D0) -C - DOUBLE PRECISION - & ACCUR,AFCH,ALPFAC,ALPHEM,ANOMSC,ASFIXD,AVWGT,B1LIM,BETAF,BRFRAC, - & BRHIG,BTCLM,CAFAC,CFFAC,CLDKWT,CLMAX,CLPOW,CLQ,CLSMR,CMMOM,COSS, - & COSTH,CSPEED,CTHRPW,CTMAX,DECPAR,DECWT,DISF,DKLTM,EBEAM1,EBEAM2, - & EMLST,EMMAX,EMMIN,EMPOW,EMSCA,ENHANC,ENSOF,EPOLN,ETAMIX,EVWGT, - & EXAG,F0MIX,F1MIX,F2MIX,GAMH,GAMMAX,GAMW,GAMWT,GAMZ,GAMZP,GCOEF, - & GEV2NB,GEV2MM,GPOLN,H1MIX,HBAR,HARDST,OMEGA0,PBEAM1,PBEAM2,PDIQK, - & PGSMX,PGSPL,PHEP,PHIMIX,PHIPAR,PHOMAS,PIFAC,PLTCUT,PPAR,PPOLN, - & PRECO,PRSOF,PSPLT,PTINT,PTMAX,PTMIN,PTPOW,PTRMS,PXRMS,PWT,Q2MAX, - & Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QCDL3,QCDL5,QCDLAM,QDIQK,QEV,QFCH,QG, - & QLIM,QSPAC,QV,QWT,REPWT,RESN,RHOHEP,RHOPAR,RLTIM,RMASS,RMIN, - & RSPIN,SCABI,SINS,SNGWT,SWEIN,SWTEF,SUD,THMAX,TLOUT,TMTOP,TMNISR, - & TQWT,VCKM,VFCH,VGCUT,VHEP,VMIN2,VPAR,VPCUT,VQCUT,VTXPIP,VTXQDK, - & WBIGST,WGTMAX,WGTSUM,WHMIN,WSQSUM,XFACT,XLMIN,XMIX,XMRCT,XX, - & XXMIN,YBMAX,YBMIN,YJMAX,YJMIN,YMIX,YMRCT,YWWMAX,YWWMIN,ZBINM, - & ZJMAX,ZMXISR,Y4JT,EFFMIN,PPCL, - & TANB,ALPHAH,COSBPA,SINBPA,COSBMA,SINBMA,COSA,SINA,COSB,SINB,COTB, - & ZMIXSS,ZMXNSS,ZSGNSS,LFCH,RFCH,SLFCH,SRFCH, WMXUSS,WMXVSS,WSGNSS, - & QMIXSS,LMIXSS,THETAT,THETAB,THETAL,ATSS,ABSS,ALSS,MUSS,FACTSS, - & GHWWSS,GHZZSS,GHDDSS,GHUUSS,GHWHSS,GHSQSS -C--fix by PR 12/7/02 to avoid problems with nag compiler - DOUBLE PRECISION - & XLMNSS,RMMNSS,DMSSM,SENHNC,SSPARITY,LAMDA1,LAMDA2,LAMDA3, - & PMBN1,PMBN2,PMBN3,PMBK1,PMBK2,PMBM1,PMBM2,PMBP1,PMBP2,PMBP3, - & OMHMIX,ET2MIX,PH3MIX,GCUTME -C - INTEGER - & CLDIR,IAPHIG,IBRN,IBSH,ICHRG,ICO,IDCMF,IDHEP,IDHW,IDK,IDKPRD,IDN, - & IDPAR,IDPDG,IERROR,IFLAV,IFLMAX,IFLMIN,IHPRO,IMQDK,INHAD,INTER, - & IOPDKL,IOPHIG,IOPREM,IPART1,IPART2,IPRINT,IPRO,IPROC,ISLENT, - & ISPAC,ISTAT,ISTHEP,ISTPAR,JCOPAR,JDAHEP,JDAPAR,JMOHEP,JMOPAR, - & JNHAD,LNEXT,LOCN,LOCQ,LRSUD,LSTRT,LWEVT,LWSUD,MAPQ,MAXER,MAXEV, - & MAXFL,MAXPR,MODBOS,MODMAX,MODPDF,NBTRY,NCLDK,NCOLO,NCTRY,NDKYS, - & NDTRY,NETRY,NEVHEP,NEVPAR,NFLAV,NGSPL,NHEP,NME,NMODES,NMXCDK, - & NMXDKS,NMXHEP,NMXJET,NMXMOD,NMXPAR,NMXQDK,NMXRES,NMXSUD,NPAR, - & NPRODS,NQDK,NQEV,NRES,NRN,NSPAC,NSTRU,NSTRY,NSUD,NUMER,NUMERU, - & NWGTS,NZBIN,SUDORD,IOP4JT,HRDCOL,NMXCL,NCL,IDCL,NPRFMT,NRECO -C - LOGICAL - & AZSOFT,AZSPIN,BGSHAT,BREIT,CLRECO,COLISR,DKPSET,FROST,FSTEVT, - & FSTWGT,GENEV,GENSOF,HARDME,HVFCEN,MAXDKL,MIXING,NOSPAC,NOWGT, - & PRNDEC,PIPSMR,PRVTX,RSTAB,SOFTME,TMPAR,TPOL,USECMF,VTOCDK,VTORDK, - & ZPRIME,RPARTY,COLUPD,PRNDEF,PRNTEX,PRNWEB,DURHAM,SUSYIN, - & QORQQB,QBORQQ -C - CHARACTER*4 - & BDECAY - CHARACTER*8 - & PART1,PART2,RNAME - CHARACTER*20 - & AUTPDF - CHARACTER*37 - & TXNAME -C -C New standard event common - PARAMETER (NMXHEP=4000) - COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP), - & JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP) -C -C Beams, process and number of events - COMMON/HWBEAM/IPART1,IPART2 - COMMON/HWBMCH/PART1,PART2 - COMMON/HWPROC/EBEAM1,EBEAM2,PBEAM1,PBEAM2,IPROC,MAXEV -C -C Basic parameters (and quantities derived from them) - COMMON/HWPRAM/AFCH(16,2),ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC, - & CLMAX,CLPOW,CLSMR(2),CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH, - & GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL(4),PHIMIX,PIFAC, - & PRSOF,PSPLT(2),PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH(16),QG, - & QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH(16,2),VCKM(3,3),VGCUT,VQCUT, - & VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME, - & IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF(2),NBTRY,NCOLO,NCTRY, - & NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT(2),NPRFMT, - & AZSOFT,AZSPIN,CLDIR(2),HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,ZPRIME, - & PRNDEF,PRNTEX,PRNWEB -C - COMMON/HWPRCH/AUTPDF(2),BDECAY -C -C Parton shower common (same format as /HEPEVT/) - PARAMETER (NMXPAR=500) - COMMON/HWPART/NEVPAR,NPAR,ISTPAR(NMXPAR),IDPAR(NMXPAR), - & JMOPAR(2,NMXPAR),JDAPAR(2,NMXPAR),PPAR(5,NMXPAR),VPAR(4,NMXPAR) -C -C Parton polarization common - COMMON/HWPARP/DECPAR(2,NMXPAR),PHIPAR(2,NMXPAR),RHOPAR(2,NMXPAR), - & TMPAR(NMXPAR) -C -C Electroweak boson common - PARAMETER (MODMAX=5) - COMMON/HWBOSC/ALPFAC,BRHIG(12),ENHANC(12),GAMMAX,RHOHEP(3,NMXHEP), - & IOPHIG,MODBOS(MODMAX) -C -C Parton colour common - COMMON/HWPARC/JCOPAR(4,NMXPAR) -C -C other HERWIG branching, event and hard subprocess common blocks - COMMON/HWBRCH/ANOMSC(2,2),HARDST,PTINT(3,2),XFACT,INHAD,JNHAD, - & NSPAC(7),ISLENT,BREIT,FROST,USECMF -C - COMMON/HWEVNT/AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM, - & IDHW(NMXHEP),IERROR,ISTAT,LWEVT,MAXER,MAXPR,NOWGT,NRN(2),NUMER, - & NUMERU,NWGTS,GENSOF -C - COMMON/HWHARD/ASFIXD,CLQ(7,6),COSS,COSTH,CTMAX,DISF(13,2),EMLST, - & EMMAX,EMMIN,EMPOW,EMSCA,EPOLN(3),GCOEF(7),GPOLN,OMEGA0,PHOMAS, - & PPOLN(3),PTMAX,PTMIN,PTPOW,Q2MAX,Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QLIM, - & SINS,THMAX,Y4JT,TMNISR,TQWT,XX(2),XLMIN,XXMIN,YBMAX,YBMIN,YJMAX, - & YJMIN,YWWMAX,YWWMIN,WHMIN,ZJMAX,ZMXISR,IAPHIG,IBRN(2),IBSH, - & ICO(10),IDCMF,IDN(10),IFLMAX,IFLMIN,IHPRO,IPRO,MAPQ(6),MAXFL, - & BGSHAT,COLISR,FSTEVT,FSTWGT,GENEV,HVFCEN,TPOL,DURHAM -C -C Arrays for particle properties (NMXRES = max no of particles defined) - PARAMETER(NMXRES=500) - COMMON/HWPROP/RLTIM(0:NMXRES),RMASS(0:NMXRES),RSPIN(0:NMXRES), - & ICHRG(0:NMXRES),IDPDG(0:NMXRES),IFLAV(0:NMXRES),NRES, - & VTOCDK(0:NMXRES),VTORDK(0:NMXRES), - & QORQQB(0:NMXRES),QBORQQ(0:NMXRES) -C - COMMON/HWUNAM/RNAME(0:NMXRES),TXNAME(2,0:NMXRES) -C -C Arrays for particle decays (NMXDKS = max total no of decays, -C NMXMOD = max no of modes for a particle) - PARAMETER(NMXDKS=4000,NMXMOD=200) - COMMON/HWUPDT/BRFRAC(NMXDKS),CMMOM(NMXDKS),DKLTM(NMXRES), - & IDK(NMXDKS),IDKPRD(5,NMXDKS),LNEXT(NMXDKS),LSTRT(NMXRES),NDKYS, - & NME(NMXDKS),NMODES(NMXRES),NPRODS(NMXDKS),DKPSET,RSTAB(0:NMXRES) -C -C Weights used in cluster decays - COMMON/HWUWTS/REPWT(0:3,0:4,0:4),SNGWT,DECWT,QWT(3),PWT(12), - & SWTEF(NMXRES) -C -C Parameters for cluster decays (NMXCDK = max total no of cluster -C decay channels) - PARAMETER(NMXCDK=4000) - COMMON/HWUCLU/CLDKWT(NMXCDK),CTHRPW(12,12),PRECO,RESN(12,12), - & RMIN(12,12),LOCN(12,12),NCLDK(NMXCDK),NRECO,CLRECO -C -C Variables controling mixing and vertex information -C--VTXPIP should have been a 5-vector, problems with NAG compiler - COMMON/HWDIST/EXAG,GEV2MM,HBAR,PLTCUT,VMIN2,VTXPIP(5),XMIX(2), - & XMRCT(2),YMIX(2),YMRCT(2),IOPDKL,MAXDKL,MIXING,PIPSMR -C -C Arrays for temporarily storing heavy-b,c-hadrons decaying partonicaly -C (NMXQDK = max no such decays in an event) - PARAMETER (NMXQDK=20) - COMMON/HWQDKS/VTXQDK(4,NMXQDK),IMQDK(NMXQDK),LOCQ(NMXQDK),NQDK -C -C Parameters for Sudakov form factors -C (NMXSUD= max no of entries in lookup table) - PARAMETER (NMXSUD=1024) - COMMON/HWUSUD/ACCUR,QEV(NMXSUD,6),SUD(NMXSUD,6),INTER,NQEV,NSUD, - & SUDORD -C - PARAMETER (NMXJET=200) -C -C SUSY parameters - COMMON/HWSUSY/ - & TANB,ALPHAH,COSBPA,SINBPA,COSBMA,SINBMA,COSA,SINA,COSB,SINB,COTB, - & ZMIXSS(4,4),ZMXNSS(4,4),ZSGNSS(4), LFCH(16),RFCH(16), - & SLFCH(16,4),SRFCH(16,4), WMXUSS(2,2),WMXVSS(2,2), WSGNSS(2), - & QMIXSS(6,2,2),LMIXSS(6,2,2), - & THETAT,THETAB,THETAL,ATSS,ABSS,ALSS,MUSS,FACTSS, - & GHWWSS(3),GHZZSS(3),GHDDSS(4),GHUUSS(4),GHWHSS(3), - & GHSQSS(4,6,2,2),XLMNSS,RMMNSS,DMSSM,SENHNC(24),SSPARITY,SUSYIN -C -C R-Parity violating parameters and colours - COMMON /HWRPAR/ LAMDA1(3,3,3),LAMDA2(3,3,3), - & LAMDA3(3,3,3),HRDCOL(2,5),RPARTY,COLUPD -C -C Parameters for minimum bias/soft underlying event - COMMON/HWMINB/ - & PMBN1,PMBN2,PMBN3,PMBK1,PMBK2,PMBM1,PMBM2,PMBP1,PMBP2,PMBP3 -C -C Cluster common used by soft event routines - PARAMETER (NMXCL=500) - COMMON/HWCLUS/PPCL(5,NMXCL),IDCL(NMXCL),NCL -C -C Parameters for resonant graviton production - DOUBLE PRECISION GRVLAM,EMGRV,GAMGRV - COMMON/HWGRAV/GRVLAM,EMGRV,GAMGRV -C -C Other new parameters for version 6.2 - DOUBLE PRECISION VIPWID,DXRCYL,DXZMAX,DXRSPH - LOGICAL WZRFR,FIX4JT - INTEGER IMSSM,IHIGGS,PARITY,LRSUSY - COMMON/HW6202/VIPWID(3),DXRCYL,DXZMAX,DXRSPH,WZRFR,FIX4JT, - & IMSSM,IHIGGS,PARITY,LRSUSY -C -C New parameters for version 6.203 - DOUBLE PRECISION ABWGT,ABWSUM,AVABW - INTEGER NNEGWT,NNEGEV - LOGICAL NEGWTS - COMMON/HW6203/ABWGT,ABWSUM,AVABW,NNEGWT,NNEGEV,NEGWTS -C -C New parameters for version 6.3 - INTEGER IMAXCH,IMAXOP - PARAMETER (IMAXCH=20,IMAXOP=40) - DOUBLE PRECISION MJJMIN,CHNPRB(IMAXCH) - INTEGER IOPSTP,IOPSH - LOGICAL OPTM,CHON(IMAXCH) - COMMON/HW6300/MJJMIN,CHNPRB,IOPSTP,IOPSH,OPTM,CHON -C New PDF's for version 6.3 - INTEGER NXMRS,NQMRS,NPMRS - PARAMETER(NXMRS=49,NQMRS=37,NPMRS=8) - DOUBLE PRECISION FMRS(3,NPMRS,NXMRS,NQMRS+1) - COMMON /HWPMRS/FMRS -C Circe interface for version 6.3 - INTEGER CIRCOP,CIRCAC,CIRCVR,CIRCRV,CIRCCH - COMMON /HWCIRC/CIRCOP,CIRCAC,CIRCVR,CIRCRV,CIRCCH -C New parameters and commons for spin correlations -C--constants for the arrays - INTEGER NMXSPN,NCFMAX - PARAMETER(NMXSPN=50,NCFMAX=3) - INTEGER NMODE2,NMODE3,NDIAGR,NMODEB,NMODE4 - PARAMETER(NMODE2=500,NMODE3=500,NDIAGR=8,NMODEB=50,NMODE4=4) -C--common block for X --> X gauge boson - DOUBLE PRECISION ABMODE(2,NMODEB),BBMODE(2,12,NMODEB), - & PBMODE(12,NMODEB),WTBMAX(12,NMODEB) - INTEGER IDBPRT(NMODEB),IBMODE(NMODEB),IBDRTP(NMODEB),NBMODE - COMMON /HWDSPB/ABMODE,BBMODE,PBMODE,WTBMAX,IDBPRT,IBDRTP,IBMODE, - & NBMODE -C--common block for two body decays - DOUBLE PRECISION A2MODE(2,NMODE2),P2MODE(NMODE2),WT2MAX(NMODE2) - INTEGER ID2PRT(NMODE2),I2DRTP(NMODE2),N2MODE - COMMON /HWDSP2/A2MODE,P2MODE,WT2MAX,ID2PRT,I2DRTP,N2MODE -C--common block for three body decays - DOUBLE PRECISION A3MODE(2,NDIAGR,NMODE3),B3MODE(2,NDIAGR,NMODE3), - & P3MODE(NMODE3),WT3MAX(NMODE3),SPN3CF(NCFMAX,NCFMAX,NMODE3) - INTEGER ID3PRT(NMODE3),I3MODE(NDIAGR,NMODE3), - & I3DRTP(NDIAGR,NMODE3),N3MODE,NDI3BY(NMODE3),N3NCFL(NMODE3), - & I3DRCF(NDIAGR,NMODE3) - COMMON /HWDSP3/A3MODE,B3MODE,P3MODE,WT3MAX,SPN3CF,ID3PRT,I3MODE, - & I3DRTP,N3MODE,NDI3BY,N3NCFL,I3DRCF -C--common block for four body decays - DOUBLE PRECISION A4MODE(2,12,NMODE4),B4MODE(2,12,NMODE4), - & P4MODE(12,12,NMODE4),WT4MAX(12,12,NMODE4) - INTEGER ID4PRT(NMODE4),I4MODE(2,NMODE4),N4MODE - COMMON /HWDSP4/A4MODE,B4MODE,P4MODE,WT4MAX,ID4PRT,I4MODE,N4MODE -C--common block for spin correlations in event - INTEGER NDECSY,NSEARCH,LRDEC,LWDEC - LOGICAL SYSPIN,THREEB,FOURB - CHARACTER *6 TAUDEC - COMMON /HWDSPN/NDECSY,NSEARCH,LRDEC,LWDEC,SYSPIN,THREEB, - & FOURB,TAUDEC - - INTEGER IDSPN(NMXSPN),JMOSPN(NMXSPN),JDASPN(2,NMXSPN),NSPN, - & ISNHEP(NMXHEP),NSNTRY,NCFL(NMXSPN),SPCOPT - DOUBLE COMPLEX MESPN(2,2,2,2,NCFMAX,NMXSPN),RHOSPN(2,2,NMXSPN) - DOUBLE PRECISION SPNCFC(NCFMAX,NCFMAX,NMXSPN) - LOGICAL DECSPN(NMXSPN) - COMMON /HWSPIN/MESPN,RHOSPN,SPNCFC,IDSPN,JMOSPN,JDASPN, - & NSPN,ISNHEP,NSNTRY,DECSPN,NCFL,SPCOPT - INTEGER JAK1,JAK2,ITDKRC,IFPHOT - COMMON /HWSTAU/ JAK1,JAK2,ITDKRC,IFPHOT -C -C--common block for Les Houches interface to store information we need -C - INTEGER MAXHRP - PARAMETER (MAXHRP=100) - DOUBLE PRECISION LHWGT(MAXHRP),LHWGTS(MAXHRP),LHMXSM, - & LHXSCT(MAXHRP),LHXERR(MAXHRP),LHXMAX(MAXHRP) - INTEGER LHIWGT(MAXHRP),ITYPLH,LHNEVT(MAXHRP) - LOGICAL LHSOFT,LHGLSF - COMMON /HWGUPR/LHWGT,LHWGTS,LHXSCT,LHXERR,LHXMAX,LHMXSM,LHIWGT, - & LHNEVT,ITYPLH,LHSOFT,LHGLSF -C -C--common block for HERWIG6.5 -C - LOGICAL PRESPL - COMMON /HW6500/ PRESPL diff --git a/Fpmc/CMakeLists.txt b/Fpmc/CMakeLists.txt index 6e4cce4..173a7a1 100644 --- a/Fpmc/CMakeLists.txt +++ b/Fpmc/CMakeLists.txt @@ -1,4 +1,12 @@ -include_directories(${PROJECT_SOURCE_DIR}/External ${PROJECT_SOURCE_DIR}/Herwig) +add_subdirectory(External) +include_directories(External ${PROJECT_SOURCE_DIR}/Herwig) -add_library(FPMCCore OBJECT Fpmc.cc fpmc.f FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) -set_target_properties(FPMCCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) +add_library(FpmcExternals SHARED $ $ $ $ $ $) +target_link_libraries(FpmcExternals comphep) + +add_library(FpmcCore SHARED src/Fpmc.cc src/fpmc.f src/FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) +set_target_properties(FpmcCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) + +if(HEPMC_LIB) + add_library(FpmcHepMC SHARED src/HepMCWrapper.cc) +endif() diff --git a/External/CHIDe.inc b/Fpmc/External/CHIDe.inc similarity index 100% rename from External/CHIDe.inc rename to Fpmc/External/CHIDe.inc diff --git a/External/CHIDe/CMakeLists.txt b/Fpmc/External/CHIDe/CMakeLists.txt similarity index 100% rename from External/CHIDe/CMakeLists.txt rename to Fpmc/External/CHIDe/CMakeLists.txt diff --git a/External/CHIDe/Common/CHIDeFunctions.f b/Fpmc/External/CHIDe/Common/CHIDeFunctions.f similarity index 100% rename from External/CHIDe/Common/CHIDeFunctions.f rename to Fpmc/External/CHIDe/Common/CHIDeFunctions.f diff --git a/External/CHIDe/Common/CHIDedcadredo.f b/Fpmc/External/CHIDe/Common/CHIDedcadredo.f similarity index 100% rename from External/CHIDe/Common/CHIDedcadredo.f rename to Fpmc/External/CHIDe/Common/CHIDedcadredo.f diff --git a/External/CHIDe/Common/CHIDedgd2007.f b/Fpmc/External/CHIDe/Common/CHIDedgd2007.f similarity index 100% rename from External/CHIDe/Common/CHIDedgd2007.f rename to Fpmc/External/CHIDe/Common/CHIDedgd2007.f diff --git a/External/CHIDe/Common/CHIDedgd2008.f b/Fpmc/External/CHIDe/Common/CHIDedgd2008.f similarity index 100% rename from External/CHIDe/Common/CHIDedgd2008.f rename to Fpmc/External/CHIDe/Common/CHIDedgd2008.f diff --git a/External/CHIDe/Common/CHIDedgdforward.f b/Fpmc/External/CHIDe/Common/CHIDedgdforward.f similarity index 100% rename from External/CHIDe/Common/CHIDedgdforward.f rename to Fpmc/External/CHIDe/Common/CHIDedgdforward.f diff --git a/External/CHIDe/Data/Higgssudatab.d b/Fpmc/External/CHIDe/Data/Higgssudatab.d similarity index 100% rename from External/CHIDe/Data/Higgssudatab.d rename to Fpmc/External/CHIDe/Data/Higgssudatab.d diff --git a/External/CHIDe/Data/dgdtab1.d b/Fpmc/External/CHIDe/Data/dgdtab1.d similarity index 100% rename from External/CHIDe/Data/dgdtab1.d rename to Fpmc/External/CHIDe/Data/dgdtab1.d diff --git a/External/CHIDe/Data/dgdtab2.d b/Fpmc/External/CHIDe/Data/dgdtab2.d similarity index 100% rename from External/CHIDe/Data/dgdtab2.d rename to Fpmc/External/CHIDe/Data/dgdtab2.d diff --git a/External/CHIDe/Data/dgdtab3.d b/Fpmc/External/CHIDe/Data/dgdtab3.d similarity index 100% rename from External/CHIDe/Data/dgdtab3.d rename to Fpmc/External/CHIDe/Data/dgdtab3.d diff --git a/External/CHIDe/Data/dgdtab4.d b/Fpmc/External/CHIDe/Data/dgdtab4.d similarity index 100% rename from External/CHIDe/Data/dgdtab4.d rename to Fpmc/External/CHIDe/Data/dgdtab4.d diff --git a/External/CHIDe/Data/ggsudatab.d b/Fpmc/External/CHIDe/Data/ggsudatab.d similarity index 100% rename from External/CHIDe/Data/ggsudatab.d rename to Fpmc/External/CHIDe/Data/ggsudatab.d diff --git a/External/CHIDe/Diphoton/CHIDeDiphoton.f b/Fpmc/External/CHIDe/Diphoton/CHIDeDiphoton.f similarity index 100% rename from External/CHIDe/Diphoton/CHIDeDiphoton.f rename to Fpmc/External/CHIDe/Diphoton/CHIDeDiphoton.f diff --git a/External/CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f b/Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f similarity index 100% rename from External/CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f rename to Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f diff --git a/External/CHIDe/Diphoton/CHIDeDiphotonFunctions.f b/Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonFunctions.f similarity index 100% rename from External/CHIDe/Diphoton/CHIDeDiphotonFunctions.f rename to Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonFunctions.f diff --git a/External/CHIDe/Diphoton/CHIDeDiphotonInit.f b/Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonInit.f similarity index 100% rename from External/CHIDe/Diphoton/CHIDeDiphotonInit.f rename to Fpmc/External/CHIDe/Diphoton/CHIDeDiphotonInit.f diff --git a/External/CHIDe/GG/CHIDeGG.f b/Fpmc/External/CHIDe/GG/CHIDeGG.f similarity index 100% rename from External/CHIDe/GG/CHIDeGG.f rename to Fpmc/External/CHIDe/GG/CHIDeGG.f diff --git a/External/CHIDe/GG/CHIDeGGAmplitudes.f b/Fpmc/External/CHIDe/GG/CHIDeGGAmplitudes.f similarity index 100% rename from External/CHIDe/GG/CHIDeGGAmplitudes.f rename to Fpmc/External/CHIDe/GG/CHIDeGGAmplitudes.f diff --git a/External/CHIDe/GG/CHIDeGGDurhamlike.f b/Fpmc/External/CHIDe/GG/CHIDeGGDurhamlike.f similarity index 100% rename from External/CHIDe/GG/CHIDeGGDurhamlike.f rename to Fpmc/External/CHIDe/GG/CHIDeGGDurhamlike.f diff --git a/External/CHIDe/GG/CHIDeGGFunctions.f b/Fpmc/External/CHIDe/GG/CHIDeGGFunctions.f similarity index 100% rename from External/CHIDe/GG/CHIDeGGFunctions.f rename to Fpmc/External/CHIDe/GG/CHIDeGGFunctions.f diff --git a/External/CHIDe/GG/CHIDeGGInit.f b/Fpmc/External/CHIDe/GG/CHIDeGGInit.f similarity index 100% rename from External/CHIDe/GG/CHIDeGGInit.f rename to Fpmc/External/CHIDe/GG/CHIDeGGInit.f diff --git a/External/CHIDe/Higgs/CHIDeHiggs.f b/Fpmc/External/CHIDe/Higgs/CHIDeHiggs.f similarity index 100% rename from External/CHIDe/Higgs/CHIDeHiggs.f rename to Fpmc/External/CHIDe/Higgs/CHIDeHiggs.f diff --git a/External/CHIDe/Higgs/CHIDeHiggsInit.f b/Fpmc/External/CHIDe/Higgs/CHIDeHiggsInit.f similarity index 100% rename from External/CHIDe/Higgs/CHIDeHiggsInit.f rename to Fpmc/External/CHIDe/Higgs/CHIDeHiggsInit.f diff --git a/External/CHIDe/Makefile b/Fpmc/External/CHIDe/Makefile similarity index 100% rename from External/CHIDe/Makefile rename to Fpmc/External/CHIDe/Makefile diff --git a/External/CHIDe/Standalone/Standalone.f b/Fpmc/External/CHIDe/Standalone/Standalone.f similarity index 100% rename from External/CHIDe/Standalone/Standalone.f rename to Fpmc/External/CHIDe/Standalone/Standalone.f diff --git a/External/CHIDe/Standalone/StandaloneDiphoton.f b/Fpmc/External/CHIDe/Standalone/StandaloneDiphoton.f similarity index 100% rename from External/CHIDe/Standalone/StandaloneDiphoton.f rename to Fpmc/External/CHIDe/Standalone/StandaloneDiphoton.f diff --git a/External/CHIDe/Standalone/StandaloneGG.f b/Fpmc/External/CHIDe/Standalone/StandaloneGG.f similarity index 100% rename from External/CHIDe/Standalone/StandaloneGG.f rename to Fpmc/External/CHIDe/Standalone/StandaloneGG.f diff --git a/External/CHIDe/Standalone/StandaloneHiggs.f b/Fpmc/External/CHIDe/Standalone/StandaloneHiggs.f similarity index 100% rename from External/CHIDe/Standalone/StandaloneHiggs.f rename to Fpmc/External/CHIDe/Standalone/StandaloneHiggs.f diff --git a/External/CHIDe/Standalone/Vegas.f b/Fpmc/External/CHIDe/Standalone/Vegas.f similarity index 100% rename from External/CHIDe/Standalone/Vegas.f rename to Fpmc/External/CHIDe/Standalone/Vegas.f diff --git a/External/CHIDe/Standalone/VegasDiphoton.f b/Fpmc/External/CHIDe/Standalone/VegasDiphoton.f similarity index 100% rename from External/CHIDe/Standalone/VegasDiphoton.f rename to Fpmc/External/CHIDe/Standalone/VegasDiphoton.f diff --git a/External/CHIDe/Standalone/VegasGG.f b/Fpmc/External/CHIDe/Standalone/VegasGG.f similarity index 100% rename from External/CHIDe/Standalone/VegasGG.f rename to Fpmc/External/CHIDe/Standalone/VegasGG.f diff --git a/External/CHIDe/Standalone/VegasHiggs.f b/Fpmc/External/CHIDe/Standalone/VegasHiggs.f similarity index 100% rename from External/CHIDe/Standalone/VegasHiggs.f rename to Fpmc/External/CHIDe/Standalone/VegasHiggs.f diff --git a/External/CHIDe/Standalone/vegas11.f b/Fpmc/External/CHIDe/Standalone/vegas11.f similarity index 100% rename from External/CHIDe/Standalone/vegas11.f rename to Fpmc/External/CHIDe/Standalone/vegas11.f diff --git a/External/CMakeLists.txt b/Fpmc/External/CMakeLists.txt similarity index 100% rename from External/CMakeLists.txt rename to Fpmc/External/CMakeLists.txt diff --git a/External/comphep_interface/CMakeLists.txt b/Fpmc/External/comphep_interface/CMakeLists.txt similarity index 100% rename from External/comphep_interface/CMakeLists.txt rename to Fpmc/External/comphep_interface/CMakeLists.txt diff --git a/External/comphep_interface/comphep_wraper.cpp b/Fpmc/External/comphep_interface/comphep_wraper.cpp similarity index 100% rename from External/comphep_interface/comphep_wraper.cpp rename to Fpmc/External/comphep_interface/comphep_wraper.cpp diff --git a/External/comphep_interface/sqme_aaaa/CMakeLists.txt b/Fpmc/External/comphep_interface/sqme_aaaa/CMakeLists.txt similarity index 100% rename from External/comphep_interface/sqme_aaaa/CMakeLists.txt rename to Fpmc/External/comphep_interface/sqme_aaaa/CMakeLists.txt diff --git a/External/comphep_interface/sqme_aaaa/Makefile b/Fpmc/External/comphep_interface/sqme_aaaa/Makefile similarity index 100% rename from External/comphep_interface/sqme_aaaa/Makefile rename to Fpmc/External/comphep_interface/sqme_aaaa/Makefile diff --git a/External/comphep_interface/sqme_aaaa/comphep/include/out_ext.h b/Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/out_ext.h similarity index 100% rename from External/comphep_interface/sqme_aaaa/comphep/include/out_ext.h rename to Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/out_ext.h diff --git a/External/comphep_interface/sqme_aaaa/comphep/include/out_int.h b/Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/out_int.h similarity index 100% rename from External/comphep_interface/sqme_aaaa/comphep/include/out_int.h rename to Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/out_int.h diff --git a/External/comphep_interface/sqme_aaaa/comphep/include/sqme0.c b/Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/sqme0.c similarity index 100% rename from External/comphep_interface/sqme_aaaa/comphep/include/sqme0.c rename to Fpmc/External/comphep_interface/sqme_aaaa/comphep/include/sqme0.c diff --git a/External/comphep_interface/sqme_aaaa/src/call_util.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/src/call_util.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/call_util.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/src/call_util.cpp diff --git a/External/comphep_interface/sqme_aaaa/src/d1.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/src/d1.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/d1.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/src/d1.cpp diff --git a/External/comphep_interface/sqme_aaaa/src/extern.h b/Fpmc/External/comphep_interface/sqme_aaaa/src/extern.h similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/extern.h rename to Fpmc/External/comphep_interface/sqme_aaaa/src/extern.h diff --git a/External/comphep_interface/sqme_aaaa/src/f1.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/src/f1.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/f1.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/src/f1.cpp diff --git a/External/comphep_interface/sqme_aaaa/src/service.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/src/service.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/service.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/src/service.cpp diff --git a/External/comphep_interface/sqme_aaaa/src/sqme.c_save b/Fpmc/External/comphep_interface/sqme_aaaa/src/sqme.c_save similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/sqme.c_save rename to Fpmc/External/comphep_interface/sqme_aaaa/src/sqme.c_save diff --git a/External/comphep_interface/sqme_aaaa/src/sqme.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/src/sqme.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/src/sqme.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/src/sqme.cpp diff --git a/External/comphep_interface/sqme_aaaa/test/diff_cross.h b/Fpmc/External/comphep_interface/sqme_aaaa/test/diff_cross.h similarity index 100% rename from External/comphep_interface/sqme_aaaa/test/diff_cross.h rename to Fpmc/External/comphep_interface/sqme_aaaa/test/diff_cross.h diff --git a/External/comphep_interface/sqme_aaaa/test/testcall.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/test/testcall.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/test/testcall.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/test/testcall.cpp diff --git a/External/comphep_interface/sqme_aaaa/test/testcall2.cpp b/Fpmc/External/comphep_interface/sqme_aaaa/test/testcall2.cpp similarity index 100% rename from External/comphep_interface/sqme_aaaa/test/testcall2.cpp rename to Fpmc/External/comphep_interface/sqme_aaaa/test/testcall2.cpp diff --git a/External/comphep_interface/sqme_aaww/CMakeLists.txt b/Fpmc/External/comphep_interface/sqme_aaww/CMakeLists.txt similarity index 100% rename from External/comphep_interface/sqme_aaww/CMakeLists.txt rename to Fpmc/External/comphep_interface/sqme_aaww/CMakeLists.txt diff --git a/External/comphep_interface/sqme_aaww/Makefile b/Fpmc/External/comphep_interface/sqme_aaww/Makefile similarity index 100% rename from External/comphep_interface/sqme_aaww/Makefile rename to Fpmc/External/comphep_interface/sqme_aaww/Makefile diff --git a/External/comphep_interface/sqme_aaww/comphep/include/out_ext.h b/Fpmc/External/comphep_interface/sqme_aaww/comphep/include/out_ext.h similarity index 100% rename from External/comphep_interface/sqme_aaww/comphep/include/out_ext.h rename to Fpmc/External/comphep_interface/sqme_aaww/comphep/include/out_ext.h diff --git a/External/comphep_interface/sqme_aaww/comphep/include/out_int.h b/Fpmc/External/comphep_interface/sqme_aaww/comphep/include/out_int.h similarity index 100% rename from External/comphep_interface/sqme_aaww/comphep/include/out_int.h rename to Fpmc/External/comphep_interface/sqme_aaww/comphep/include/out_int.h diff --git a/External/comphep_interface/sqme_aaww/comphep/include/sqme0.c b/Fpmc/External/comphep_interface/sqme_aaww/comphep/include/sqme0.c similarity index 100% rename from External/comphep_interface/sqme_aaww/comphep/include/sqme0.c rename to Fpmc/External/comphep_interface/sqme_aaww/comphep/include/sqme0.c diff --git a/External/comphep_interface/sqme_aaww/src/call_util.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/call_util.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/call_util.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/call_util.cpp diff --git a/External/comphep_interface/sqme_aaww/src/d1.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/d1.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/d1.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/d1.cpp diff --git a/External/comphep_interface/sqme_aaww/src/extern.h b/Fpmc/External/comphep_interface/sqme_aaww/src/extern.h similarity index 100% rename from External/comphep_interface/sqme_aaww/src/extern.h rename to Fpmc/External/comphep_interface/sqme_aaww/src/extern.h diff --git a/External/comphep_interface/sqme_aaww/src/f1.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f1.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f1.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f1.cpp diff --git a/External/comphep_interface/sqme_aaww/src/f2.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f2.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f2.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f2.cpp diff --git a/External/comphep_interface/sqme_aaww/src/f3.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f3.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f3.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f3.cpp diff --git a/External/comphep_interface/sqme_aaww/src/f4.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f4.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f4.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f4.cpp diff --git a/External/comphep_interface/sqme_aaww/src/f5.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f5.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f5.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f5.cpp diff --git a/External/comphep_interface/sqme_aaww/src/f6.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/f6.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/f6.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/f6.cpp diff --git a/External/comphep_interface/sqme_aaww/src/service.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/service.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/service.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/service.cpp diff --git a/External/comphep_interface/sqme_aaww/src/sqme.c_save b/Fpmc/External/comphep_interface/sqme_aaww/src/sqme.c_save similarity index 100% rename from External/comphep_interface/sqme_aaww/src/sqme.c_save rename to Fpmc/External/comphep_interface/sqme_aaww/src/sqme.c_save diff --git a/External/comphep_interface/sqme_aaww/src/sqme.cpp b/Fpmc/External/comphep_interface/sqme_aaww/src/sqme.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/src/sqme.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/src/sqme.cpp diff --git a/External/comphep_interface/sqme_aaww/test/diff_cross.h b/Fpmc/External/comphep_interface/sqme_aaww/test/diff_cross.h similarity index 100% rename from External/comphep_interface/sqme_aaww/test/diff_cross.h rename to Fpmc/External/comphep_interface/sqme_aaww/test/diff_cross.h diff --git a/External/comphep_interface/sqme_aaww/test/testcall.cpp b/Fpmc/External/comphep_interface/sqme_aaww/test/testcall.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/test/testcall.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/test/testcall.cpp diff --git a/External/comphep_interface/sqme_aaww/test/testcall2.cpp b/Fpmc/External/comphep_interface/sqme_aaww/test/testcall2.cpp similarity index 100% rename from External/comphep_interface/sqme_aaww/test/testcall2.cpp rename to Fpmc/External/comphep_interface/sqme_aaww/test/testcall2.cpp diff --git a/External/comphep_interface/sqme_aazz/CMakeLists.txt b/Fpmc/External/comphep_interface/sqme_aazz/CMakeLists.txt similarity index 100% rename from External/comphep_interface/sqme_aazz/CMakeLists.txt rename to Fpmc/External/comphep_interface/sqme_aazz/CMakeLists.txt diff --git a/External/comphep_interface/sqme_aazz/Makefile b/Fpmc/External/comphep_interface/sqme_aazz/Makefile similarity index 100% rename from External/comphep_interface/sqme_aazz/Makefile rename to Fpmc/External/comphep_interface/sqme_aazz/Makefile diff --git a/External/comphep_interface/sqme_aazz/comphep/include/out_ext.h b/Fpmc/External/comphep_interface/sqme_aazz/comphep/include/out_ext.h similarity index 100% rename from External/comphep_interface/sqme_aazz/comphep/include/out_ext.h rename to Fpmc/External/comphep_interface/sqme_aazz/comphep/include/out_ext.h diff --git a/External/comphep_interface/sqme_aazz/comphep/include/out_int.h b/Fpmc/External/comphep_interface/sqme_aazz/comphep/include/out_int.h similarity index 100% rename from External/comphep_interface/sqme_aazz/comphep/include/out_int.h rename to Fpmc/External/comphep_interface/sqme_aazz/comphep/include/out_int.h diff --git a/External/comphep_interface/sqme_aazz/comphep/include/sqme0.c b/Fpmc/External/comphep_interface/sqme_aazz/comphep/include/sqme0.c similarity index 100% rename from External/comphep_interface/sqme_aazz/comphep/include/sqme0.c rename to Fpmc/External/comphep_interface/sqme_aazz/comphep/include/sqme0.c diff --git a/External/comphep_interface/sqme_aazz/src/call_util.cpp b/Fpmc/External/comphep_interface/sqme_aazz/src/call_util.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/src/call_util.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/src/call_util.cpp diff --git a/External/comphep_interface/sqme_aazz/src/d1.cpp b/Fpmc/External/comphep_interface/sqme_aazz/src/d1.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/src/d1.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/src/d1.cpp diff --git a/External/comphep_interface/sqme_aazz/src/extern.h b/Fpmc/External/comphep_interface/sqme_aazz/src/extern.h similarity index 100% rename from External/comphep_interface/sqme_aazz/src/extern.h rename to Fpmc/External/comphep_interface/sqme_aazz/src/extern.h diff --git a/External/comphep_interface/sqme_aazz/src/f1.cpp b/Fpmc/External/comphep_interface/sqme_aazz/src/f1.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/src/f1.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/src/f1.cpp diff --git a/External/comphep_interface/sqme_aazz/src/service.cpp b/Fpmc/External/comphep_interface/sqme_aazz/src/service.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/src/service.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/src/service.cpp diff --git a/External/comphep_interface/sqme_aazz/src/sqme.c_save b/Fpmc/External/comphep_interface/sqme_aazz/src/sqme.c_save similarity index 100% rename from External/comphep_interface/sqme_aazz/src/sqme.c_save rename to Fpmc/External/comphep_interface/sqme_aazz/src/sqme.c_save diff --git a/External/comphep_interface/sqme_aazz/src/sqme.cpp b/Fpmc/External/comphep_interface/sqme_aazz/src/sqme.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/src/sqme.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/src/sqme.cpp diff --git a/External/comphep_interface/sqme_aazz/test/diff_cross.h b/Fpmc/External/comphep_interface/sqme_aazz/test/diff_cross.h similarity index 100% rename from External/comphep_interface/sqme_aazz/test/diff_cross.h rename to Fpmc/External/comphep_interface/sqme_aazz/test/diff_cross.h diff --git a/External/comphep_interface/sqme_aazz/test/testcall.cpp b/Fpmc/External/comphep_interface/sqme_aazz/test/testcall.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/test/testcall.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/test/testcall.cpp diff --git a/External/comphep_interface/sqme_aazz/test/testcall2.cpp b/Fpmc/External/comphep_interface/sqme_aazz/test/testcall2.cpp similarity index 100% rename from External/comphep_interface/sqme_aazz/test/testcall2.cpp rename to Fpmc/External/comphep_interface/sqme_aazz/test/testcall2.cpp diff --git a/External/excl_aaaa/CMakeLists.txt b/Fpmc/External/excl_aaaa/CMakeLists.txt similarity index 100% rename from External/excl_aaaa/CMakeLists.txt rename to Fpmc/External/excl_aaaa/CMakeLists.txt diff --git a/External/excl_aaaa/Makefile b/Fpmc/External/excl_aaaa/Makefile similarity index 100% rename from External/excl_aaaa/Makefile rename to Fpmc/External/excl_aaaa/Makefile diff --git a/External/excl_aaaa/bsmf_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/bsmf_sqme_aaaa/sqme.cpp similarity index 100% rename from External/excl_aaaa/bsmf_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/bsmf_sqme_aaaa/sqme.cpp diff --git a/External/excl_aaaa/bsmv_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/bsmv_sqme_aaaa/sqme.cpp similarity index 100% rename from External/excl_aaaa/bsmv_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/bsmv_sqme_aaaa/sqme.cpp diff --git a/External/excl_aaaa/commons/functions.cpp b/Fpmc/External/excl_aaaa/commons/functions.cpp similarity index 100% rename from External/excl_aaaa/commons/functions.cpp rename to Fpmc/External/excl_aaaa/commons/functions.cpp diff --git a/External/excl_aaaa/commons/functions.h b/Fpmc/External/excl_aaaa/commons/functions.h similarity index 100% rename from External/excl_aaaa/commons/functions.h rename to Fpmc/External/excl_aaaa/commons/functions.h diff --git a/External/excl_aaaa/commons/helicity_amplitudes.cpp b/Fpmc/External/excl_aaaa/commons/helicity_amplitudes.cpp similarity index 100% rename from External/excl_aaaa/commons/helicity_amplitudes.cpp rename to Fpmc/External/excl_aaaa/commons/helicity_amplitudes.cpp diff --git a/External/excl_aaaa/commons/helicity_amplitudes.h b/Fpmc/External/excl_aaaa/commons/helicity_amplitudes.h similarity index 100% rename from External/excl_aaaa/commons/helicity_amplitudes.h rename to Fpmc/External/excl_aaaa/commons/helicity_amplitudes.h diff --git a/External/excl_aaaa/eft_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/eft_sqme_aaaa/sqme.cpp similarity index 99% rename from External/excl_aaaa/eft_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/eft_sqme_aaaa/sqme.cpp index e1505b5..8740303 100644 --- a/External/excl_aaaa/eft_sqme_aaaa/sqme.cpp +++ b/Fpmc/External/excl_aaaa/eft_sqme_aaaa/sqme.cpp @@ -2,7 +2,7 @@ #include #include #include "helicity_amplitudes.h" -#include "herwig.h" +#include "Fpmc/interface/herwig.h" using namespace std; #include diff --git a/External/excl_aaaa/eft_sqme_aaaz/sqme.cpp b/Fpmc/External/excl_aaaa/eft_sqme_aaaz/sqme.cpp similarity index 100% rename from External/excl_aaaa/eft_sqme_aaaz/sqme.cpp rename to Fpmc/External/excl_aaaa/eft_sqme_aaaz/sqme.cpp diff --git a/External/excl_aaaa/excl_aaaa_wraper.cpp b/Fpmc/External/excl_aaaa/excl_aaaa_wraper.cpp similarity index 100% rename from External/excl_aaaa/excl_aaaa_wraper.cpp rename to Fpmc/External/excl_aaaa/excl_aaaa_wraper.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_aaaa/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_aaaa/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_az/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_az/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_az/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_az/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_az/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_az/test/Makefile rename to Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile diff --git a/External/excl_aaaa/resonances0even_sqme_gluglu/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_gluglu/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_gluglu/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_gluglu/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_hh/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_hh/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_hh/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_hh/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_ww/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_ww/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_ww/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_ww/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_ww/test/Makefile rename to Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile diff --git a/External/excl_aaaa/resonances0even_sqme_zz/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0even_sqme_zz/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_zz/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0even_sqme_zz/sqme.cpp diff --git a/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile similarity index 100% rename from External/excl_aaaa/resonances0even_sqme_zz/test/Makefile rename to Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile diff --git a/External/excl_aaaa/resonances0evenoh_sqme_zz/sqme.cpp b/Fpmc/External/excl_aaaa/resonances0evenoh_sqme_zz/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances0evenoh_sqme_zz/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances0evenoh_sqme_zz/sqme.cpp diff --git a/External/excl_aaaa/resonances2_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/resonances2_sqme_aaaa/sqme.cpp similarity index 100% rename from External/excl_aaaa/resonances2_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/resonances2_sqme_aaaa/sqme.cpp diff --git a/External/excl_aaaa/sm_sqme_aaaa/sqme.cpp b/Fpmc/External/excl_aaaa/sm_sqme_aaaa/sqme.cpp similarity index 100% rename from External/excl_aaaa/sm_sqme_aaaa/sqme.cpp rename to Fpmc/External/excl_aaaa/sm_sqme_aaaa/sqme.cpp diff --git a/External/kmrlumi/CMakeLists.txt b/Fpmc/External/kmrlumi/CMakeLists.txt similarity index 100% rename from External/kmrlumi/CMakeLists.txt rename to Fpmc/External/kmrlumi/CMakeLists.txt diff --git a/External/kmrlumi/KMR.f b/Fpmc/External/kmrlumi/KMR.f similarity index 100% rename from External/kmrlumi/KMR.f rename to Fpmc/External/kmrlumi/KMR.f diff --git a/External/kmrlumi/kmrLumi_ExHume_LHC.f b/Fpmc/External/kmrlumi/kmrLumi_ExHume_LHC.f similarity index 100% rename from External/kmrlumi/kmrLumi_ExHume_LHC.f rename to Fpmc/External/kmrlumi/kmrLumi_ExHume_LHC.f diff --git a/External/kmrlumi/kmrLumi_ExHume_Tev.f b/Fpmc/External/kmrlumi/kmrLumi_ExHume_Tev.f similarity index 100% rename from External/kmrlumi/kmrLumi_ExHume_Tev.f rename to Fpmc/External/kmrlumi/kmrLumi_ExHume_Tev.f diff --git a/External/kmrlumi/kmrLumi_Lonnblad_LHC.f b/Fpmc/External/kmrlumi/kmrLumi_Lonnblad_LHC.f similarity index 100% rename from External/kmrlumi/kmrLumi_Lonnblad_LHC.f rename to Fpmc/External/kmrlumi/kmrLumi_Lonnblad_LHC.f diff --git a/External/kmrlumi/kmrLumi_Lonnblad_Tev.f b/Fpmc/External/kmrlumi/kmrLumi_Lonnblad_Tev.f similarity index 100% rename from External/kmrlumi/kmrLumi_Lonnblad_Tev.f rename to Fpmc/External/kmrlumi/kmrLumi_Lonnblad_Tev.f diff --git a/External/kmrlumi2/CMakeLists.txt b/Fpmc/External/kmrlumi2/CMakeLists.txt similarity index 100% rename from External/kmrlumi2/CMakeLists.txt rename to Fpmc/External/kmrlumi2/CMakeLists.txt diff --git a/External/kmrlumi2/Makefile b/Fpmc/External/kmrlumi2/Makefile similarity index 100% rename from External/kmrlumi2/Makefile rename to Fpmc/External/kmrlumi2/Makefile diff --git a/External/kmrlumi2/kmr2.f b/Fpmc/External/kmrlumi2/kmr2.f similarity index 100% rename from External/kmrlumi2/kmr2.f rename to Fpmc/External/kmrlumi2/kmr2.f diff --git a/External/kmrlumi2/kmr2.inc b/Fpmc/External/kmrlumi2/kmr2.inc similarity index 100% rename from External/kmrlumi2/kmr2.inc rename to Fpmc/External/kmrlumi2/kmr2.inc diff --git a/External/kmrlumi2/mrst2002.f b/Fpmc/External/kmrlumi2/mrst2002.f similarity index 100% rename from External/kmrlumi2/mrst2002.f rename to Fpmc/External/kmrlumi2/mrst2002.f diff --git a/External/kmrlumi2/mrst2002nlo.dat b/Fpmc/External/kmrlumi2/mrst2002nlo.dat similarity index 100% rename from External/kmrlumi2/mrst2002nlo.dat rename to Fpmc/External/kmrlumi2/mrst2002nlo.dat diff --git a/External/lininter.f b/Fpmc/External/lininter.f similarity index 100% rename from External/lininter.f rename to Fpmc/External/lininter.f diff --git a/External/ntuple.f b/Fpmc/External/ntuple.f similarity index 100% rename from External/ntuple.f rename to Fpmc/External/ntuple.f diff --git a/External/ntuple_ww.f b/Fpmc/External/ntuple_ww.f similarity index 100% rename from External/ntuple_ww.f rename to Fpmc/External/ntuple_ww.f diff --git a/External/pdf/h1qcd.f b/Fpmc/External/pdf/h1qcd.f similarity index 100% rename from External/pdf/h1qcd.f rename to Fpmc/External/pdf/h1qcd.f diff --git a/External/pdf/i_2006_fita.f b/Fpmc/External/pdf/i_2006_fita.f similarity index 100% rename from External/pdf/i_2006_fita.f rename to Fpmc/External/pdf/i_2006_fita.f diff --git a/External/pdf/i_2006_fitb.f b/Fpmc/External/pdf/i_2006_fitb.f similarity index 100% rename from External/pdf/i_2006_fitb.f rename to Fpmc/External/pdf/i_2006_fitb.f diff --git a/External/pdf/i_nlotables.f b/Fpmc/External/pdf/i_nlotables.f similarity index 100% rename from External/pdf/i_nlotables.f rename to Fpmc/External/pdf/i_nlotables.f diff --git a/External/pdf/pdftable_h194ext.inc b/Fpmc/External/pdf/pdftable_h194ext.inc similarity index 100% rename from External/pdf/pdftable_h194ext.inc rename to Fpmc/External/pdf/pdftable_h194ext.inc diff --git a/External/pdf/pdftable_h197.inc b/Fpmc/External/pdf/pdftable_h197.inc similarity index 100% rename from External/pdf/pdftable_h197.inc rename to Fpmc/External/pdf/pdftable_h197.inc diff --git a/External/pdf/pdftable_h1zeus.inc b/Fpmc/External/pdf/pdftable_h1zeus.inc similarity index 100% rename from External/pdf/pdftable_h1zeus.inc rename to Fpmc/External/pdf/pdftable_h1zeus.inc diff --git a/External/pdf/pdftable_zeus.inc b/Fpmc/External/pdf/pdftable_zeus.inc similarity index 100% rename from External/pdf/pdftable_zeus.inc rename to Fpmc/External/pdf/pdftable_zeus.inc diff --git a/External/pdf/qcd_2006.f b/Fpmc/External/pdf/qcd_2006.f similarity index 100% rename from External/pdf/qcd_2006.f rename to Fpmc/External/pdf/qcd_2006.f diff --git a/External/pxcone_intf.f b/Fpmc/External/pxcone_intf.f similarity index 100% rename from External/pxcone_intf.f rename to Fpmc/External/pxcone_intf.f diff --git a/External/pxcone_mod_new.f b/Fpmc/External/pxcone_mod_new.f similarity index 100% rename from External/pxcone_mod_new.f rename to Fpmc/External/pxcone_mod_new.f diff --git a/External/reco_ok/HERWIG65.INC b/Fpmc/External/reco_ok/HERWIG65.INC similarity index 100% rename from External/reco_ok/HERWIG65.INC rename to Fpmc/External/reco_ok/HERWIG65.INC diff --git a/External/reco_ok/pxcone_mod_new.f b/Fpmc/External/reco_ok/pxcone_mod_new.f similarity index 100% rename from External/reco_ok/pxcone_mod_new.f rename to Fpmc/External/reco_ok/pxcone_mod_new.f diff --git a/External/reco_ok/reco_ok.f b/Fpmc/External/reco_ok/reco_ok.f similarity index 100% rename from External/reco_ok/reco_ok.f rename to Fpmc/External/reco_ok/reco_ok.f diff --git a/External/shw.inc b/Fpmc/External/shw.inc similarity index 100% rename from External/shw.inc rename to Fpmc/External/shw.inc diff --git a/External/softc/CMakeLists.txt b/Fpmc/External/softc/CMakeLists.txt similarity index 100% rename from External/softc/CMakeLists.txt rename to Fpmc/External/softc/CMakeLists.txt diff --git a/External/softc/getsoftc.f b/Fpmc/External/softc/getsoftc.f similarity index 100% rename from External/softc/getsoftc.f rename to Fpmc/External/softc/getsoftc.f diff --git a/External/softc/soft.14TeV.effopa.f b/Fpmc/External/softc/soft.14TeV.effopa.f similarity index 100% rename from External/softc/soft.14TeV.effopa.f rename to Fpmc/External/softc/soft.14TeV.effopa.f diff --git a/External/softc/soft.14TeV.f b/Fpmc/External/softc/soft.14TeV.f similarity index 100% rename from External/softc/soft.14TeV.f rename to Fpmc/External/softc/soft.14TeV.f diff --git a/External/softc/soft.2TeV.effopa.f b/Fpmc/External/softc/soft.2TeV.effopa.f similarity index 100% rename from External/softc/soft.2TeV.effopa.f rename to Fpmc/External/softc/soft.2TeV.effopa.f diff --git a/External/softc/soft.2TeV.f b/Fpmc/External/softc/soft.2TeV.f similarity index 100% rename from External/softc/soft.2TeV.f rename to Fpmc/External/softc/soft.2TeV.f diff --git a/External/softc/softc.ini b/Fpmc/External/softc/softc.ini similarity index 100% rename from External/softc/softc.ini rename to Fpmc/External/softc/softc.ini diff --git a/External/sudakov.f b/Fpmc/External/sudakov.f similarity index 100% rename from External/sudakov.f rename to Fpmc/External/sudakov.f diff --git a/External/sudakovSP.f b/Fpmc/External/sudakovSP.f similarity index 100% rename from External/sudakovSP.f rename to Fpmc/External/sudakovSP.f diff --git a/External/testSud.f b/Fpmc/External/testSud.f similarity index 100% rename from External/testSud.f rename to Fpmc/External/testSud.f diff --git a/External/tools.f b/Fpmc/External/tools.f similarity index 100% rename from External/tools.f rename to Fpmc/External/tools.f diff --git a/Fpmc/Fpmc.h b/Fpmc/Fpmc.h index 8cd8172..d0bd479 100644 --- a/Fpmc/Fpmc.h +++ b/Fpmc/Fpmc.h @@ -10,8 +10,8 @@ #include "CLHEP/Random/JamesRandom.h" #include "CLHEP/Random/RandFlat.h" -#include "herwig.h" -#include "fpmc.h" +#include "Fpmc/interface/herwig.h" +#include "Fpmc/interface/fpmc.h" #include "FpmcParameters.h" diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index 75ee5cc..427bd59 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -3,8 +3,8 @@ #include "FpmcTypes.h" -#include "herwig.h" -#include "fpmc.h" +#include "Fpmc/interface/herwig.h" +#include "Fpmc/interface/fpmc.h" #include #include diff --git a/HepMCWrapper/Wrapper.h b/Fpmc/HepMCWrapper.h similarity index 100% rename from HepMCWrapper/Wrapper.h rename to Fpmc/HepMCWrapper.h diff --git a/Fpmc/fpmc.h b/Fpmc/interface/fpmc.h similarity index 100% rename from Fpmc/fpmc.h rename to Fpmc/interface/fpmc.h diff --git a/Fpmc/fpmc.inc b/Fpmc/interface/fpmc.inc similarity index 100% rename from Fpmc/fpmc.inc rename to Fpmc/interface/fpmc.inc diff --git a/Herwig/herwig.h b/Fpmc/interface/herwig.h similarity index 100% rename from Herwig/herwig.h rename to Fpmc/interface/herwig.h diff --git a/Fpmc/Fpmc.cc b/Fpmc/src/Fpmc.cc similarity index 100% rename from Fpmc/Fpmc.cc rename to Fpmc/src/Fpmc.cc diff --git a/Fpmc/FpmcParameters.cc b/Fpmc/src/FpmcParameters.cc similarity index 100% rename from Fpmc/FpmcParameters.cc rename to Fpmc/src/FpmcParameters.cc diff --git a/HepMCWrapper/Wrapper.cc b/Fpmc/src/HepMCWrapper.cc similarity index 96% rename from HepMCWrapper/Wrapper.cc rename to Fpmc/src/HepMCWrapper.cc index 23428a5..d9092f9 100644 --- a/HepMCWrapper/Wrapper.cc +++ b/Fpmc/src/HepMCWrapper.cc @@ -1,4 +1,4 @@ -#include "Wrapper.h" +#include "Fpmc/HepMCWrapper.h" #ifndef HEPMC_VERSION2 extern HEPEVT hepevt_; @@ -34,7 +34,7 @@ namespace fpmc hepMCEvt_->set_event_number( event_-1 ); #ifdef HEPMC_VERSION2 - hepMCEvt_->set_signal_process_id( params_.getProcessId() ); + hepMCEvt_->set_signal_process_id( params_.processId() ); hepMCEvt_->set_event_scale( -1. ); #endif hepMCEvt_->weights().push_back( last_evt.EVWGT ); diff --git a/Fpmc/fpmc.f b/Fpmc/src/fpmc.f similarity index 99% rename from Fpmc/fpmc.f rename to Fpmc/src/fpmc.f index 687d6fb..2006995 100644 --- a/Fpmc/fpmc.f +++ b/Fpmc/src/fpmc.f @@ -285,7 +285,7 @@ SUBROUTINE HWCHEK C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' INTEGER IPR INTEGER PDFID, ACTID @@ -716,7 +716,7 @@ SUBROUTINE HWCHEK SUBROUTINE HWMODINI INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' INCLUDE 'CHIDe.inc' c---To pass the relative GAP Srv. prob factor for BL inclusive modified dist. DOUBLE PRECISION GAPSPRREL @@ -1021,7 +1021,7 @@ SUBROUTINE FLUX(F,Z,TMIN,TMAX,IPRO,IND) DOUBLE PRECISION QZERO,EXPARG,ALPHAE,EI DOUBLE PRECISION RZERO,R,BMIN,XM,ZZERO,ARG,F1,F2 DOUBLE PRECISION HWUALF,DGAGNC,DBESK0,DBESK1 - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' EXTERNAL HWUALF,DGAGNC,DBESK0,DBESK1 PARAMETER(ALPHAE=1.D0/137.D0) c... parameters for the Budnev flux (thanks K.Piotrzkowski) @@ -1406,7 +1406,7 @@ SUBROUTINE HWEGAM(IHEP,ZMI,ZMA,WWA) C ELSE EQUIVALENT PHOTON APPROX FROM INCOMING E+, E-, MU+ OR MU- C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION GAPSPRREL COMMON /BLMODIF/ GAPSPRREL @@ -2414,7 +2414,7 @@ SUBROUTINE HWEPRO INCLUDE 'HERWIG65.INC' C ... begin R.S. include 'CHIDe.inc' - INCLUDE 'fpmc.inc' ! To be able to check NFLUX + INCLUDE 'Fpmc/interface/fpmc.inc' ! To be able to check NFLUX C ... end R.S. DOUBLE PRECISION CIRCKP(2) COMMON /HWCIR2/CIRCKP @@ -2948,7 +2948,7 @@ SUBROUTINE HWEXCH C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION HWUALF,HWRGEN,EMH,CSFAC,EMFAC DOUBLE PRECISION TAUT,TAUW,EMW,TAUTR,TAUTI,TAUWR,TAUWI,SUMR, & SUMI,HWIDTH,EPSM,P2OLD,P2NEW @@ -3016,7 +3016,7 @@ SUBROUTINE HWFXER(INIFX) C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION PMOM,PRESC INTEGER I,J,ISEC,IPOM,IREG LOGICAL INIFX @@ -3308,7 +3308,7 @@ SUBROUTINE HWHIGP C exclusive DPE is calculated. C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION HWUALF,HWHIGT,HWRGEN,HWUSQR,HWUAEM,BRHIGQ,EMH, & CSFAC,EVSUM(13),EMFAC,CV,CA,BR,RWGT,E1,E2,EMQ,GFACTR DOUBLE PRECISION TAUT,TAUW,EMW,TAUTR,TAUTI,TAUWR,TAUWI,SUMR, @@ -3547,7 +3547,7 @@ SUBROUTINE HWHQPM C Anomalous ZZ C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION RCS,HCS,RS,S,EMSQ,BE,TMIN,TMAX,T,U,FACTR,Q,CFAC, $ HWRGEN INTEGER HQ,ID3,ID4,I1,I2 @@ -4120,7 +4120,7 @@ SUBROUTINE HWHQPP C Tibor Kucs, Dec 2003 : C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION RCS,HCS,RS,S,EMSQ,BE,TMIN,TMAX,T,U,FACTR,Q,CFAC, $ HWRGEN,A2,XMSQ,ALPHAS,CHGSUM,FACT,HWUALF,HWHBOX COMPLEX*16 CA1,CM1111,CM1122,CM2211,CM1212,CM2222,CM @@ -4181,7 +4181,7 @@ DOUBLE PRECISION FUNCTION HWHBOX(S,T,U) C Internal quark mass neglected: m_q << U,T,S C----------------------------------------------------------------------- IMPLICIT NONE - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION S,T,U,A2 COMPLEX*16 CA1,CM1111,CM1122,CM2211,CM1212,CM2222,CM EXTERNAL CA1,A2 @@ -4234,7 +4234,7 @@ SUBROUTINE HWINCH C MEAN EVWGT = CHI PRODUCTION C-S * BRANCHING FRACTION IN NB C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION HWUALF,HWHIGT,HWRGEN,HWUSQR,HWUAEM,BRHIGQ,EMH, & CSFAC,EMFAC,CV,CA,RWGT,E1,E2,EMQ,HWIDTH INTEGER IDEC,I,J,ID1,ID2,ICHI,INDEX @@ -4403,7 +4403,7 @@ SUBROUTINE HWSFUN(X,SCALE,IDHAD,NSET,DIST,IBEAM) C CERN_ROOT:[DOC]PDFLIB.TXT ON VXCERN C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' DOUBLE PRECISION HWSGAM,X,SCALE,XOLD,QOLD,XMWN,QSCA,SS,SMIN,S,T, & TMIN,TMAX,VX,AA,VT,WT,UPV,DNV,SEA,STR,CHM,BTM,TOP,GLU,WX,XQSUM, & DMIN,TPMIN,TPMAX,DIST(13),G(2),Q0(5),QL(5),F(5),A(6,5), @@ -5497,7 +5497,7 @@ SUBROUTINE PRINTSETTING C-- prints important user setting C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' write(*,*) '' write(*,*) ' FPMC - USER SETTINGS' @@ -5558,7 +5558,7 @@ SUBROUTINE PRINTSETTING SUBROUTINE FPMCDEBUGPART INCLUDE 'HERWIG65.INC' - INCLUDE 'fpmc.inc' + INCLUDE 'Fpmc/interface/fpmc.inc' INTEGER N, IPART, I, ID DOUBLE PRECISION PX, PY, PT, PZ, E, M diff --git a/HepMCWrapper/CMakeLists.txt b/HepMCWrapper/CMakeLists.txt deleted file mode 100644 index 79b8515..0000000 --- a/HepMCWrapper/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -include_directories(${PROJECT_SOURCE_DIR}/Examples ${HEPMC_INCLUDE}) -add_library(Wrapper OBJECT Wrapper.cc) -set_target_properties(Wrapper PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/Herwig/CMakeLists.txt b/Herwig/CMakeLists.txt index 2a0d796..c93025a 100644 --- a/Herwig/CMakeLists.txt +++ b/Herwig/CMakeLists.txt @@ -1,4 +1,4 @@ #include_directories(${PROJECT_SOURCE_DIR}/External ${PROJECT_SOURCE_DIR}/Herwig) -add_library(HerwigCore OBJECT herwig6500.f) -set_target_properties(HerwigCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) +add_library(FpmcHerwig SHARED herwig6500.f) +set_target_properties(FpmcHerwig PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/Objects/.keepme b/Objects/.keepme deleted file mode 100644 index e69de29..0000000 diff --git a/cmake/FindEnvironment.cmake b/cmake/FindEnvironment.cmake new file mode 100644 index 0000000..7b96563 --- /dev/null +++ b/cmake/FindEnvironment.cmake @@ -0,0 +1,40 @@ +#----- locate the external dependencies + +if($ENV{HOSTNAME} MATCHES "^lxplus[0-9]+.cern.ch") + set(BASE_DIR "/cvmfs/sft.cern.ch/lcg/external") + set(CERNLIB_DIR "${BASE_DIR}/cernlib/2006a/x86_64-slc6-gcc47-opt") + set(GSL_DIR "${BASE_DIR}/GSL/1.14/x86_64-slc5-gcc44-opt") + set(CLHEP_DIR "${BASE_DIR}/clhep/2.2.0.4/x86_64-slc6-gcc48-opt") + set(HEPMC_DIR "${BASE_DIR}/HepMC/2.06.08/x86_64-slc6-gcc48-opt") + set(LHAPDF_DIR "${BASE_DIR}/MCGenerators/lhapdf/5.8.9/x86_64-slc6-gcc46-opt") + + message(STATUS "Compiling on LXPLUS. Do not forget to source the environment variables!") + + find_library(CERNLIB_LIB NAMES cernlib HINTS "${CERNLIB_DIR}/lib") + find_library(CERNLIB_MATHLIB_LIB NAMES mathlib HINTS "${CERNLIB_DIR}/lib") + find_library(CERNLIB_PACKLIB_LIB NAMES packlib HINTS "${CERNLIB_DIR}/lib") + find_library(CERNLIB_PAWLIB_LIB NAMES pawlib HINTS "${CERNLIB_DIR}/lib") + message(STATUS "PAW found in ${CERNLIB_PAWLIB_LIB}") + + find_library(GSL_LIB gsl HINTS "${GSL_DIR}/lib") + find_library(GSL_CBLAS_LIB gslcblas HINTS "${GSL_DIR}/lib") + #--- searching for CLHEP + find_library(CLHEP_LIB CLHEP HINTS "${CLHEP_DIR}/lib") + find_path(CLHEP_INCLUDE CLHEP HINTS "${CLHEP_DIR}/include") + #--- searching for LHAPDF + find_library(LHAPDF_LIB LHAPDF HINTS "${LHAPDF_DIR}/lib") + #--- searching for HepMC + find_library(HEPMC_LIB HepMC HINTS "${HEPMC_DIR}/lib") + find_library(HEPMC_FIO_LIB HepMCfio HINTS "${HEPMC_DIR}/lib") + find_path(HEPMC_INCLUDE HepMC HINTS "${HEPMC_DIR}/include") +else() + find_library(GSL_LIB gsl) + find_library(GSL_CBLAS_LIB gslcblas) + find_library(CLHEP_LIB CLHEP) + find_path(CLHEP_INCLUDE CLHEP) + find_library(LHAPDF_LIB LHAPDF) + find_library(HEPMC_LIB HepMC) + find_library(HEPMC_FIO_LIB HepMCfio) + find_path(HEPMC_INCLUDE HepMC) +endif() + From 4ffd93088455f6bf3e2302e5cbac7d65f12744eb Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 13:53:33 +0200 Subject: [PATCH 07/13] First installation rules --- CMakeLists.txt | 5 +++++ Fpmc/CMakeLists.txt | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a413b4..c2d70e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,11 @@ if(HEPMC_LIB) target_link_libraries(fpmc-hepmc ${LIBRARIES} ${HEPMC_LIB} ${HEPMC_FIO_LIB}) endif() +#----- installation procedure + +install(DIRECTORY Fpmc DESTINATION include FILES_MATCHING PATTERN "*.h") +install(DIRECTORY Fpmc DESTINATION include FILES_MATCHING PATTERN "*.inc") + #----- copies file(COPY ${PROJECT_SOURCE_DIR}/Datacards/ DESTINATION Datacards/) diff --git a/Fpmc/CMakeLists.txt b/Fpmc/CMakeLists.txt index 173a7a1..c825bf8 100644 --- a/Fpmc/CMakeLists.txt +++ b/Fpmc/CMakeLists.txt @@ -1,12 +1,22 @@ add_subdirectory(External) include_directories(External ${PROJECT_SOURCE_DIR}/Herwig) -add_library(FpmcExternals SHARED $ $ $ $ $ $) -target_link_libraries(FpmcExternals comphep) +#----- core of the generator add_library(FpmcCore SHARED src/Fpmc.cc src/fpmc.f src/FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) set_target_properties(FpmcCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) +#----- all external objects + +add_library(FpmcExternals SHARED $ $ $ $ $ $) +target_link_libraries(FpmcExternals comphep) + +#----- installation procedure + +install(TARGETS FpmcCore DESTINATION lib) +install(TARGETS FpmcExternals DESTINATION lib) + if(HEPMC_LIB) add_library(FpmcHepMC SHARED src/HepMCWrapper.cc) + install(TARGETS FpmcHepMC DESTINATION lib) endif() From f396d20e6ffa17490be36499d9ebb8d6f48c4330 Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 13:55:00 +0200 Subject: [PATCH 08/13] General directory cleanup --- Makefile | 349 ----------------------------------------------- QuickManual | 11 -- README | 2 - setup_lxplus.csh | 3 - setup_lxplus.sh | 15 -- 5 files changed, 380 deletions(-) delete mode 100644 Makefile delete mode 100644 QuickManual delete mode 100644 README delete mode 100644 setup_lxplus.csh delete mode 100644 setup_lxplus.sh diff --git a/Makefile b/Makefile deleted file mode 100644 index dbfec0a..0000000 --- a/Makefile +++ /dev/null @@ -1,349 +0,0 @@ -#------------------------------------------------------------------------------------- -# * 29/01/2009, Oldrich Kepka -# * Makefile for the inclusive or exclusive production with gaps -# -# * module : module that accept parameters from the Format-Free card -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -# * module_reco: module with pxcone algorithm interface -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- -# old specific examples -#------------------------------------------------------------------------------------- -# -# * example_excDPE :standard example with exclusive bbbar production, in the BL model -# no external libraries required -# -# * example_incDPE : an example with inclusive diphoton production, in the BPR model -# no external libraries required -# -# * example_hbook : a standard example with exclusive bbbar production, in the BL model -# histograms with HBOOK - cernlib assumed installed -# -# * example_sd : dijets in single diffraction -# histograms with HBOOK - cernlib assumed installed -# -# * example_ddis : Diffractive DIS -# histograms with HBOOK - cernlib assumed installed -# -# * example_qedww : pp --> p WW p via QED -# histograms with HBOOK - cernlib assumed installed -# -# * example_excChi : an example of exclusive Chi_c production. This needs a special phase -# space routine, prepared by Murilo Rangel -# histograms with HBOOK - cernlib assumed installed -# -# * example_incChi : inclusive Chi_c production. -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- - - -######################################################################### -# IMPORTANT USER SETUP -######################################################################### - -CERNLIB=`cernlib mathlib pawlib packlib` -L$(PWD) -lgfortran -#CERNLIB=`cernlib mathlib pawlib packlib pdflib804` -L$(PWD) -lgfortran -L$(LHAPDFLIB) -lLHAPDF -#CERNLIB=`cernlib` -L$(PWD) -lgfortran -GSLLIB=`gsl-config --cflags --libs` - -#LHAPDF_BASE=/cvmfs/cms.cern.ch/slc6_amd64_gcc481/external/lhapdf/5.9.1-cms3 -LHAPDF_BASE=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.9/x86_64-slc6-gcc46-opt -LHAPDFLIB=-L$(LHAPDF_BASE)/lib -lLHAPDF -Wl,-rpath -Wl,$(LHAPDF_BASE)/lib -LHAPDF_INCLUDE=-I$(LHAPDF_BASE)/include - -HEPMC_BASE = /afs/cern.ch/sw/lcg/external/HepMC/2.06.08/x86_64-slc6-gcc46-opt -CLHEP_BASE = /afs/cern.ch/sw/lcg/external/clhep/2.1.4.1/x86_64-slc6-gcc46-opt - -######################################################################### - -#------------------------------------------------------------------------------------- -# Utilities -#------------------------------------------------------------------------------------- - -all: allModules -#allModules: module module_reco fpmc-paw -allModules: fpmc-paw fpmc-hepmc -examples:oldExamples -allApp: Fpmc Herwig Externals examples allModules - -clean: clean_sqme clean_excl_aaaa - @find ./ -name "*~" -exec rm -v {} \; - @find ./ -name ".*.swp" -exec rm -v {} \; - rm -f Objects/* module* fort.* *.hbook last.kumac *.ntp example_* *.mod fpmc-paw fpmc-hepmc - -# FLAGS -# ------- - -# debuging flag to turn off anoying messages -#SPEC_FL=-Wno-globals -Wno-implicit - -# g77 - setup: -# flags very important for simulation interfaces! -#F_FLAGS = -g -O1 -Wno-all -fno-f2c -finit-local-zero -fno-automatic -#F_COMP = g77 $(F_FLAGS) $(SPEC_FL) - -# gforan - setup -F_FLAGS = -g -O1 -fno-automatic -fPIC -IExternal -F_COMP = gfortran $(F_FLAGS) $(SPEC_FL) - -# other -CC=g++ - -# Directories -# ----------- - -OBJDIR = Objects -DPEDIR = Fpmc -HERDIR = Herwig -EXTDIR = External - -GENERAL_INCLUDE=-IFpmc -IHerwig - -# FPMC additions to Herwig -# ------------------------- - -Fpmc: $(OBJDIR)/fpmc.o - - -$(OBJDIR)/fpmc.o: $(DPEDIR)/fpmc.f - $(F_COMP) -c $^ -o $@ - -$(OBJDIR)/fpmc_chi.o: $(DPEDIR)/fpmc_chi.f - $(F_COMP) -c $< -o $@ - - -# HERWIG -# ------ - -Herwig: $(OBJDIR)/herwig6500.o - -$(OBJDIR)/herwig6500.o: $(HERDIR)/herwig6500.f - $(F_COMP) -c $< -o $@ - - -# External contributions -# ---------------------- - -ext=tools.f lininter.f -ext_obj=$(ext:%.f=%.o) -ext_obj_dest=$(ext_obj:%=$(OBJDIR)/%) -$(ext_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/%.f - $(F_COMP) -c $< -o $@ - -# ----- pxcone algorithm and reconstruction -reco=reco_ok/reco_ok.f reco_ok/pxcone_mod_new.f - -reco_obj=$(reco:reco_ok/%.f=%.o) -reco_obj_dest=$(reco_obj:%=$(OBJDIR)/%) -$(reco_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/reco_ok/%.f - $(F_COMP) -c $< -o $@ - -# ---- kmr luminosity -ext_kmr=kmrlumi/KMR.f kmrlumi/kmrLumi_ExHume_Tev.f kmrlumi/kmrLumi_ExHume_LHC.f kmrlumi/kmrLumi_Lonnblad_Tev.f kmrlumi/kmrLumi_Lonnblad_LHC.f - -ext_kmr_obj=$(ext_kmr:kmrlumi/%.f=%.o) -ext_kmr_obj_dest=$(ext_kmr_obj:%=$(OBJDIR)/%) -$(ext_kmr_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi/%.f - $(F_COMP) -c $< -o $@ - -# ----- KMR2 - direct implementation of KMR (based on ExHuME) -ext_KMR2=kmrlumi2/kmr2.f kmrlumi2/mrst2002.f - -ext_KMR2_obj=$(ext_KMR2:kmrlumi2/%.f=%.o) -ext_KMR2_obj_dest=$(ext_KMR2_obj:%=$(OBJDIR)/%) -$(ext_KMR2_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi2/%.f - $(F_COMP) -c $< -o $@ - - -################# CHIDe MODEL ################## - -# ----- common files -ext_CHIDeCommon = \ -CHIDe/Common/CHIDedcadredo.f \ -CHIDe/Common/CHIDedgd2008.f \ -CHIDe/Common/CHIDeFunctions.f \ -CHIDe/Common/CHIDedgd2007.f \ -CHIDe/Common/CHIDedgdforward.f - -ext_CHIDeCommon_obj=$(ext_CHIDeCommon:CHIDe/Common/%.f=%.o) -ext_CHIDeCommon_obj_dest=$(ext_CHIDeCommon_obj:%=$(OBJDIR)/%) -$(ext_CHIDeCommon_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Common/%.f - $(F_COMP) -c $< -o $@ - -# ----- Higgs -ext_CHIDeHiggs= \ -CHIDe/Higgs/CHIDeHiggs.f \ -CHIDe/Higgs/CHIDeHiggsInit.f - -ext_CHIDeHiggs_obj=$(ext_CHIDeHiggs:CHIDe/Higgs/%.f=%.o) -ext_CHIDeHiggs_obj_dest=$(ext_CHIDeHiggs_obj:%=$(OBJDIR)/%) -$(ext_CHIDeHiggs_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Higgs/%.f - $(F_COMP) -c $< -o $@ - -# ----- GG -ext_CHIDeGG=\ -CHIDe/GG/CHIDeGG.f \ -CHIDe/GG/CHIDeGGAmplitudes.f \ -CHIDe/GG/CHIDeGGFunctions.f \ -CHIDe/GG/CHIDeGGInit.f \ -CHIDe/GG/CHIDeGGDurhamlike.f - -ext_CHIDeGG_obj=$(ext_CHIDeGG:CHIDe/GG/%.f=%.o) -ext_CHIDeGG_obj_dest=$(ext_CHIDeGG_obj:%=$(OBJDIR)/%) -$(ext_CHIDeGG_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/GG/%.f - $(F_COMP) -c $< -o $@ - -# ----- Diphoton -ext_CHIDeDiphoton=\ -CHIDe/Diphoton/CHIDeDiphoton.f \ -CHIDe/Diphoton/CHIDeDiphotonFunctions.f \ -CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f \ -CHIDe/Diphoton/CHIDeDiphotonInit.f \ - -ext_CHIDeDiphoton_obj=$(ext_CHIDeDiphoton:CHIDe/Diphoton/%.f=%.o) -ext_CHIDeDiphoton_obj_dest=$(ext_CHIDeDiphoton_obj:%=$(OBJDIR)/%) -$(ext_CHIDeDiphoton_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Diphoton/%.f - $(F_COMP) -c $< -o $@ - -################################################ - - -# ---- softc -ext_softc=softc/getsoftc.f softc/soft.2TeV.f softc/soft.14TeV.f softc/soft.2TeV.effopa.f softc/soft.14TeV.effopa.f - -ext_softc_obj=$(ext_softc:softc/%.f=%.o) -ext_softc_obj_dest=$(ext_softc_obj:%=$(OBJDIR)/%) -$(ext_softc_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/softc/%.f - $(F_COMP) -c $< -o $@ - -#---- Parton densities -ext_pdf = pdf/i_2006_fita.f pdf/i_2006_fitb.f pdf/qcd_2006.f pdf/h1qcd.f pdf/i_nlotables.f -ext_pdf_obj=$(ext_pdf:pdf/%.f=%.o) -ext_pdf_dest=$(ext_pdf_obj:%=$(OBJDIR)/%) -$(ext_pdf_dest): $(OBJDIR)/%.o: $(EXTDIR)/pdf/%.f - $(F_COMP) -c $< -o $@ - -# interface to comphep routines -ext_comphep_dest=$(OBJDIR)/comphep_wraper.o $(OBJDIR)/sqme_aaww.a $(OBJDIR)/sqme_aazz.a $(OBJDIR)/sqme_aaaa.a - -$(OBJDIR)/sqme_aaww.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww - cp -f $(EXTDIR)/comphep_interface/sqme_aaww/sqme_aaww.a $(OBJDIR) - -$(OBJDIR)/sqme_aazz.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz - cp -f $(EXTDIR)/comphep_interface/sqme_aazz/sqme_aazz.a $(OBJDIR) - -$(OBJDIR)/sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa - cp -f $(EXTDIR)/comphep_interface/sqme_aaaa/sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/comphep_wraper.o:$(EXTDIR)/comphep_interface/comphep_wraper.cpp - $(CC) -c -o $@ $< - -clean_sqme: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa clean - -$(OBJDIR)/dummy_hwaend.o: Examples/dummy_hwaend.f - $(F_COMP) -c $< -o $@ - -# interface to excl aa->aa or aa->X routines -ext_excl_aaaa_dest=$(OBJDIR)/excl_aaaa_wraper.o $(OBJDIR)/excl_aaaa.a - -$(OBJDIR)/excl_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa - cp -f $(EXTDIR)/excl_aaaa/excl_aaaa.a $(OBJDIR) - -$(OBJDIR)/excl_aaaa_wraper.o:$(EXTDIR)/excl_aaaa/excl_aaaa_wraper.cpp - $(CC) -c -o $@ $< - -clean_excl_aaaa: - $(MAKE) -C $(EXTDIR)/excl_aaaa clean - - -# ----- user objects -# ---------------------- -# ntuple -$(OBJDIR)/ntuple.o:External/ntuple.f - $(F_COMP) -c $< -o $@ - - -$(OBJDIR)/fpmc_welcome.o:Examples/fpmc_welcome.f - $(F_COMP) -c $< -o $@ - -# reading datacards -$(OBJDIR)/ffcard.o:Examples/ffcard.f Examples/ffcard.inc Examples/fpmc_welcome.f - $(F_COMP) -c $< -o $@ - -# LHE functions -$(OBJDIR)/fpmc_lhe.o:Examples/fpmc_lhe.f - $(F_COMP) -c $< -o $@ - -# ---------------- -# Objects variables -# ---------------- -OBJSTAND = $(OBJDIR)/herwig6500.o $(OBJDIR)/fpmc.o $(OBJDIR)/ffcard.o $(OBJDIR)/fpmc_welcome.o $(OBJDIR)/fpmc_lhe.o -OBJEXT = $(ext_obj_dest) $(ext_pdf_dest) $(ext_comphep_dest) $(ext_excl_aaaa_dest) $(ext_kmr_obj_dest) $(ext_softc_obj_dest) \ - $(ext_CHIDeCommon_obj_dest) $(ext_CHIDeHiggs_obj_dest) $(ext_CHIDeGG_obj_dest) $(ext_CHIDeDiphoton_obj_dest) \ - $(ext_KMR2_obj_dest) -OBJUSR = $(OBJDIR)/ntuple.o -LIBS = $(CERNLIB) $(LHAPDFLIB) $(GSLLIB) -OBJRECO = $(reco_obj_dest) - - -# ---------------- -# Example programs -# ---------------- - -# old examples -pgm=example_excDPE example_incDPE example_hbook example_sd example_ddis \ - example_qedww example_excChi example_incChi -$(pgm): % : Examples/%.f $(OBJSTAND) $(OBJEXT) - $(F_COMP) $< -o $@ $(OBJSTAND) $(OBJEXT) $(LIBS) -lstdc++ -oldExamples:$(pgm) - -### modules to be used by the end user### -fpmc-paw: Examples/fpmc_main.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module_reco: Examples/module_reco.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module: Examples/module.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) \ - Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(LIBS) -lstdc++ - -#---- Wrapper/HepMC -#---- -HEPMCLIB = -L$(HEPMC_BASE)/lib -lHepMCfio -lHepMC -Wl,-rpath -Wl,$(HEPMC_BASE)/lib -HEPMC_INCLUDE = -I$(HEPMC_BASE)/include - -CLHEPLIB = $(shell $(CLHEP_BASE)/bin/clhep-config --libs) -Wl,-rpath -Wl,$(CLHEP_BASE)/lib -CLHEP_INCLUDE = $(shell $(CLHEP_BASE)/bin/clhep-config --include) - -CFLAGS = -g -O2 -ansi -pedantic -W -Wall -Wshadow -fPIC -std=c++11 -LDFLAGS = -g -O2 -ansi -pedantic -W -Wall -Wshadow -fPIC -std=c++11 - -$(OBJDIR)/Fpmc.o: $(OBJDIR)/%.o: HepMCWrapper/Fpmc.cc - $(CC) $(CFLAGS) $(HEPMC_INCLUDE) $(CLHEP_INCLUDE) $(LHAPDF_INCLUDE) $(GENERAL_INCLUDE) -c $< -o $@ - -$(OBJDIR)/FpmcParameters.o: HepMCWrapper/FpmcParameters.cc - $(CC) $(CFLAGS) $(HEPMC_INCLUDE) $(CLHEP_INCLUDE) $(LHAPDF_INCLUDE) $(GENERAL_INCLUDE) -c $< -o $@ - -$(OBJDIR)/FPMCHepMCWrapper.so: - $(CC) $(LDFLAGS) -shared $(HEPMCLIB) $(CLHEPLIB) -o $@ - -$(OBJDIR)/FPMCHepMCWrapper.a: - ar -r $@ - -$(OBJDIR)/fpmc-hepmc.o: HepMCWrapper/main.cc - $(CC) $(CFLAGS) $(HEPMC_INCLUDE) $(CLHEP_INCLUDE) $(LHAPDF_INCLUDE) $(GENERAL_INCLUDE) -c $< -o $@ - -fpmc-hepmc: $(OBJDIR)/herwig6500.o $(OBJDIR)/fpmc.o $(OBJDIR)/ffcard.o $(OBJDIR)/fpmc_welcome.o $(OBJEXT) $(OBJDIR)/fpmc-hepmc.o $(OBJDIR)/Fpmc.o $(OBJDIR)/FpmcParameters.o $(OBJDIR)/dummy_hwaend.o - $(CC) $(LDFLAGS) $^ $(CERNLIB) $(LHAPDFLIB) $(GSLLIB) $(HEPMCLIB) $(CLHEPLIB) -o $@ -#---- diff --git a/QuickManual b/QuickManual deleted file mode 100644 index 1a53610..0000000 --- a/QuickManual +++ /dev/null @@ -1,11 +0,0 @@ -Look at the Datacards directory for the process of interest. If the process you are looking for is not included there, look at the FPMC documentation or contact the developers. - -To run FPMC, first: - make clean - make -For example, for the process Gamma Gamma -> Spin 0 neutral resonance -> Gamma Gamma (With intact protons), use the command: - ./fpmc yourfilename.dat diff --git a/README b/README deleted file mode 100644 index b4f0719..0000000 --- a/README +++ /dev/null @@ -1,2 +0,0 @@ -bash -* For working at lxplus, use setup_lxplus.sh to setup proper CERNLIB environment diff --git a/setup_lxplus.csh b/setup_lxplus.csh deleted file mode 100644 index 4b21b0b..0000000 --- a/setup_lxplus.csh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/csh -source /afs/cern.ch/sw/lcg/contrib/gcc/4.6.3/x86_64-slc6-gcc46-opt/setup.csh -setenv LHAPATH /afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.9/share/PDFsets diff --git a/setup_lxplus.sh b/setup_lxplus.sh deleted file mode 100644 index 66a10e3..0000000 --- a/setup_lxplus.sh +++ /dev/null @@ -1,15 +0,0 @@ -# 2013/03 On Lxplus, one needs 64bit libraries - -#export CERN=/afs/cern.ch/sw/lcg/external/cernlib/2006 -#export CERN_LEVEL=slc4_amd64_gcc4 -#export PATH=$CERN/$CERN_LEVEL/bin:$PATH -source /cvmfs/sft.cern.ch/lcg/external/gcc/4.9.1/x86_64-slc6/setup.sh -#source /cvmfs/sft.cern.ch/lcg/external/gcc/6.2.0/x86_64-slc6-gcc62-opt/setup.sh -source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.09.02/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh - -#setenv LHAPDFLIB /afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.8/x86_64-slc5-gcc46-opt/lib/ -#setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.8/x86_64-slc5-gcc46-opt/lib/ - -export LHAPATH=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.9/share/PDFsets -export LHAPDFLIB=/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.8/x86_64-slc5-gcc46-opt/lib/ -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/afs/cern.ch/sw/lcg/external/MCGenerators/lhapdf/5.8.8/x86_64-slc5-gcc46-opt/lib/ From cc8eeda0392e96a615c25399185abfb0b11a530a Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 14:38:39 +0200 Subject: [PATCH 09/13] Comphep interface is not shared anymore --- ChangeLog => CHANGELOG | 0 Fpmc/CMakeLists.txt | 6 - Fpmc/External/CHIDe/Makefile | 64 ---- Fpmc/External/CMakeLists.txt | 19 +- .../External/comphep_interface/CMakeLists.txt | 14 - .../comphep_interface/sqme_aaaa/Makefile | 48 --- .../comphep_interface/sqme_aaww/Makefile | 42 --- .../comphep_interface/sqme_aazz/Makefile | 36 -- Fpmc/External/excl_aaaa/CMakeLists.txt | 4 +- Fpmc/External/excl_aaaa/Makefile | 45 --- .../resonances0even_sqme_az/test/Makefile | 322 ------------------ .../resonances0even_sqme_ww/test/Makefile | 322 ------------------ .../resonances0even_sqme_zz/test/Makefile | 322 ------------------ Fpmc/External/kmrlumi2/Makefile | 31 -- Herwig/CMakeLists.txt | 6 +- 15 files changed, 25 insertions(+), 1256 deletions(-) rename ChangeLog => CHANGELOG (100%) delete mode 100644 Fpmc/External/CHIDe/Makefile delete mode 100644 Fpmc/External/comphep_interface/CMakeLists.txt delete mode 100644 Fpmc/External/comphep_interface/sqme_aaaa/Makefile delete mode 100644 Fpmc/External/comphep_interface/sqme_aaww/Makefile delete mode 100644 Fpmc/External/comphep_interface/sqme_aazz/Makefile delete mode 100644 Fpmc/External/excl_aaaa/Makefile delete mode 100644 Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile delete mode 100644 Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile delete mode 100644 Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile delete mode 100644 Fpmc/External/kmrlumi2/Makefile diff --git a/ChangeLog b/CHANGELOG similarity index 100% rename from ChangeLog rename to CHANGELOG diff --git a/Fpmc/CMakeLists.txt b/Fpmc/CMakeLists.txt index c825bf8..7e45f71 100644 --- a/Fpmc/CMakeLists.txt +++ b/Fpmc/CMakeLists.txt @@ -6,15 +6,9 @@ include_directories(External ${PROJECT_SOURCE_DIR}/Herwig) add_library(FpmcCore SHARED src/Fpmc.cc src/fpmc.f src/FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) set_target_properties(FpmcCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) -#----- all external objects - -add_library(FpmcExternals SHARED $ $ $ $ $ $) -target_link_libraries(FpmcExternals comphep) - #----- installation procedure install(TARGETS FpmcCore DESTINATION lib) -install(TARGETS FpmcExternals DESTINATION lib) if(HEPMC_LIB) add_library(FpmcHepMC SHARED src/HepMCWrapper.cc) diff --git a/Fpmc/External/CHIDe/Makefile b/Fpmc/External/CHIDe/Makefile deleted file mode 100644 index 046bfc2..0000000 --- a/Fpmc/External/CHIDe/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -objdir=Objects - -Common_code=Common/CHIDedcadredo.f Common/CHIDedgd2007.f Common/CHIDedgd2008.f\ - Common/CHIDedgdforward.f Common/CHIDeFunctions.f - -GG_code=GG/CHIDeGG.f GG/CHIDeGGAmplitudes.f \ - GG/CHIDeGGFunctions.f GG/CHIDeGGInit.f \ - GG/CHIDeGGDurhamlike.f - -Diphoton_code=Diphoton/CHIDeDiphoton.f Diphoton/CHIDeDiphotonAmplitudes.f \ - GG/CHIDeGGFunctions.f Diphoton/CHIDeDiphotonFunctions.f Diphoton/CHIDeDiphotonInit.f - -Higgs_code=Higgs/CHIDeHiggs.f Higgs/CHIDeHiggsInit.f - -Standalone_code=Standalone/Standalone.f Standalone/StandaloneGG.f Standalone/StandaloneHiggs.f\ - Standalone/vegas11.f Standalone/VegasGG.f Standalone/VegasHiggs.f Standalone/Vegas.f\ - Standalone/StandaloneDiphoton.f Standalone/VegasDiphoton.f Standalone/StandaloneDiphoton2.f - - -Common_obj=$(Common_code:%.f=$(objdir)/%.o) -GG_obj=$(GG_code:%.f=$(objdir)/%.o) -Diphoton_obj=$(Diphoton_code:%.f=$(objdir)/%.o) -Higgs_obj=$(Higgs_code:%.f=$(objdir)/%.o) -Standalone_obj=$(Standalone_code:%.f=$(objdir)/%.o) - -obj=$(Common_obj) $(GG_obj) $(Diphoton_obj) $(Higgs_obj) $(Standalone_obj) -code=$(Common_code) $(GG_code) $(Diphoton_code) $(Higgs_code) $(Standalone_code) - -#FF = g77 -ggdb -FF = gfortran -ggdb - -all: CHIDeGG CHIDeHiggs CHIDeDiphoton CHIDe VegasGG VegasDiphoton CHIDeDiphoton2 - -$(obj): $(objdir)/%.o : %.f - $(FF) $< -c -o $@ - -VegasHiggs: $(Common_obj) $(Higgs_obj) Objects/Standalone/VegasHiggs.o Objects/Standalone/vegas11.o - $(FF) $(Common_obj) $(Higgs_obj) Objects/Standalone/VegasHiggs.o Objects/Standalone/vegas11.o -o VegasHiggs - -VegasDiphoton: $(Diphoton_obj) $(Common_obj) Objects/Standalone/vegas11.o Objects/Standalone/VegasDiphoton.o - $(FF) $(Diphoton_obj) $(Common_obj) Objects/Standalone/vegas11.o Objects/Standalone/VegasDiphoton.o -o VegasDiphoton - -VegasGG: $(GG_obj) $(Common_obj) Objects/Standalone/vegas11.o Objects/Standalone/VegasGG.o - $(FF) $(GG_obj) $(Common_obj) Objects/Standalone/vegas11.o Objects/Standalone/VegasGG.o -o VegasGG - -CHIDeDiphoton: $(Common_obj) $(Diphoton_obj) Objects/Standalone/StandaloneDiphoton.o - $(FF) $(Common_obj) $(Diphoton_obj) Objects/Standalone/StandaloneDiphoton.o -o CHIDeDiphoton - -CHIDeGG: $(Common_obj) $(GG_obj) Objects/Standalone/StandaloneGG.o - $(FF) $(Common_obj) $(GG_obj) Objects/Standalone/StandaloneGG.o -o CHIDeGG - -CHIDeHiggs: $(Common_obj) $(Higgs_obj) Objects/Standalone/StandaloneHiggs.o - $(FF) $(Common_obj) $(Higgs_obj) Objects/Standalone/StandaloneHiggs.o -o CHIDeHiggs - -CHIDe: $(Common_obj) $(Higgs_obj) $(GG_obj) Objects/Standalone/Standalone.o - $(FF) $(Common_obj) $(Higgs_obj) $(GG_obj) Objects/Standalone/Standalone.o -o CHIDe - -Vegas: $(Common_obj) $(Higgs_obj) $(GG_obj) Objects/Standalone/vegas11.o Objects/Standalone/Vegas.o - $(FF) $(Common_obj) $(Higgs_obj) $(GG_obj) Objects/Standalone/vegas11.o Objects/Standalone/Vegas.o -o Vegas - -clean: - rm -f *~ */*~ $(objdir)/*/* - rm -f CHIDe CHIDeHiggs CHIDeGG CHIDeDiphoton Vegas VegasGG VegasHiggs VegasDiphoton - rm -f fort.* diff --git a/Fpmc/External/CMakeLists.txt b/Fpmc/External/CMakeLists.txt index 4585799..3cdb954 100644 --- a/Fpmc/External/CMakeLists.txt +++ b/Fpmc/External/CMakeLists.txt @@ -1,6 +1,6 @@ #----- list of dependencies to build -set(EXTERNAL_MODULES CHIDe kmrlumi kmrlumi2 excl_aaaa comphep_interface softc) +set(EXTERNAL_MODULES CHIDe kmrlumi kmrlumi2 excl_aaaa softc comphep_interface/sqme_aaaa comphep_interface/sqme_aaww comphep_interface/sqme_aazz) #----- build all dependencies @@ -13,3 +13,20 @@ endforeach() file(GLOB misc_sources sudakov.f tools.f pdf/*.f lininter.f) add_library(miscellaneous OBJECT ${misc_sources}) set_target_properties(miscellaneous PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) + +#----- wrap all external objects + +add_library(FpmcExternals SHARED + $ + $ $ + $ + $ + comphep_interface/comphep_wraper.cpp $ $ $ + $ +) +set_target_properties(FpmcExternals PROPERTIES LINKER_LANGUAGE CXX) + +#----- installation procedure + +install(TARGETS FpmcExternals DESTINATION lib) + diff --git a/Fpmc/External/comphep_interface/CMakeLists.txt b/Fpmc/External/comphep_interface/CMakeLists.txt deleted file mode 100644 index bc99ac9..0000000 --- a/Fpmc/External/comphep_interface/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -set(processes sqme_aaaa sqme_aazz sqme_aaww) - -#----- build all dependencies - -foreach(_proc ${processes}) - add_subdirectory(${_proc}) -endforeach() - -#----- build a big library out of all sub-processes - -add_library(comphep SHARED comphep_wraper.cpp - $ - $ - $) diff --git a/Fpmc/External/comphep_interface/sqme_aaaa/Makefile b/Fpmc/External/comphep_interface/sqme_aaaa/Makefile deleted file mode 100644 index 4a212e4..0000000 --- a/Fpmc/External/comphep_interface/sqme_aaaa/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -#################################################### -# M. Saimpert - interface for aaaa coupling based on -#################################################### -# Interface to anomalous aaww coupling from comphep -# M. Kepka 13/12/2008 kepkao@fzu.cz -# Original comphep rutines are in directory comphep -# Model generated files + call_util.c in src -#################################################### - -.PHONY: clear test -.SUFFIXES: .cpp .o - -INS=-Icomphep/include - -#CHEP=/home/olda/work/mc/comphep/install/comphep-4.4p3-gcc411 -#INS:=-I$(CHEP)/include -#CC= $(shell more $(CHEP)/CC) -#FRT= $(shell more $(CHEP)/FRT) -#CFLAGS=$(shell more $(CHEP)/CFLAGS) -#CLIBS= $(shell more $(CHEP)/CLIBS) - -CC=g++ -CFLAGS=-g -Wall -DNUM_DOUBLE -DCOMPHEP -SOFLAGS=-fPIC - -all: sqme_aaaa.a libsqme_aaaa.so -test:testcall testcall2 - -objects=d1.o f1.o service.o sqme.o call_util.o -f_0_objects=$(objects:%=src/%) - -sqme_aaaa.a:$(f_0_objects) - ar -r $@ $(f_0_objects) - -libsqme_aaaa.so:$(f_0_objects) - $(CC) $(SOFLAGS) -shared $(f_0_objects) -o $@ - -.cpp.o: - $(CC) $(CFLAGS) $(SOFLAGS) $(INS) -c $< -o $@ - -testcall:test/testcall.o sqme_aaaa.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall.o sqme_aaaa.a - -testcall2:test/testcall2.o sqme_aaaa.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall2.o sqme_aaaa.a -clean: - rm -rf src/*.o test/*.o *.a *.so testcall testcall2 - diff --git a/Fpmc/External/comphep_interface/sqme_aaww/Makefile b/Fpmc/External/comphep_interface/sqme_aaww/Makefile deleted file mode 100644 index cbcd8c6..0000000 --- a/Fpmc/External/comphep_interface/sqme_aaww/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -#################################################### -# Interface to anomalous aaww coupling from comphep -# O. Kepka 13/12/2008 kepkao@fzu.cz -# Original comphep rutines are in directory comphep -# Model generated files + call_util.c in src -#################################################### - -.PHONY: clear test -.SUFFIXES: .cpp .o - -INS=-Icomphep/include - -#CHEP=/home/olda/work/mc/comphep/install/comphep-4.4p3-gcc411 -#INS:=-I$(CHEP)/include -#CC= $(shell more $(CHEP)/CC) -#FRT= $(shell more $(CHEP)/FRT) -#CFLAGS=$(shell more $(CHEP)/CFLAGS) -#CLIBS= $(shell more $(CHEP)/CLIBS) - -CC=g++ -CFLAGS=-g -Wall -DNUM_DOUBLE -DCOMPHEP - -all: sqme_aaww.a -test:testcall testcall2 - -objects=d1.o f1.o f2.o f3.o f4.o f5.o f6.o service.o sqme.o call_util.o -f_0_objects=$(objects:%=src/%) - -sqme_aaww.a:$(f_0_objects) - ar -r $@ $(f_0_objects) - -.cpp.o: - $(CC) $(CFLAGS) $(INS) -c $< -o $@ - -testcall:test/testcall.o sqme_aaww.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall.o sqme_aaww.a - -testcall2:test/testcall2.o sqme_aaww.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall2.o sqme_aaww.a -clean: - rm -rf src/*.o test/*.o *.a testcall testcall2 - diff --git a/Fpmc/External/comphep_interface/sqme_aazz/Makefile b/Fpmc/External/comphep_interface/sqme_aazz/Makefile deleted file mode 100644 index 943a747..0000000 --- a/Fpmc/External/comphep_interface/sqme_aazz/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -#################################################### -# Interface to anomalous aazz coupling from comphep -# O. Kepka 21/04/2009 kepkao@fzu.cz -# Original comphep rutines are in directory comphep -# Model generated files + call_util.c in src -#################################################### - -.PHONY: clear test -.SUFFIXES: .cpp .o - -INS=-Icomphep/include - -CC=g++ -CFLAGS=-g -Wall -DNUM_DOUBLE -DCOMPHEP - -all: sqme_aazz.a -test:testcall testcall2 - -objects=d1.o f1.o service.o sqme.o call_util.o -f_0_objects=$(objects:%=src/%) - -sqme_aazz.a:$(f_0_objects) - ar -r $@ $(f_0_objects) - -.cpp.o: - $(CC) $(CFLAGS) $(INS) -c $< -o $@ - -testcall:test/testcall.o sqme_aazz.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall.o sqme_aazz.a - -testcall2:test/testcall2.o sqme_aazz.a - $(CC) $(CFLAGS) -o $@ -lm test/testcall2.o sqme_aazz.a - -clean: - rm -rf src/*.o test/*.o *.a testcall testcall2 - diff --git a/Fpmc/External/excl_aaaa/CMakeLists.txt b/Fpmc/External/excl_aaaa/CMakeLists.txt index 71f67cb..edf7534 100644 --- a/Fpmc/External/excl_aaaa/CMakeLists.txt +++ b/Fpmc/External/excl_aaaa/CMakeLists.txt @@ -1,4 +1,6 @@ file(GLOB_RECURSE excl_aaaa_sources *.cpp) -add_library(excl_aaaa OBJECT excl_aaaa_wraper.cpp ${excl_aaaa_sources}) + include_directories(commons) + +add_library(excl_aaaa OBJECT excl_aaaa_wraper.cpp ${excl_aaaa_sources}) set_target_properties(excl_aaaa PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/Fpmc/External/excl_aaaa/Makefile b/Fpmc/External/excl_aaaa/Makefile deleted file mode 100644 index 0d6cd10..0000000 --- a/Fpmc/External/excl_aaaa/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -#################################################### -# M. Saimpert-interface for sm_aaaa coupling -#################################################### - -.PHONY: clear test -.SUFFIXES: .cpp .o - -CC=g++ -CFLAGS=-g -Wall -DNUM_DOUBLE -SOFLAGS=-fPIC -GSL=`gsl-config --cflags --libs` -INS=-Icommons/ - -all: excl_aaaa.a libexcl_aaaa.so - -commons=commons/functions.o commons/helicity_amplitudes.o -commons_objects=$(commons:%=%) -objects=sm_sqme_aaaa/sqme.o \ - bsmf_sqme_aaaa/sqme.o \ - bsmv_sqme_aaaa/sqme.o \ - eft_sqme_aaaa/sqme.o \ - eft_sqme_aaaz/sqme.o \ - resonances0even_sqme_aaaa/sqme.o \ - resonances0even_sqme_az/sqme.o \ - resonances0even_sqme_ww/sqme.o \ - resonances0even_sqme_zz/sqme.o \ - resonances0evenoh_sqme_zz/sqme.o \ - resonances0even_sqme_gluglu/sqme.o \ - resonances0even_sqme_hh/sqme.o \ - resonances2_sqme_aaaa/sqme.o -f_0_objects=$(objects:%=%) - -excl_aaaa.a:$(f_0_objects) $(commons_objects) - echo $(f_0_objects) - ar -r $@ $(f_0_objects) $(commons_objects) - -libexcl_aaaa.so:$(f_0_objects) $(commons_objects) - $(CC) $(SOFLAGS) -shared $(f_0_objects) $(commons_objects) -o $@ $(GSL) $(COMMON) - -.cpp.o: - $(CC) $(CFLAGS) $(SOFLAGS) $(INS) -c $< -o $@ $(GSL) $(COMMON) - -clean: - rm -rf src/*.o test/*.o *.a *.so $(objects) - diff --git a/Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile deleted file mode 100644 index 5c958c9..0000000 --- a/Fpmc/External/excl_aaaa/resonances0even_sqme_az/test/Makefile +++ /dev/null @@ -1,322 +0,0 @@ -#------------------------------------------------------------------------------------- -# * 29/01/2009, Oldrich Kepka -# * Makefile for the inclusive or exclusive production with gaps -# -# * module : module that accept parameters from the Format-Free card -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -# * module_reco: module with pxcone algorithm interface -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- -# old specific examples -#------------------------------------------------------------------------------------- -# -# * example_excDPE :standard example with exclusive bbbar production, in the BL model -# no external libraries required -# -# * example_incDPE : an example with inclusive diphoton production, in the BPR model -# no external libraries required -# -# * example_hbook : a standard example with exclusive bbbar production, in the BL model -# histograms with HBOOK - cernlib assumed installed -# -# * example_sd : dijets in single diffraction -# histograms with HBOOK - cernlib assumed installed -# -# * example_ddis : Diffractive DIS -# histograms with HBOOK - cernlib assumed installed -# -# * example_qedww : pp --> p WW p via QED -# histograms with HBOOK - cernlib assumed installed -# -# * example_excChi : an example of exclusive Chi_c production. This needs a special phase -# space routine, prepared by Murilo Rangel -# histograms with HBOOK - cernlib assumed installed -# -# * example_incChi : inclusive Chi_c production. -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- - - -######################################################################### -# IMPORTANT USER SETUP -######################################################################### - -CERNLIB=`cernlib mathlib pawlib packlib pdflib804` -L$(PWD) -lgfortran -#CERNLIB=`cernlib` -L$(PWD) -lgfortran -GSLLIB=`gsl-config --cflags --libs` - -######################################################################### - -#------------------------------------------------------------------------------------- -# Utilities -#------------------------------------------------------------------------------------- - -all: allModules -#allModules: module module_reco fpmc -allModules: fpmc -examples:oldExamples -allApp: Fpmc Herwig Externals examples allModules - -clean:clean_sqme clean_excl_aaaa - @find ./ -name "*~" -exec rm -v {} \; - @find ./ -name ".*.swp" -exec rm -v {} \; - rm -f Objects/* module* fort.* *.hbook last.kumac *.ntp example_* *.mod - -# FLAGS -# ------- - -# debuging flag to turn off anoying messages -#SPEC_FL=-Wno-globals -Wno-implicit - -# g77 - setup: -# flags very important for simulation interfaces! -#F_FLAGS = -g -O1 -Wno-all -fno-f2c -finit-local-zero -fno-automatic -Iinc -#F_COMP = g77 $(F_FLAGS) $(SPEC_FL) - -# gforan - setup -F_FLAGS = -g -O1 -fno-automatic -Iinc -F_COMP = gfortran $(F_FLAGS) $(SPEC_FL) - -# other -CC=g++ - -# Directories -# ----------- - -OBJDIR = Objects -DPEDIR = Fpmc -HERDIR = Herwig -EXTDIR = External - -# FPMC additions to Herwig -# ------------------------- - -Fpmc: $(OBJDIR)/fpmc.o - - -$(OBJDIR)/fpmc.o: $(DPEDIR)/fpmc.f - $(F_COMP) -c $^ -o $@ - -$(OBJDIR)/fpmc_chi.o: $(DPEDIR)/fpmc_chi.f - $(F_COMP) -c $< -o $@ - - -# HERWIG -# ------ - -Herwig: $(OBJDIR)/herwig6500.o - -$(OBJDIR)/herwig6500.o: $(HERDIR)/herwig6500.f - $(F_COMP) -c $< -o $@ - - -# External contributions -# ---------------------- - -ext=tools.f lininter.f -ext_obj=$(ext:%.f=%.o) -ext_obj_dest=$(ext_obj:%=$(OBJDIR)/%) -$(ext_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/%.f - $(F_COMP) -c $< -o $@ - -# ----- pxcone algorithm and reconstruction -reco=reco_ok/reco_ok.f reco_ok/pxcone_mod_new.f - -reco_obj=$(reco:reco_ok/%.f=%.o) -reco_obj_dest=$(reco_obj:%=$(OBJDIR)/%) -$(reco_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/reco_ok/%.f - $(F_COMP) -c $< -o $@ - -# ---- kmr luminosity -ext_kmr=kmrlumi/KMR.f kmrlumi/kmrLumi_ExHume_Tev.f kmrlumi/kmrLumi_ExHume_LHC.f kmrlumi/kmrLumi_Lonnblad_Tev.f kmrlumi/kmrLumi_Lonnblad_LHC.f - -ext_kmr_obj=$(ext_kmr:kmrlumi/%.f=%.o) -ext_kmr_obj_dest=$(ext_kmr_obj:%=$(OBJDIR)/%) -$(ext_kmr_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi/%.f - $(F_COMP) -c $< -o $@ - -# ----- KMR2 - direct implementation of KMR (based on ExHuME) -ext_KMR2=kmrlumi2/kmr2.f kmrlumi2/mrst2002.f - -ext_KMR2_obj=$(ext_KMR2:kmrlumi2/%.f=%.o) -ext_KMR2_obj_dest=$(ext_KMR2_obj:%=$(OBJDIR)/%) -$(ext_KMR2_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi2/%.f - $(F_COMP) -c $< -o $@ - - -################# CHIDe MODEL ################## - -# ----- common files -ext_CHIDeCommon = \ -CHIDe/Common/CHIDedcadredo.f \ -CHIDe/Common/CHIDedgd2008.f \ -CHIDe/Common/CHIDeFunctions.f \ -CHIDe/Common/CHIDedgd2007.f \ -CHIDe/Common/CHIDedgdforward.f - -ext_CHIDeCommon_obj=$(ext_CHIDeCommon:CHIDe/Common/%.f=%.o) -ext_CHIDeCommon_obj_dest=$(ext_CHIDeCommon_obj:%=$(OBJDIR)/%) -$(ext_CHIDeCommon_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Common/%.f - $(F_COMP) -c $< -o $@ - -# ----- Higgs -ext_CHIDeHiggs= \ -CHIDe/Higgs/CHIDeHiggs.f \ -CHIDe/Higgs/CHIDeHiggsInit.f - -ext_CHIDeHiggs_obj=$(ext_CHIDeHiggs:CHIDe/Higgs/%.f=%.o) -ext_CHIDeHiggs_obj_dest=$(ext_CHIDeHiggs_obj:%=$(OBJDIR)/%) -$(ext_CHIDeHiggs_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Higgs/%.f - $(F_COMP) -c $< -o $@ - -# ----- GG -ext_CHIDeGG=\ -CHIDe/GG/CHIDeGG.f \ -CHIDe/GG/CHIDeGGAmplitudes.f \ -CHIDe/GG/CHIDeGGFunctions.f \ -CHIDe/GG/CHIDeGGInit.f \ -CHIDe/GG/CHIDeGGDurhamlike.f - -ext_CHIDeGG_obj=$(ext_CHIDeGG:CHIDe/GG/%.f=%.o) -ext_CHIDeGG_obj_dest=$(ext_CHIDeGG_obj:%=$(OBJDIR)/%) -$(ext_CHIDeGG_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/GG/%.f - $(F_COMP) -c $< -o $@ - -# ----- Diphoton -ext_CHIDeDiphoton=\ -CHIDe/Diphoton/CHIDeDiphoton.f \ -CHIDe/Diphoton/CHIDeDiphotonFunctions.f \ -CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f \ -CHIDe/Diphoton/CHIDeDiphotonInit.f \ - -ext_CHIDeDiphoton_obj=$(ext_CHIDeDiphoton:CHIDe/Diphoton/%.f=%.o) -ext_CHIDeDiphoton_obj_dest=$(ext_CHIDeDiphoton_obj:%=$(OBJDIR)/%) -$(ext_CHIDeDiphoton_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Diphoton/%.f - $(F_COMP) -c $< -o $@ - -################################################ - - -# ---- softc -ext_softc=softc/getsoftc.f softc/soft.2TeV.f softc/soft.14TeV.f softc/soft.2TeV.effopa.f softc/soft.14TeV.effopa.f - -ext_softc_obj=$(ext_softc:softc/%.f=%.o) -ext_softc_obj_dest=$(ext_softc_obj:%=$(OBJDIR)/%) -$(ext_softc_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/softc/%.f - $(F_COMP) -c $< -o $@ - -#---- Parton densities -ext_pdf = pdf/i_2006_fita.f pdf/i_2006_fitb.f pdf/qcd_2006.f pdf/h1qcd.f pdf/i_nlotables.f -ext_pdf_obj=$(ext_pdf:pdf/%.f=%.o) -ext_pdf_dest=$(ext_pdf_obj:%=$(OBJDIR)/%) -$(ext_pdf_dest): $(OBJDIR)/%.o: $(EXTDIR)/pdf/%.f - $(F_COMP) -c $< -o $@ - -# interface to comphep routines -ext_comphep_dest=$(OBJDIR)/comphep_wraper.o $(OBJDIR)/sqme_aaww.a $(OBJDIR)/sqme_aazz.a $(OBJDIR)/sqme_aaaa.a - -$(OBJDIR)/sqme_aaww.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww - cp -f $(EXTDIR)/comphep_interface/sqme_aaww/sqme_aaww.a $(OBJDIR) - -$(OBJDIR)/sqme_aazz.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz - cp -f $(EXTDIR)/comphep_interface/sqme_aazz/sqme_aazz.a $(OBJDIR) - -$(OBJDIR)/sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa - cp -f $(EXTDIR)/comphep_interface/sqme_aaaa/sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/comphep_wraper.o:$(EXTDIR)/comphep_interface/comphep_wraper.cpp - $(CC) -c -o $@ $< - -clean_sqme: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa clean - - -# interface to excl aa->aa routines -ext_excl_aaaa_dest=$(OBJDIR)/excl_aaaa_wraper.o $(OBJDIR)/sm_sqme_aaaa.a $(OBJDIR)/bsmf_sqme_aaaa.a $(OBJDIR)/bsmv_sqme_aaaa.a $(OBJDIR)/resonances0even_sqme_aaaa.a $(OBJDIR)/eft_sqme_aaaa.a - -$(OBJDIR)/sm_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/sm_sqme_aaaa/sm_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmf_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa/bsmf_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmv_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa/bsmv_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/resonances0even_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa/resonances0even_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/eft_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/eft_sqme_aaaa/eft_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/excl_aaaa_wraper.o:$(EXTDIR)/excl_aaaa/excl_aaaa_wraper.cpp - $(CC) -c -o $@ $< - -clean_excl_aaaa: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa clean - - - - -# ----- user objects -# ---------------------- -# ntuple -$(OBJDIR)/ntuple.o:External/ntuple.f - $(F_COMP) -c $< -o $@ - -# reading datacards -$(OBJDIR)/ffcard.o:Examples/ffcard.f Examples/ffcard.inc - $(F_COMP) -c $< -o $@ - - -# ---------------- -# Objects variables -# ---------------- -OBJSTAND=$(OBJDIR)/herwig6500.o $(OBJDIR)/fpmc.o $(OBJDIR)/ffcard.o -OBJEXT=$(ext_obj_dest) $(ext_pdf_dest) $(ext_comphep_dest) $(ext_excl_aaaa_dest) $(ext_kmr_obj_dest) $(ext_softc_obj_dest) \ - $(ext_CHIDeCommon_obj_dest) $(ext_CHIDeHiggs_obj_dest) $(ext_KMR2_obj_dest) \ - $(ext_CHIDeGG_obj_dest) $(ext_CHIDeDiphoton_obj_dest) -OBJUSR = $(OBJDIR)/ntuple.o -LIBS=$(CERNLIB) $(GSLLIB) $(LIB_OMEGA) -OBJRECO = $(reco_obj_dest) - - -# ---------------- -# Example programs -# ---------------- - -# old examples -pgm=example_excDPE example_incDPE example_hbook example_sd example_ddis \ - example_qedww example_excChi example_incChi -$(pgm): % : Examples/%.f $(OBJSTAND) $(OBJEXT) - $(F_COMP) $< -o $@ $(OBJSTAND) $(OBJEXT) $(LIBS) -lstdc++ -oldExamples:$(pgm) - -### modules to be used by the end user### -fpmc: Examples/fpmc_main.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module_reco: Examples/module_reco.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module: Examples/module.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) \ - Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(LIBS) -lstdc++ - diff --git a/Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile deleted file mode 100644 index 5c958c9..0000000 --- a/Fpmc/External/excl_aaaa/resonances0even_sqme_ww/test/Makefile +++ /dev/null @@ -1,322 +0,0 @@ -#------------------------------------------------------------------------------------- -# * 29/01/2009, Oldrich Kepka -# * Makefile for the inclusive or exclusive production with gaps -# -# * module : module that accept parameters from the Format-Free card -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -# * module_reco: module with pxcone algorithm interface -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- -# old specific examples -#------------------------------------------------------------------------------------- -# -# * example_excDPE :standard example with exclusive bbbar production, in the BL model -# no external libraries required -# -# * example_incDPE : an example with inclusive diphoton production, in the BPR model -# no external libraries required -# -# * example_hbook : a standard example with exclusive bbbar production, in the BL model -# histograms with HBOOK - cernlib assumed installed -# -# * example_sd : dijets in single diffraction -# histograms with HBOOK - cernlib assumed installed -# -# * example_ddis : Diffractive DIS -# histograms with HBOOK - cernlib assumed installed -# -# * example_qedww : pp --> p WW p via QED -# histograms with HBOOK - cernlib assumed installed -# -# * example_excChi : an example of exclusive Chi_c production. This needs a special phase -# space routine, prepared by Murilo Rangel -# histograms with HBOOK - cernlib assumed installed -# -# * example_incChi : inclusive Chi_c production. -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- - - -######################################################################### -# IMPORTANT USER SETUP -######################################################################### - -CERNLIB=`cernlib mathlib pawlib packlib pdflib804` -L$(PWD) -lgfortran -#CERNLIB=`cernlib` -L$(PWD) -lgfortran -GSLLIB=`gsl-config --cflags --libs` - -######################################################################### - -#------------------------------------------------------------------------------------- -# Utilities -#------------------------------------------------------------------------------------- - -all: allModules -#allModules: module module_reco fpmc -allModules: fpmc -examples:oldExamples -allApp: Fpmc Herwig Externals examples allModules - -clean:clean_sqme clean_excl_aaaa - @find ./ -name "*~" -exec rm -v {} \; - @find ./ -name ".*.swp" -exec rm -v {} \; - rm -f Objects/* module* fort.* *.hbook last.kumac *.ntp example_* *.mod - -# FLAGS -# ------- - -# debuging flag to turn off anoying messages -#SPEC_FL=-Wno-globals -Wno-implicit - -# g77 - setup: -# flags very important for simulation interfaces! -#F_FLAGS = -g -O1 -Wno-all -fno-f2c -finit-local-zero -fno-automatic -Iinc -#F_COMP = g77 $(F_FLAGS) $(SPEC_FL) - -# gforan - setup -F_FLAGS = -g -O1 -fno-automatic -Iinc -F_COMP = gfortran $(F_FLAGS) $(SPEC_FL) - -# other -CC=g++ - -# Directories -# ----------- - -OBJDIR = Objects -DPEDIR = Fpmc -HERDIR = Herwig -EXTDIR = External - -# FPMC additions to Herwig -# ------------------------- - -Fpmc: $(OBJDIR)/fpmc.o - - -$(OBJDIR)/fpmc.o: $(DPEDIR)/fpmc.f - $(F_COMP) -c $^ -o $@ - -$(OBJDIR)/fpmc_chi.o: $(DPEDIR)/fpmc_chi.f - $(F_COMP) -c $< -o $@ - - -# HERWIG -# ------ - -Herwig: $(OBJDIR)/herwig6500.o - -$(OBJDIR)/herwig6500.o: $(HERDIR)/herwig6500.f - $(F_COMP) -c $< -o $@ - - -# External contributions -# ---------------------- - -ext=tools.f lininter.f -ext_obj=$(ext:%.f=%.o) -ext_obj_dest=$(ext_obj:%=$(OBJDIR)/%) -$(ext_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/%.f - $(F_COMP) -c $< -o $@ - -# ----- pxcone algorithm and reconstruction -reco=reco_ok/reco_ok.f reco_ok/pxcone_mod_new.f - -reco_obj=$(reco:reco_ok/%.f=%.o) -reco_obj_dest=$(reco_obj:%=$(OBJDIR)/%) -$(reco_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/reco_ok/%.f - $(F_COMP) -c $< -o $@ - -# ---- kmr luminosity -ext_kmr=kmrlumi/KMR.f kmrlumi/kmrLumi_ExHume_Tev.f kmrlumi/kmrLumi_ExHume_LHC.f kmrlumi/kmrLumi_Lonnblad_Tev.f kmrlumi/kmrLumi_Lonnblad_LHC.f - -ext_kmr_obj=$(ext_kmr:kmrlumi/%.f=%.o) -ext_kmr_obj_dest=$(ext_kmr_obj:%=$(OBJDIR)/%) -$(ext_kmr_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi/%.f - $(F_COMP) -c $< -o $@ - -# ----- KMR2 - direct implementation of KMR (based on ExHuME) -ext_KMR2=kmrlumi2/kmr2.f kmrlumi2/mrst2002.f - -ext_KMR2_obj=$(ext_KMR2:kmrlumi2/%.f=%.o) -ext_KMR2_obj_dest=$(ext_KMR2_obj:%=$(OBJDIR)/%) -$(ext_KMR2_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi2/%.f - $(F_COMP) -c $< -o $@ - - -################# CHIDe MODEL ################## - -# ----- common files -ext_CHIDeCommon = \ -CHIDe/Common/CHIDedcadredo.f \ -CHIDe/Common/CHIDedgd2008.f \ -CHIDe/Common/CHIDeFunctions.f \ -CHIDe/Common/CHIDedgd2007.f \ -CHIDe/Common/CHIDedgdforward.f - -ext_CHIDeCommon_obj=$(ext_CHIDeCommon:CHIDe/Common/%.f=%.o) -ext_CHIDeCommon_obj_dest=$(ext_CHIDeCommon_obj:%=$(OBJDIR)/%) -$(ext_CHIDeCommon_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Common/%.f - $(F_COMP) -c $< -o $@ - -# ----- Higgs -ext_CHIDeHiggs= \ -CHIDe/Higgs/CHIDeHiggs.f \ -CHIDe/Higgs/CHIDeHiggsInit.f - -ext_CHIDeHiggs_obj=$(ext_CHIDeHiggs:CHIDe/Higgs/%.f=%.o) -ext_CHIDeHiggs_obj_dest=$(ext_CHIDeHiggs_obj:%=$(OBJDIR)/%) -$(ext_CHIDeHiggs_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Higgs/%.f - $(F_COMP) -c $< -o $@ - -# ----- GG -ext_CHIDeGG=\ -CHIDe/GG/CHIDeGG.f \ -CHIDe/GG/CHIDeGGAmplitudes.f \ -CHIDe/GG/CHIDeGGFunctions.f \ -CHIDe/GG/CHIDeGGInit.f \ -CHIDe/GG/CHIDeGGDurhamlike.f - -ext_CHIDeGG_obj=$(ext_CHIDeGG:CHIDe/GG/%.f=%.o) -ext_CHIDeGG_obj_dest=$(ext_CHIDeGG_obj:%=$(OBJDIR)/%) -$(ext_CHIDeGG_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/GG/%.f - $(F_COMP) -c $< -o $@ - -# ----- Diphoton -ext_CHIDeDiphoton=\ -CHIDe/Diphoton/CHIDeDiphoton.f \ -CHIDe/Diphoton/CHIDeDiphotonFunctions.f \ -CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f \ -CHIDe/Diphoton/CHIDeDiphotonInit.f \ - -ext_CHIDeDiphoton_obj=$(ext_CHIDeDiphoton:CHIDe/Diphoton/%.f=%.o) -ext_CHIDeDiphoton_obj_dest=$(ext_CHIDeDiphoton_obj:%=$(OBJDIR)/%) -$(ext_CHIDeDiphoton_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Diphoton/%.f - $(F_COMP) -c $< -o $@ - -################################################ - - -# ---- softc -ext_softc=softc/getsoftc.f softc/soft.2TeV.f softc/soft.14TeV.f softc/soft.2TeV.effopa.f softc/soft.14TeV.effopa.f - -ext_softc_obj=$(ext_softc:softc/%.f=%.o) -ext_softc_obj_dest=$(ext_softc_obj:%=$(OBJDIR)/%) -$(ext_softc_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/softc/%.f - $(F_COMP) -c $< -o $@ - -#---- Parton densities -ext_pdf = pdf/i_2006_fita.f pdf/i_2006_fitb.f pdf/qcd_2006.f pdf/h1qcd.f pdf/i_nlotables.f -ext_pdf_obj=$(ext_pdf:pdf/%.f=%.o) -ext_pdf_dest=$(ext_pdf_obj:%=$(OBJDIR)/%) -$(ext_pdf_dest): $(OBJDIR)/%.o: $(EXTDIR)/pdf/%.f - $(F_COMP) -c $< -o $@ - -# interface to comphep routines -ext_comphep_dest=$(OBJDIR)/comphep_wraper.o $(OBJDIR)/sqme_aaww.a $(OBJDIR)/sqme_aazz.a $(OBJDIR)/sqme_aaaa.a - -$(OBJDIR)/sqme_aaww.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww - cp -f $(EXTDIR)/comphep_interface/sqme_aaww/sqme_aaww.a $(OBJDIR) - -$(OBJDIR)/sqme_aazz.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz - cp -f $(EXTDIR)/comphep_interface/sqme_aazz/sqme_aazz.a $(OBJDIR) - -$(OBJDIR)/sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa - cp -f $(EXTDIR)/comphep_interface/sqme_aaaa/sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/comphep_wraper.o:$(EXTDIR)/comphep_interface/comphep_wraper.cpp - $(CC) -c -o $@ $< - -clean_sqme: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa clean - - -# interface to excl aa->aa routines -ext_excl_aaaa_dest=$(OBJDIR)/excl_aaaa_wraper.o $(OBJDIR)/sm_sqme_aaaa.a $(OBJDIR)/bsmf_sqme_aaaa.a $(OBJDIR)/bsmv_sqme_aaaa.a $(OBJDIR)/resonances0even_sqme_aaaa.a $(OBJDIR)/eft_sqme_aaaa.a - -$(OBJDIR)/sm_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/sm_sqme_aaaa/sm_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmf_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa/bsmf_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmv_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa/bsmv_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/resonances0even_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa/resonances0even_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/eft_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/eft_sqme_aaaa/eft_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/excl_aaaa_wraper.o:$(EXTDIR)/excl_aaaa/excl_aaaa_wraper.cpp - $(CC) -c -o $@ $< - -clean_excl_aaaa: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa clean - - - - -# ----- user objects -# ---------------------- -# ntuple -$(OBJDIR)/ntuple.o:External/ntuple.f - $(F_COMP) -c $< -o $@ - -# reading datacards -$(OBJDIR)/ffcard.o:Examples/ffcard.f Examples/ffcard.inc - $(F_COMP) -c $< -o $@ - - -# ---------------- -# Objects variables -# ---------------- -OBJSTAND=$(OBJDIR)/herwig6500.o $(OBJDIR)/fpmc.o $(OBJDIR)/ffcard.o -OBJEXT=$(ext_obj_dest) $(ext_pdf_dest) $(ext_comphep_dest) $(ext_excl_aaaa_dest) $(ext_kmr_obj_dest) $(ext_softc_obj_dest) \ - $(ext_CHIDeCommon_obj_dest) $(ext_CHIDeHiggs_obj_dest) $(ext_KMR2_obj_dest) \ - $(ext_CHIDeGG_obj_dest) $(ext_CHIDeDiphoton_obj_dest) -OBJUSR = $(OBJDIR)/ntuple.o -LIBS=$(CERNLIB) $(GSLLIB) $(LIB_OMEGA) -OBJRECO = $(reco_obj_dest) - - -# ---------------- -# Example programs -# ---------------- - -# old examples -pgm=example_excDPE example_incDPE example_hbook example_sd example_ddis \ - example_qedww example_excChi example_incChi -$(pgm): % : Examples/%.f $(OBJSTAND) $(OBJEXT) - $(F_COMP) $< -o $@ $(OBJSTAND) $(OBJEXT) $(LIBS) -lstdc++ -oldExamples:$(pgm) - -### modules to be used by the end user### -fpmc: Examples/fpmc_main.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module_reco: Examples/module_reco.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module: Examples/module.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) \ - Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(LIBS) -lstdc++ - diff --git a/Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile b/Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile deleted file mode 100644 index 5c958c9..0000000 --- a/Fpmc/External/excl_aaaa/resonances0even_sqme_zz/test/Makefile +++ /dev/null @@ -1,322 +0,0 @@ -#------------------------------------------------------------------------------------- -# * 29/01/2009, Oldrich Kepka -# * Makefile for the inclusive or exclusive production with gaps -# -# * module : module that accept parameters from the Format-Free card -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -# * module_reco: module with pxcone algorithm interface -# syntax to run: module < datacard.ffread -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- -# old specific examples -#------------------------------------------------------------------------------------- -# -# * example_excDPE :standard example with exclusive bbbar production, in the BL model -# no external libraries required -# -# * example_incDPE : an example with inclusive diphoton production, in the BPR model -# no external libraries required -# -# * example_hbook : a standard example with exclusive bbbar production, in the BL model -# histograms with HBOOK - cernlib assumed installed -# -# * example_sd : dijets in single diffraction -# histograms with HBOOK - cernlib assumed installed -# -# * example_ddis : Diffractive DIS -# histograms with HBOOK - cernlib assumed installed -# -# * example_qedww : pp --> p WW p via QED -# histograms with HBOOK - cernlib assumed installed -# -# * example_excChi : an example of exclusive Chi_c production. This needs a special phase -# space routine, prepared by Murilo Rangel -# histograms with HBOOK - cernlib assumed installed -# -# * example_incChi : inclusive Chi_c production. -# histograms with HBOOK - cernlib assumed installed -# -#------------------------------------------------------------------------------------- - - -######################################################################### -# IMPORTANT USER SETUP -######################################################################### - -CERNLIB=`cernlib mathlib pawlib packlib pdflib804` -L$(PWD) -lgfortran -#CERNLIB=`cernlib` -L$(PWD) -lgfortran -GSLLIB=`gsl-config --cflags --libs` - -######################################################################### - -#------------------------------------------------------------------------------------- -# Utilities -#------------------------------------------------------------------------------------- - -all: allModules -#allModules: module module_reco fpmc -allModules: fpmc -examples:oldExamples -allApp: Fpmc Herwig Externals examples allModules - -clean:clean_sqme clean_excl_aaaa - @find ./ -name "*~" -exec rm -v {} \; - @find ./ -name ".*.swp" -exec rm -v {} \; - rm -f Objects/* module* fort.* *.hbook last.kumac *.ntp example_* *.mod - -# FLAGS -# ------- - -# debuging flag to turn off anoying messages -#SPEC_FL=-Wno-globals -Wno-implicit - -# g77 - setup: -# flags very important for simulation interfaces! -#F_FLAGS = -g -O1 -Wno-all -fno-f2c -finit-local-zero -fno-automatic -Iinc -#F_COMP = g77 $(F_FLAGS) $(SPEC_FL) - -# gforan - setup -F_FLAGS = -g -O1 -fno-automatic -Iinc -F_COMP = gfortran $(F_FLAGS) $(SPEC_FL) - -# other -CC=g++ - -# Directories -# ----------- - -OBJDIR = Objects -DPEDIR = Fpmc -HERDIR = Herwig -EXTDIR = External - -# FPMC additions to Herwig -# ------------------------- - -Fpmc: $(OBJDIR)/fpmc.o - - -$(OBJDIR)/fpmc.o: $(DPEDIR)/fpmc.f - $(F_COMP) -c $^ -o $@ - -$(OBJDIR)/fpmc_chi.o: $(DPEDIR)/fpmc_chi.f - $(F_COMP) -c $< -o $@ - - -# HERWIG -# ------ - -Herwig: $(OBJDIR)/herwig6500.o - -$(OBJDIR)/herwig6500.o: $(HERDIR)/herwig6500.f - $(F_COMP) -c $< -o $@ - - -# External contributions -# ---------------------- - -ext=tools.f lininter.f -ext_obj=$(ext:%.f=%.o) -ext_obj_dest=$(ext_obj:%=$(OBJDIR)/%) -$(ext_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/%.f - $(F_COMP) -c $< -o $@ - -# ----- pxcone algorithm and reconstruction -reco=reco_ok/reco_ok.f reco_ok/pxcone_mod_new.f - -reco_obj=$(reco:reco_ok/%.f=%.o) -reco_obj_dest=$(reco_obj:%=$(OBJDIR)/%) -$(reco_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/reco_ok/%.f - $(F_COMP) -c $< -o $@ - -# ---- kmr luminosity -ext_kmr=kmrlumi/KMR.f kmrlumi/kmrLumi_ExHume_Tev.f kmrlumi/kmrLumi_ExHume_LHC.f kmrlumi/kmrLumi_Lonnblad_Tev.f kmrlumi/kmrLumi_Lonnblad_LHC.f - -ext_kmr_obj=$(ext_kmr:kmrlumi/%.f=%.o) -ext_kmr_obj_dest=$(ext_kmr_obj:%=$(OBJDIR)/%) -$(ext_kmr_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi/%.f - $(F_COMP) -c $< -o $@ - -# ----- KMR2 - direct implementation of KMR (based on ExHuME) -ext_KMR2=kmrlumi2/kmr2.f kmrlumi2/mrst2002.f - -ext_KMR2_obj=$(ext_KMR2:kmrlumi2/%.f=%.o) -ext_KMR2_obj_dest=$(ext_KMR2_obj:%=$(OBJDIR)/%) -$(ext_KMR2_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/kmrlumi2/%.f - $(F_COMP) -c $< -o $@ - - -################# CHIDe MODEL ################## - -# ----- common files -ext_CHIDeCommon = \ -CHIDe/Common/CHIDedcadredo.f \ -CHIDe/Common/CHIDedgd2008.f \ -CHIDe/Common/CHIDeFunctions.f \ -CHIDe/Common/CHIDedgd2007.f \ -CHIDe/Common/CHIDedgdforward.f - -ext_CHIDeCommon_obj=$(ext_CHIDeCommon:CHIDe/Common/%.f=%.o) -ext_CHIDeCommon_obj_dest=$(ext_CHIDeCommon_obj:%=$(OBJDIR)/%) -$(ext_CHIDeCommon_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Common/%.f - $(F_COMP) -c $< -o $@ - -# ----- Higgs -ext_CHIDeHiggs= \ -CHIDe/Higgs/CHIDeHiggs.f \ -CHIDe/Higgs/CHIDeHiggsInit.f - -ext_CHIDeHiggs_obj=$(ext_CHIDeHiggs:CHIDe/Higgs/%.f=%.o) -ext_CHIDeHiggs_obj_dest=$(ext_CHIDeHiggs_obj:%=$(OBJDIR)/%) -$(ext_CHIDeHiggs_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Higgs/%.f - $(F_COMP) -c $< -o $@ - -# ----- GG -ext_CHIDeGG=\ -CHIDe/GG/CHIDeGG.f \ -CHIDe/GG/CHIDeGGAmplitudes.f \ -CHIDe/GG/CHIDeGGFunctions.f \ -CHIDe/GG/CHIDeGGInit.f \ -CHIDe/GG/CHIDeGGDurhamlike.f - -ext_CHIDeGG_obj=$(ext_CHIDeGG:CHIDe/GG/%.f=%.o) -ext_CHIDeGG_obj_dest=$(ext_CHIDeGG_obj:%=$(OBJDIR)/%) -$(ext_CHIDeGG_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/GG/%.f - $(F_COMP) -c $< -o $@ - -# ----- Diphoton -ext_CHIDeDiphoton=\ -CHIDe/Diphoton/CHIDeDiphoton.f \ -CHIDe/Diphoton/CHIDeDiphotonFunctions.f \ -CHIDe/Diphoton/CHIDeDiphotonAmplitudes.f \ -CHIDe/Diphoton/CHIDeDiphotonInit.f \ - -ext_CHIDeDiphoton_obj=$(ext_CHIDeDiphoton:CHIDe/Diphoton/%.f=%.o) -ext_CHIDeDiphoton_obj_dest=$(ext_CHIDeDiphoton_obj:%=$(OBJDIR)/%) -$(ext_CHIDeDiphoton_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/CHIDe/Diphoton/%.f - $(F_COMP) -c $< -o $@ - -################################################ - - -# ---- softc -ext_softc=softc/getsoftc.f softc/soft.2TeV.f softc/soft.14TeV.f softc/soft.2TeV.effopa.f softc/soft.14TeV.effopa.f - -ext_softc_obj=$(ext_softc:softc/%.f=%.o) -ext_softc_obj_dest=$(ext_softc_obj:%=$(OBJDIR)/%) -$(ext_softc_obj_dest): $(OBJDIR)/%.o: $(EXTDIR)/softc/%.f - $(F_COMP) -c $< -o $@ - -#---- Parton densities -ext_pdf = pdf/i_2006_fita.f pdf/i_2006_fitb.f pdf/qcd_2006.f pdf/h1qcd.f pdf/i_nlotables.f -ext_pdf_obj=$(ext_pdf:pdf/%.f=%.o) -ext_pdf_dest=$(ext_pdf_obj:%=$(OBJDIR)/%) -$(ext_pdf_dest): $(OBJDIR)/%.o: $(EXTDIR)/pdf/%.f - $(F_COMP) -c $< -o $@ - -# interface to comphep routines -ext_comphep_dest=$(OBJDIR)/comphep_wraper.o $(OBJDIR)/sqme_aaww.a $(OBJDIR)/sqme_aazz.a $(OBJDIR)/sqme_aaaa.a - -$(OBJDIR)/sqme_aaww.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww - cp -f $(EXTDIR)/comphep_interface/sqme_aaww/sqme_aaww.a $(OBJDIR) - -$(OBJDIR)/sqme_aazz.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz - cp -f $(EXTDIR)/comphep_interface/sqme_aazz/sqme_aazz.a $(OBJDIR) - -$(OBJDIR)/sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa - cp -f $(EXTDIR)/comphep_interface/sqme_aaaa/sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/comphep_wraper.o:$(EXTDIR)/comphep_interface/comphep_wraper.cpp - $(CC) -c -o $@ $< - -clean_sqme: - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaww clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aazz clean - $(MAKE) -C $(EXTDIR)/comphep_interface/sqme_aaaa clean - - -# interface to excl aa->aa routines -ext_excl_aaaa_dest=$(OBJDIR)/excl_aaaa_wraper.o $(OBJDIR)/sm_sqme_aaaa.a $(OBJDIR)/bsmf_sqme_aaaa.a $(OBJDIR)/bsmv_sqme_aaaa.a $(OBJDIR)/resonances0even_sqme_aaaa.a $(OBJDIR)/eft_sqme_aaaa.a - -$(OBJDIR)/sm_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/sm_sqme_aaaa/sm_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmf_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa/bsmf_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/bsmv_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa/bsmv_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/resonances0even_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa/resonances0even_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/eft_sqme_aaaa.a: - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa - cp -f $(EXTDIR)/excl_aaaa/eft_sqme_aaaa/eft_sqme_aaaa.a $(OBJDIR) - -$(OBJDIR)/excl_aaaa_wraper.o:$(EXTDIR)/excl_aaaa/excl_aaaa_wraper.cpp - $(CC) -c -o $@ $< - -clean_excl_aaaa: - $(MAKE) -C $(EXTDIR)/excl_aaaa/sm_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmf_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/bsmv_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/resonances0even_sqme_aaaa clean - $(MAKE) -C $(EXTDIR)/excl_aaaa/eft_sqme_aaaa clean - - - - -# ----- user objects -# ---------------------- -# ntuple -$(OBJDIR)/ntuple.o:External/ntuple.f - $(F_COMP) -c $< -o $@ - -# reading datacards -$(OBJDIR)/ffcard.o:Examples/ffcard.f Examples/ffcard.inc - $(F_COMP) -c $< -o $@ - - -# ---------------- -# Objects variables -# ---------------- -OBJSTAND=$(OBJDIR)/herwig6500.o $(OBJDIR)/fpmc.o $(OBJDIR)/ffcard.o -OBJEXT=$(ext_obj_dest) $(ext_pdf_dest) $(ext_comphep_dest) $(ext_excl_aaaa_dest) $(ext_kmr_obj_dest) $(ext_softc_obj_dest) \ - $(ext_CHIDeCommon_obj_dest) $(ext_CHIDeHiggs_obj_dest) $(ext_KMR2_obj_dest) \ - $(ext_CHIDeGG_obj_dest) $(ext_CHIDeDiphoton_obj_dest) -OBJUSR = $(OBJDIR)/ntuple.o -LIBS=$(CERNLIB) $(GSLLIB) $(LIB_OMEGA) -OBJRECO = $(reco_obj_dest) - - -# ---------------- -# Example programs -# ---------------- - -# old examples -pgm=example_excDPE example_incDPE example_hbook example_sd example_ddis \ - example_qedww example_excChi example_incChi -$(pgm): % : Examples/%.f $(OBJSTAND) $(OBJEXT) - $(F_COMP) $< -o $@ $(OBJSTAND) $(OBJEXT) $(LIBS) -lstdc++ -oldExamples:$(pgm) - -### modules to be used by the end user### -fpmc: Examples/fpmc_main.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module_reco: Examples/module_reco.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) $(OBJRECO) Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(OBJRECO) $(LIBS) -lstdc++ -module: Examples/module.f $(OBJEXT) $(OBJSTAND) $(OBJUSR) \ - Examples/ffcard.inc - $(F_COMP) -o $@ $< $(OBJSTAND) $(OBJEXT) $(OBJUSR) $(LIBS) -lstdc++ - diff --git a/Fpmc/External/kmrlumi2/Makefile b/Fpmc/External/kmrlumi2/Makefile deleted file mode 100644 index 4e66cf5..0000000 --- a/Fpmc/External/kmrlumi2/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# Makefile for MSTW Fortran and C++ code. -# Comments to Graeme Watt . - -FC=g77 -ggdb -LDLIBS=-lg2c -#FC=gfortran -#LDLIBS=-lgfortran -CC=g++ -FFLAGS=-Wall -W -CCFLAGS=-Wall -W -EXEC=GPDF - -all: $(EXEC) - -##################################### -# Fortran version: - -GPDF : GPDF.o mstwpdf.o alphaS.o - $(FC) $^ -o $@ - -GPDF.o : GPDF.f - $(FC) -c $(FFLAGS) $< -o $@ - -mstwpdf.o : mstwpdf.f - $(FC) -c $(FFLAGS) $< -o $@ - -alphaS.o : alphaS.f - $(FC) -c $(FFLAGS) $< -o $@ - -clean : - -rm -f *.o $(EXEC) diff --git a/Herwig/CMakeLists.txt b/Herwig/CMakeLists.txt index c93025a..01b3921 100644 --- a/Herwig/CMakeLists.txt +++ b/Herwig/CMakeLists.txt @@ -1,4 +1,6 @@ -#include_directories(${PROJECT_SOURCE_DIR}/External ${PROJECT_SOURCE_DIR}/Herwig) - add_library(FpmcHerwig SHARED herwig6500.f) set_target_properties(FpmcHerwig PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) + +#----- installation procedure + +install(TARGETS FpmcHerwig DESTINATION lib) From 06d4de4c1d60f92f50dd7d4b0b7bc175a4274b81 Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 15:41:55 +0200 Subject: [PATCH 10/13] Stripped the arguments parser out of the fpmc-hepmc example --- Examples/fpmc-wrapper.cc | 158 ++++++++------------------------------- Fpmc/ArgsParser.h | 89 ++++++++++++++++++++++ Fpmc/HepMCWrapper.h | 6 +- Fpmc/src/HepMCWrapper.cc | 8 +- 4 files changed, 129 insertions(+), 132 deletions(-) create mode 100644 Fpmc/ArgsParser.h diff --git a/Examples/fpmc-wrapper.cc b/Examples/fpmc-wrapper.cc index a0691de..367feee 100644 --- a/Examples/fpmc-wrapper.cc +++ b/Examples/fpmc-wrapper.cc @@ -1,11 +1,6 @@ #include "Fpmc/HepMCWrapper.h" +#include "Fpmc/ArgsParser.h" -#include -#include -#include -#include -#include -#include #include #include @@ -17,132 +12,45 @@ using namespace std; -void print_help(vector const& required_parameters, vector const& optional_parameters) -{ - stringstream oss; - oss << "Usage: fpmc-hepmc "; - vector::const_iterator it_par = required_parameters.begin(); - vector::const_iterator pars_end = required_parameters.end(); - for(; it_par != pars_end; ++it_par){ - oss << "--" << *it_par << " <" << *it_par << "> "; - } - it_par = optional_parameters.begin(); - pars_end = optional_parameters.end(); - for(; it_par != pars_end; ++it_par){ - oss << "--" << *it_par << " <" << *it_par << "> "; - } - oss << endl; - cout << oss.str(); -} - int main( int argc, char* argv[] ) { - vector required_parameters_; - required_parameters_.push_back("cfg"); - required_parameters_.push_back("nevents"); - required_parameters_.push_back("comenergy"); - - vector optional_parameters_; - optional_parameters_.push_back("fileout"); - - // Read command line parameters - vector command_line_parameters_; - if(argc > 1){ - command_line_parameters_.resize(argc - 1); - copy(argv + 1, argv + argc, command_line_parameters_.begin()); - } - - // Help option - vector help_str; help_str.push_back("-h"); help_str.push_back("--help"); - for(vector::const_iterator it_help = help_str.begin(); - it_help != help_str.end(); ++it_help){ - if( find(command_line_parameters_.begin(), command_line_parameters_.end(), *it_help) != command_line_parameters_.end() ){ - print_help(required_parameters_,optional_parameters_); - return 0; - } - } - - // Read required parameters - map required_parameters_map_; - for(vector::const_iterator it_par = required_parameters_.begin(); - it_par != required_parameters_.end(); ++it_par){ - stringstream par_ss; par_ss << "--"; par_ss << *it_par; - vector::const_iterator it_par_key = find(command_line_parameters_.begin(), command_line_parameters_.end(), par_ss.str()); - - if( it_par_key == command_line_parameters_.end() ){ - stringstream oss; - oss << "ERROR: The following parameter was not set: " << *it_par << endl; - throw runtime_error( oss.str() ); - } - - vector::const_iterator it_par_value = it_par_key + 1; - - if( it_par_value == command_line_parameters_.end() || - find(required_parameters_.begin(), required_parameters_.end(), *it_par_value) != required_parameters_.end() ){ - stringstream oss; - oss << "ERROR: Invalid value for parameter: " << *it_par << endl; - throw runtime_error( oss.str() ); - - } - required_parameters_map_[*it_par] = *it_par_value; - } - - // Read optional parameters - map optional_parameters_map_; - for(vector::const_iterator it_par = optional_parameters_.begin(); - it_par != optional_parameters_.end(); ++it_par){ - stringstream par_ss; par_ss << "--"; par_ss << *it_par; - vector::const_iterator it_par_key = find(command_line_parameters_.begin(), command_line_parameters_.end(), par_ss.str()); - - if( it_par_key == command_line_parameters_.end() ) continue; // Parameter not set - - vector::const_iterator it_par_value = it_par_key + 1; - - if( it_par_value == command_line_parameters_.end() || - find(optional_parameters_.begin(), optional_parameters_.end(), *it_par_value) != optional_parameters_.end() ){ - stringstream oss; - oss << "ERROR: Invalid value for parameter: " << *it_par << endl; - throw runtime_error( oss.str() ); - } - - optional_parameters_map_[*it_par] = *it_par_value; - } - - //---------------------------- - // Required parameters - string datacard_ = required_parameters_map_["cfg"]; - unsigned int maxEvents_ = atoi( required_parameters_map_["nevents"].c_str() ); - double comEnergy_ = atof( required_parameters_map_["comenergy"].c_str() ); - - // Optional parameters - string outputFileName_ = "fpmc.hepmc"; - if( optional_parameters_map_.find("fileout") != optional_parameters_map_.end() ) outputFileName_ = optional_parameters_map_["fileout"]; - - stringstream oss; - oss << "=========================================================" << endl - << "FPMC (Wrapper) will initialize with parameters: " << endl - << " Datacard: " << datacard_ << endl - << " N events: " << maxEvents_ << endl - << " COM energy: " << comEnergy_ << endl - << " Output file: " << outputFileName_ << endl - << "=========================================================" << endl; - cout << oss.str(); - - fpmc::Wrapper generator( comEnergy_, datacard_.c_str() ); + fpmc::ArgsParser args( argc, argv, { "cfg", "nevents", "comenergy" }, { "fileout" } ); + const auto required_params = args.required_parameters(), optional_params = args.optional_parameters(); + + //---------------------------- + // Required parameters + string datacard_ = required_params.at( "cfg" ); + unsigned int maxEvents_ = stoi( required_params.at( "nevents" ) ); + double comEnergy_ = stof( required_params.at( "comenergy" ) ); + + // Optional parameters + string outputFileName_ = "fpmc.hepmc"; + if ( optional_params.count("fileout") != 0 ) outputFileName_ = optional_params.at( "fileout" ); + + stringstream oss; + oss << "=========================================================" << endl + << "FPMC (Wrapper) will initialize with parameters: " << endl + << " Datacard: " << datacard_ << endl + << " N events: " << maxEvents_ << endl + << " COM energy: " << comEnergy_ << endl + << " Output file: " << outputFileName_ << endl + << "=========================================================" << endl; + cout << oss.str(); + + fpmc::HepMCWrapper generator( comEnergy_, datacard_.c_str() ); #ifdef HEPMC_VERSION2 - HepMC::IO_GenEvent output( outputFileName_, ios::out ); + HepMC::IO_GenEvent output( outputFileName_, ios::out ); #else - HepMC::WriterAscii output( outputFileName_ ); + HepMC::WriterAscii output( outputFileName_ ); #endif - for(unsigned int evt = 0; evt < maxEvents_; ++evt){ - cout << "[FPMC Wrapper] Processing event " << (evt + 1) << endl; + for( unsigned int evt = 0; evt < maxEvents_; ++evt ) { + cout << "[FPMC Wrapper] Processing event " << (evt + 1) << endl; #ifdef HEPMC_VERSION2 - output.write_event( generator.event() ); + output.write_event( generator.event() ); #else - output.write_event( *generator.event() ); + output.write_event( *generator.event() ); #endif - } - - return 0; + } + return 0; } diff --git a/Fpmc/ArgsParser.h b/Fpmc/ArgsParser.h new file mode 100644 index 0000000..87dbda3 --- /dev/null +++ b/Fpmc/ArgsParser.h @@ -0,0 +1,89 @@ +#ifndef Fpmc_ArgsParser_h +#define Fpmc_ArgsParser_h + +#include +#include +#include +#include +#include +#include + +namespace fpmc +{ + class ArgsParser + { + public: + ArgsParser( int argc, char* argv[], const std::vector& required_parameters, const std::vector& optional_parameters ) : + help_str_( { "-h", "--help" } ), + required_params_( required_parameters ), optional_params_( optional_parameters ) { + command_name_ = argv[0]; + if ( argc >1 ) { + args_.resize( argc-1 ); + std::copy( argv+1, argv+argc, args_.begin() ); + } + for ( const auto& str : help_str_ ) { + if ( find( args_.begin(), args_.end(), str ) != args_.end() ) { + print_help(); + exit( 0 ); + } + } + } + /// Read required parameters + std::map required_parameters() const { + std::map out; + for ( const auto& par : required_params_ ) { + std::ostringstream par_ss; par_ss << "--" << par; + const auto key = find( args_.begin(), args_.end(), par_ss.str() ); + if ( key == args_.end() ) { + std::ostringstream oss; oss << "ERROR: The following parameter was not set: " << par << std::endl; + throw std::runtime_error( oss.str() ); + } + + const auto value = key + 1; + if ( value == args_.end() || find( required_params_.begin(), required_params_.end(), *value ) != required_params_.end() ) { + std::ostringstream oss; oss << "ERROR: Invalid value for parameter: " << par << std::endl; + throw std::runtime_error( oss.str() ); + } + out[par] = *value; + } + return out; + } + /// Read optional parameters + std::map optional_parameters() const { + std::map out; + for ( const auto& par : optional_params_ ) { + std::ostringstream par_ss; par_ss << "--" << par; + const auto key = find( args_.begin(), args_.end(), par_ss.str() ); + if ( key == args_.end() ) continue; // Parameter not set + + const auto value = key + 1; + if ( value == args_.end() || find( optional_params_.begin(), optional_params_.end(), *value ) != optional_params_.end() ) { + std::ostringstream oss; oss << "ERROR: Invalid value for parameter: " << par << std::endl; + throw std::runtime_error( oss.str() ); + } + out[par] = *value; + } + return out; + } + /// Show usage + void print_help() const { + std::ostringstream oss; + oss << "Usage: " << command_name_ << " "; + for ( const auto& par : required_params_ ) { + oss << "--" << par << " <" << par << "> "; + } + for ( const auto& par : optional_params_ ) { + oss << "--" << par << " [" << par << "] "; + } + oss << std::endl; + std::cout << oss.str(); + } + private: + std::string command_name_; + const std::vector help_str_; + std::vector required_params_, optional_params_, args_; + }; +} + +#endif + diff --git a/Fpmc/HepMCWrapper.h b/Fpmc/HepMCWrapper.h index 5d38a90..ba1fdf4 100644 --- a/Fpmc/HepMCWrapper.h +++ b/Fpmc/HepMCWrapper.h @@ -34,11 +34,11 @@ namespace fpmc { - class Wrapper : public Fpmc + class HepMCWrapper : public Fpmc { public: - Wrapper( double, const char* ); - ~Wrapper(); + HepMCWrapper( double, const char* ); + ~HepMCWrapper(); /// Retrieve the last event generated const HepMC::GenEvent* event(); diff --git a/Fpmc/src/HepMCWrapper.cc b/Fpmc/src/HepMCWrapper.cc index d9092f9..c819b11 100644 --- a/Fpmc/src/HepMCWrapper.cc +++ b/Fpmc/src/HepMCWrapper.cc @@ -6,18 +6,18 @@ extern HEPEVT hepevt_; namespace fpmc { - Wrapper::Wrapper( double comEnergy, const char* card ) : + HepMCWrapper::HepMCWrapper( double comEnergy, const char* card ) : Fpmc( card ), hepMCVerbosity_( true ) { params_.setSqrtS( comEnergy ); params_.dump(); } - Wrapper::~Wrapper() + HepMCWrapper::~HepMCWrapper() {} const HepMC::GenEvent* - Wrapper::event() + HepMCWrapper::event() { //----- start by generating the next event with FPMC @@ -75,7 +75,7 @@ namespace fpmc } void - Wrapper::write( const char* out ) + HepMCWrapper::write( const char* out ) { if ( !hepMCEvt_.get() ) return; From cca2fdb987e6b8934b8ed63379d8301b2f1276d6 Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Thu, 24 Aug 2017 18:41:59 +0200 Subject: [PATCH 11/13] Still trying to debug the wrong configuration --- CMakeLists.txt | 3 + Examples/fpmc-bare.cc | 19 ++++++ Examples/fpmc-wrapper.cc | 3 +- Fpmc/FpmcParameters.h | 11 ++++ Fpmc/FpmcTypes.h | 21 ++++--- Fpmc/interface/fpmc.h | 69 ++++++++++++++++----- Fpmc/interface/herwig.h | 23 ++++--- Fpmc/src/Fpmc.cc | 36 +++++------ Fpmc/src/FpmcParameters.cc | 119 ++++++++++++++++++++++++++++++++----- Fpmc/src/HepMCWrapper.cc | 2 +- 10 files changed, 239 insertions(+), 67 deletions(-) create mode 100644 Examples/fpmc-bare.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index c2d70e0..8ce5d6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,9 @@ if(CERNLIB_LIB) target_link_libraries(fpmc-paw ${LIBRARIES} ${CERNLIB_LIB} ${CERNLIB_MATHLIB_LIB} ${CERNLIB_PAWLIB_LIB} ${CERNLIB_PACKLIB_LIB}) endif() +add_executable(fpmc Examples/fpmc-bare.cc Examples/dummy_hwaend.f) +target_link_libraries(fpmc ${LIBRARIES}) + if(HEPMC_LIB) include_directories(${HEPMC_INCLUDE}) list(APPEND LIBRARIES FpmcHepMC) diff --git a/Examples/fpmc-bare.cc b/Examples/fpmc-bare.cc new file mode 100644 index 0000000..94dae0c --- /dev/null +++ b/Examples/fpmc-bare.cc @@ -0,0 +1,19 @@ +#include "Fpmc/Fpmc.h" + +#include + +using namespace std; + +int main( int argc, char* argv[] ) +{ + fpmc::Fpmc generator( argv[1] ); + + generator.parameters().dump(); + + hwevnt_t ev; + for( unsigned int evt = 0; evt < 10; ++evt ) { + cout << "[FPMC] Processing event " << ( evt+1 ) << endl; + generator.next( ev ); + } + return 0; +} diff --git a/Examples/fpmc-wrapper.cc b/Examples/fpmc-wrapper.cc index 367feee..075ed64 100644 --- a/Examples/fpmc-wrapper.cc +++ b/Examples/fpmc-wrapper.cc @@ -39,13 +39,14 @@ int main( int argc, char* argv[] ) fpmc::HepMCWrapper generator( comEnergy_, datacard_.c_str() ); + #ifdef HEPMC_VERSION2 HepMC::IO_GenEvent output( outputFileName_, ios::out ); #else HepMC::WriterAscii output( outputFileName_ ); #endif for( unsigned int evt = 0; evt < maxEvents_; ++evt ) { - cout << "[FPMC Wrapper] Processing event " << (evt + 1) << endl; + cout << "[FPMC Wrapper] Processing event " << ( evt+1 ) << endl; #ifdef HEPMC_VERSION2 output.write_event( generator.event() ); #else diff --git a/Fpmc/FpmcParameters.h b/Fpmc/FpmcParameters.h index 427bd59..c2dba85 100644 --- a/Fpmc/FpmcParameters.h +++ b/Fpmc/FpmcParameters.h @@ -31,6 +31,8 @@ namespace fpmc FpmcParameters( const std::map& params ) : std::map( params ) {} ~FpmcParameters() {} + void validate(); + static FpmcParameters parseCard( const char* filename ); void writeCard( const char* filename ) const; @@ -103,11 +105,20 @@ namespace fpmc double etaMin() const { return getFloat( "yjmin" ); } double etaMax() const { return getFloat( "yjmax" ); } + //----- PDF fits + + void setPDFfits( const PDFfits& fits ) { add( "ifit", fits ); } + PDFfits pdfFits() const { return static_cast( getInt( "ifit" ) ); } + //----- full common blocks population + void fetchHWPROC( hwproc_t& ) const; + void fetchHWBMCH( hwbmch_t& ) const; void fetchHWPRAM( hwpram_t& ) const; void fetchHWPROP( hwprop_t& ) const; void fetchHWHARD( hwhard_t& ) const; + void fetchHWPRCH( hwprch_t& ) const; + void fetchPRTYPE( prtype_t& ) const; void fetchXSECT( xsect_t& ) const; void fetchPDFS( pdfs_t& ) const; void fetchAAANOMAL( aaanomal_t& ) const; diff --git a/Fpmc/FpmcTypes.h b/Fpmc/FpmcTypes.h index dcb278c..2622cad 100644 --- a/Fpmc/FpmcTypes.h +++ b/Fpmc/FpmcTypes.h @@ -6,17 +6,17 @@ namespace fpmc enum Flux { // Exclusive QCD fluxes - PomeronFlux = 9, - ReggeonFlux = 10, - KMRExclusive = 16, + PomeronFlux = 9, ///< Cox-Forshaw (DPE) + ReggeonFlux = 10, ///< Bialas-Landshoff (exc. DPE) or Boonekamp et al (inc. DPE) + KMRExclusive = 16, ///AA + //--- and in the future AA->WW and AA->AZ + //--- (C. Baldenegro, 05-2016) typedef struct { - double AAM, AAQ, AAN, AAF0, AAW, AAA2; + double AAM, AAQ, AAN, + AAF0, AAF0Z, AAF0W, AAF0ZG, AAF0G, AAF0H, + AAW, AAA2; int AAEXOTIC; } aaexotical_t; extern aaexotical_t aaexotical_; @@ -83,7 +93,9 @@ extern "C" extern kmr2fpmc_t kmr2fpmc_; //--- temporal variables - typedef struct { int ICOUNT; } oktemp_t; + typedef struct { + int ICOUNT; + } oktemp_t; //extern oktemp_t oktemp_; //--- custom definition of subroutine hwaend() @@ -110,11 +122,13 @@ extern "C" KMR2Q2CT, KMR2SRV, KMR2SCALE; } myffread1_t; //extern myffread1_t myffread1_; + typedef struct { float dlambda, anom_cutoff, yww_min, yww_max, q2ww_min, q2ww_max; } myffread2_t; //extern myffread2_t myffread2_; + typedef struct { int OUTPUT, OUTPUTLHE, MAXEV, IPROC, NFLUX, NRN1, NRN2, IFIT, ISOFTM, ZION, AION; @@ -123,23 +137,50 @@ extern "C" CHIDeIGL, KMR2DELTA; } myffread3_t; //extern myffread3_t myffread3_; - typedef struct { char HADR[1]; } cc0_t; + + typedef struct { + char HADR[1]; + } cc0_t; //extern cc0_t cc0_; - typedef struct { char TYPEPR[3]; } cc1_t; + + typedef struct { + char TYPEPR[3]; + } cc1_t; //extern cc1_t cc1_; - typedef struct { char TYPINT[3]; } cc2_t; + + typedef struct { + char TYPINT[3]; + } cc2_t; //extern cc2_t cc2_; - typedef struct { char PART1[4]; } cc3_t; + + typedef struct { + char PART1[4]; + } cc3_t; //extern cc3_t cc3_; - typedef struct { char PART2[4]; } cc4_t; + + typedef struct { + char PART2[4]; + } cc4_t; //extern cc4_t cc4_; - typedef struct { int MODPDF1, MODPDF2; } cc5_t; + + typedef struct { + int MODPDF1, MODPDF2; + } cc5_t; //extern cc5_t cc5_; - typedef struct { char NTNAME[32], CHIDePATH[32]; } cyfflong1_t; + + typedef struct { + char NTNAME[32], CHIDePATH[32]; + } cyfflong1_t; //extern cyfflong1_t cyfflong1_; - typedef struct { char dgdtab1[50], dgdtab2[50], dgdtab3[50], dgdtab4[50], sudatab[50]; } chidepath_t; + + typedef struct { + char dgdtab1[50], dgdtab2[50], dgdtab3[50], dgdtab4[50], sudatab[50]; + } chidepath_t; extern chidepath_t chidepath_; - typedef struct { char CHIDe_PATH[500]; } chideenv_t; + + typedef struct { + char CHIDe_PATH[500]; + } chideenv_t; extern chideenv_t chideenv_; #ifdef __cplusplus diff --git a/Fpmc/interface/herwig.h b/Fpmc/interface/herwig.h index db42975..7ad2bbd 100644 --- a/Fpmc/interface/herwig.h +++ b/Fpmc/interface/herwig.h @@ -3,7 +3,7 @@ //-------------------------HERWIG common block ------------------------------------- -static const int nmxres = 500; +static const int nmxres = 501; static const int nmxsud = 1024; // max number of entries for Sudakov lookup table static const int nmxcdk = 4000; static const int nmxhep = 4000; @@ -42,7 +42,9 @@ extern "C" } hwevnt_t; extern hwevnt_t hwevnt_; - typedef struct { char PART1[8], PART2[8]; } hwbmch_t; + typedef struct { + char PART1[8], PART2[8]; + } hwbmch_t; extern hwbmch_t hwbmch_; typedef struct { @@ -66,12 +68,17 @@ extern "C" //--- arrays for particle properties (NMXRES = max no of particles defined) typedef struct { - double RLTIM[nmxres+1], RMASS[nmxres+1], RSPIN[nmxres+1]; - int ICHRG[nmxres+1], IDPDG[nmxres],IFLAV[nmxres+1], NRES; - int VTOCDK[nmxres+1], VTORDK[nmxres+1], QORQQB[nmxres+1], QBORQQ[nmxres+1]; // starting from 0... + double RLTIM[nmxres], RMASS[nmxres], RSPIN[nmxres]; + int ICHRG[nmxres], IDPDG[nmxres],IFLAV[nmxres], NRES; + int VTOCDK[nmxres], VTORDK[nmxres], QORQQB[nmxres], QBORQQ[nmxres]; // starting from 0... } hwprop_t; extern hwprop_t hwprop_; + typedef struct { + unsigned char RNAME[8][nmxres],TXNAME[37][2][nmxres]; + } hwunam_t; + extern hwunam_t hwunam_; + //--- parameters for Sudakov form factors typedef struct { double ACCUR, QEV[6][nmxsud],SUD[6][nmxsud]; @@ -108,7 +115,7 @@ extern "C" //--- weights used in cluster decays typedef struct { - double REPWT[5][5][4],SNGWT,DECWT,QWT[3],PWT[12],SWTEF[nmxres+1]; + double REPWT[5][5][4],SNGWT,DECWT,QWT[3],PWT[12],SWTEF[nmxres]; } hwuwts_t; extern hwuwts_t hwuwts_; @@ -235,7 +242,7 @@ extern "C" #define hwhdecay hwhdecay_ //--------------------------------------------------------------- - void hwuidt_( int* iopt, int* ipdg, int* iwig, char nwig[8] ); + void hwuidt_( int* iopt, int* ipdg, int* iwig, unsigned char nwig[8] ); #define hwuidt hwuidt_ double hwualf_( int *mode, double* scale ); #define hwualf hwualf_ @@ -251,7 +258,7 @@ extern "C" #define hwepro hwepro_ void hwigin_(); // initialise other common blocks #define hwigin hwigin_ - void hwusta_( const char*, int ); // make any particle stable + void hwusta_( const unsigned char*, int ); // make any particle stable #define hwusta hwusta_ void hwuinc_(); // compute parameter-dependent constants #define hwuinc hwuinc_ diff --git a/Fpmc/src/Fpmc.cc b/Fpmc/src/Fpmc.cc index 788e6d1..2792de8 100644 --- a/Fpmc/src/Fpmc.cc +++ b/Fpmc/src/Fpmc.cc @@ -50,30 +50,22 @@ namespace fpmc //--- call hwudat to set up HERWIG block data //hwudat(); - if ( params_.has( "part1" ) ) params_.getString( "part1" ).copy( hwbmch_.PART1, 8 ); - if ( params_.has( "part2" ) ) params_.getString( "part2" ).copy( hwbmch_.PART2, 8 ); - - hwproc_.PBEAM1 = hwproc_.PBEAM2 = params_.sqrtS()/2.; - - if ( params_.has( "typepr" ) ) params_.getString( "typepr" ).copy( prtype_.TYPEPR, 3 ); - if ( params_.has( "typint" ) ) params_.getString( "typint" ).copy( prtype_.TYPINT, 3 ); - - if ( params_.has( "iproc" ) ) hwproc_.IPROC = params_.processId(); + params_.fetchHWBMCH( hwbmch_ ); + params_.fetchHWPROC( hwproc_ ); + params_.fetchPRTYPE( prtype_ ); if ( debug_ ) { - dbg_ << "PART1 = '" << hwbmch_.PART1 << "'" << std::endl - << "PART2 = '" << hwbmch_.PART2 << "'" << std::endl - << "TYPEPR = " << prtype_.TYPEPR << std::endl - << "TYPINT = " << prtype_.TYPINT << std::endl - << "IPROC = " << hwproc_.IPROC << std::endl; + dbg_ << "PART1 = '" << hwbmch_.PART1 << "'\n" + << "PART2 = '" << hwbmch_.PART2 << "'\n" + << "TYPEPR = " << prtype_.TYPEPR << "\n" + << "TYPINT = " << prtype_.TYPINT << "\n" + << "IPROC = " << hwproc_.IPROC << "\n"; } hwigin_(); params_.fetchHWPRAM( hwpram_ ); hwpram_.IPRINT = herwigVerbosity_; hwpram_.EFFMIN = 1.e-6; - hwpram_.MODPDF[1] = -111; - hwpram_.MODPDF[0] = -111; hwpram_.LWSUD = 0; // don't write Sudakov form factors //--- use random seeds from datacard @@ -96,10 +88,7 @@ namespace fpmc // (no fort.77 and fort.88 ...) // Init LHAPDF glue - const std::string pdfset( "HWLHAPDF" ); - for ( unsigned int i=0; i<2; i++ ) { - pdfset.copy( hwprch_.AUTPDF[i], 8 ); - } + params_.fetchHWPRCH( hwprch_ ); hwevnt_.MAXPR = maxEventsToPrint_; @@ -109,6 +98,7 @@ namespace fpmc params_.fetchHWHARD( hwhard_ ); params_.fetchXSECT( xsect_ ); +std::cout << "--------->" << xsect_.GAPSPR << std::endl; params_.fetchPDFS( pdfs_ ); params_.fetchAAANOMAL( aaanomal_ ); params_.fetchAAEXOTICAL( aaexotical_ ); @@ -125,6 +115,7 @@ namespace fpmc //--- compute parameter dependent constants hwuinc(); +std::cout << "--->" << std::endl; //--- check POMWIG Settings + Initialisations for consistency hwchek(); @@ -132,7 +123,7 @@ namespace fpmc //--- call HWUSTA to make any particle stable int iopt = 1; int iwig = 0; - char nwig[9] = " "; + unsigned char nwig[9] = " "; int ipdg = 111; hwuidt( &iopt, &ipdg, &iwig, nwig ); @@ -162,8 +153,11 @@ namespace fpmc bool Fpmc::next( hwevnt_t& event ) { + if ( !initialised_ ) initialise(); + //--- call herwig routines to create HEPEVT +std::cout << "aaa" << std::endl; hwuine(); // initialize event hwepro(); // generate hard subprocess diff --git a/Fpmc/src/FpmcParameters.cc b/Fpmc/src/FpmcParameters.cc index 640b9be..ed752f4 100644 --- a/Fpmc/src/FpmcParameters.cc +++ b/Fpmc/src/FpmcParameters.cc @@ -4,22 +4,34 @@ namespace fpmc { FpmcParameters::FpmcParameters() : std::map( { + // particles masses { "rmass", "0.0" }, { "wmass", "80.425" }, { "hmass", "125.0" }, { "tmass", "174.3" }, { "mst1", "250.0" }, { "msb1", "250.0" }, + // kinematics cuts { "ecms", "14000.0" }, { "yjmin", "-6.0" }, { "yjmax", "6.0" }, { "ptmin", "0.0" }, { "ptmax", "1.e8" }, { "emmin", "10.0" }, { "emmax", "1.e8" }, - { "maxev", "1000" }, { "iproc", "16010" }, { "nflux", "15" }, { "nrn1", "33799" }, { "nrn2", "11799" }, { "ifit", "10" }, { "isoftm", "1" }, { "typepr", "EXC" }, { "typint", "QED" }, + { "ywwmin", "0.0" }, { "ywwmax", "0.1" }, { "q2wwmn", "0.0" }, { "q2wwmx", "4.0" }, + // events production + { "maxev", "1000" }, + { "output", "1" }, { "outputlhe", "0" }, { "ntname", "tmpntuple.ntp" }, { "lhefile", "FPMC.lhe" }, + { "hadr", "Y" }, + // process definition + { "part1", "E+" }, { "part2", "E+" }, + { "zion", "1" }, { "aion", "1" }, { "bmin", "1.0" }, + { "iproc", "16010" }, { "nflux", "15" }, { "ifit", "10" }, { "isoftm", "1" }, { "typepr", "EXC" }, { "typint", "QED" }, + { "nrn1", "33799" }, { "nrn2", "11799" }, + // anomalous couplings { "dkappa", "0.0" }, { "acw", "0.0" }, { "a0w", "0.0" }, { "a0z", "0.0" }, { "acz", "0.0" }, { "a1a", "0.0" }, { "a2a", "0.0" }, { "aaanom", "0" }, { "aaexotic", "0" }, - { "aam", "0.0" }, { "aaq", "0.0" }, { "aan", "0.0" }, { "aaf0", "0.0" }, { "aaf0z", "0.0" }, { "aaf0w", "0.0" }, { "aaf0zg", "0.0" }, { "aaw", "0.0" }, { "aaa2", "0.0" }, + { "aam", "0.0" }, { "aaq", "0.0" }, { "aan", "0.0" }, + { "aaf0", "0.0" }, { "aaf0z", "0.0" }, { "aaf0w", "0.0" }, { "aaf0zg", "0.0" }, { "aaw", "0.0" }, { "aaa2", "0.0" }, + { "dlambda", "0.0" }, { "anomcutoff", "-1.0" }, + // CHIDe parameters { "chidex", "-1.0" }, { "chidexp", "-1.0" }, { "chides2", "-1.0" }, { "chidegapmin", "0.0" }, { "chidegapmax", "0.0" }, { "chide_iglu", "-1" }, { "chidepath", "External/CHIDe/Data/" }, { "xi1min", "-1.0" }, { "xi1max", "-1.0" }, { "xi2min", "-1.0" }, { "xi2max", "-1.0" }, + // KMR parameters { "kmr2q2cut", "2.0" }, { "kmr2surv", "0.3" }, { "kmr2scale", "0.618" }, { "kmr2_delta", "1" }, - { "dlambda", "0.0" }, { "anomcutoff", "-1" }, - { "ywwmin", "0.0" }, { "ywwmax", "0.1" }, { "q2wwmn", "0.0" }, { "q2wwmx", "4.0" }, - { "output", "1" }, { "outputlhe", "0" }, { "ntname", "tmpntuple.ntp" }, { "lhefile", "FPMC.lhe" }, - { "zion", "1" }, { "aion", "1" }, { "bmin", "1.0" }, - { "hadr", "Y" }, - { "part1", "E+" }, { "part2", "E+" }, - { "modpdf1", "-1" }, { "modpdf2", "-1" } } ) {} + // PDF sets + { "autpdf1", "HWLHAPDF" }, { "autpdf1", "HWLHAPDF" }, { "modpdf1", "-1" }, { "modpdf2", "-1" } + } ) { validate(); } FpmcParameters FpmcParameters::parseCard( const char* filename ) @@ -38,6 +50,7 @@ namespace fpmc std::transform( key.begin(), key.end(), key.begin(), ::tolower ); // transform the key to lowercase param.add( key, value ); } + param.validate(); return param; } @@ -59,6 +72,62 @@ namespace fpmc out.close(); } + void + FpmcParameters::validate() + { + if ( has( "xi1min" ) && getFloat( "xi1min" ) < 0.0 ) add( "xi1min", getFloat( "ywwmin" ) ); + if ( has( "xi2min" ) && getFloat( "xi2min" ) < 0.0 ) add( "xi2min", getFloat( "ywwmin" ) ); + if ( has( "xi1max" ) && getFloat( "xi1max" ) < 0.0 ) add( "xi1max", getFloat( "ywwmax" ) ); + if ( has( "xi2max" ) && getFloat( "xi2max" ) < 0.0 ) add( "xi2max", getFloat( "ywwmax" ) ); + if ( has( "nflux" ) ) { + const unsigned int nflux = getInt( "nflux" ); + if ( nflux == 18 ) { + if ( has( "chide_iglu" ) && getFloat( "chide_iglu" ) < 0 ) add( "chide_iglu", 4 ); // impact factor parameterisation + // scaling lower limit of Sudakov factor integration + if ( has( "chidexp" ) && getFloat( "chidexp" ) < 0.0 ) { + if ( has( "iproc" ) && getInt( "iproc" ) == 16059 ) add( "chidexp", 1.0 ); + else add( "chidexp", 0.5 ); + } + // rapidity gap survival probability + if ( has( "chides2" ) && getFloat( "chides2" ) < 0.0 ) { + if ( has( "ecms" ) ) { + const float ecms = getFloat( "ecms" ); + if ( labs( ecms-14.e3 ) < 1.0 ) add( "chides2", 0.03 ); // ~LHC + else if ( labs( ecms-1960. ) < 1.0 ) add( "chides2", 0.10 ); // ~Tevatron + else throw std::runtime_error( "ERROR: CHIDeS2 not specified!\n" + " For nonstandard ECMS (different than 1960 and 14000)\n" + " CHIDeS2 must be specified in data card." ); + } + } + if ( has( "iproc" ) ) { + const unsigned int iproc = getInt( "iproc" ); + if ( iproc == 16012 && has( "chidex" ) && getFloat( "chidex" ) < 0.0 ) add( "chidex", 0.5 ); + if ( iproc == 16059 && has( "chidex" ) && getFloat( "chidex" ) < 0.0 ) add( "chidex", 0.5 ); + if ( iproc == 19999 && has( "chidex" ) && getFloat( "chidex" ) < 0.0 ) add( "chidex", 1.0 ); + } + } + else if ( nflux == 16 ) { + if ( has( "chides2" ) && getFloat( "chides2" ) > 0.0 ) add( "kmr2surv", getFloat( "chides2" ) ); + else add( "kmr2surv", 0.03 ); + } + } + } + + void + FpmcParameters::fetchHWBMCH( hwbmch_t& hwbmch ) const + { + if ( has( "part1" ) ) getString( "part1" ).copy( hwbmch.PART1, 8 ); + if ( has( "part2" ) ) getString( "part2" ).copy( hwbmch.PART2, 8 ); + } + + void + FpmcParameters::fetchHWPROC( hwproc_t& hwproc ) const + { + hwproc.PBEAM1 = hwproc.PBEAM2 = sqrtS()/2.; + if ( has( "iproc" ) ) hwproc.IPROC = processId(); + if ( has( "maxev" ) ) hwproc.MAXEV = getInt( "maxev" ); + } + void FpmcParameters::fetchHWPRAM( hwpram_t& hwpram ) const { @@ -66,14 +135,21 @@ namespace fpmc if ( has( "modpdf2" ) ) hwpram.MODPDF[1] = getInt( "modpdf2" ); } + void + FpmcParameters::fetchHWPRCH( hwprch_t& hwprch ) const + { + if ( has( "autpdf1" ) ) getString( "autpdf1" ).copy( hwprch.AUTPDF[0], 8 ); + if ( has( "autpdf2" ) ) getString( "autpdf2" ).copy( hwprch.AUTPDF[1], 8 ); + } + void FpmcParameters::fetchHWPROP( hwprop_t& hwprop ) const { + if ( has( "tmass" ) ) hwprop.RMASS[6] = hwprop.RMASS[12] = getFloat( "tmass" ); // top mass + if ( has( "wmass" ) ) hwprop.RMASS[198] = hwprop.RMASS[199] = getFloat( "wmass" ); // W+/- mass if ( has( "hmass" ) ) hwprop.RMASS[201] = getFloat( "hmass" ); // higgs mass - if ( has( "tmass" ) ) hwprop.RMASS[6] = getFloat( "tmass" ); // top mass - if ( has( "wmass" ) ) hwprop.RMASS[198] = getFloat( "wmass" ); // W mass - if ( has( "mst1" ) ) hwprop.RMASS[406] = getFloat( "mst1" ); // stop1 mass if ( has( "msb1" ) ) hwprop.RMASS[405] = getFloat( "msb1" ); // stop2 mass + if ( has( "mst1" ) ) hwprop.RMASS[406] = getFloat( "mst1" ); // stop1 mass } void @@ -81,8 +157,10 @@ namespace fpmc { if ( has( "q2wwmn" ) ) hwhard.Q2WWMN = getFloat( "q2wwmn" ); if ( has( "q2wwmx" ) ) hwhard.Q2WWMX = getFloat( "q2wwmx" ); + // beam momentum loss range if ( has( "ywwmin" ) ) hwhard.YWWMIN = getFloat( "ywwmin" ); if ( has( "ywwmax" ) ) hwhard.YWWMAX = getFloat( "ywwmax" ); + // central products rapidity, pt, and mass cuts if ( has( "yjmin" ) ) hwhard.YJMIN = getFloat( "yjmin" ); if ( has( "yjmax" ) ) hwhard.YJMAX = getFloat( "yjmax" ); if ( has( "ptmin" ) ) hwhard.PTMIN = getFloat( "ptmin" ); @@ -93,8 +171,9 @@ namespace fpmc void FpmcParameters::fetchXSECT( xsect_t& xsect ) const { + //if ( has( "kmr2surv" ) ) xsect.GAPSPR = getFloat( "kmr2surv" ); if ( has( "nflux" ) ) xsect.NFLUX = getInt( "nflux" ); - if ( has( "isoftm" ) ) xsect_.ISOFTM = getInt( "isoftm" ); + if ( has( "isoftm" ) ) xsect.ISOFTM = getInt( "isoftm" ); } void @@ -103,19 +182,26 @@ namespace fpmc if ( has( "ifit" ) ) pdfs.IFITPDF = getInt( "ifit" ); } + void + FpmcParameters::fetchPRTYPE( prtype_t& prtype ) const + { + if ( has( "typepr" ) ) getString( "typepr" ).copy( prtype.TYPEPR, 3 ); + if ( has( "typint" ) ) getString( "typint" ).copy( prtype.TYPINT, 3 ); + } + void FpmcParameters::fetchAAANOMAL( aaanomal_t& aaanomal ) const { if ( has( "aaanom" ) ) aaanomal.AAANOM = getInt( "aaanom" ); if ( has( "dkappa" ) ) aaanomal.D_KAPPA = getFloat( "dkappa" ); - if ( has( "dlambda" ) ) aaanomal.LAMBDA = getFloat( "dlambda" ); + if ( has( "lambda" ) ) aaanomal.LAMBDA = getFloat( "lambda" ); if ( has( "a0w" ) ) aaanomal.A0W = getFloat( "a0w" ); if ( has( "acw" ) ) aaanomal.ACW = getFloat( "acw" ); if ( has( "a0z" ) ) aaanomal.A0Z = getFloat( "a0z" ); if ( has( "acz" ) ) aaanomal.ACZ = getFloat( "acz" ); if ( has( "a1a" ) ) aaanomal.A1A = getFloat( "a1a" ); if ( has( "a2a" ) ) aaanomal.A2A = getFloat( "a2a" ); - if ( has( "anomcutoff" ) ) aaanomal.ANOMCUTOFF = getInt( "anomcutoff" ); + if ( has( "anomcutoff" ) ) aaanomal.ANOMCUTOFF = getFloat( "anomcutoff" ); } void @@ -126,6 +212,9 @@ namespace fpmc if ( has( "aaq" ) ) aaexotical.AAQ = getFloat( "aaq" ); if ( has( "aan" ) ) aaexotical.AAN = getFloat( "aan" ); if ( has( "aaf0" ) ) aaexotical.AAF0 = getFloat( "aaf0" ); + if ( has( "aaf0w" ) ) aaexotical.AAF0W = getFloat( "aaf0w" ); + if ( has( "aaf0z" ) ) aaexotical.AAF0Z = getFloat( "aaf0z" ); + if ( has( "aaf0zg" ) ) aaexotical.AAF0ZG = getFloat( "aaf0zg" ); if ( has( "aaw" ) ) aaexotical.AAW = getFloat( "aaw" ); if ( has( "aaa2" ) ) aaexotical.AAA2 = getFloat( "aaa2" ); } diff --git a/Fpmc/src/HepMCWrapper.cc b/Fpmc/src/HepMCWrapper.cc index c819b11..1d61f44 100644 --- a/Fpmc/src/HepMCWrapper.cc +++ b/Fpmc/src/HepMCWrapper.cc @@ -10,7 +10,7 @@ namespace fpmc Fpmc( card ), hepMCVerbosity_( true ) { params_.setSqrtS( comEnergy ); - params_.dump(); + //params_.dump(); } HepMCWrapper::~HepMCWrapper() From 2929bd92960f18a514959befd1b1c7da0aa88df0 Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 25 Aug 2017 14:20:20 +0200 Subject: [PATCH 12/13] More tests --- CHANGELOG | 8 ++++---- CMakeLists.txt | 1 + Fpmc/interface/herwig.h | 12 ++++++++---- Fpmc/src/Fpmc.cc | 21 +++++++++++++++------ Fpmc/src/FpmcParameters.cc | 2 +- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 12d8c18..e96d3ea 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -38,11 +38,11 @@ dataQED_WWexoticSpin0EvenResonances and dataQED_AAexoticSpin2Resonances 2015-01-20 Christophe Royon , Murilo Rangel * correct for normalisation for reggeon (applied in PDFs and not in flux) - + 2014-11-26 Christophe Royon - * new code for heavy ion flux (nflux=11) + * new code for heavy ion flux (nflux=11) * new cards to transmit BMIN - * new code and fluxes for proton ion, ion proton via Pom/Photon exchange + * new code and fluxes for proton ion, ion proton via Pom/Photon exchange * bug fix for photon pom 2014-09-11 Matthias Saimpert @@ -100,6 +100,6 @@ dataQED_WWexoticSpin0EvenResonances and dataQED_AAexoticSpin2Resonances ntuple. 2011-05-09 Oldrich Kepka - * Tagging version fpmc_v01-05 - cleanup of nutples, version for testing + * Tagging version fpmc_v01-05 - cleanup of nutples, version for testing diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ce5d6e..f050b2d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ project(FPMC) set(PROJECT_VERSION 1) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -Wno-deprecated-declarations -pedantic -std=c++11 -g") +set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -O1 -fno-automatic -fPIC") set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/cmake) set(MODULES Fpmc Herwig Examples Tests) diff --git a/Fpmc/interface/herwig.h b/Fpmc/interface/herwig.h index 7ad2bbd..d230edb 100644 --- a/Fpmc/interface/herwig.h +++ b/Fpmc/interface/herwig.h @@ -3,7 +3,7 @@ //-------------------------HERWIG common block ------------------------------------- -static const int nmxres = 501; +static const int nmxres = 500; static const int nmxsud = 1024; // max number of entries for Sudakov lookup table static const int nmxcdk = 4000; static const int nmxhep = 4000; @@ -68,9 +68,9 @@ extern "C" //--- arrays for particle properties (NMXRES = max no of particles defined) typedef struct { - double RLTIM[nmxres], RMASS[nmxres], RSPIN[nmxres]; - int ICHRG[nmxres], IDPDG[nmxres],IFLAV[nmxres], NRES; - int VTOCDK[nmxres], VTORDK[nmxres], QORQQB[nmxres], QBORQQ[nmxres]; // starting from 0... + double RLTIM[nmxres+1], RMASS[nmxres+1], RSPIN[nmxres+1]; + int ICHRG[nmxres+1], IDPDG[nmxres+1],IFLAV[nmxres+1], NRES; + int VTOCDK[nmxres+1], VTORDK[nmxres+1], QORQQB[nmxres+1], QBORQQ[nmxres+1]; // starting from 0... } hwprop_t; extern hwprop_t hwprop_; @@ -250,6 +250,8 @@ extern "C" #define hwuaem hwuaem_ //--------------------------------------------------------------- + void hwudat_(); +#define hwudat hwudat_ void hweini_(); // initialise elementary process #define hweini hweini_ void hwuine_(); // initialise event @@ -278,6 +280,8 @@ extern "C" #define hwmevt hwmevt_ void hwufne_(); // event generation completed, wrap up event, ... #define hwufne hwufne_ + void hwabeg_(); +#define hwabeg hwabeg_ #ifdef __cplusplus } diff --git a/Fpmc/src/Fpmc.cc b/Fpmc/src/Fpmc.cc index 2792de8..c5de622 100644 --- a/Fpmc/src/Fpmc.cc +++ b/Fpmc/src/Fpmc.cc @@ -9,7 +9,7 @@ namespace fpmc {} Fpmc::Fpmc( const char* card ) : - herwigVerbosity_( 1 ), maxEventsToPrint_( 2 ), + herwigVerbosity_( 5 ), maxEventsToPrint_( 2 ), initialised_( false ), params_( FpmcParameters::parseCard( card ) ), debug_( false ), dbg_( std::cout ) @@ -36,7 +36,10 @@ namespace fpmc << "UTYPINT = " << params_.getString( "typint" ) << std::endl << "UTMASS = " << params_.getFloat( "tmass" ) << std::endl; } + //--- initialise the common blocks initHerwig(); + + //--- dump the configuration into an output card params_.writeCard( "lastrun.card" ); } @@ -47,9 +50,6 @@ namespace fpmc dbg_ << "Initializing HERWIG/FPMC" << std::endl; - //--- call hwudat to set up HERWIG block data - //hwudat(); - params_.fetchHWBMCH( hwbmch_ ); params_.fetchHWPROC( hwproc_ ); params_.fetchPRTYPE( prtype_ ); @@ -61,7 +61,17 @@ namespace fpmc << "TYPINT = " << prtype_.TYPINT << "\n" << "IPROC = " << hwproc_.IPROC << "\n"; } - hwigin_(); + //--- call hwudat to set up HERWIG block data +// hwudat(); +std::cout << "aaaaaaaaaaa" << std::endl; + + //--- sets the input parameters + hwigin(); + + for ( unsigned int i = 0; i < 500; ++i ) { + std::cout << "hwprop for particle " << i << ": " << hwprop_.RLTIM[i] << "\t" << hwprop_.RMASS[i] << "\t" << hwprop_.RSPIN[i] << "\t" << hwprop_.ICHRG[i] << "\t" << hwprop_.IDPDG[i] << "\t" << hwprop_.IFLAV[i] << std::endl; + } +// exit(0); params_.fetchHWPRAM( hwpram_ ); hwpram_.IPRINT = herwigVerbosity_; @@ -98,7 +108,6 @@ namespace fpmc params_.fetchHWHARD( hwhard_ ); params_.fetchXSECT( xsect_ ); -std::cout << "--------->" << xsect_.GAPSPR << std::endl; params_.fetchPDFS( pdfs_ ); params_.fetchAAANOMAL( aaanomal_ ); params_.fetchAAEXOTICAL( aaexotical_ ); diff --git a/Fpmc/src/FpmcParameters.cc b/Fpmc/src/FpmcParameters.cc index ed752f4..55adcdd 100644 --- a/Fpmc/src/FpmcParameters.cc +++ b/Fpmc/src/FpmcParameters.cc @@ -5,7 +5,7 @@ namespace fpmc FpmcParameters::FpmcParameters() : std::map( { // particles masses - { "rmass", "0.0" }, { "wmass", "80.425" }, { "hmass", "125.0" }, { "tmass", "174.3" }, { "mst1", "250.0" }, { "msb1", "250.0" }, + { "wmass", "80.425" }, { "hmass", "125.0" }, { "tmass", "174.3" }, { "mst1", "250.0" }, { "msb1", "250.0" }, // kinematics cuts { "ecms", "14000.0" }, { "yjmin", "-6.0" }, { "yjmax", "6.0" }, { "ptmin", "0.0" }, { "ptmax", "1.e8" }, { "emmin", "10.0" }, { "emmax", "1.e8" }, { "ywwmin", "0.0" }, { "ywwmax", "0.1" }, { "q2wwmn", "0.0" }, { "q2wwmx", "4.0" }, From d3e7b525b4db93116cdfe89b1dc8e3c98ce0ee8c Mon Sep 17 00:00:00 2001 From: Laurent Forthomme Date: Fri, 25 Aug 2017 16:08:46 +0200 Subject: [PATCH 13/13] General cleanup --- CMakeLists.txt | 7 +- Examples/CMakeLists.txt | 3 - Examples/FPMC.INC | 1 - Examples/HERWIG65.INC | 2 - Examples/herwig6500.inc | 344 ------------------------ Fpmc/CMakeLists.txt | 22 +- Fpmc/HERWIG65.INC | 2 - {Examples => Fpmc/interface}/ffcard.inc | 0 {Examples => Fpmc/src}/ffcard.f | 0 Fpmc/src/fpmc.f | 30 +-- {Examples => Fpmc/src}/fpmc_welcome.f | 0 11 files changed, 33 insertions(+), 378 deletions(-) delete mode 100644 Examples/CMakeLists.txt delete mode 100644 Examples/FPMC.INC delete mode 100644 Examples/HERWIG65.INC delete mode 100644 Examples/herwig6500.inc delete mode 100644 Fpmc/HERWIG65.INC rename {Examples => Fpmc/interface}/ffcard.inc (100%) rename {Examples => Fpmc/src}/ffcard.f (100%) rename {Examples => Fpmc/src}/fpmc_welcome.f (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f050b2d..bfaa7c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -Wno-deprecated-dec set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -O1 -fno-automatic -fPIC") set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/cmake) -set(MODULES Fpmc Herwig Examples Tests) +set(MODULES Fpmc Herwig Tests) #----- enable Fortran @@ -42,11 +42,8 @@ target_link_libraries(fpmc ${LIBRARIES}) if(HEPMC_LIB) include_directories(${HEPMC_INCLUDE}) - list(APPEND LIBRARIES FpmcHepMC) - message(STATUS "HepMC found at " ${HEPMC_LIB}) - include_directories(Examples) add_executable(fpmc-hepmc Examples/fpmc-wrapper.cc Examples/dummy_hwaend.f) - target_link_libraries(fpmc-hepmc ${LIBRARIES} ${HEPMC_LIB} ${HEPMC_FIO_LIB}) + target_link_libraries(fpmc-hepmc ${LIBRARIES}) endif() #----- installation procedure diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt deleted file mode 100644 index f5acac3..0000000 --- a/Examples/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -#include_directories(${PROJECT_SOURCE_DIR}/External ${PROJECT_SOURCE_DIR}/Herwig) -add_library(ff OBJECT ffcard.f fpmc_welcome.f) -set_target_properties(ff PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) diff --git a/Examples/FPMC.INC b/Examples/FPMC.INC deleted file mode 100644 index afc31f3..0000000 --- a/Examples/FPMC.INC +++ /dev/null @@ -1 +0,0 @@ - INCLUDE '../Fpmc/fpmc.inc' \ No newline at end of file diff --git a/Examples/HERWIG65.INC b/Examples/HERWIG65.INC deleted file mode 100644 index 0bbb0b7..0000000 --- a/Examples/HERWIG65.INC +++ /dev/null @@ -1,2 +0,0 @@ -* INCLUDE 'herwig6510.inc' - INCLUDE 'herwig6500.inc' diff --git a/Examples/herwig6500.inc b/Examples/herwig6500.inc deleted file mode 100644 index 70ff5d7..0000000 --- a/Examples/herwig6500.inc +++ /dev/null @@ -1,344 +0,0 @@ -C ****COMMON BLOCK FILE FOR HERWIG VERSION 6.4**** -C -C ALTERATIONS: Layout completely overhauled for 5.9 -C -C -C New common blocks added for version 6.1: -C HWCLUS,HWSUSY,HWRPAR,HWMINB -C -C New variables added for version 6.1: -C OMHMIX,ET2MIX,PH3MIX,IOP4JT,NPRFMT, -C PRNDEF,PRNTEX,PRNWEB,EFFMIN,GCUTME, -C IOP4JT,NPRFMT see HWPRAM -C Y4JT,DURHAM see HWHARD -C QORQQB,QBORQQ see HWPROP -C NRECO see HWUCLU -C TXNAME see HWUNAM -C PPCL,NCL,IDCL see HWCLUS -C TANB,ALPHAH,COSBPA,SINBPA,COSBMA, -C SINBMA,COSA,SINA,COSB,SINB,COTB, -C ZMIXSS,ZMXNSS,ZSGNSS,LFCH,RFCH, -C SLFCH,SRFCH,WMXUSS,WMXVSS,WSGNSS, -C QMIXSS,LMIXSS,THETAT,THETAB,THETAL, -C ATSS,ABSS,ALSS,MUSS,FACTSS,GHWWSS, -C GHZZSS,GHDDSS,GHUUSS,GHWHSS,GHSQSS, -C XLMNSS,RMMNSS,DMSSM,SENHNC, -C SSPARITY,SUSYIN see HWSUSY -C LAMDA1,LAMDA2,LAMDA3,HRDCOL,RPARTY, -C COLUPD see HWRPAR -C PMBN1,PMBN2,PMBN3,PMBK1,PMBK2, -C PMBM1,PMBM2,PMBP1,PMBP2,PMBP3 see HWMINB -C -C New parameters added for version 6.1: -C NMXCL -C -C Parameter NMXRES raised to 500 -C -C Scalar variables changed to arrays of size 2: -C CLSMR,PSPLT,CLDIR see HWPRAM -C -C NEW for HERWIG6.200 -C -C New common blocks added for version 6.2: -C HWGRAV see HWHGRV -C -C NEW for HERWIG6.202 -C -C New common block added for version 6.202: -C HW6202 -C which contains all other new variables, parameters and -C control flags introduced since version 6.1, so that -C other common blocks become identical to version 6.1 -C -C New parameters added for version 6.2: -C VIPWID,DXRCYL,DXZMAX,DXRSPH,LRSUSY see HWIGIN -C GRVLAM,EMGRV,GAMGRV see HWHGRV -C -C New control flags added for version 6.2: -C WZRFR see HWBJCO -C FIX4JT see HWIGIN -C IMSSM,IHIGGS see HWUINC -C -C New variable added for version 6.2: -C PARITY see HWUINC -C -C Version 6.203: -C -C NMXHEP raised to 4000 for LHC studies -C -C - IMPLICIT NONE - DOUBLE PRECISION ZERO,ONE,TWO,THREE,FOUR,HALF - PARAMETER (ZERO =0.D0, ONE =1.D0, TWO =2.D0, - & THREE=3.D0, FOUR=4.D0, HALF=0.5D0) -C - DOUBLE PRECISION - & ACCUR,AFCH,ALPFAC,ALPHEM,ANOMSC,ASFIXD,AVWGT,B1LIM,BETAF,BRFRAC, - & BRHIG,BTCLM,CAFAC,CFFAC,CLDKWT,CLMAX,CLPOW,CLQ,CLSMR,CMMOM,COSS, - & COSTH,CSPEED,CTHRPW,CTMAX,DECPAR,DECWT,DISF,DKLTM,EBEAM1,EBEAM2, - & EMLST,EMMAX,EMMIN,EMPOW,EMSCA,ENHANC,ENSOF,EPOLN,ETAMIX,EVWGT, - & EXAG,F0MIX,F1MIX,F2MIX,GAMH,GAMMAX,GAMW,GAMWT,GAMZ,GAMZP,GCOEF, - & GEV2NB,GEV2MM,GPOLN,H1MIX,HBAR,HARDST,OMEGA0,PBEAM1,PBEAM2,PDIQK, - & PGSMX,PGSPL,PHEP,PHIMIX,PHIPAR,PHOMAS,PIFAC,PLTCUT,PPAR,PPOLN, - & PRECO,PRSOF,PSPLT,PTINT,PTMAX,PTMIN,PTPOW,PTRMS,PXRMS,PWT,Q2MAX, - & Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QCDL3,QCDL5,QCDLAM,QDIQK,QEV,QFCH,QG, - & QLIM,QSPAC,QV,QWT,REPWT,RESN,RHOHEP,RHOPAR,RLTIM,RMASS,RMIN, - & RSPIN,SCABI,SINS,SNGWT,SWEIN,SWTEF,SUD,THMAX,TLOUT,TMTOP,TMNISR, - & TQWT,VCKM,VFCH,VGCUT,VHEP,VMIN2,VPAR,VPCUT,VQCUT,VTXPIP,VTXQDK, - & WBIGST,WGTMAX,WGTSUM,WHMIN,WSQSUM,XFACT,XLMIN,XMIX,XMRCT,XX, - & XXMIN,YBMAX,YBMIN,YJMAX,YJMIN,YMIX,YMRCT,YWWMAX,YWWMIN,ZBINM, - & ZJMAX,ZMXISR,Y4JT,EFFMIN,PPCL, - & TANB,ALPHAH,COSBPA,SINBPA,COSBMA,SINBMA,COSA,SINA,COSB,SINB,COTB, - & ZMIXSS,ZMXNSS,ZSGNSS,LFCH,RFCH,SLFCH,SRFCH, WMXUSS,WMXVSS,WSGNSS, - & QMIXSS,LMIXSS,THETAT,THETAB,THETAL,ATSS,ABSS,ALSS,MUSS,FACTSS, - & GHWWSS,GHZZSS,GHDDSS,GHUUSS,GHWHSS,GHSQSS -C--fix by PR 12/7/02 to avoid problems with nag compiler - DOUBLE PRECISION - & XLMNSS,RMMNSS,DMSSM,SENHNC,SSPARITY,LAMDA1,LAMDA2,LAMDA3, - & PMBN1,PMBN2,PMBN3,PMBK1,PMBK2,PMBM1,PMBM2,PMBP1,PMBP2,PMBP3, - & OMHMIX,ET2MIX,PH3MIX,GCUTME -C - INTEGER - & CLDIR,IAPHIG,IBRN,IBSH,ICHRG,ICO,IDCMF,IDHEP,IDHW,IDK,IDKPRD,IDN, - & IDPAR,IDPDG,IERROR,IFLAV,IFLMAX,IFLMIN,IHPRO,IMQDK,INHAD,INTER, - & IOPDKL,IOPHIG,IOPREM,IPART1,IPART2,IPRINT,IPRO,IPROC,ISLENT, - & ISPAC,ISTAT,ISTHEP,ISTPAR,JCOPAR,JDAHEP,JDAPAR,JMOHEP,JMOPAR, - & JNHAD,LNEXT,LOCN,LOCQ,LRSUD,LSTRT,LWEVT,LWSUD,MAPQ,MAXER,MAXEV, - & MAXFL,MAXPR,MODBOS,MODMAX,MODPDF,NBTRY,NCLDK,NCOLO,NCTRY,NDKYS, - & NDTRY,NETRY,NEVHEP,NEVPAR,NFLAV,NGSPL,NHEP,NME,NMODES,NMXCDK, - & NMXDKS,NMXHEP,NMXJET,NMXMOD,NMXPAR,NMXQDK,NMXRES,NMXSUD,NPAR, - & NPRODS,NQDK,NQEV,NRES,NRN,NSPAC,NSTRU,NSTRY,NSUD,NUMER,NUMERU, - & NWGTS,NZBIN,SUDORD,IOP4JT,HRDCOL,NMXCL,NCL,IDCL,NPRFMT,NRECO -C - LOGICAL - & AZSOFT,AZSPIN,BGSHAT,BREIT,CLRECO,COLISR,DKPSET,FROST,FSTEVT, - & FSTWGT,GENEV,GENSOF,HARDME,HVFCEN,MAXDKL,MIXING,NOSPAC,NOWGT, - & PRNDEC,PIPSMR,PRVTX,RSTAB,SOFTME,TMPAR,TPOL,USECMF,VTOCDK,VTORDK, - & ZPRIME,RPARTY,COLUPD,PRNDEF,PRNTEX,PRNWEB,DURHAM,SUSYIN, - & QORQQB,QBORQQ -C - CHARACTER*4 - & BDECAY - CHARACTER*8 - & PART1,PART2,RNAME - CHARACTER*20 - & AUTPDF - CHARACTER*37 - & TXNAME -C -C New standard event common - PARAMETER (NMXHEP=4000) - COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP), - & JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP) -C -C Beams, process and number of events - COMMON/HWBEAM/IPART1,IPART2 - COMMON/HWBMCH/PART1,PART2 - COMMON/HWPROC/EBEAM1,EBEAM2,PBEAM1,PBEAM2,IPROC,MAXEV -C -C Basic parameters (and quantities derived from them) - COMMON/HWPRAM/AFCH(16,2),ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC, - & CLMAX,CLPOW,CLSMR(2),CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH, - & GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL(4),PHIMIX,PIFAC, - & PRSOF,PSPLT(2),PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH(16),QG, - & QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH(16,2),VCKM(3,3),VGCUT,VQCUT, - & VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME, - & IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF(2),NBTRY,NCOLO,NCTRY, - & NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT(2),NPRFMT, - & AZSOFT,AZSPIN,CLDIR(2),HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,ZPRIME, - & PRNDEF,PRNTEX,PRNWEB -C - COMMON/HWPRCH/AUTPDF(2),BDECAY -C -C Parton shower common (same format as /HEPEVT/) - PARAMETER (NMXPAR=500) - COMMON/HWPART/NEVPAR,NPAR,ISTPAR(NMXPAR),IDPAR(NMXPAR), - & JMOPAR(2,NMXPAR),JDAPAR(2,NMXPAR),PPAR(5,NMXPAR),VPAR(4,NMXPAR) -C -C Parton polarization common - COMMON/HWPARP/DECPAR(2,NMXPAR),PHIPAR(2,NMXPAR),RHOPAR(2,NMXPAR), - & TMPAR(NMXPAR) -C -C Electroweak boson common - PARAMETER (MODMAX=5) - COMMON/HWBOSC/ALPFAC,BRHIG(12),ENHANC(12),GAMMAX,RHOHEP(3,NMXHEP), - & IOPHIG,MODBOS(MODMAX) -C -C Parton colour common - COMMON/HWPARC/JCOPAR(4,NMXPAR) -C -C other HERWIG branching, event and hard subprocess common blocks - COMMON/HWBRCH/ANOMSC(2,2),HARDST,PTINT(3,2),XFACT,INHAD,JNHAD, - & NSPAC(7),ISLENT,BREIT,FROST,USECMF -C - COMMON/HWEVNT/AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM, - & IDHW(NMXHEP),IERROR,ISTAT,LWEVT,MAXER,MAXPR,NOWGT,NRN(2),NUMER, - & NUMERU,NWGTS,GENSOF -C - COMMON/HWHARD/ASFIXD,CLQ(7,6),COSS,COSTH,CTMAX,DISF(13,2),EMLST, - & EMMAX,EMMIN,EMPOW,EMSCA,EPOLN(3),GCOEF(7),GPOLN,OMEGA0,PHOMAS, - & PPOLN(3),PTMAX,PTMIN,PTPOW,Q2MAX,Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QLIM, - & SINS,THMAX,Y4JT,TMNISR,TQWT,XX(2),XLMIN,XXMIN,YBMAX,YBMIN,YJMAX, - & YJMIN,YWWMAX,YWWMIN,WHMIN,ZJMAX,ZMXISR,IAPHIG,IBRN(2),IBSH, - & ICO(10),IDCMF,IDN(10),IFLMAX,IFLMIN,IHPRO,IPRO,MAPQ(6),MAXFL, - & BGSHAT,COLISR,FSTEVT,FSTWGT,GENEV,HVFCEN,TPOL,DURHAM -C -C Arrays for particle properties (NMXRES = max no of particles defined) - PARAMETER(NMXRES=500) - COMMON/HWPROP/RLTIM(0:NMXRES),RMASS(0:NMXRES),RSPIN(0:NMXRES), - & ICHRG(0:NMXRES),IDPDG(0:NMXRES),IFLAV(0:NMXRES),NRES, - & VTOCDK(0:NMXRES),VTORDK(0:NMXRES), - & QORQQB(0:NMXRES),QBORQQ(0:NMXRES) -C - COMMON/HWUNAM/RNAME(0:NMXRES),TXNAME(2,0:NMXRES) -C -C Arrays for particle decays (NMXDKS = max total no of decays, -C NMXMOD = max no of modes for a particle) - PARAMETER(NMXDKS=4000,NMXMOD=200) - COMMON/HWUPDT/BRFRAC(NMXDKS),CMMOM(NMXDKS),DKLTM(NMXRES), - & IDK(NMXDKS),IDKPRD(5,NMXDKS),LNEXT(NMXDKS),LSTRT(NMXRES),NDKYS, - & NME(NMXDKS),NMODES(NMXRES),NPRODS(NMXDKS),DKPSET,RSTAB(0:NMXRES) -C -C Weights used in cluster decays - COMMON/HWUWTS/REPWT(0:3,0:4,0:4),SNGWT,DECWT,QWT(3),PWT(12), - & SWTEF(NMXRES) -C -C Parameters for cluster decays (NMXCDK = max total no of cluster -C decay channels) - PARAMETER(NMXCDK=4000) - COMMON/HWUCLU/CLDKWT(NMXCDK),CTHRPW(12,12),PRECO,RESN(12,12), - & RMIN(12,12),LOCN(12,12),NCLDK(NMXCDK),NRECO,CLRECO -C -C Variables controling mixing and vertex information -C--VTXPIP should have been a 5-vector, problems with NAG compiler - COMMON/HWDIST/EXAG,GEV2MM,HBAR,PLTCUT,VMIN2,VTXPIP(5),XMIX(2), - & XMRCT(2),YMIX(2),YMRCT(2),IOPDKL,MAXDKL,MIXING,PIPSMR -C -C Arrays for temporarily storing heavy-b,c-hadrons decaying partonicaly -C (NMXQDK = max no such decays in an event) - PARAMETER (NMXQDK=20) - COMMON/HWQDKS/VTXQDK(4,NMXQDK),IMQDK(NMXQDK),LOCQ(NMXQDK),NQDK -C -C Parameters for Sudakov form factors -C (NMXSUD= max no of entries in lookup table) - PARAMETER (NMXSUD=1024) - COMMON/HWUSUD/ACCUR,QEV(NMXSUD,6),SUD(NMXSUD,6),INTER,NQEV,NSUD, - & SUDORD -C - PARAMETER (NMXJET=200) -C -C SUSY parameters - COMMON/HWSUSY/ - & TANB,ALPHAH,COSBPA,SINBPA,COSBMA,SINBMA,COSA,SINA,COSB,SINB,COTB, - & ZMIXSS(4,4),ZMXNSS(4,4),ZSGNSS(4), LFCH(16),RFCH(16), - & SLFCH(16,4),SRFCH(16,4), WMXUSS(2,2),WMXVSS(2,2), WSGNSS(2), - & QMIXSS(6,2,2),LMIXSS(6,2,2), - & THETAT,THETAB,THETAL,ATSS,ABSS,ALSS,MUSS,FACTSS, - & GHWWSS(3),GHZZSS(3),GHDDSS(4),GHUUSS(4),GHWHSS(3), - & GHSQSS(4,6,2,2),XLMNSS,RMMNSS,DMSSM,SENHNC(24),SSPARITY,SUSYIN -C -C R-Parity violating parameters and colours - COMMON /HWRPAR/ LAMDA1(3,3,3),LAMDA2(3,3,3), - & LAMDA3(3,3,3),HRDCOL(2,5),RPARTY,COLUPD -C -C Parameters for minimum bias/soft underlying event - COMMON/HWMINB/ - & PMBN1,PMBN2,PMBN3,PMBK1,PMBK2,PMBM1,PMBM2,PMBP1,PMBP2,PMBP3 -C -C Cluster common used by soft event routines - PARAMETER (NMXCL=500) - COMMON/HWCLUS/PPCL(5,NMXCL),IDCL(NMXCL),NCL -C -C Parameters for resonant graviton production - DOUBLE PRECISION GRVLAM,EMGRV,GAMGRV - COMMON/HWGRAV/GRVLAM,EMGRV,GAMGRV -C -C Other new parameters for version 6.2 - DOUBLE PRECISION VIPWID,DXRCYL,DXZMAX,DXRSPH - LOGICAL WZRFR,FIX4JT - INTEGER IMSSM,IHIGGS,PARITY,LRSUSY - COMMON/HW6202/VIPWID(3),DXRCYL,DXZMAX,DXRSPH,WZRFR,FIX4JT, - & IMSSM,IHIGGS,PARITY,LRSUSY -C -C New parameters for version 6.203 - DOUBLE PRECISION ABWGT,ABWSUM,AVABW - INTEGER NNEGWT,NNEGEV - LOGICAL NEGWTS - COMMON/HW6203/ABWGT,ABWSUM,AVABW,NNEGWT,NNEGEV,NEGWTS -C -C New parameters for version 6.3 - INTEGER IMAXCH,IMAXOP - PARAMETER (IMAXCH=20,IMAXOP=40) - DOUBLE PRECISION MJJMIN,CHNPRB(IMAXCH) - INTEGER IOPSTP,IOPSH - LOGICAL OPTM,CHON(IMAXCH) - COMMON/HW6300/MJJMIN,CHNPRB,IOPSTP,IOPSH,OPTM,CHON -C New PDF's for version 6.3 - INTEGER NXMRS,NQMRS,NPMRS - PARAMETER(NXMRS=49,NQMRS=37,NPMRS=8) - DOUBLE PRECISION FMRS(3,NPMRS,NXMRS,NQMRS+1) - COMMON /HWPMRS/FMRS -C Circe interface for version 6.3 - INTEGER CIRCOP,CIRCAC,CIRCVR,CIRCRV,CIRCCH - COMMON /HWCIRC/CIRCOP,CIRCAC,CIRCVR,CIRCRV,CIRCCH -C New parameters and commons for spin correlations -C--constants for the arrays - INTEGER NMXSPN,NCFMAX - PARAMETER(NMXSPN=50,NCFMAX=3) - INTEGER NMODE2,NMODE3,NDIAGR,NMODEB,NMODE4 - PARAMETER(NMODE2=500,NMODE3=500,NDIAGR=8,NMODEB=50,NMODE4=4) -C--common block for X --> X gauge boson - DOUBLE PRECISION ABMODE(2,NMODEB),BBMODE(2,12,NMODEB), - & PBMODE(12,NMODEB),WTBMAX(12,NMODEB) - INTEGER IDBPRT(NMODEB),IBMODE(NMODEB),IBDRTP(NMODEB),NBMODE - COMMON /HWDSPB/ABMODE,BBMODE,PBMODE,WTBMAX,IDBPRT,IBDRTP,IBMODE, - & NBMODE -C--common block for two body decays - DOUBLE PRECISION A2MODE(2,NMODE2),P2MODE(NMODE2),WT2MAX(NMODE2) - INTEGER ID2PRT(NMODE2),I2DRTP(NMODE2),N2MODE - COMMON /HWDSP2/A2MODE,P2MODE,WT2MAX,ID2PRT,I2DRTP,N2MODE -C--common block for three body decays - DOUBLE PRECISION A3MODE(2,NDIAGR,NMODE3),B3MODE(2,NDIAGR,NMODE3), - & P3MODE(NMODE3),WT3MAX(NMODE3),SPN3CF(NCFMAX,NCFMAX,NMODE3) - INTEGER ID3PRT(NMODE3),I3MODE(NDIAGR,NMODE3), - & I3DRTP(NDIAGR,NMODE3),N3MODE,NDI3BY(NMODE3),N3NCFL(NMODE3), - & I3DRCF(NDIAGR,NMODE3) - COMMON /HWDSP3/A3MODE,B3MODE,P3MODE,WT3MAX,SPN3CF,ID3PRT,I3MODE, - & I3DRTP,N3MODE,NDI3BY,N3NCFL,I3DRCF -C--common block for four body decays - DOUBLE PRECISION A4MODE(2,12,NMODE4),B4MODE(2,12,NMODE4), - & P4MODE(12,12,NMODE4),WT4MAX(12,12,NMODE4) - INTEGER ID4PRT(NMODE4),I4MODE(2,NMODE4),N4MODE - COMMON /HWDSP4/A4MODE,B4MODE,P4MODE,WT4MAX,ID4PRT,I4MODE,N4MODE -C--common block for spin correlations in event - INTEGER NDECSY,NSEARCH,LRDEC,LWDEC - LOGICAL SYSPIN,THREEB,FOURB - CHARACTER *6 TAUDEC - COMMON /HWDSPN/NDECSY,NSEARCH,LRDEC,LWDEC,SYSPIN,THREEB, - & FOURB,TAUDEC - - INTEGER IDSPN(NMXSPN),JMOSPN(NMXSPN),JDASPN(2,NMXSPN),NSPN, - & ISNHEP(NMXHEP),NSNTRY,NCFL(NMXSPN),SPCOPT - DOUBLE COMPLEX MESPN(2,2,2,2,NCFMAX,NMXSPN),RHOSPN(2,2,NMXSPN) - DOUBLE PRECISION SPNCFC(NCFMAX,NCFMAX,NMXSPN) - LOGICAL DECSPN(NMXSPN) - COMMON /HWSPIN/MESPN,RHOSPN,SPNCFC,IDSPN,JMOSPN,JDASPN, - & NSPN,ISNHEP,NSNTRY,DECSPN,NCFL,SPCOPT - INTEGER JAK1,JAK2,ITDKRC,IFPHOT - COMMON /HWSTAU/ JAK1,JAK2,ITDKRC,IFPHOT -C -C--common block for Les Houches interface to store information we need -C - INTEGER MAXHRP - PARAMETER (MAXHRP=100) - DOUBLE PRECISION LHWGT(MAXHRP),LHWGTS(MAXHRP),LHMXSM, - & LHXSCT(MAXHRP),LHXERR(MAXHRP),LHXMAX(MAXHRP) - INTEGER LHIWGT(MAXHRP),ITYPLH,LHNEVT(MAXHRP) - LOGICAL LHSOFT,LHGLSF - COMMON /HWGUPR/LHWGT,LHWGTS,LHXSCT,LHXERR,LHXMAX,LHMXSM,LHIWGT, - & LHNEVT,ITYPLH,LHSOFT,LHGLSF -C -C--common block for HERWIG6.5 -C - LOGICAL PRESPL - COMMON /HW6500/ PRESPL diff --git a/Fpmc/CMakeLists.txt b/Fpmc/CMakeLists.txt index 7e45f71..9070a16 100644 --- a/Fpmc/CMakeLists.txt +++ b/Fpmc/CMakeLists.txt @@ -1,16 +1,26 @@ add_subdirectory(External) -include_directories(External ${PROJECT_SOURCE_DIR}/Herwig) + +include_directories(External) +include_directories(${PROJECT_SOURCE_DIR}/Herwig) +include_directories(interface) + +set(fpmc_sources src/fpmc.f src/fpmc_welcome.f src/Fpmc.cc src/FpmcParameters.cc) +if(CERNLIB) + list(APPEND fpmc_sources src/ffkey.f) +endif() +if(HEPMC_LIB) + list(APPEND fpmc_sources src/HepMCWrapper.cc) +endif() #----- core of the generator -add_library(FpmcCore SHARED src/Fpmc.cc src/fpmc.f src/FpmcParameters.cc ${PROJECT_SOURCE_DIR}/Examples/fpmc_welcome.f) +add_library(FpmcCore SHARED ${fpmc_sources}) +if(HEPMC_LIB) + target_link_libraries(FpmcCore ${HEPMC_LIB} ${HEPMC_FIO_LIB}) +endif() set_target_properties(FpmcCore PROPERTIES LINKER_LANGUAGE CXX POSITION_INDEPENDENT_CODE ON) #----- installation procedure install(TARGETS FpmcCore DESTINATION lib) -if(HEPMC_LIB) - add_library(FpmcHepMC SHARED src/HepMCWrapper.cc) - install(TARGETS FpmcHepMC DESTINATION lib) -endif() diff --git a/Fpmc/HERWIG65.INC b/Fpmc/HERWIG65.INC deleted file mode 100644 index c8df3b3..0000000 --- a/Fpmc/HERWIG65.INC +++ /dev/null @@ -1,2 +0,0 @@ -* INCLUDE 'herwig6510.inc' - INCLUDE '../Herwig/herwig6500.inc' diff --git a/Examples/ffcard.inc b/Fpmc/interface/ffcard.inc similarity index 100% rename from Examples/ffcard.inc rename to Fpmc/interface/ffcard.inc diff --git a/Examples/ffcard.f b/Fpmc/src/ffcard.f similarity index 100% rename from Examples/ffcard.f rename to Fpmc/src/ffcard.f diff --git a/Fpmc/src/fpmc.f b/Fpmc/src/fpmc.f index 2006995..687d6fb 100644 --- a/Fpmc/src/fpmc.f +++ b/Fpmc/src/fpmc.f @@ -285,7 +285,7 @@ SUBROUTINE HWCHEK C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' INTEGER IPR INTEGER PDFID, ACTID @@ -716,7 +716,7 @@ SUBROUTINE HWCHEK SUBROUTINE HWMODINI INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' INCLUDE 'CHIDe.inc' c---To pass the relative GAP Srv. prob factor for BL inclusive modified dist. DOUBLE PRECISION GAPSPRREL @@ -1021,7 +1021,7 @@ SUBROUTINE FLUX(F,Z,TMIN,TMAX,IPRO,IND) DOUBLE PRECISION QZERO,EXPARG,ALPHAE,EI DOUBLE PRECISION RZERO,R,BMIN,XM,ZZERO,ARG,F1,F2 DOUBLE PRECISION HWUALF,DGAGNC,DBESK0,DBESK1 - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' EXTERNAL HWUALF,DGAGNC,DBESK0,DBESK1 PARAMETER(ALPHAE=1.D0/137.D0) c... parameters for the Budnev flux (thanks K.Piotrzkowski) @@ -1406,7 +1406,7 @@ SUBROUTINE HWEGAM(IHEP,ZMI,ZMA,WWA) C ELSE EQUIVALENT PHOTON APPROX FROM INCOMING E+, E-, MU+ OR MU- C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION GAPSPRREL COMMON /BLMODIF/ GAPSPRREL @@ -2414,7 +2414,7 @@ SUBROUTINE HWEPRO INCLUDE 'HERWIG65.INC' C ... begin R.S. include 'CHIDe.inc' - INCLUDE 'Fpmc/interface/fpmc.inc' ! To be able to check NFLUX + INCLUDE 'fpmc.inc' ! To be able to check NFLUX C ... end R.S. DOUBLE PRECISION CIRCKP(2) COMMON /HWCIR2/CIRCKP @@ -2948,7 +2948,7 @@ SUBROUTINE HWEXCH C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION HWUALF,HWRGEN,EMH,CSFAC,EMFAC DOUBLE PRECISION TAUT,TAUW,EMW,TAUTR,TAUTI,TAUWR,TAUWI,SUMR, & SUMI,HWIDTH,EPSM,P2OLD,P2NEW @@ -3016,7 +3016,7 @@ SUBROUTINE HWFXER(INIFX) C C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION PMOM,PRESC INTEGER I,J,ISEC,IPOM,IREG LOGICAL INIFX @@ -3308,7 +3308,7 @@ SUBROUTINE HWHIGP C exclusive DPE is calculated. C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION HWUALF,HWHIGT,HWRGEN,HWUSQR,HWUAEM,BRHIGQ,EMH, & CSFAC,EVSUM(13),EMFAC,CV,CA,BR,RWGT,E1,E2,EMQ,GFACTR DOUBLE PRECISION TAUT,TAUW,EMW,TAUTR,TAUTI,TAUWR,TAUWI,SUMR, @@ -3547,7 +3547,7 @@ SUBROUTINE HWHQPM C Anomalous ZZ C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION RCS,HCS,RS,S,EMSQ,BE,TMIN,TMAX,T,U,FACTR,Q,CFAC, $ HWRGEN INTEGER HQ,ID3,ID4,I1,I2 @@ -4120,7 +4120,7 @@ SUBROUTINE HWHQPP C Tibor Kucs, Dec 2003 : C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION RCS,HCS,RS,S,EMSQ,BE,TMIN,TMAX,T,U,FACTR,Q,CFAC, $ HWRGEN,A2,XMSQ,ALPHAS,CHGSUM,FACT,HWUALF,HWHBOX COMPLEX*16 CA1,CM1111,CM1122,CM2211,CM1212,CM2222,CM @@ -4181,7 +4181,7 @@ DOUBLE PRECISION FUNCTION HWHBOX(S,T,U) C Internal quark mass neglected: m_q << U,T,S C----------------------------------------------------------------------- IMPLICIT NONE - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION S,T,U,A2 COMPLEX*16 CA1,CM1111,CM1122,CM2211,CM1212,CM2222,CM EXTERNAL CA1,A2 @@ -4234,7 +4234,7 @@ SUBROUTINE HWINCH C MEAN EVWGT = CHI PRODUCTION C-S * BRANCHING FRACTION IN NB C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION HWUALF,HWHIGT,HWRGEN,HWUSQR,HWUAEM,BRHIGQ,EMH, & CSFAC,EMFAC,CV,CA,RWGT,E1,E2,EMQ,HWIDTH INTEGER IDEC,I,J,ID1,ID2,ICHI,INDEX @@ -4403,7 +4403,7 @@ SUBROUTINE HWSFUN(X,SCALE,IDHAD,NSET,DIST,IBEAM) C CERN_ROOT:[DOC]PDFLIB.TXT ON VXCERN C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' DOUBLE PRECISION HWSGAM,X,SCALE,XOLD,QOLD,XMWN,QSCA,SS,SMIN,S,T, & TMIN,TMAX,VX,AA,VT,WT,UPV,DNV,SEA,STR,CHM,BTM,TOP,GLU,WX,XQSUM, & DMIN,TPMIN,TPMAX,DIST(13),G(2),Q0(5),QL(5),F(5),A(6,5), @@ -5497,7 +5497,7 @@ SUBROUTINE PRINTSETTING C-- prints important user setting C----------------------------------------------------------------------- INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' write(*,*) '' write(*,*) ' FPMC - USER SETTINGS' @@ -5558,7 +5558,7 @@ SUBROUTINE PRINTSETTING SUBROUTINE FPMCDEBUGPART INCLUDE 'HERWIG65.INC' - INCLUDE 'Fpmc/interface/fpmc.inc' + INCLUDE 'fpmc.inc' INTEGER N, IPART, I, ID DOUBLE PRECISION PX, PY, PT, PZ, E, M diff --git a/Examples/fpmc_welcome.f b/Fpmc/src/fpmc_welcome.f similarity index 100% rename from Examples/fpmc_welcome.f rename to Fpmc/src/fpmc_welcome.f