Belle II Software  release-08-01-10
TrackIsoScoreCalculatorTest Class Reference

Test the calculation of the track helix-based isolation score per particle. More...

Inheritance diagram for TrackIsoScoreCalculatorTest:
Collaboration diagram for TrackIsoScoreCalculatorTest:

Public Attributes

Const::ChargedStable m_testHypo = Const::electron
 The charged particle hypothesis to test.
 
Const::EDetector m_detector = Const::ECL
 The detector to test.
 
int m_layer = 0
 The detector layer to test.
 
std::string m_dummyFile = "dummyFile.root"
 Dummy ROOT file name. More...
 

Protected Member Functions

void createDummyTTree ()
 Create a ROOT::TTree for the detector weights w/ a few entries. More...
 
void createDummyBrokenTTree ()
 Create a ROOT::TTree with a "broken" bin edges structure, i.e. More...
 
void SetUp () override
 Prepare resources for the tests.
 
void TearDown () override
 Release all resources.
 

Detailed Description

Test the calculation of the track helix-based isolation score per particle.

Definition at line 28 of file trackIsoScoreCalculator.cc.

Member Function Documentation

◆ createDummyBrokenTTree()

void createDummyBrokenTTree ( )
inlineprotected

Create a ROOT::TTree with a "broken" bin edges structure, i.e.

non-contiguous bin edges. This will throw a FATAL error, and indicate the CSV weights file has problems.

Definition at line 106 of file trackIsoScoreCalculator.cc.

107  {
108 
109  unsigned int nEntries(6);
110 
111  ROOT::RDataFrame rdf(nEntries);
112 
113  std::vector<double> pdgIds(nEntries, static_cast<double>(m_testHypo.getPDGCode()));
114  std::vector<double> pMinEdges = {1.0, 1.0, 1.0, 1.5, 1.5, 1.5};
115  std::vector<double> pMaxEdges = {1.8, 1.8, 1.8, 3.0, 3.0, 3.0}; // note the non-contiguous edges wrt. pMinEdges
116  std::vector<double> thetaMinEdges = {0.22, 0.56, 2.23, 0.22, 0.56, 2.23};
117  std::vector<double> thetaMaxEdges = {0.56, 2.23, 2.71, 0.56, 2.23, 2.71};
118  std::vector<double> pBinIdxs = {1.0, 1.0, 1.0, 2.0, 2.0, 2.0};
119  std::vector<double> thetaBinIdxs = {1.0, 2.0, 3.0, 1.0, 2.0, 3.0};
120 
121  // Tell snapshot to update file.
122  ROOT::RDF::RSnapshotOptions opt;
123  opt.fMode = "UPDATE";
124 
125  unsigned int iEntry(0);
126  rdf.Define("pdgId", [&]() { auto x = pdgIds[iEntry]; return x; })
127  .Define("p_min", [&]() { auto x = pMinEdges[iEntry]; return x; })
128  .Define("p_max", [&]() { auto x = pMaxEdges[iEntry]; return x; })
129  .Define("theta_min", [&]() { auto x = thetaMinEdges[iEntry]; return x; })
130  .Define("theta_max", [&]() { auto x = thetaMaxEdges[iEntry]; return x; })
131  .Define("p_bin_idx", [&]() { auto x = pBinIdxs[iEntry]; return x; })
132  .Define("theta_bin_idx", [&]() { auto x = thetaBinIdxs[iEntry]; ++iEntry; return x; })
133  .Snapshot("tree_broken", m_dummyFile, "", opt);
134 
135  };
int getPDGCode() const
PDG code.
Definition: Const.h:464
Const::ChargedStable m_testHypo
The charged particle hypothesis to test.
std::string m_dummyFile
Dummy ROOT file name.

◆ createDummyTTree()

void createDummyTTree ( )
inlineprotected

Create a ROOT::TTree for the detector weights w/ a few entries.

This replicates the structure of the CSV weights file that are serialised in the payload.

Definition at line 61 of file trackIsoScoreCalculator.cc.

Member Data Documentation

◆ m_dummyFile

std::string m_dummyFile = "dummyFile.root"

Dummy ROOT file name.

Files are created at the start of the test, and deleted at the end.

Definition at line 52 of file trackIsoScoreCalculator.cc.


The documentation for this class was generated from the following file: