Belle II Software  release-05-01-25
eventT0.cc
1 
2 #include <framework/dataobjects/EventT0.h>
3 #include <gtest/gtest.h>
4 
5 using namespace Belle2;
6 
7 namespace {
8 
10  TEST(EventT0, UncertaintyCalculation)
11  {
12  EventT0 t0;
13 
14  ASSERT_FALSE(t0.hasEventT0());
15 
16  t0.setEventT0(-1, 42, Const::CDC);
17  ASSERT_TRUE(t0.hasEventT0());
18  ASSERT_EQ(t0.getEventT0(), -1);
19  ASSERT_EQ(t0.getEventT0Uncertainty(), 42);
20 
21  t0.setEventT0(-2, 43, Const::CDC);
22  ASSERT_TRUE(t0.hasEventT0());
23  ASSERT_EQ(t0.getEventT0(), -2);
24  ASSERT_EQ(t0.getEventT0Uncertainty(), 43);
25 
26  t0.addTemporaryEventT0(EventT0::EventT0Component(2, 3, Const::SVD, ""));
27  ASSERT_EQ(t0.getEventT0(), -2);
28  ASSERT_EQ(t0.getEventT0Uncertainty(), 43);
29 
30  ASSERT_EQ(t0.getNumberOfTemporaryEventT0s(), 1);
31  ASSERT_TRUE(t0.hasTemporaryEventT0());
32  ASSERT_TRUE(t0.hasTemporaryEventT0(Const::SVD));
33  ASSERT_FALSE(t0.hasTemporaryEventT0(Const::CDC));
34  ASSERT_EQ(t0.getTemporaryDetectors(), Const::SVD);
35  ASSERT_EQ(t0.getTemporaryEventT0s().front().eventT0, 2);
36  ASSERT_EQ(t0.getTemporaryEventT0s().front().eventT0Uncertainty, 3);
37  ASSERT_TRUE(t0.getTemporaryEventT0s().front().detectorSet.contains(Const::SVD));
38  }
39 
41  TEST(EventT0, RetrievalOfTemporary)
42  {
43  EventT0 t0;
44 
45  ASSERT_FALSE(t0.hasEventT0());
46 
47  t0.addTemporaryEventT0(EventT0::EventT0Component(-1, 42, Const::CDC, ""));
48  t0.addTemporaryEventT0(EventT0::EventT0Component(-2, 43, Const::CDC, ""));
49  t0.addTemporaryEventT0(EventT0::EventT0Component(-3, 44, Const::ECL, ""));
50  t0.addTemporaryEventT0(EventT0::EventT0Component(-5, 45, Const::TOP, ""));
51 
52  ASSERT_TRUE(t0.hasTemporaryEventT0(Const::CDC));
53  ASSERT_TRUE(t0.hasTemporaryEventT0(Const::ECL));
54  ASSERT_TRUE(t0.hasTemporaryEventT0(Const::TOP));
55  ASSERT_FALSE(t0.hasTemporaryEventT0(Const::SVD));
56 
57  const auto cdcTemporaries = t0.getTemporaryEventT0s(Const::CDC);
58  ASSERT_EQ(cdcTemporaries.size(), 2);
59 
60  ASSERT_DOUBLE_EQ(cdcTemporaries[0].eventT0, -1.0f);
61  ASSERT_DOUBLE_EQ(cdcTemporaries[1].eventT0, -2.0f);
62  }
63 }
Belle2::EventT0
Storage element for the eventwise T0 estimation.
Definition: EventT0.h:40
Belle2::EventT0::EventT0Component
Structure for storing the extracted event t0s together with its detector and its uncertainty.
Definition: EventT0.h:44
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TEST
TEST(TestgetDetectorRegion, TestgetDetectorRegion)
Test Constructors.
Definition: utilityFunctions.cc:18