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.
51- ECLCluster:
52 + getMinTrkDistanceID
53 + getPulseShapeDiscriminationMVA
54 + getClusterHadronIntensity
55 + getNumberOfHadronDigits
56 + hasPulseShapeDiscrimination
57 + hasTriggerClusterMatching
58 + isTriggerCluster
59 + hasFailedFitTime
60 + hasFailedTimeResolution
61 * getCovarianceMatrixAsArray removed
62- KlIds are added
63- SoftwareTriggerResult:
64 * getTotalResult removed
65 * non-prescaled results added
66- Particle masses:
67 * The particle masses have been updated to PDG 2020. As a result, the
68 energies corresponding to the measured momenta became slightly different.
69- EventLevelTriggerTimeInfo
70 * added new storage element for information from the Trigger Timing Distribution (TTD)
71"""
72
73from basf2 import create_path, process, set_random_seed, find_file, conditions
74from b2test_utils import configure_logging_for_tests
75from mdst import add_mdst_dump
76
77if __name__ == "__main__":
78 # there's no magnetic field in that old globaltag, disable replay
79 conditions.disable_globaltag_replay()
80 configure_logging_for_tests()
81 set_random_seed(1)
82 main = create_path()
83 main.add_module("RootInput", inputFileName=find_file("mdst/tests/mdst-v00-09-03.root"))
84 main.add_module("EventInfoPrinter")
85 add_mdst_dump(main, True)
86 process(main, 3)