1. 24 Jan, 2019 1 commit
    • Enrico Bothmann's avatar
      Rewrite settings input using YAML · eb96f45c
      Enrico Bothmann authored
      This commit closes #10.
      - Replace custom configuration parsing and format with a YAML-based
      - Improve implementation of settings handling to enable features such
        - Generally only specify defaults once in the code, not scattered
          throughout with possibly different values
        - Print comprehensive report of values used for each setting at the
          end of a run
        - Warn when a setting is specified that is not used during a run (this
          is foreseen and now possible, but not implemented yet)
      NOTE: This is a squashed commit to keep the commit history of master
      simple. The full history of the development branch will be retained as
      10-rewrite-settings-input+commit-history in case it is needed, e.g. to
      find a (small) changeset that introduced a bug using git-bisect.
      A good example for new syntax is:
      The command line can process words using the YAML syntax, but also
      supports the old legacy syntax, at least for scalar settings.
      In the code, setting default settings and getting the resolved value
      for a setting can be done e.g. as follows:
      auto hds = Settings::GetMainSettings()["HARD_DECAYS"];
      const auto apply_br
        = hds["Apply_Branching_Ratios"].SetDefault(true).Get<bool>();
      Note also that Sherpa can now process several configuration files:
      `Sherpa "RUNDATA: [1.yaml, 2.yaml, ...]"`, with settings in files to the
      right taking precedence over settings in files to the left. This can be
      useful for specifying base set-ups and then deriving specialisations.
      A more detailed discussion of the new settings architecture is given
      (accessing this link might require developer access to the repository).
      Lastly, note that physics results are guaranteed to stay the same after
      this commit. If you find that to be not true, please contact me. When
      soft physics is used, numerics sometimes causes the statistics not to be
      the same after this commit. However, I've got some patches to mitigate
      this to some degree. So in any case, contact me if you find differences
      between results generated with this commit and the preceding one.
  2. 23 Jan, 2019 1 commit
  3. 17 Jan, 2019 4 commits
  4. 29 Oct, 2018 6 commits
    • Enrico Bothmann's avatar
      Fix non-critical compiler warnings · 01710efd
      Enrico Bothmann authored
      - Make ||/&& precedence explicit
      - Fix wrong return value for a member function
    • Enrico Bothmann's avatar
      Do not exit after Hadronize->New_Event · d37bb833
      Enrico Bothmann authored
      Instead, pass the New_Event through, so we can continue the event
    • Frank Krauss's avatar
      Establish rescue system for light beam clusters · 3cc08b30
      Frank Krauss authored
      Check the addition of soft gluons at a later point---it may change
      forward jet behaviour.
    • Frank Krauss's avatar
      Fix double free exception in DIS events · 334c7cfd
      Frank Krauss authored
      Passes 1M events for LHC & DIS now
    • Frank Krauss's avatar
      Improve rescue system in for light beam clusters · 3ee7e828
      Frank Krauss authored
      ... in AHADIC, this is relevant for DIS. One problem still is remaining
      for light beam clusters including massless heavy quarks.
    • Enrico Bothmann's avatar
      Disable exit on Singlet_Checker pair mass check · fed41d63
      Enrico Bothmann authored
      This check had been introduced with 5ecdffec. It failed very quickly
      e.g. for Examples/CI/LO_Z and thus made this test suite impractical to
      find other issues.
      I still print an error (albeit at a lower check accuracy, i.e. more
      rarely), because the underlying issue might need to be fixed. I'll open
      an issue for that.
      This commit also lets the Taylor expansion in the kinematic limit for
      gluon splitting kick in much less frequently. It's now more adapted to
      the accuracy of the internal check of the gluon splitter,
      Gluon_Splitter::CheckKinematics, such that we have much less fails of
      this check.
      You can see this in the following table. There is a sweet spot at using
      the Taylor expansion when the kinematic ratios that are the small
      parameters in the expansion exceed 1e6 (note that the kinematic checks
      happen at an accuracy of 1e-6). Apparently, if not using the expansion
      at all the numerical inaccuracy in the limit also leads to the kinematic
      checker to declare failure. But using it too often obviously at some
      point leads to the same, because then the error of the expansion gets
      too large.
      | Ratio at which the Taylor expansion is used | #kinematic fails | #taylor expansions |
      | 8                                           | 4                | 0                  |
      | 7                                           | 4                | 7                  |
      | 6                                           | 1                | 74                 |
      | 5                                           | 302              | 545                |
      This was determined using the Examples/CI/LO_Z with 1k events and
      Note that using the Taylor expansion more rarely might lead to a
      non-deterministic result for the event generation when comparing
      different branches that should have the same result. This was the reason
      to introduce the expansion in the first place, cf. #97. This needs to be
      checked (and will be as part of validating !28).
  5. 17 Oct, 2018 2 commits
    • Enrico Bothmann's avatar
      Use Taylor expansion to set x, y in Gluon_Splitter · 3d40e1f7
      Enrico Bothmann authored
      ... when the kinematic limit for x, y is approached (i.e. for
      x,y -> 1.0).
      Fixes #97
      Improves on the solution found in 53d5ed80.
      (cherry picked from commit 8a23a3ba8a1b69677c8322b9733686eef9997be1)
    • Frank Krauss's avatar
      Set y in Gluon_Splitter to 1.0 when x->1.0 · 5ecdffec
      Frank Krauss authored
      Mitigates #97 by avoiding numerically unstable calculation
      Add additional check for negative energies and squared masses in Singlet_Checker
      (cherry picked and amended from commits
      2a32e9e7a2c60169e2731319fce7fc5cf444b6cd and
  6. 28 Sep, 2018 1 commit
  7. 24 Jun, 2018 1 commit
  8. 14 Jun, 2018 1 commit
  9. 12 Jun, 2018 3 commits
    • Frank Krauss's avatar
    • Frank Krauss's avatar
      Re-enable DIS remnant handling · 668ffacf
      Frank Krauss authored
      Fix other small issues:
      - Treatment of absent beam particles in heavy hadron decays
      - Add four-momentum checks on shower blobs
      - Fix bug with transition to parton showers for massive particles
      - Tidy up files
    • Frank Krauss's avatar
      Implement new AMISIC and remnannt handling · 7c2b1d2b
      Frank Krauss authored
       - Functional for simple LEP- and LHC-type events
       - Minor bug-fixes in AHADIC
       - Minor updates to ATOOLS to allow for better conservation-law checks
         in blobs
       - Pull remnants out of the ISR_Handler in CSS and out of PDF into a new
         remnant handler, adding the logic of colour extraction
       - Move mass mode to allow AMISIC to have access to the Mass_Selector
       - AMISIC and REMNANTS are ready to be tuned
  10. 15 May, 2018 1 commit
  11. 10 Apr, 2018 1 commit
  12. 26 Mar, 2018 1 commit
  13. 17 Mar, 2018 1 commit
  14. 13 Feb, 2018 1 commit
  15. 12 Feb, 2018 1 commit
  16. 11 Feb, 2018 1 commit
  17. 09 Feb, 2018 1 commit
  18. 08 Feb, 2018 1 commit
  19. 24 Jan, 2018 1 commit
  20. 23 Jan, 2018 2 commits
  21. 11 Jan, 2018 1 commit
  22. 21 Dec, 2017 1 commit
  23. 18 Dec, 2017 1 commit
  24. 17 Dec, 2017 1 commit
  25. 15 Dec, 2017 1 commit
  26. 12 Dec, 2017 1 commit
  27. 04 Oct, 2017 1 commit
  28. 28 Aug, 2017 1 commit