Belle II Software  release-05-02-19
HopfieldNetworkTest Class Reference

Test of HopfieldNetwork Class. More...

Inheritance diagram for HopfieldNetworkTest:
Collaboration diagram for HopfieldNetworkTest:

Protected Member Functions

vector< OverlapResolverNodeInfogetInput ()
 Create sample for test. More...
 

Protected Attributes

vector< OverlapResolverNodeInfom_trackCandidateInfos
 Container on which the Hopfield Algorithm runs. More...
 
vector< OverlapResolverNodeInfom_qiTrackOverlap
 Container on which the Greedy Algorithm (Scrooge) runs. More...
 
unsigned int myTrueTracks = 10
 Number of true tracks.
 

Detailed Description

Test of HopfieldNetwork Class.

Definition at line 25 of file hopfieldNetwork.cc.

Member Function Documentation

◆ getInput()

vector<OverlapResolverNodeInfo> getInput ( )
inlineprotected

Create sample for test.

Returns
test sample info

Definition at line 43 of file hopfieldNetwork.cc.

44  {
45  vector<OverlapResolverNodeInfo> trackCandidateInfos;
46  unsigned int myNTrackCands = 200;
47  unsigned int diff = myNTrackCands - myTrueTracks;
48  unsigned int nOverlaps = 6;
49 
50  //Create competitor IDs
51  vector <vector <unsigned short> > competitorIDMatrix(myNTrackCands);
52  for (unsigned int ii = 0; ii < myNTrackCands; ii++) {
53  for (unsigned int jj = 0; jj < nOverlaps; jj++) {
54  unsigned short bkgIndex = (rand() % diff) + myTrueTracks;
55  competitorIDMatrix[ii].push_back(bkgIndex);
56  competitorIDMatrix[bkgIndex].push_back(ii);
57  }
58  }
59 
60  //Make the actual OverlapResolverNodeInfos
61  for (unsigned int ii = 0; ii < myNTrackCands; ii++) {
62  float qualityIndicator = 0;
63  if (ii < myTrueTracks) {
64  qualityIndicator = static_cast<float>(rand() % 100) / 100.;
65  B2INFO("Track Index" << ii << ", TrueQI: " << qualityIndicator);
66  } else {
67  qualityIndicator = 1 / (static_cast<float>(rand() % 100) + 1.2);
68  B2INFO("Track Index" << ii << ", FakeQI: " << qualityIndicator);
69  }
70  trackCandidateInfos.emplace_back(qualityIndicator, ii, competitorIDMatrix[ii], 0.8);
71  }
72  return trackCandidateInfos;
73  }

Member Data Documentation

◆ m_qiTrackOverlap

vector<OverlapResolverNodeInfo> m_qiTrackOverlap
protected

Container on which the Greedy Algorithm (Scrooge) runs.

Output comes in form of qiTrackOverlap.isActive, which is simply a bool, if the corresponding track was taken or not.

Definition at line 36 of file hopfieldNetwork.cc.

◆ m_trackCandidateInfos

vector<OverlapResolverNodeInfo> m_trackCandidateInfos
protected

Container on which the Hopfield Algorithm runs.

Output comes in form of tcInfo4Hopfield.neuronValue. Typically > 0.7 signal, < 0.7 bkg;

Definition at line 31 of file hopfieldNetwork.cc.


The documentation for this class was generated from the following file:
HopfieldNetworkTest::myTrueTracks
unsigned int myTrueTracks
Number of true tracks.
Definition: hopfieldNetwork.cc:38