11#include <gtest/gtest.h>
13#include <analysis/dataobjects/Particle.h>
14#include <mdst/dataobjects/Track.h>
15#include <tracking/dataobjects/RecoTrack.h>
16#include <svd/dataobjects/SVDCluster.h>
17#include <svd/dataobjects/SVDTrueHit.h>
18#include <vxd/dataobjects/VxdID.h>
19#include <genfit/TrackPoint.h>
20#include <genfit/AbsFitterInfo.h>
22#include <svd/variables/SVDClusterVariables.h>
29 const bool defaultIsU =
true;
30 const double defaultPosition = 1.0;
31 const double defaultPositionErr = 0.01;
32 const double defaultClsTime = 20.0;
33 const double defaultClsTimeErr = 5.0;
34 const double defaultClsCharge = 23e3;
35 const double defaultSeedCharge = 5e3;
36 const int defaultClsSize = 2;
37 const double defaultClsSNR = 25.0;
38 const double defaultClsChi2 = 1.0;
39 const int defaultFirstFrame = 0;
44 defaultVxdID, defaultIsU, defaultPosition, defaultPositionErr,
45 defaultClsTime, defaultClsTimeErr, defaultClsCharge, defaultSeedCharge,
46 defaultClsSize, defaultClsSNR, defaultClsChi2, defaultFirstFrame
59 std::string storeArrayNameOfParticles =
"Particles";
60 std::string storeArrayNameOfTracks =
"Tracks";
61 std::string storeArrayNameOfRecoTracks =
"RecoTracks";
62 std::string storeArrayNameOfPXDHits =
"PXDClusters";
63 std::string storeArrayNameOfSVDHits =
"SVDClusters";
64 std::string storeArrayNameOfCDCHits =
"CDCClusters";
65 std::string storeArrayNameOfBKLMHits =
"BKLMClusters";
66 std::string storeArrayNameOfEKLMHits =
"EKLMClusters";
67 std::string storeArrayNameOfRecoHitInformations =
"RecoHitInformations";
68 std::string storeArrayNameOfTrackFitResults =
"TrackFitResults";
90 m_trackFitResults.appendNew(ROOT::Math::XYZVector(0.1, 0.1, 0.1), ROOT::Math::XYZVector(0.1, 0.0, 0.0),
91 TMatrixDSym(6), 1,
Const::pion, 0.01, 1.5, 0, 0, 0);
98 m_recoTracks.appendNew(ROOT::Math::XYZVector(0.1, 0.1, 0.1), ROOT::Math::XYZVector(0.1, 0.0, 0.0), 1,
99 storeArrayNameOfPXDHits, storeArrayNameOfSVDHits, storeArrayNameOfCDCHits,
100 storeArrayNameOfBKLMHits, storeArrayNameOfEKLMHits, storeArrayNameOfRecoHitInformations);
118 EXPECT_DOUBLE_EQ(Variable::SVDClusterCharge(m_particles[0], {0}), defaultClsCharge);
119 EXPECT_TRUE(std::isnan(Variable::SVDClusterCharge(
nullptr, {0})));
120 EXPECT_TRUE(std::isnan(Variable::SVDClusterCharge(m_particles[0], {1})));
126 EXPECT_DOUBLE_EQ(Variable::SVDClusterSNR(m_particles[0], {0}), defaultClsSNR);
127 EXPECT_TRUE(std::isnan(Variable::SVDClusterSNR(
nullptr, {0})));
128 EXPECT_TRUE(std::isnan(Variable::SVDClusterSNR(m_particles[0], {1})));
134 EXPECT_DOUBLE_EQ(Variable::SVDClusterTime(m_particles[0], {0}), defaultClsTime);
135 EXPECT_TRUE(std::isnan(Variable::SVDClusterTime(
nullptr, {0})));
136 EXPECT_TRUE(std::isnan(Variable::SVDClusterTime(m_particles[0], {1})));
142 EXPECT_EQ(Variable::SVDClusterSize(m_particles[0], {0}), defaultClsSize);
143 EXPECT_EQ(Variable::SVDClusterSize(
nullptr, {0}), -1);
144 EXPECT_EQ(Variable::SVDClusterSize(m_particles[0], {1}), -1);
150 EXPECT_EQ(Variable::SVDLayer(m_particles[0], {0}), defaultVxdID.getLayerNumber());
151 EXPECT_EQ(Variable::SVDLayer(
nullptr, {0}), -1);
152 EXPECT_EQ(Variable::SVDLayer(m_particles[0], {1}), -1);
158 EXPECT_EQ(Variable::SVDLadder(m_particles[0], {0}), defaultVxdID.getLadderNumber());
159 EXPECT_EQ(Variable::SVDLadder(
nullptr, {0}), -1);
160 EXPECT_EQ(Variable::SVDLadder(m_particles[0], {1}), -1);
166 EXPECT_EQ(Variable::SVDSensor(m_particles[0], {0}), defaultVxdID.getSensorNumber());
167 EXPECT_EQ(Variable::SVDSensor(
nullptr, {0}), -1);
168 EXPECT_EQ(Variable::SVDSensor(m_particles[0], {1}), -1);
static const ChargedStable pion
charged pion particle
static DataStore & Instance()
Instance of singleton Store.
void setInitializeActive(bool active)
Setter for m_initializeActive.
Class to store reconstructed particles.
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
Abstract Class representing the SVD cluster charge.
Abstract Class representing the SVD cluster time.
Text fixture for SVD variables.
void SetUp() override
Set up test environment.
StoreArray< SVDCluster > m_svdClusters
StoreArray for SVDCluster objects.
StoreArray< TrackFitResult > m_trackFitResults
StoreArray for TrackFitResult objects.
StoreArray< Particle > m_particles
StoreArray for Particle objects.
StoreArray< Track > m_tracks
StoreArray for Track objects.
StoreArray< RecoTrack > m_recoTracks
StoreArray for RecoTrack objects.
StoreArray< RecoHitInformation > m_recoHitInformations
StoreArray for RecoHitInformation objects.
Accessor to arrays stored in the data store.
Class that bundles various TrackFitResults.
Class to uniquely identify a any structure of the PXD and SVD.
Namespace to encapsulate code needed for simulation and reconstrucion of the SVD.
TEST_F(SVDVariableTest, SVDClusterCharge)
Test SVDClusterCharge.
Abstract base class for different kinds of events.