diff --git a/doc/sphinx/HEJ.rst b/doc/sphinx/HEJ.rst index 5beb42e..dec29bc 100644 --- a/doc/sphinx/HEJ.rst +++ b/doc/sphinx/HEJ.rst @@ -1,279 +1,282 @@ .. _`Running HEJ 2`: Running HEJ 2 ============= Quick start ----------- In order to run HEJ 2, you need a configuration file and a file containing fixed-order events. A sample configuration is given by the :file:`config.yml` file distributed together with HEJ 2. Events in the Les Houches Event File format can be generated with standard Monte Carlo generators like `MadGraph5_aMC@NLO <https://launchpad.net/mg5amcnlo>`_ or `Sherpa <https://sherpa.hepforge.org/trac/wiki>`_. HEJ 2 assumes that the cross section is given by the sum of the event weights. Depending on the fixed-order generator it may be necessary to adjust the weights in the Les Houches Event File accordingly. The processes supported by HEJ 2 are - Pure multijet production - Production of a Higgs boson with jets .. - *TODO* Production of a W boson with jets - *TODO* Production of a Z boson or photon with jets where at least two jets are required in each case. For the time being, only leading-order events are supported. After generating an event file :file:`events.lhe` adjust the parameters under the `fixed order jets`_ setting in :file:`config.yml` to the settings in the fixed-order generation. Resummation can then be added by running:: HEJ config.yml events.lhe Using the default settings, this will produce an output event file :file:`HEJ.lhe` with events including high-energy resummation. .. _`HEJ 2 settings`: Settings -------- HEJ 2 configuration files follow the `YAML <http://yaml.org/>`_ format. The following configuration parameters are supported: .. _`trials`: **trials** High-energy resummation is performed by generating a number of - resummation phase space configurations corresponding to the input + resummation phase space configurations corresponding to an input fixed-order event. This parameter specifies how many such configurations HEJ 2 should try to generate for each input event. Typical values vary between 10 and 100. .. _`min extparton pt`: **min extparton pt** Specifies the minimum transverse momentum in GeV of the most forward and the most backward parton. This setting is needed to regulate an otherwise uncancelled divergence. Its value should be slightly below the minimum transverse momentum of jets specified by `resummation jets: min pt`_. See also the `max ext soft pt fraction`_ setting. .. _`max ext soft pt fraction`: **max ext soft pt fraction** Specifies the maximum fraction that soft radiation can contribute to the transverse momentum of each the most forward and the most backward jet. Values between around 0.05 and 0.1 are recommended. See also the `min extparton pt`_ setting. .. _`fixed order jets`: **fixed order jets** This tag collects a number of settings specifying the jet definition in the event input. The settings should correspond to the ones used in the fixed-order Monte Carlo that generated the input events. .. _`fixed order jets: min pt`: **min pt** Minimum transverse momentum in GeV of fixed-order jets. .. _`fixed order jets: algorithm`: **algorithm** The algorithm used to define jets. Allowed settings are :code:`kt`, :code:`cambridge`, :code:`antikt`, :code:`cambridge for passive`. See the `FastJet <http://fastjet.fr/>`_ documentation for a description of these algorithms. .. _`fixed order jets: R`: **R** The R parameter used in the jet algorithm, roughly corresponding to the jet radius in the plane spanned by the rapidity and the azimuthal angle. .. _`resummation jets`: **resummation jets** This tag collects a number of settings specifying the jet definition in the observed, i.e. resummed events. These settings are optional, by default the same values as for the `fixed order jets`_ are assumed. .. _`resummation jets: min pt`: **min pt** Minimum transverse momentum in GeV of resummation jets. This should be between 25% and 50% larger than the minimum transverse momentum of fixed order jets set by `fixed order jets: min pt`_. .. _`resummation jets: algorithm`: **algorithm** The algorithm used to define jets. The HEJ 2 approach to resummation relies on properties of :code:`antikt` jets, so this value is strongly recommended. For a list of possible other values, see the `fixed order jets: algorithm`_ setting. .. _`resummation jets: R`: **R** The R parameter used in the jet algorithm. .. _`FKL`: **FKL** - Specifies how to treat FKL events. The possible values are - :code:`reweight` to enable resummation, :code:`keep` to keep the - events as they are up to a possible change of renormalisation and - factorisation scale, and :code:`discard` to discard these events. + Specifies how to treat events respecting FKL rapidity ordering. These + configurations are dominant in the high-energy limit. The possible + values are :code:`reweight` to enable resummation, :code:`keep` to + keep the events as they are up to a possible change of + renormalisation and factorisation scale, and :code:`discard` to + discard these events. .. _`unordered`: **unordered** Specifies how to treat events with one emission that does not respect - FKL ordering. The possible values are the same as for the `FKL`_ - setting, but :code:`reweight` may not be supported for all process - types. - + FKL ordering. In the high-energy limit, such configurations are + logarithmically suppressed compared to FKL configurations. The + possible values are the same as for the `FKL`_ setting, but + :code:`reweight` is currently only supported for Higgs boson plus + jets production. .. _`non-HEJ`: **non-HEJ** Specifies how to treat events where no resummation is possible. The allowed values are :code:`keep` to keep the events as they are up to a possible change of renormalisation and factorisation scale and :code:`discard` to discard these events. .. _`scales`: **scales** Specifies the renormalisation and factorisation scales for the output events. This can either be a single entry or a list :code:`[scale1, scale2, ...]`. For the case of a list the first entry defines the central scale. Possible values are fixed numbers to set the scale in GeV or the following: - :code:`H_T`: The sum of the scalar transverse momenta of all final-state particles - :code:`max jet pperp`: The maximum transverse momentum of all jets - :code:`jet invariant mass`: Sum of the invariant masses of all jets - :code:`m_j1j2`: Invariant mass between the two hardest jets. Scales can be multiplied or divided by an overall factor, e.g. :code:`H_T/2`. It is also possible to import scales from an external library, see :ref:`Custom scales` .. _`scale factors`: **scale factors** A list of numeric factors by which each of the `scales`_ should be multiplied. Renormalisation and factorisation scales are varied independently. For example, a list with entries :code:`[0.5, 2]` would give the four scale choices (0.5μ\ :sub:`r`, 0.5μ\ :sub:`f`); (0.5μ\ :sub:`r`, 2μ\ :sub:`f`); (2μ\ :sub:`r`, 0.5μ\ :sub:`f`); (2μ\ :sub:`r`, 2μ\ :sub:`f`) in this order. The ordering corresponds to the order of the final event weights. .. _`max scale ratio`: **max scale ratio** Specifies the maximum factor by which renormalisation and factorisation scales may difer. For a value of :code:`2` and the example given for the `scale factors`_ the scale choices (0.5μ\ :sub:`r`, 2μ\ :sub:`f`) and (2μ\ :sub:`r`, 0.5μ\ :sub:`f`) will be discarded. .. _`log correction`: **log correction** Whether to include corrections due to the evolution of the strong coupling constant in the virtual corrections. Allowed values are :code:`true` and :code:`false`. .. _`event output`: **event output** Specifies the name of a single event output file or a list of such files. The file format is either specified explicitly or derived from the suffix. For example, :code:`events.lhe` or, equivalently :code:`Les Houches: events.lhe` generates an output event file :code:`events.lhe` in the Les Houches format. The supported formats are - :code:`file.lhe` or :code:`Les Houches: file`: The Les Houches event file format. - :code:`file.hepmc` or :code:`HepMC: file`: The HepMC format. .. _`random generator`: **random generator** Sets parameters for random number generation. .. _`random generator: name`: **name** Which random number generator to use. Currently, :code:`mixmax` - and :code:`ranlux64` are implemented. Mixmax is recommended. See + and :code:`ranlux64` are supported. Mixmax is recommended. See the `CLHEP documentation <http://proj-clhep.web.cern.ch/proj-clhep/index.html#docu>`_ for details on the generators. .. _`random generator: seed`: **seed** The seed for random generation. This should be a single number for :code:`mixmax` and the name of a state file for :code:`ranlux64`. .. _`analysis`: **analysis** Name and Setting for the event analyses; either a custom analysis plugin or Rivet. For the first the :code:`plugin` sub-entry should be set to the analysis file path. All further entries are passed on to the analysis. To use Rivet a list of Rivet analyses have to be given in :code:`rivet` and prefix for the yoda file has to be set through :code:`output`. See :ref:`Writing custom analyses` for details. .. _`Higgs coupling`: **Higgs coupling** This collects a number of settings concerning the effective coupling of the Higgs boson to gluons. This is only relevant for the production process of a Higgs boson with jets and only supported if HEJ 2 was compiled with `QCDLoop <https://github.com/scarrazza/qcdloop>`_ support. .. _`Higgs coupling: use impact factors`: **use impact factors** Whether to use impact factors for the coupling to the most forward and most backward partons. Impact factors imply the infinite top-quark mass limit. .. _`Higgs coupling: mt`: **mt** The value of the top-quark mass in GeV. If this is not specified, the limit of an infinite mass is taken. .. _`Higgs coupling: include bottom`: **include bottom** Whether to include the Higgs coupling to bottom quarks. .. _`Higgs coupling: mb`: **mb** The value of the bottom-quark mass in GeV. Only used for the Higgs coupling, external bottom-quarks are always assumed to be massless. diff --git a/doc/sphinx/HEJFOG.rst b/doc/sphinx/HEJFOG.rst index 42c8af6..53ed660 100644 --- a/doc/sphinx/HEJFOG.rst +++ b/doc/sphinx/HEJFOG.rst @@ -1,281 +1,291 @@ The HEJ Fixed Order Generator ============================= For high jet multiplicities event generation with standard fixed-order generators becomes increasingly cumbersome. For example, the leading-order production of a Higgs Boson with five or more jets is computationally prohibitively expensive. To this end, HEJ 2 provides the ``HEJFOG`` fixed-order generator that allows to generate events with high jet multiplicities. To facilitate the computation the limit of Multi-Regge Kinematics with large invariant masses between all outgoing particles is assumed in the matrix elements. The typical use of the ``HEJFOG`` is to supplement low-multiplicity events from standard generators with high-multiplicity events before using the HEJ 2 program to add high-energy resummation. Installation ------------ The ``HEJFOG`` comes bundled together with HEJ 2 and the installation is very similar. After downloading HEJ 2 and installing the prerequisites as described in :ref:`Installation` the ``HEJFOG`` can be installed with:: cmake /path/to/FixedOrderGen -DCMAKE_INSTALL_PREFIX=target/directory -DCMAKE_BUILD_TYPE=Release make install where :file:`/path/to/FixedOrderGen` refers to the :file:`FixedOrderGen` subdirectory in the HEJ 2 directory. If HEJ 2 was installed to a non-standard location, it may be necessary to specify the directory containing :file:`HEJ-config.cmake`. If the base installation directory is :file:`/path/to/HEJ`, :file:`HEJ-config.cmake` should be found in :file:`/path/to/HEJ/lib/cmake/HEJ` and the commands for installing the ``HEJFOG`` would read:: cmake /path/to/FixedOrderGen -DHEJ_DIR=/path/to/HEJ/lib/cmake/HEJ -DCMAKE_INSTALL_PREFIX=target/directory -DCMAKE_BUILD_TYPE=Release make install The installation can be tested with:: make test provided that the NNPDF 3.0 PDF set is installed. Running the fixed-order generator --------------------------------- After installing the ``HEJFOG`` you can modify the provided configuration file :file:`configFO.yml` and run the generator with:: HEJFOG configFO.yml The resulting event file, by default named :file:`HEJFO.lhe`, can then be fed into HEJ 2 like any event file generated from a standard fixed-order generator, see :ref:`Running HEJ 2`. Settings -------- Similar to HEJ 2, the ``HEJFOG`` uses a `YAML <http://yaml.org/>`_ configuration file. The settings are .. _`process`: **process** The scattering process for which events are being generated. The format is :code:`in1 in2 => out1 out2 ...` The incoming particles, :code:`in1`, :code:`in2` can be - quarks: :code:`u`, :code:`d`, :code:`u_bar`, and so on - gluons: :code:`g` - protons :code:`p` or antiprotons :code:`p_bar` At most one of the outgoing particles can be a boson, the rest has to be partonic. At the moment only the Higgs boson :code:`h` is supported. All other outgoing particles are jets. Multiple jets can be grouped together, so :code:`p p => h j j` is the same as :code:`p p => h 2j`. There have to be at least two jets. Further decays of the boson can be added through the :ref:`particle properties<particle properties: particle: decays>`. .. _`events`: **events** Specifies the number of events to generate. .. _`jets`: **jets** Defines the properties of the generated jets. .. _`jets: min pt`: **min pt** Minimum jet transverse momentum in GeV. .. _`jets: peak pt`: **peak pt** Optional setting to specify the dominant jet transverse momentum in GeV. If the generated events are used as input for HEJ resummation, this should be set to the minimum transverse momentum of the resummation jets. The effect is that only a small fraction of jets will be generated with a transverse momentum below the value of this setting. .. _`jets: algorithm`: **algorithm** The algorithm used to define jets. Allowed settings are :code:`kt`, :code:`cambridge`, :code:`antikt`, :code:`cambridge for passive`. See the `FastJet <http://fastjet.fr/>`_ documentation for a description of these algorithms. .. _`jets: R`: **R** The R parameter used in the jet algorithm. .. _`jets: max rapidity`: **max rapidity** Maximum absolute value of the jet rapidity. .. _`beam`: **beam** Defines various properties of the collider beam. .. _`beam: energy`: **energy** The beam energy in GeV. For example, the 13 TeV LHC corresponds to a value of 6500. .. _`beam: particles`: **particles** A list :code:`[p1, p2]` of two beam particles. The only supported entries are protons :code:`p` and antiprotons :code:`p_bar`. .. _`pdf`: **pdf** The `LHAPDF number <https://lhapdf.hepforge.org/pdfsets>`_ of the PDF set. For example, 230000 corresponds to an NNPDF 2.3 NLO PDF set. .. _`subleading fraction`: **subleading fraction** - This setting is related to the fraction of events, that are not a FKL - configuration. Currently only unordered emissions are implemented, and only - for Higgs plus multijet processes. - Typically, this value should be between 0.01 and 0.1. + This setting is related to the fraction of events that are not FKL + configurations and thus subleading in the high-energy + limit. Currently only unordered emissions are implemented, and only + for Higgs boson plus multijet processes. This value must be positive + and less than 1. It should typically be chosen between 0.01 and + 0.1. Note that while this parameter influences the chance of + generating subleading configurations, it generally does not + correspond to the actual fraction of subleading events. .. _`subleading channels`: **subleading channels** - Optional parameters to select a specific unordered process, multiple - channels can be selected at once. Only matters if :code:`subleading fraction` - is non-zero. Currently three values are allowed: - - - :code:`all`: All channels allowed, default if nothing else set - - :code:`none`: No subleading contribution, only FKL allowed - Equivalent to :code:`subleading fraction: 0` - - :code:`unordered`: Unordered emission allowed - Unordered emission are any rapidity ordering, where exactly one gluon is - emitted outside the rapidity ordering required in FKL events. More + Optional parameter to select the production of specific channels that + are subleading in the high-energy limit. Only has an effect if + :code:`subleading fraction` is non-zero. Currently three values are + supported: + + - :code:`all`: All subleading channels are allowed. This is the default. + - :code:`none`: No subleading contribution, only FKL configurations + are allowed. This is equivalent to :code:`subleading fraction: 0`. + - :code:`unordered`: Unordered emission are allowed. + + Unordered emission are any rapidity ordering where exactly one + gluon is emitted outside the FKL rapidity ordering. More precisely, if at least one of the incoming particles is a quark or antiquark and there are more than two jets in the final state, - :code:`subleading fraction` states the probability that the flavours - of the outgoing particles are assigned in such a way that an unordered - configuration arises. + :code:`subleading fraction` states the probability that the + flavours of the outgoing particles are assigned in such a way that + an unordered configuration arises. .. _`unweight`: **unweight** This setting defines the parameters for the partial unweighting of events. You can disable unweighting by removing this entry from the configuration file. .. _`unweight: sample size`: **sample size** The number of weighted events used to calibrate the unweighting. A good default is to set this to the number of target `events`_. If the number of `events`_ is large this can lead to significant memory consumption and a lower value should be chosen. Contrarily, for large multiplicities the unweighting efficiency becomes worse and the sample size should be increased. .. _`unweight: max deviation`: **max deviation** Controls the range of events to which unweighting is applied. A larger value means that a larger fraction of events are unweighted. Typical values are between -1 and 1. .. _`particle properties`: **particle properties** Specifies various properties of the different particles (Higgs, W or Z). This is only relevant if the chosen `process`_ is the production of the corresponding particles with jets. E.g. for the `process`_ :code:`p p => h 2j` the :code:`mass`, :code:`width` and (optionally) :code:`decays` of the :code:`Higgs` boson are required, while all other particle properties will be ignored. .. _`particle properties: particle`: - **Higgs, Wp, Wm or Z** - Name of the boson. Can be any of the once above. + **Higgs, W+, W- or Z** + The particle (Higgs, |W+|, |W-|, Z) for which the following + properties are defined. + + .. |W+| replace:: W\ :sup:`+` + .. |W-| replace:: W\ :sup:`-` .. _`particle properties: particle: mass`: **mass** The mass of the particle in GeV. .. _`particle properties: particle: width`: **width** The total decay width of the particle in GeV. .. _`particle properties: particle: decays`: **decays** Optional setting specifying the decays of the particle. Only the decay into two particles is implemented. Each decay has the form :code:`{into: [p1,p2], branching ratio: r}` where :code:`p1` and :code:`p2` are the particle names of the decay product (e.g. :code:`photon`) and :code:`r` is the branching ratio. Decays of a Higgs boson are treated as the production and subsequent decay of an on-shell Higgs boson, so decays into e.g. Z bosons are not supported. .. _`scales`: **scales** Specifies the renormalisation and factorisation scales for the output events. For details, see the corresponding entry in the HEJ 2 :ref:`HEJ 2 settings`. Note that this should usually be a single value, as the weights resulting from additional scale choices - will simply be ignored by HEJ 2. + will simply be ignored when adding high-energy resummation with HEJ 2. .. _`event output`: **event output** Specifies the name of a single event output file or a list of such files. See the corresponding entry in the HEJ 2 :ref:`HEJ 2 settings` for details. .. _`RanLux init`: .. _`random generator`: **random generator** Sets parameters for random number generation. See the HEJ 2 :ref:`HEJ 2 settings` for details. .. _`analysis`: **analysis** Specifies the name and settings for a custom analysis library. This can be useful to specify cuts at the fixed-order level. See the corresponding entry in the HEJ 2 :ref:`HEJ 2 settings` for details. .. _`Higgs coupling`: **Higgs coupling** This collects a number of settings concerning the effective coupling of the Higgs boson to gluons. See the corresponding entry in the HEJ 2 :ref:`HEJ 2 settings` for details.