Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DQM: new DQMStore. #28622

Merged
merged 112 commits into from
Feb 10, 2020
Merged

DQM: new DQMStore. #28622

merged 112 commits into from
Feb 10, 2020

Commits on Feb 3, 2020

  1. WIP: import the new DQMStore header.

    And implementation stubs as well. Needs lots of adaptions.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    7953ff4 View commit details
    Browse the repository at this point in the history
  2. Some more fixes to make DQM/ compile.

    DQMGlobalEDAnalyzer might need an import from the new DQMStore branch.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    c7eb529 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    63ab033 View commit details
    Browse the repository at this point in the history
  4. Code-format.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    4697c3a View commit details
    Browse the repository at this point in the history
  5. Remove enableMultiThread and other unsupported stuff

    ... from the IO modules. Getting the semantics right will be future
    work.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    5665422 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4549174 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a601d5 View commit details
    Browse the repository at this point in the history
  8. Remove old includes.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    d318e19 View commit details
    Browse the repository at this point in the history
  9. Restructure more headers.

    Mostly to get QReports into MEData. More random changes to make things
    compile. DQMStore.h is now un-templated, since we don't need the
    templated declarations for now.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    2b71978 View commit details
    Browse the repository at this point in the history
  10. Some formatting change.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    7cc564c View commit details
    Browse the repository at this point in the history
  11. Allow passing a lambda to book*() calls.

    This should only be called when a new object is needed, and can freely
    modify the ROOT object.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    7d0603e View commit details
    Browse the repository at this point in the history
  12. Implement more booking

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    7804282 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5e1010c View commit details
    Browse the repository at this point in the history
  14. Setup more booking logic.

    Including the heterogeneous queries into the DQMStore sets.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    26b29f6 View commit details
    Browse the repository at this point in the history
  15. Implement enterLumi/leaveLumi.

    This is the hard part -- at least half of it. This logic creates clones
    if and only if they are required.
    
    The other half is the cleanup code to run after saving, that needs to
    delete all clones but a prototype after saving.
    
    Not entirely sure yet what to do with harvesting -- we will have global
    and local MEs as well, but I am not sure yet if we should separate them
    by module ID. get*() will probably just return global MEs.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    079f18d View commit details
    Browse the repository at this point in the history
  16. Changes to make everything compile.

    This includes adding a restriction to the tempalte callback argument for
    the booking calls to prevent ambiguities.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    ba2289b View commit details
    Browse the repository at this point in the history
  17. Updates and fixes around DQMNet::CoreObject.

    plus some bugfixes in other places.
    
    syncCoreObject is pretty inefficient, and in general I replaced many
    complicated, efficient things with slow, safe, value-based code. The
    hope is that the compiler will optimize away some of the values and that
    this code does not run much anyways. Later improvements are possible.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    b443f53 View commit details
    Browse the repository at this point in the history
  18. Implement some booking logic.

    Not sure if it works at all, for now.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    08c05be View commit details
    Browse the repository at this point in the history
  19. Remove the dirname* optimization from DQMNet.

    Since we can have MEs whithout data attached, we need to keep a copy of
    the name somewhere: Either by using a map or inside the ME. Since
    DQMNet::CoreObject already has the name, we also use it to store the
    path.
    
    Doing that with this optimization would be possible, but complicated, so
    I just removed it with the minimum amount of changes.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    7f6fe76 View commit details
    Browse the repository at this point in the history
  20. Fix some more logic bugs.

    Incluing adding an API to MonitorElement to check if there actually if
    there actually is data inside it.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    89f3874 View commit details
    Browse the repository at this point in the history
  21. Implement transition watching and cleanup.

    This completes the ME life cycle.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    661699e View commit details
    Browse the repository at this point in the history
  22. Import DQMRootSource from @andrius-k.

    Using commit 70fc23c on his "new
    DQMstore" branch.
    
    This might revert changes from cms-sw#28064, needs to be fixed later.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    48dce79 View commit details
    Browse the repository at this point in the history
  23. Code-format.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    f3ecb65 View commit details
    Browse the repository at this point in the history
  24. Re-add DQMStore dependence.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    155fc2a View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    bebd00c View commit details
    Browse the repository at this point in the history
  26. Add changes from @dan131riley as in cms-sw#28064.

    Not tested yet.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    3fc7e5c View commit details
    Browse the repository at this point in the history
  27. Ooops... some perf fixes

    ... to make things acceptably fast. The make_tuple in MEComparison is
    another hotspot, not fixed here.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    01bd412 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    d7d8bba View commit details
    Browse the repository at this point in the history
  29. Implement reScope option.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    03f46f4 View commit details
    Browse the repository at this point in the history
  30. Fix a few bugs to get DQMIO round trip to work.

    Including reScope for harvesting!
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    d0231af View commit details
    Browse the repository at this point in the history
  31. Some random changes to survive 136.85 step3.

    The main thing is to make sure that only Scope::RUN histograms are used
    in dqmEndRun. The changes here are more than required, but still not
    complete.
    
    In the longer term, we may want to restrict dqmEndRun to
    DQMOneEDAnalyzer and completely ban endJob in DQM*EDAnalyzer.
    The manual setScope would not be required then, since DQMOneEDAnalyzer
    would use RUN scope by default.
    
    Alternatively, we *could* support endRun in edm::stream, running it only
    on a single stream, but that is unnecessarily complicated.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    1a4063d View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    11c3be5 View commit details
    Browse the repository at this point in the history
  33. Call enterLumi also before booking.

    This is needed if there are multiple runs, and we book multiple times,
    to make sure the old histograms are already prepared in booking.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    1ed3afd View commit details
    Browse the repository at this point in the history
  34. Some fixes to make more DQMIO tests pass.

    Involves bugfixes in DQMStore as well as the DQMRootSource.
    The current cleanup logic is pretty much dommed to fail, and it is not
    really possible to get DummyReadDQMStore (relying on legacy emulation
    behavior) to work now.
    
    We could fix DummyReadDQMStore to not rely on the
    legacy-keep-all-pointers-avlive behavior, but actually we should keep
    supporting that for whatever else needs it.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    906e8c1 View commit details
    Browse the repository at this point in the history
  35. Make DummyReadDQMStore re-get its MEs.

    This is the recommended way to do it, and works even if we allocate to many copies.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    2be8eef View commit details
    Browse the repository at this point in the history
  36. Fix DQMRootSource to properly recycle MEs.

    Since the MEs read in the input source don't have local MEs with them,
    the enterLumi logic for recycling does not apply. But we need to recycle
    them, to hold up the guarantees for legacy modules.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    f9ea7f3 View commit details
    Browse the repository at this point in the history
  37. Update test to expect merging jobs in any case.

    I don't see how the old behavior was ever useful.
    
    Also filterOnRun is unused apart from tests, it should be removed.
    The tests should rather test lumisToProcess, which is used in production.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    214a997 View commit details
    Browse the repository at this point in the history
  38. Fix DQMIO unit tests.

    The main change is to make DummyReadDQMStore less stupid so it does not
    rely on the sequential ordering of things.
    
    There is a semantic change in read_merged_file1_file3_file4_cfg.py,
    which expected run to be not merged, while the new code merges whatever
    makes sense.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    e49ba51 View commit details
    Browse the repository at this point in the history
  39. Remove dqmEndRun from DQMEDAnalyzer.

    This includes lots of automated changes to remove "empty" dqmBeginRun
    and dqmEndRun.
    
    dqmBeginRun remains allowed in DQMEDAnalyzer; it is called before
    booking and ME cannot (and must not) be accessed there. Any local member
    intialization should be fine to do there; it will be called for each of
    the edm::stream instancs once we switch back to stream. Technically all
    the code could simply be moved into bookHistograms, but having a
    separate beginRun makes more sense logically.
    
    Many dqmEndRun that only contain log messages and printouts where
    removed, even if they were more than basic debugging output.
    
    The remaining modules with non-trivial dqmEndRuns are converted to
    DQMOneEDAnalyzer.
    
    Commands like
      sed -i '/dqmBeginRun/,+3d' $(ag \
     'dqm(Begin|End)Run[^\n]*\n[^\n]*LogInfo[^\n]*\n\s*}' -l)
    were used to delete "useless" bodies.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    9efa806 View commit details
    Browse the repository at this point in the history
  40. Migrate some modules away from setLumiFlag.

    We shuold eventually remove it entirely, but there are a few weird corner cases to think about.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    46954bc View commit details
    Browse the repository at this point in the history
  41. Implement some more harvesting APIs.

    Very inefficiently, but these things should be deprecated.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    9b649f4 View commit details
    Browse the repository at this point in the history
  42. Implement getMEs.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    21d37fb View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    08bcb21 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    3946157 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    a5bc238 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    50e631b View commit details
    Browse the repository at this point in the history
  47. Correctly use virtual on NavigatorBase.

    Else the cwd in IGetter and IBooker can get out of sync, since the DQMStore overrides are not always used.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    c3703d0 View commit details
    Browse the repository at this point in the history
  48. Code-checks && code-format.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    ec3d8a7 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    de25b35 View commit details
    Browse the repository at this point in the history
  50. Fix after rebase.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    4db3aeb View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    4dfdbd1 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    90209da View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    fbf012d View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    f7f7e68 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    d48242a View commit details
    Browse the repository at this point in the history
  56. Kill mtEnabled.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    93db601 View commit details
    Browse the repository at this point in the history
  57. Properly handle saveByLumi.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    a25a4e2 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    b509c05 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    8f3bf30 View commit details
    Browse the repository at this point in the history
  60. Remove setLumiFlag.

    And migrate all the usages.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    2b0c322 View commit details
    Browse the repository at this point in the history
  61. Fix MEtoEDM.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    6319056 View commit details
    Browse the repository at this point in the history
  62. Clang says these are unused.

    They also don't seem very important.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    fae7feb View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    9c08d52 View commit details
    Browse the repository at this point in the history
  64. Fix cd() and friends.

    Wonder how we got that far with this bug...
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    f9a3ec3 View commit details
    Browse the repository at this point in the history
  65. Change default reScope to JOB.

    This covers all single- and multi run Harvesting. Easier to make it the default than hunt down all the places where the source is configured.
    
    Also worrying that no unit tests fail with this change.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    640107e View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    e413ab2 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    98fd31a View commit details
    Browse the repository at this point in the history
  68. Remove useless const.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    cb39039 View commit details
    Browse the repository at this point in the history
  69. Disable normalisation in L1T DQM.

    It never worked, I suspect.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    f052a63 View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    3703bbe View commit details
    Browse the repository at this point in the history
  71. Change reScope default in another place.

    Maybe this fixes the default for harvesting jobs?
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    8d59ad5 View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    48d1109 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    d198f78 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    0a2d5fb View commit details
    Browse the repository at this point in the history
  75. Change code to work without old APIs.

    Mostly untested.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    274b1fa View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    76bbd13 View commit details
    Browse the repository at this point in the history
  77. New ProtoBuf input code.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    6c671e8 View commit details
    Browse the repository at this point in the history
  78. Code-checks.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    df607a4 View commit details
    Browse the repository at this point in the history
  79. Configuration menu
    Copy the full SHA
    c496254 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    a090e78 View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    75392b0 View commit details
    Browse the repository at this point in the history
  82. Use reference_wrapper to avoid a copy.

    Thanks @makortel for the tip
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    4a2d42a View commit details
    Browse the repository at this point in the history
  83. Fix cd(...) semantics.

    It turns out, cd actually does not cd. It is identical to setCurrentFolder.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    bcb43d6 View commit details
    Browse the repository at this point in the history
  84. Remove support for read-only data in ME.

    It was never used here.
    
    The idea originates in product-based harvesting, where we'd copy-on-write histograms borrowed out of edm products.
    Since we still have the edm::Serivce<DQMStore>, this is not required now: we can have mutable 'products'.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    5eb4547 View commit details
    Browse the repository at this point in the history
  85. More agressively reset Scope to JOB.

    In harvesting, we need to make sure verything stays at JOB Scope so things actually get saved to the legacy output file at endJob.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    e49a2b5 View commit details
    Browse the repository at this point in the history
  86. Add a reScope option also to the EDMtoMEConverter.

    It is equivalent to the DQMRootSource in role.
    The default config always sets it to JOB, since that is what *all* existing workflows expect.
    The not-JOB option is only used for the unit tests.
    
    An issue is that harvesting code now can no longer tell if an ME was saved per lumi or not.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    50df285 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    9c2c3fa View commit details
    Browse the repository at this point in the history
  88. Configuration menu
    Copy the full SHA
    ef545b1 View commit details
    Browse the repository at this point in the history
  89. Fix online mode.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    3bff393 View commit details
    Browse the repository at this point in the history
  90. Code-format.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    78344c9 View commit details
    Browse the repository at this point in the history
  91. Adjust tests.

    That the legacy output is not saved is arguably a bug, but it is planned like this: It could be fixed by booking into RUN scope in the test legacy modules.
    However, that is not what the legacy modules will do in practice.
    
    It would be nice to have an ouptut test for the Analyzer->TDirectory case which is what legacy modules will commonly do.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    06e26df View commit details
    Browse the repository at this point in the history
  92. Use stable sort when reading DQMIO.

    This is mostly to make the tests happy: When reading pre-run scalars from split DQMIO files, the result could be the value from any file, since it dependes on processing order.
    We can't do anything about that in general (we might have a job processing lumi 1 and 4, and another 2 and 3, and then merge the results; which value should be used?),
    but for the tests we can at least make the behaviour detetministic for the test case.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    df9bb32 View commit details
    Browse the repository at this point in the history
  93. Update tests for new DQMStore.

    Apart from bug fixes in the tests, there are a few expected changes:
    - Output of legacy modules is JOB scope, so it will not be save to DQMIO.
    - DQMIO->TDirectory conversion needs reScope option.
    Other limitaitons existed before but are more clear now:
    - Values of scalar values that are not constant over a run/lumi split into JOBs are arbitrary.
    - Histograms filled per job or per lumi do depend on job splitting, since the number of beginRun/beginLumi transitions changes.
    New tests/checks cover fastHadd, concurrent lumis and in-order harvesting.
    The testing of actual histogram contents (correct merging, no double counting etc.) is still very limtied here; mostly these test ensure that there are no crashes and that objects make it into the respective output formats.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    341bf72 View commit details
    Browse the repository at this point in the history
  94. Configuration menu
    Copy the full SHA
    34d729a View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    f92aa2b View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    e8578fb View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    f9d9b11 View commit details
    Browse the repository at this point in the history
  98. Configuration menu
    Copy the full SHA
    62dd089 View commit details
    Browse the repository at this point in the history
  99. Code-format.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    5436ff4 View commit details
    Browse the repository at this point in the history
  100. Configuration menu
    Copy the full SHA
    b6b5018 View commit details
    Browse the repository at this point in the history
  101. Fix MuonAlignment.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    3f23990 View commit details
    Browse the repository at this point in the history
  102. Book EcalHitsV MEs in correct scope.

    This is required for all legacy modules running outside harvesting.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    392585e View commit details
    Browse the repository at this point in the history
  103. Add a RAII style guard for booking Scope.

    As suggested by @Dr15Jones.
    Also some comment cleanups.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    af70230 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    26e822d View commit details
    Browse the repository at this point in the history
  105. Improve debug output.

    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    280e50f View commit details
    Browse the repository at this point in the history
  106. Add a rather crucial line.

    That does not fix the unit test failure, though.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    5873593 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    3b06832 View commit details
    Browse the repository at this point in the history
  108. Clean up MonitorElement.h.

    - Remove unused methods (also their bodies).
    - Restrict access, use friends (this needed also some changes in other
      places)
    - Provide a switchObject() to prevent a race when using forceReplace
      when booking.
    - Change mutable_ to a normal pointer.
    - Reorder declarations to make a bit more sense.
    
    Still many things to be improved (the API of MonitorElement is huge and
    messy) but better than before.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    d5ad6bb View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    44a7d3d View commit details
    Browse the repository at this point in the history
  110. Remove some other usages of removed ME APIs.

    Not sure it the update() in beammonitor was really unnecessary, but
    getTH1() should also mark the ME as dirty.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    b26295d View commit details
    Browse the repository at this point in the history
  111. Properly cleanup in case of exceptions.

    This is not functionally required, but makes debugging much easier, in
    case a different thread continues using the IBooker while the first
    thread handles the exception.
    schneiml committed Feb 3, 2020
    Configuration menu
    Copy the full SHA
    6ebd8f5 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2020

  1. Configuration menu
    Copy the full SHA
    2f51722 View commit details
    Browse the repository at this point in the history