Occasionally it is useful to interface to fast detector simulations for
phenomenological studies. Two of the publically available programs AcerDet
and​PGS are written in FORTRAN and use the HEPEVT common block to obtain the
event information.

Interfacing to these programs from is tricky as the HepMC event record must be
converted to HepEVT and passed to the FORTRAN. We provide an interface to both
AcerDet and PGS in the Contrib directory of Herwig, however we warn the user
that due to the issues with converting between FORTRAN and C++ these
interfaces are not as robust as the rest of the code.

In order to run the AcerDet interface ThePEG must be configured to use
HepMC as this is used to convert to the FORTRAN HEPEVT common block, also
for compatibilty with the FORTRAN HepMC should be configured to use units of
GeV and mm.

AcerDet can be obtained from the AcerDet web-page. By default AcerDet is
compiled with g77. It will compile using gfortran versions after 4.3 which
include support for the -finit-local-zero option which AcerDet
requires. Herwig should be configured to use the same FORTRAN compiler as you
use to compile AcerDet. In addition there is a minor bug in AcerDet’s
ACDHERWIG6 routine which requires the line

N=NHEP

to be added after the declarations at the top of the routine and before

DO180I=1,N

The Makefile in the directory Contrib/AcerDetInterface will contain the
correct paths to most of the code, however you will have to change the
location of AcerDet, CERNLIB, and perhaps HepMC to the locations
of your version. In recent versions there may be no phtools library in
cernlib which can be reomved in the makefile and on 64-bit systems problems
with HBOOK. AcerDet does not really need HBOOK so you can comment the
HLIMIT and HOUTPU lines out in AcerDet_files.f in the interface
and all calls to HBOOK, HF1 and HOPERA in the AcerDet code.

A simple example analysis ZAnalysis which plots the reconstructed mass of the
Z boson at both hadron and detector level is included.

The PGS program can be obtained from the PGS web-page. The most recent
version, as of writing PGS-120611, uses gfortran however the -fPIC option
needs to be added to the COMPILE-ARGS in the top level makefile and in
the CFLAGS and FFLAGS relevant for your operating system in
src/stdhep-dir/mcfio/arch_mcfiosrc/stdhep-dir/src/stdhep_Arch.

In order to run the PGS interface ThePEG must be configured to use HepMC
as this is used to convert to the FORTRAN HEPEVT common block, also for
compatibilty with the FORTRAN HepMC should be configured to use units of GeV
and mm.

The Makefile in the directory Contrib/PGSInterface will contain the
correct paths to most of the code, however you will have to change the
location of PGS, CERNLIB, and perhaps HepMC to the locations of
your version.

A simple example analysis ZAnalysis which plots the reconstructed mass of the
Z boson at both hadron and detector level is included.

Reading of Les Houches accord files supports reading of multiple alternative
weights as described in the Les Houches Event Files
section. The MultiWeight analysis provides an example on how to access the
multiple weights.

It will output any optional weights according to their ‘internal’ tags. The
handler currently handles, apart from the multiple weights: FxFx tags, aMCFast
weights and MadGraph5 clustering and scale information.

The FxFx merging module consists of a Les Houches accord file reader that
handles the FxFx-related tags, and a shower handler that performs the merging
of the NLO events generated with MadGraph/AMC@NLO with the Herwig parton
shower. An associated analysis, FxFxAnalysis is provided to allow running
multiple weights within Rivet.

Note that the module has only been tested for W+jets and Z+jets events at 7
and 8 TeV. Other processes will be supported in future releases.

The file LHC-FxFx-Rivet-Wjets-15.0.in provides an example on how to load the
Les Houches accord files from MadGraph/AMC@NLO.

The highest-multiplicity sample should be set prior to running. For example,
if the events consist of Z+0 jets@NLO, Z+1 jets@NLO and Z+2 jets@NLO then the
following should be set

setFxFxHandler:njetsmax2

Options for the merging algorithm should also be set

cd/Herwig/ShowersetFxFxHandler:VetoIsTurnedOffVetoingIsOn# Is this the highest multiplicity ME in merging?# merging scalesetFxFxHandler:ETClus15.0*GeV# Cone size used in clustering in merging.setFxFxHandler:RClus1.0# Max |eta| for jets in clustering in merging.setFxFxHandler:EtaClusMax10# Default 1.5 factor used to decide if a jet matches a parton# in merging: if DR(parton,jet)<rclusfactor*rclus the parton# and jet are said to have been matched.setFxFxHandler:RClusFactor1.5

The FxFxAnalysis provides an interface to Rivet just as the default RivetAnalysis