Belle II Software  release-08-01-10
FlavorTaggerInfoMap.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/datastore/RelationsObject.h>
12 
13 #include <map>
14 #include <string>
15 
16 namespace Belle2 {
22  // forward declarations
23 
24  class Track;
25 
38 
39  public:
40 
50  m_qpCategory(),
53  m_qrCombined(-2),
54  m_B0Probability(-2),
56  {}
57 
73  void setTargetTrackLevel(const std::string& category, const Belle2::Track* track)
74  {
75  m_targetTrackLevel.insert(std::pair<std::string, const Track*>(category, track));
76  }
77 
83  void setProbTrackLevel(const std::string& category, float probability)
84  {
85  m_probTrackLevel.insert(std::pair<std::string, float>(category, probability));
86  }
87 
94  void setTargetEventLevel(const std::string& category, const Belle2::Track* track)
95  {
96  m_targetEventLevel.insert(std::pair<std::string, const Track*>(category, track));
97  }
98 
105  void setProbEventLevel(const std::string& category, float probability)
106  {
107  m_probEventLevel.insert(std::pair<std::string, float>(category, probability));
108  }
109 
116  void setQpCategory(const std::string& category, float qr)
117  {
118  m_qpCategory.insert(std::pair<std::string, float>(category, qr));
119  }
120 
126  void setHasTrueTarget(const std::string& category, float isTrue)
127  {
128  m_hasTrueTarget.insert(std::pair<std::string, float>(category, isTrue));
129  }
130 
136  void setIsTrueCategory(const std::string& category, float isTrue)
137  {
138  m_isTrueCategory.insert(std::pair<std::string, float>(category, isTrue));
139  }
140 
145  void setQrCombined(float qr) { m_qrCombined = qr; }
146 
151  void setB0Probability(float B0Probability) { m_B0Probability = B0Probability; }
152 
157  void setB0barProbability(float B0barProbability) { m_B0barProbability = B0barProbability; }
158 
163  std::map<std::string, const Belle2::Track*> getTargetTrackLevel() const { return m_targetTrackLevel; }
164 
169  std::map<std::string, float> getProbTrackLevel() const { return m_probTrackLevel; }
170 
175  std::map<std::string, const Belle2::Track*> getTargetEventLevel() const { return m_targetEventLevel; }
176 
181  std::map<std::string, float> getProbEventLevel() const { return m_probEventLevel; }
182 
187  std::map<std::string, float> getQpCategory() const { return m_qpCategory; }
188 
193  std::map<std::string, float> getHasTrueTarget() const { return m_hasTrueTarget; }
194 
199  std::map<std::string, float> getIsTrueCategory() const { return m_isTrueCategory; }
200 
205  float getQrCombined() const { return m_qrCombined; }
206 
211  float getB0Probability() const { return m_B0Probability; }
212 
217  float getB0barProbability() const { return m_B0barProbability; }
218 
219  private:
220 
221  // persistent data members
222 
223  // Track, Event and Combiner Level Flavor Tagger Info
224 
225  std::map<std::string, const Belle2::Track*>
227  std::map<std::string, float>
229  std::map<std::string, const Belle2::Track*>
231  std::map<std::string, float>
233  std::map<std::string, float>
235  std::map<std::string, float>
237  std::map<std::string, float>
240  float m_qrCombined;
245  };
246 
248 } // end namespace Belle2
This class stores the Flavor Tagger information for a specific method and particle filled in the Flav...
std::map< std::string, const Belle2::Track * > m_targetEventLevel
map containing the category name and the corresponding pointer to the track with highest category pro...
void setQpCategory(const std::string &category, float qr)
Map filler: Set the category name and the corresponding qr Output, i.e.
void setProbEventLevel(const std::string &category, float probability)
Map filler: Set the category name and the highest category probability for the corresponding category...
std::map< std::string, const Belle2::Track * > getTargetEventLevel() const
get map containing the category name and the corresponding pointer to the track with highest category...
void setIsTrueCategory(const std::string &category, float isTrue)
Map filler: Set the category name and the corresponding truth MC value.
float m_B0barProbability
Direct Output of the Combiner: Probability of being a B0bar).
void setProbTrackLevel(const std::string &category, float probability)
Map filler: Set the category name and the corresponding highest target track probability.
float m_B0Probability
Direct Output of the Combiner: Probability of being a B0.
std::map< std::string, float > getQpCategory() const
get map containing the category name and the corresponding qr Output
std::map< std::string, float > m_probTrackLevel
map containing the category name and the corresponding highest target track probability in Track Leve...
std::map< std::string, float > m_probEventLevel
map containing the category name and the corresponding highest category probability in Event Level
float m_qrCombined
qr Output of the Combiner.
std::map< std::string, float > m_isTrueCategory
map containing the category name and a float value which is 1 if the corresponding category tags the ...
std::map< std::string, const Belle2::Track * > m_targetTrackLevel
map containing the category name and the corresponding pointer to the track with highest target proba...
std::map< std::string, float > getIsTrueCategory() const
get map containing the category truth.
void setB0Probability(float B0Probability)
Saves the B0Probability output of the Combiner.
std::map< std::string, float > getProbTrackLevel() const
get map containing the category name and the corresponding highest target track probability in Track ...
float getB0barProbability() const
Probability of being a B0bar.
std::map< std::string, float > getHasTrueTarget() const
get map containing the category truth.
void setB0barProbability(float B0barProbability)
Saves the B0barProbability output of the Combiner.
std::map< std::string, float > getProbEventLevel() const
get map containing the category name and the corresponding highest category probability in Event Leve...
std::map< std::string, float > m_qpCategory
map containing the category name and the corresponding qr Output, i.e.
float getB0Probability() const
Probability of being a B0.
void setTargetTrackLevel(const std::string &category, const Belle2::Track *track)
SETTERS The setters are expected to fill a map whose element corresponds to the probabilities and tra...
float getQrCombined() const
qr Output of the Combiner.
void setTargetEventLevel(const std::string &category, const Belle2::Track *track)
Map filler: Set the category name and the pointer of the track with the highest category probability ...
void setQrCombined(float qr)
Saves qr Output of the Combiner.
FlavorTaggerInfoMap()
Default constructor.
std::map< std::string, float > m_hasTrueTarget
map containing the category name and a float value which is 1 if the corresponding category has a tar...
std::map< std::string, const Belle2::Track * > getTargetTrackLevel() const
get map containing the category name and the corresponding pointer to the track with highest target p...
void setHasTrueTarget(const std::string &category, float isTrue)
Map filler: Set the category name and the corresponding MC target truth value.
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class that bundles various TrackFitResults.
Definition: Track.h:25
Abstract base class for different kinds of events.