Belle II Software  release-05-01-25
eventLevelTrackingInfo.cc
1 #include <gtest/gtest.h>
2 #include <framework/utilities/TestHelpers.h>
3 #include <mdst/dataobjects/EventLevelTrackingInfo.h>
4 
5 namespace Belle2 {
11  class EventLevelTrackingInfoTest : public ::testing::Test {
12  protected:
13  };
14 
16  TEST_F(EventLevelTrackingInfoTest, settersNGettersCDC)
17  {
18  // Test proper initialization for an empty afterimage.
19  EventLevelTrackingInfo eventLevelTrackingInfo;
20  EXPECT_EQ(eventLevelTrackingInfo.getNCDCHitsNotAssigned(), 0);
21  EXPECT_EQ(eventLevelTrackingInfo.getNCDCHitsNotAssignedPostCleaning(), 0);
22 
23  //Let's set the total number CDC hits in the afterimage
24  eventLevelTrackingInfo.setNCDCHitsNotAssigned(324);
25  eventLevelTrackingInfo.setNCDCHitsNotAssignedPostCleaning(257);
26 
27  EXPECT_EQ(eventLevelTrackingInfo.getNCDCHitsNotAssigned(), 324);
28  EXPECT_EQ(eventLevelTrackingInfo.getNCDCHitsNotAssignedPostCleaning(), 257);
29 
30  //Let's set and get information for the various layers:
31  eventLevelTrackingInfo.setCDCLayer(9); // SL1
32  EXPECT_TRUE(eventLevelTrackingInfo.hasCDCLayer(9));
33  EXPECT_FALSE(eventLevelTrackingInfo.hasCDCLayer(10));
34  eventLevelTrackingInfo.setCDCLayer(23);
35  EXPECT_TRUE(eventLevelTrackingInfo.hasCDCLayer(23));
36  EXPECT_FALSE(eventLevelTrackingInfo.hasCDCLayer(55));
37 
38  EXPECT_B2FATAL(eventLevelTrackingInfo.setCDCLayer(56));
39  EXPECT_B2FATAL(eventLevelTrackingInfo.hasCDCLayer(56));
40 
41  //Let's have a look at the SuperLayers ...
42  EXPECT_TRUE(eventLevelTrackingInfo.hasCDCSLayer(1));
43  EXPECT_FALSE(eventLevelTrackingInfo.hasCDCSLayer(5));
44 
45  //Let's set and get the information on unused segments:
46  eventLevelTrackingInfo.setNCDCSegments(21);
47  EXPECT_EQ(eventLevelTrackingInfo.getNCDCSegments(), 21);
48  eventLevelTrackingInfo.setNCDCSegments(300);
49  EXPECT_EQ(eventLevelTrackingInfo.getNCDCSegments(), 255);
50  }
51 
53  TEST_F(EventLevelTrackingInfoTest, settersNGettersVXD)
54  {
55  EventLevelTrackingInfo eventLevelTrackingInfo;
56  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(3), 0);
57  eventLevelTrackingInfo.setNVXDClustersInLayer(3, true, 81);
58  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(3), 81);
59  eventLevelTrackingInfo.setNVXDClustersInLayer(2, true, 3456);
60  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(2), 3456);
61  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(3, true), 81);
62  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(3, false), 0);
63  EXPECT_B2FATAL(eventLevelTrackingInfo.getNVXDClustersInLayer(56));
64 
65  eventLevelTrackingInfo.setNVXDClustersInLayer(6, true, 300);
66  EXPECT_EQ(eventLevelTrackingInfo.getNVXDClustersInLayer(6, true), 255);
67 
68  eventLevelTrackingInfo.setSVDFirstSampleTime(-128);
69  EXPECT_EQ(eventLevelTrackingInfo.getSVDFirstSampleTime(), -128);
70  eventLevelTrackingInfo.setSVDFirstSampleTime(127);
71  EXPECT_EQ(eventLevelTrackingInfo.getSVDFirstSampleTime(), 127);
72  }
73 
75  TEST_F(EventLevelTrackingInfoTest, settersNGettersFlagBlock)
76  {
77  EventLevelTrackingInfo eventLevelTrackingInfo;
78  EXPECT_EQ(eventLevelTrackingInfo.hasUnspecifiedTrackFindingFailure(), false);
79  EXPECT_EQ(eventLevelTrackingInfo.hasAnErrorFlag(), false);
80  EXPECT_EQ(eventLevelTrackingInfo.hasVXDTF2AbortionFlag(), false);
81  eventLevelTrackingInfo.setUnspecifiedTrackFindingFailure();
82  EXPECT_EQ(eventLevelTrackingInfo.hasUnspecifiedTrackFindingFailure(), true);
83  EXPECT_EQ(eventLevelTrackingInfo.hasAnErrorFlag(), true);
84  EXPECT_EQ(eventLevelTrackingInfo.hasVXDTF2AbortionFlag(), false);
85 
86  EventLevelTrackingInfo eventLevelTrackingInfo2;
87  EXPECT_EQ(eventLevelTrackingInfo2.hasVXDTF2AbortionFlag(), false);
88  EXPECT_EQ(eventLevelTrackingInfo2.hasAnErrorFlag(), false);
89  EXPECT_EQ(eventLevelTrackingInfo2.hasUnspecifiedTrackFindingFailure(), false);
90  eventLevelTrackingInfo2.setVXDTF2AbortionFlag();
91  EXPECT_EQ(eventLevelTrackingInfo2.hasVXDTF2AbortionFlag(), true);
92  EXPECT_EQ(eventLevelTrackingInfo2.hasAnErrorFlag(), true);
93  EXPECT_EQ(eventLevelTrackingInfo2.hasUnspecifiedTrackFindingFailure(), false);
94  }
96 } // namespace Belle2
Belle2::EventLevelTrackingInfo::getSVDFirstSampleTime
int8_t getSVDFirstSampleTime() const
Getter for time of first SVD sample relative to event T0.
Definition: EventLevelTrackingInfo.h:185
Belle2::EventLevelTrackingInfo::setNCDCHitsNotAssigned
void setNCDCHitsNotAssigned(uint16_t const nCDCHitsNotAssigned)
Setter for number of CDC measurements, that are not assigned to any Track.
Definition: EventLevelTrackingInfo.h:60
Belle2::EventLevelTrackingInfo::setSVDFirstSampleTime
void setSVDFirstSampleTime(int8_t const sampleTime)
Setter for time of first SVD sample relatvie to event T0.
Definition: EventLevelTrackingInfo.h:191
Belle2::EventLevelTrackingInfo::getNCDCHitsNotAssigned
uint16_t getNCDCHitsNotAssigned() const
Getter for number of CDC measurements, that are not assigned to any Track.
Definition: EventLevelTrackingInfo.h:54
Belle2::EventLevelTrackingInfo::hasCDCSLayer
bool hasCDCSLayer(uint16_t const cdcSLayer) const
Getter for the presence of hit in a SuperLayer.
Definition: EventLevelTrackingInfo.h:105
Belle2::EventLevelTrackingInfo::hasAnErrorFlag
bool hasAnErrorFlag() const
Check if any flag was set in the event.
Definition: EventLevelTrackingInfo.h:198
Belle2::EventLevelTrackingInfo::getNCDCHitsNotAssignedPostCleaning
uint16_t getNCDCHitsNotAssignedPostCleaning() const
Getter for number of CDC measurements, that are not assigned to any Track nor very likely beam-backgr...
Definition: EventLevelTrackingInfo.h:74
Belle2::EventLevelTrackingInfo::hasUnspecifiedTrackFindingFailure
bool hasUnspecifiedTrackFindingFailure() const
Getter for unspecified hint of track finding failure.
Definition: EventLevelTrackingInfo.h:204
Belle2::EventLevelTrackingInfo::setNCDCSegments
void setNCDCSegments(uint16_t nHits)
Setter for number of Segments not used in Tracks.
Definition: EventLevelTrackingInfo.h:122
Belle2::EventLevelTrackingInfo::hasVXDTF2AbortionFlag
bool hasVXDTF2AbortionFlag() const
Getter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event.
Definition: EventLevelTrackingInfo.h:216
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TEST_F
TEST_F(GlobalLabelTest, LargeNumberOfTimeDependentParameters)
Test large number of time-dep params for registration and retrieval.
Definition: globalLabel.cc:65
Belle2::EventLevelTrackingInfo::setVXDTF2AbortionFlag
void setVXDTF2AbortionFlag()
Setter for flag indicating that the VXDTF2 was aborted due to high combinatorics in the event.
Definition: EventLevelTrackingInfo.h:222
Belle2::EventLevelTrackingInfo::getNVXDClustersInLayer
uint16_t getNVXDClustersInLayer(uint16_t const layer, bool const isU)
Getter for number of clusters in a specific VXD layer, SVD separated by direction.
Definition: EventLevelTrackingInfo.h:139
Belle2::EventLevelTrackingInfo::setUnspecifiedTrackFindingFailure
void setUnspecifiedTrackFindingFailure()
Setter for unspecified hint of track finding failure.
Definition: EventLevelTrackingInfo.h:210
Belle2::EventLevelTrackingInfo::setCDCLayer
void setCDCLayer(uint16_t const cdcLayer)
Setter for presence of hit in specific CDC Layer.
Definition: EventLevelTrackingInfo.h:97
Belle2::EventLevelTrackingInfo::getNCDCSegments
uint16_t getNCDCSegments() const
Getter for number of segments not used in Tracks.
Definition: EventLevelTrackingInfo.h:116
Belle2::EventLevelTrackingInfo
Tracking-related info on event-level, for example number of unassigned measurements.
Definition: EventLevelTrackingInfo.h:47
Belle2::EventLevelTrackingInfo::setNCDCHitsNotAssignedPostCleaning
void setNCDCHitsNotAssignedPostCleaning(uint16_t const nCDCHitsNotAssignedPostCleaning)
Setter for number of CDC measurements, that are not assigned to any Track nor very likely beam-backgr...
Definition: EventLevelTrackingInfo.h:80
Belle2::EventLevelTrackingInfo::hasCDCLayer
bool hasCDCLayer(uint16_t const cdcLayer) const
Getter for presence of hit in specific CDC Layer.
Definition: EventLevelTrackingInfo.h:91
Belle2::EventLevelTrackingInfoTest
Unit tests for the event level tracking information.
Definition: eventLevelTrackingInfo.cc:11
Belle2::EventLevelTrackingInfo::setNVXDClustersInLayer
void setNVXDClustersInLayer(uint16_t const layer, bool const isU, uint16_t const nClusters)
Setter for number of clusters in specific VXD layer, SVD directions are separated.
Definition: EventLevelTrackingInfo.h:163