Belle II Software  release-05-02-19
CDCTriggerMLPData.h
1 #ifndef CDCTRIGGERMLPDATA_H
2 #define CDCTRIGGERMLPDATA_H
3 
4 #include <TObject.h>
5 
6 namespace Belle2 {
12  class CDCTriggerMLPData : public TObject {
13  public:
18 
20  void addCounters(unsigned nWires)
21  {
22  std::vector<unsigned short> counters;
23  counters.assign(nWires, 0);
24  hitCounters.push_back(counters);
25  }
29  void addHit(unsigned iSL, int iTS);
31  void countTrack() { ++trackCounter; }
33  void addSample(const std::vector<float>& input, const std::vector<float>& target)
34  {
35  inputSamples.push_back(input);
36  targetSamples.push_back(target);
37  }
38 
40  short getTrackCounter() const { return trackCounter; }
44  unsigned short getHitCounter(unsigned iSL, int iTS) const;
46  unsigned nSamples() const { return targetSamples.size(); }
48  const std::vector<float>& getInput(unsigned i) const { return inputSamples[i]; }
50  const std::vector<float>& getTarget(unsigned i) const { return targetSamples[i]; }
51 
52  private:
54  std::vector<std::vector<float>> inputSamples;
56  std::vector<std::vector<float>> targetSamples;
59  std::vector<std::vector<unsigned short>> hitCounters;
61  short trackCounter;
62 
65  };
67 }
68 #endif
Belle2::CDCTriggerMLPData::addHit
void addHit(unsigned iSL, int iTS)
increase counter for super layer and track segment number in super layer.
Definition: CDCTriggerMLPData.cc:6
Belle2::CDCTriggerMLPData::inputSamples
std::vector< std::vector< float > > inputSamples
list of input vectors for network training.
Definition: CDCTriggerMLPData.h:54
Belle2::CDCTriggerMLPData::countTrack
void countTrack()
increase track counter
Definition: CDCTriggerMLPData.h:31
Belle2::CDCTriggerMLPData
Struct for training data of a single MLP for the neuro trigger.
Definition: CDCTriggerMLPData.h:12
Belle2::CDCTriggerMLPData::nSamples
unsigned nSamples() const
get number of samples (same for input and target)
Definition: CDCTriggerMLPData.h:46
Belle2::CDCTriggerMLPData::addSample
void addSample(const std::vector< float > &input, const std::vector< float > &target)
add a pair of input and target
Definition: CDCTriggerMLPData.h:33
Belle2::CDCTriggerMLPData::~CDCTriggerMLPData
~CDCTriggerMLPData()
destructor, empty because we don't allocate memory anywhere.
Definition: CDCTriggerMLPData.h:17
Belle2::CDCTriggerMLPData::trackCounter
short trackCounter
number of tracks used for the hit counter.
Definition: CDCTriggerMLPData.h:61
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCTriggerMLPData::CDCTriggerMLPData
CDCTriggerMLPData()
default constructor.
Definition: CDCTriggerMLPData.h:15
Belle2::CDCTriggerMLPData::addCounters
void addCounters(unsigned nWires)
add hit counters for a layer with nWires
Definition: CDCTriggerMLPData.h:20
Belle2::CDCTriggerMLPData::getHitCounter
unsigned short getHitCounter(unsigned iSL, int iTS) const
get hit counter for super layer and track segment number is super layer.
Definition: CDCTriggerMLPData.cc:24
Belle2::CDCTriggerMLPData::getInput
const std::vector< float > & getInput(unsigned i) const
get input vector of sample i
Definition: CDCTriggerMLPData.h:48
Belle2::CDCTriggerMLPData::targetSamples
std::vector< std::vector< float > > targetSamples
list of target values for network training.
Definition: CDCTriggerMLPData.h:56
Belle2::CDCTriggerMLPData::getTrackCounter
short getTrackCounter() const
get track counter
Definition: CDCTriggerMLPData.h:40
Belle2::CDCTriggerMLPData::ClassDef
ClassDef(CDCTriggerMLPData, 1)
Needed to make the ROOT object storable.
Belle2::CDCTriggerMLPData::hitCounters
std::vector< std::vector< unsigned short > > hitCounters
hit counter of active track segment IDs, used to determine the relevant id range for an MLP.
Definition: CDCTriggerMLPData.h:59
Belle2::CDCTriggerMLPData::getTarget
const std::vector< float > & getTarget(unsigned i) const
get target value of sample i
Definition: CDCTriggerMLPData.h:50