Modernize MCDecayTreeTuple, TupleToolTrigger and TupleToolEventInfo
For the HltEfficiencyChecker
tool (prints out/plots some efficiencies for the new HLT, see https://gitlab.cern.ch/lhcb/mooreanalysis/merge_requests/1) I use some tuple tools to write trigger decisions and basic kinematic information to a tuple. To make these work with the new scheduler so they can be added to the control flow following Moore
, some modernisation/addition is needed:
-
TupleToolTrigger
andTupleToolEventInfo
now use data handles to declare their data dependencies. Drop L0 code.They also look for trigger dec reports with strings ending inLine
rather thanDecision
, as they are written these days. -
MCTupleToolKinematic
also adds theeta
variable to tuples - this is useful so you can ask for an efficiency if all the children of a decay fall within theeta
acceptance of LHCb. -
MCDecayTreeTuple
declares its tools in theinitialise
method, so their data dependencies are made explicit. Beforehand tools were only instantiated when they are first asked for. This code is pretty much copied from theinitializeStufferTools
method ofPhys/DecayTreeTupleBase/DecayTreeTupleBase/DecayTreeTupleBaseTemplates.icpp
and could possibly be improved.
TODO:
-
The fact that the dec reports have the Line
suffix rather than theDecision
as in Run 2 probably shouldn't happen, and so perhaps this should instead be fixed inMoore
, rather than changing what the tuple tool looks for here. -
Fix formatting? -
Update the treatment of HLT2 as well as HLT1 in TupleToolTrigger
, and remove L0? POSTPONE HLT2 TO EXTENSION OF TOOL TO HLT2 -
Improve the initialisation of the tools in MCDecayTreeTuple
?
A dependency of https://gitlab.cern.ch/lhcb/mooreanalysis/merge_requests/1. Depends on LHCb!2319 (merged), LHCb!2373 (merged), Phys!662 (merged)
Merge request reports
Activity
added 3 commits
-
61760237...0a61dd9e - 2 commits from branch
master
- df05a432 - Merge branch 'master' into tuple-tool-data-handles
-
61760237...0a61dd9e - 2 commits from branch
- Resolved by Ross John Hunter
I tried to remove any reference to
L0
inTupleToolTrigger
, but a lot of related members come from theTupleToolTriggerBase
class, and then tools likeTupleTollTISTOS
andTupleToolStripping
depend on this base class. Updating all these tools makes this MR bigger and gets away from the purpose of this MR, which is to make https://gitlab.cern.ch/lhcb/mooreanalysis/merge_requests/1 work.I also briefly tried to treat Hlt2 the same as Hlt1, but for this to work one has to tell the tuple tools where the Hlt2DecReports are. In the case of Hlt1, we do this in the script
hlt1_runtrigger_maketuple.py
, which configures the algorithms and control flow ofHltEfficiencyChecker
- so to do the same for Hlt2 starts to amount to extending the tool in general to handle Hlt2. This is a bigger job that is one of the natural next steps.I think it should be dedicated follow-up issues/MRs that tick the box above. Do people agree @rmatev @sstahl @mvesteri?
mentioned in issue Moore#130 (closed)
added 1 commit
- 0c5756aa - Happy with the initialisation in MCDecayTreeTuple
added 1 commit
- 028281cf - Removed reference to L0 in TupleToolEventInfo - this kills warnings
As discussed in Moore#130 (comment 3150092), the plan is to revert "Line" back to "Decision", thus I have reverted this change to
TupleToolTriggerBase.h
.I am now happy with this MR, but it will have dependencies on upcoming MRs from @rmatev in both LHCb and Phys. I will mark them as dependencies for this MR when those MRs appear.
- [2020-02-06 00:09] Validation started with lhcb-gaudi-head#2524
- [2020-02-06 00:22] Validation started with lhcb-gaudi-head#2524
- [2020-02-06 00:41] Validation started with lhcb-gaudi-head#2524
- [2020-02-07 00:12] Validation started with lhcb-gaudi-head#2525
- [2020-02-08 00:12] Validation started with lhcb-gaudi-head#2526
- [2020-02-09 00:09] Validation started with lhcb-gaudi-head#2527
- [2020-02-11 00:13] Validation started with lhcb-gaudi-head#2528
Edited by Software for LHCbmentioned in merge request LHCb!2319 (merged)
The builds and tests for this seemed fine last night: https://lhcb-nightlies.web.cern.ch/nightly/summary/#day2slot_lhcb-master-mr_447. I think this is ready to merge.
assigned to @rmatev
unassigned @rjhunter
added Tuples modernisation labels
- Resolved by Ross John Hunter
- Resolved by Rosen Matev
added 1 commit
- becb1912 - Apply suggestion to Phys/DecayTreeTupleMC/src/MCTupleToolKinematic.cpp
- Resolved by Rosen Matev
- [2020-02-12 00:09] Validation started with lhcb-gaudi-head#2529
- [2020-02-13 00:09] Validation started with lhcb-gaudi-head#2530
Edited by Software for LHCb- Resolved by Rosen Matev
The nightlies seemed happy with this, the only error in Analysis was a timeout in
clang-dbg
anddo0
that I assume to be unrelated. There is a new error in DaVinci (https://lhcb-nightlies.web.cern.ch/logs/tests/nightly/lhcb-gaudi-head/2529/x86_64-centos7-clang8-dbg/DaVinci/) and in Bender (https://lhcb-nightlies.web.cern.ch/logs/tests/nightly/lhcb-gaudi-head/2529/x86_64-centos7-gcc9-opt/Bender/) but I can't see how this relates?
unassigned @rmatev
mentioned in commit 138f8d14