[QEE] EW y23v5: PassThrough + Improved MCDT + EventTuple
Tupling over the Spruced Coll23 data + exp23 MC + act23 MC.
Coll2023 data corresponds to [~47 fb-1] data. Both Turbo and Full QEE streams.
MC needs processing through Hlt1->Hlt2->Spruce ourselves before we can tuple.
(Part of the Run3 ew-analyses framework
development: see Wiki ).
AP!y23v4]
Changes from previous version [BugFix: isActualMC
now filling correctly (all were 0 due to a condition that was never passing)
5915a9d2
BugFix: Isolation Candidates needs ~F.SHARE_TRACKS()
to remove signal candidate.
In AP!y23v3 this was done implicitly due to being done in Moore, but this was removed in EoYSpruce_23 when we moved to Persistreco instead, so we now need to re-add this cut explicitly in our isolation candidates.
098a40b9
Enhancement: MCDecayTree improvements
Decay descriptors now more accurate:
- uses
=>
instead of->
and potential for Final State Radiation in the form of e+ and e- pairs. - Explanation as to why: !1041 (comment 7810237)
Trees are filled with all necessary information for the Fiducial cuts.
see: !1041 (diffs)
ea382cfa
New Feature: PassThrough Triggers ('flagging mode') now being performed.
This is required for MCDecayTrees and EventTuples to make sense.
Flagging mode required:
- moving to releases based off of the
2023-hlt{X=1, 2}pp-patches
. See: !1041 (comment 7810239) for how I chose this. - updating the Hlt1/Hlt2/Spruce configuration files.
- Results in: Slightly closer to the central productions that will be ran to produce filtered SIM files.
- See: !1041 (comment 7810860) for more information on this.
fc2ed9b6
New Feature: EventTuple
Filled an EventTuple with basic information about the input. I.e. isMC, magpol etc.
80ca6cf2
Enhancement: Mild aesthetic improvements.
Use a class, dicts and enums to store/evaluate the 'specification' of the tupling call. [I.e. input_type=(ActualMC, ExpectedMC, Comm23, Coll23) etc.]
This allows us to prevent string literal comparisons appearing and allowing more robust, scalable and efficient code.
(Prevents issues such as BugFix: 'isActualMC'...
from appearing in the future.)
2a98a3cf + 6b704ed7
DecayTree and MCDecayTree specifics
DecayTree
Attempts to build the following decaytrees dependent on stream.
TurboPass = { # Name : Input Line
"Jpsi_Detached": "Hlt2QEE_JpsiToMuMu_Detached",
"Jpsi_Prompt": "Hlt2QEE_JpsiToMuMu_Prompt",
"U1S": "Hlt2QEE_Upsilon1SToMuMu"
}
Full_stream = {
"Z": "SpruceQEE_ZToMuMu",
"ZMuID": "SpruceQEE_ZToMuMu_SingleNoMuID",
"Wp": "SpruceQEE_SingleHighPtMuon",
"Wm": "SpruceQEE_SingleHighPtMuon",
"WpNoMuID": "SpruceQEE_SingleHighPtMuonNoMuID",
"WmNoMuID": "SpruceQEE_SingleHighPtMuonNoMuID",
"ZSS": "SpruceQEE_DiMuonSameSign",
"ZTrkEff_VeloMuon": "SpruceQEE_ZToMuMu_TrackEff_VeloMuon_Tag"
}
MCDecayTrees
FSR_electron_descriptor = ' {e+} {e-} {e+} {e-} '
"Z": {
"Z": f"^(Z0 => mu- mu+ {FSR_electron_descriptor})",
"mum": f"Z0 => ^mu- mu+ {FSR_electron_descriptor}",
"mup": f"Z0 => mu- ^mu+ {FSR_electron_descriptor}",
},
"W": {
"W": f"^[W+ => mu+ nu_mu {FSR_electron_descriptor}]CC",
"mu": f"[W+ => ^mu+ nu_mu {FSR_electron_descriptor}]CC",
},
"Wtau": {
"W":
f"^[W+ => (tau+ => mu+ nu_mu nu_tau~ {FSR_electron_descriptor}) nu_tau]CC",
"tau":
f"[W+ => ^(tau+ => mu+ nu_mu nu_tau~ {FSR_electron_descriptor}) nu_tau]CC",
"mu":
f"[W+ => (tau+ => ^mu+ nu_mu nu_tau~ {FSR_electron_descriptor}) nu_tau]CC",
}
Regressions (act23 Z sample):
DV Tuple changes (isAct bugfix, ISO bugfix, MCDT improved descriptors/variable, EventTuples)
- 80ca6cf2 [AP y23v4] - 5915a9d2
- TupleChanges.diff
- Changes are tractable to me.
Moore Processing Changes (Use 2023-hlt{1,2}pp-patches to get flagging mode, some bind changes).
- fc2ed9b6 - 80ca6cf2
- MooreChanges.diff
- Quite a lot of regression, expected as the processing has changed.
Aesthetic changes (expect no regression)
- 6b704ed7 [HEAD] - fc2ed9b6
- AestheticChanges.diff
- Empty as expected
Several questions related to the regressions was asked and answered:
- 1st diff:
W_mcdtt goes away and does not come back.
- 2nd diff:
High TOS efficiency for prescaled lines
- 2nd diff:
Lower DecayTree efficiency for Wm/Wp/...
ToDo:
-
Report regressions - Really prefer diff per Sample per Pipeline. see: https://mattermost.web.cern.ch/lhcb/pl/w9xrbxpzn78qfckcnootqfdonh -> https://gitlab.cern.ch/lhcb-dpa/project/-/issues/305
-
Check ZVeto_Multiplicity looks sensible (PostPoned) - Was pointed towards ENTRY_WITH_MAX_REL_VALUE_OF as a possible avenue, however it's not high priority right now so shelving it.
Supersedes previous Coll23 Data tuples + Actual23/Expected23 MC tuples from [AP!845]