Belle II Software development
mdst_compatibility-v00-09-03.py
1#!/usr/bin/env python3
2
3
10
11"""
12Test backwards compatibility for an mdst file produced with release-00-09-03.
13
14See https://xwiki.desy.de/xwiki/rest/p/0a372 if this test fails.
15
16CHANGES since release-00-09-03:
17
18- EventLevelClusteringInfo
19 + nKLMDigitsMultiStrip
20 + nECLShowers
21 + nECLLocalMaximums
22 + nECLTriggerCells
23- EventMetaData:
24 + isEndOfRun
25- EventLevelTrackingInfo:
26 + hasSVDCKFAbortionFlag/setSVDCKFAbortionFlag
27 + hasPXDCKFAbortionFlag/setPXDCKFAbortionFlag
28 + hasSVDSpacePointCreatorAbortionFlag/setSVDSpacePointCreatorAbortionFlag
29- The default magnetic field is changed affecting all momentum measurements.
30- Track:
31 * getTrackFitResult behavior changed for non-pion tracks
32 + getQualityIndicator
33 + statusBitmap and getStatusBit
34 + getTrackTime
35 + wasRefined
36 + isFlippedAndRefitted
37 + getTrackFitResultByName
38 + getTrackFitResultsByName
39 + getTrackFitResultWithClosestMassByName
40- TrackFitResult:
41 + ndf
42 + chi2
43 + remove the const classifier of TrackFitResults and add a function to update the contents
44 + updateTrackFitResult
45 + mask
46- TRGSummary:
47 + getTimQuality added
48 + isPoissonInInjectionVeto()
49 * added getters to map bit names to numbers (getInputBitNumber, getOutputBitNumber)
50 The mapping is from the database and doesn't affect mdst content and is thus not tested here.- ECLCluster:
51 + getMinTrkDistanceID
52 + getPulseShapeDiscriminationMVA
53 + getClusterHadronIntensity
54 + getNumberOfHadronDigits
55 + hasPulseShapeDiscrimination
56 + hasTriggerClusterMatching
57 + isTriggerCluster
58 + hasFailedFitTime
59 + hasFailedTimeResolution
60 * getCovarianceMatrixAsArray removed
61- KlIds are added
62- SoftwareTriggerResult:
63 * getTotalResult removed
64 * non-prescaled results added
65- Particle masses:
66 * The particle masses have been updated to PDG 2020. As a result, the
67 energies corresponding to the measured momenta became slightly different.
68- EventLevelTriggerTimeInfo
69 * added new storage element for information from the Trigger Timing Distribution (TTD)
70"""
71
72from basf2 import create_path, process, set_random_seed, find_file, conditions
73from b2test_utils import configure_logging_for_tests
74from mdst import add_mdst_dump
75
76if __name__ == "__main__":
77 # there's no magnetic field in that old globaltag, disable replay
78 conditions.disable_globaltag_replay()
79 configure_logging_for_tests()
80 set_random_seed(1)
81 main = create_path()
82 main.add_module("RootInput", inputFileName=find_file("mdst/tests/mdst-v00-09-03.root"))
83 main.add_module("EventInfoPrinter")
84 add_mdst_dump(main, True)
85 process(main, 3)
86