Belle II Software  release-06-00-14
CDCTriggerMLPData Class Reference

Struct for training data of a single MLP for the neuro trigger. More...

#include <CDCTriggerMLPData.h>

Inheritance diagram for CDCTriggerMLPData:
Collaboration diagram for CDCTriggerMLPData:

Public Member Functions

 CDCTriggerMLPData ()
 default constructor.
 
 ~CDCTriggerMLPData ()
 destructor, empty because we don't allocate memory anywhere.
 
void addCounters (unsigned nWires)
 add hit counters for a layer with nWires
 
void addHit (unsigned iSL, int iTS)
 increase counter for super layer and track segment number in super layer. More...
 
void countTrack ()
 increase track counter
 
void addSample (const std::vector< float > &input, const std::vector< float > &target)
 add a pair of input and target
 
short getTrackCounter () const
 get track counter
 
unsigned short getHitCounter (unsigned iSL, int iTS) const
 get hit counter for super layer and track segment number is super layer. More...
 
unsigned nSamples () const
 get number of samples (same for input and target)
 
const std::vector< float > & getInput (unsigned i) const
 get input vector of sample i
 
const std::vector< float > & getTarget (unsigned i) const
 get target value of sample i
 

Private Member Functions

 ClassDef (CDCTriggerMLPData, 1)
 Needed to make the ROOT object storable.
 

Private Attributes

std::vector< std::vector< float > > inputSamples
 list of input vectors for network training.
 
std::vector< std::vector< float > > targetSamples
 list of target values for network training.
 
std::vector< std::vector< unsigned short > > hitCounters
 hit counter of active track segment IDs, used to determine the relevant id range for an MLP.
 
short trackCounter
 number of tracks used for the hit counter.
 

Detailed Description

Struct for training data of a single MLP for the neuro trigger.

Definition at line 19 of file CDCTriggerMLPData.h.

Member Function Documentation

◆ addHit()

void addHit ( unsigned  iSL,
int  iTS 
)

increase counter for super layer and track segment number in super layer.

track segment number can be negative. hits in the wrong hemisphere (not in [-nWires/4, nWires/4]) are skipped.

Definition at line 13 of file CDCTriggerMLPData.cc.

14 {
15  if (iSL < hitCounters.size()) {
16  int N = hitCounters[iSL].size();
17  // shift negative indices
18  if (iTS < 0) iTS += N;
19  // check the range
20  // 0, N: hit is on the track
21  // [0, N/4]: hit is in quadrant left of the track
22  // [N/4, 3N/4]: hit is in hemisphere opposite of the track (skipped)
23  // [3N/4, N]: hit is in quadrant right of the track
24  if ((0 <= iTS && iTS <= N / 4) || (3 * N / 4 <= iTS && iTS < N)) {
25  ++hitCounters[iSL][iTS];
26  }
27  }
28 }
std::vector< std::vector< unsigned short > > hitCounters
hit counter of active track segment IDs, used to determine the relevant id range for an MLP.

◆ getHitCounter()

unsigned short getHitCounter ( unsigned  iSL,
int  iTS 
) const

get hit counter for super layer and track segment number is super layer.

track segment number can be negative.

Returns
counter or 0 (for invalid input)

Definition at line 31 of file CDCTriggerMLPData.cc.


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