ATLAS Offline Software
JetFitterGenericTagInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*****************************-*-c++-*-*************************************
6  JetFitterTagInfo.h - Description
7  -------------------
8  begin : 2012
9  authors : Dan Guest
10  email : dguest@cern.ch
11 
12 
13  ***************************************************************************/
14 
15 
16 #ifndef JETTAGINFO_GENERICTAGINFO_H
17 #define JETTAGINFO_GENERICTAGINFO_H
18 
20 #include <vector>
21 #include <iostream>
22 #include <map>
23 #include <utility>
24 
25 namespace Trk
26 {
27  class RecVertex;
28 }
29 
30 namespace Analysis
31 {
32 
41 {
42 public:
43 
44  // may be needed to trick reflex
45  typedef std::map<std::string,int> IntMap;
46  typedef std::map<std::string,double> DoubleMap;
47 
48  // --- lookup strings for backward compatibility ---
49 
50  static const char* const N_VTX;
51  static const char* const N_SINGLE_TRACKS;
52  static const char* const N_TRACKS_AT_VTX;
53  static const char* const MASS;
54  static const char* const ENERGY_FRACTION;
55  static const char* const SIGNIFICANCE_3D;
56  static const char* const DELTA_ETA;
57  static const char* const DELTA_PHI;
58 
61 
64 
65 
67  virtual ~JetFitterGenericTagInfo();
68 
69  virtual JetFitterGenericTagInfo* clone() const;
70 
71  void clear();
72 
74  int nVTX() const;
75 
77  int nSingleTracks() const;
78 
80  int nTracksAtVtx() const;
81 
83  double energyFraction() const;
84 
87  double mass() const;
88 
93  double significance3d() const;
94 
97  double deltaphi() const;
98 
101  double deltaeta() const;
102 
105  int clearTemporary();
106 
108  double getDouble(const std::string&) const;
109  int getInt(const std::string&) const;
110 
112  double getDoubleOrThrow(const std::string&) const; // <- may throw range_error
113  int getIntOrThrow(const std::string&) const; // <- may throw range_error
114 
115  DoubleMap::const_iterator getDoublesBegin() const;
116  DoubleMap::const_iterator getDoublesEnd() const;
117  IntMap::const_iterator getIntsBegin() const;
118  IntMap::const_iterator getIntsEnd() const;
119 
120  //** returns true if the value is already set */
121  bool setDouble(const std::string&, double);
122  bool setTemporaryDouble(const std::string&, double);
123  bool setInt(const std::string&, int);
124  bool setTemporaryInt(const std::string&, int);
125 
127  void setnVTX(int nVTX);
129  void setnTracksAtVtx(int nTracksAtVtx);
130  void setMass(double mass);
131  void setEnergyFraction(double energyFraction);
132  void setSignificance3d(double significance3d);
133  void setDeltaeta(double deltaeta);
134  void setDeltaphi(double deltaphi);
135 
136 
137 private:
138 
141  std::vector<std::string> m_temporary_variables;
142 
145 
148 
149 
150 }; // End class
151 
152 
153 
154 } // End namespace
155 #endif
Analysis::JetFitterGenericTagInfo::setDeltaphi
void setDeltaphi(double deltaphi)
Definition: JetFitterGenericTagInfo.cxx:241
Analysis::JetFitterGenericTagInfo::getDouble
double getDouble(const std::string &) const
returns numeric_limits::min() for unset values
Definition: JetFitterGenericTagInfo.cxx:84
Analysis::JetFitterGenericTagInfo::setDouble
bool setDouble(const std::string &, double)
Definition: JetFitterGenericTagInfo.cxx:108
Analysis::JetFitterGenericTagInfo::setTemporaryDouble
bool setTemporaryDouble(const std::string &, double)
Definition: JetFitterGenericTagInfo.cxx:113
Analysis::JetFitterGenericTagInfo::clone
virtual JetFitterGenericTagInfo * clone() const
a clone method for the proper workings of the copy constructor
Definition: JetFitterGenericTagInfo.cxx:232
Analysis::IJetFitterTagInfo::IntMap
std::map< std::string, int > IntMap
Definition: IJetFitterTagInfo.h:44
Analysis::JetFitterGenericTagInfo::getIntsEnd
IntMap::const_iterator getIntsEnd() const
Definition: JetFitterGenericTagInfo.cxx:141
Analysis::JetFitterGenericTagInfo::setSignificance3d
void setSignificance3d(double significance3d)
Definition: JetFitterGenericTagInfo.cxx:227
Analysis::IJetFitterTagInfo::DoubleMap
std::map< std::string, double > DoubleMap
Definition: IJetFitterTagInfo.h:45
Analysis::JetFitterGenericTagInfo::IntMap
std::map< std::string, int > IntMap
Definition: JetFitterGenericTagInfo.h:45
Analysis::IJetFitterTagInfo
The IJetFitterTagInfo class: Abstract baseclass for JetFitterTagInfo and JetFitterGenericTagInfo.
Definition: IJetFitterTagInfo.h:40
Analysis::JetFitterGenericTagInfo::m_temporary_variables
std::vector< std::string > m_temporary_variables
Definition: JetFitterGenericTagInfo.h:141
Analysis::JetFitterGenericTagInfo::m_experimental_doubles
DoubleMap m_experimental_doubles
Definition: JetFitterGenericTagInfo.h:139
Analysis::JetFitterGenericTagInfo::setnVTX
void setnVTX(int nVTX)
Set-methods for the private data members of the class.
Definition: JetFitterGenericTagInfo.cxx:204
Analysis::JetFitterGenericTagInfo::nTracksAtVtx
int nTracksAtVtx() const
number of tracks at vertices (with more than one track - sum)
Definition: JetFitterGenericTagInfo.cxx:176
Analysis::JetFitterGenericTagInfo::getInt
int getInt(const std::string &) const
Definition: JetFitterGenericTagInfo.cxx:119
Analysis::JetFitterGenericTagInfo::DELTA_ETA
static const char *const DELTA_ETA
Definition: JetFitterGenericTagInfo.h:56
Analysis::JetFitterGenericTagInfo::clear
void clear()
Definition: JetFitterGenericTagInfo.cxx:77
Analysis::JetFitterGenericTagInfo
Generic replacement for JetFitterTagInfo.
Definition: JetFitterGenericTagInfo.h:41
x
#define x
Analysis::JetFitterGenericTagInfo::JetFitterGenericTagInfo
JetFitterGenericTagInfo()
default constructor
Definition: JetFitterGenericTagInfo.cxx:45
Analysis::JetFitterGenericTagInfo::setMass
void setMass(double mass)
Definition: JetFitterGenericTagInfo.cxx:218
Analysis::JetFitterGenericTagInfo::setnTracksAtVtx
void setnTracksAtVtx(int nTracksAtVtx)
Definition: JetFitterGenericTagInfo.cxx:213
Analysis::JetFitterGenericTagInfo::ENERGY_FRACTION
static const char *const ENERGY_FRACTION
Definition: JetFitterGenericTagInfo.h:54
Analysis::JetFitterGenericTagInfo::getIntOrThrow
int getIntOrThrow(const std::string &) const
Definition: JetFitterGenericTagInfo.cxx:127
Analysis::JetFitterGenericTagInfo::operator=
JetFitterGenericTagInfo & operator=(const JetFitterGenericTagInfo &rhs)
assigenment operator
Definition: JetFitterGenericTagInfo.cxx:62
Analysis::JetFitterGenericTagInfo::getDoublesEnd
DoubleMap::const_iterator getDoublesEnd() const
Definition: JetFitterGenericTagInfo.cxx:105
Analysis::JetFitterGenericTagInfo::deltaeta
double deltaeta() const
get deltaeta between sum of all momenta at vertices and the fitted B-meson flight direction
Definition: JetFitterGenericTagInfo.cxx:194
Analysis::JetFitterGenericTagInfo::setDeltaeta
void setDeltaeta(double deltaeta)
Definition: JetFitterGenericTagInfo.cxx:237
Analysis::JetFitterGenericTagInfo::deltaphi
double deltaphi() const
get deltaphi between sum of all momenta at vertices and the fitted B-meson flight direction
Definition: JetFitterGenericTagInfo.cxx:199
Analysis::JetFitterGenericTagInfo::mass
double mass() const
The invariant mass of the tracks fitted to the vertices with at least 2 tracks.
Definition: JetFitterGenericTagInfo.cxx:181
Analysis::JetFitterGenericTagInfo::energyFraction
double energyFraction() const
The energy fraction: Evtx/Ejet of charges tracks.
Definition: JetFitterGenericTagInfo.cxx:185
Analysis::JetFitterGenericTagInfo::N_TRACKS_AT_VTX
static const char *const N_TRACKS_AT_VTX
Definition: JetFitterGenericTagInfo.h:52
Analysis::JetFitterGenericTagInfo::getDoublesBegin
DoubleMap::const_iterator getDoublesBegin() const
Definition: JetFitterGenericTagInfo.cxx:101
Analysis::JetFitterGenericTagInfo::N_VTX
static const char *const N_VTX
Definition: JetFitterGenericTagInfo.h:50
Analysis::TagInfoType
std::string TagInfoType
Definition: JetTagInfoBase.h:19
Analysis::JetFitterGenericTagInfo::DoubleMap
std::map< std::string, double > DoubleMap
Definition: JetFitterGenericTagInfo.h:46
Analysis::JetFitterGenericTagInfo::m_experimental_ints
IntMap m_experimental_ints
Definition: JetFitterGenericTagInfo.h:140
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::JetFitterGenericTagInfo::getDoubleOrThrow
double getDoubleOrThrow(const std::string &) const
these versions will throw a range_error if the value isn't set
Definition: JetFitterGenericTagInfo.cxx:92
Analysis::JetFitterGenericTagInfo::setEnergyFraction
void setEnergyFraction(double energyFraction)
Definition: JetFitterGenericTagInfo.cxx:222
Analysis::JetFitterGenericTagInfo::setnSingleTracks
void setnSingleTracks(int nSingleTracks)
Definition: JetFitterGenericTagInfo.cxx:208
Analysis::JetFitterGenericTagInfo::nVTX
int nVTX() const
number of vertices with more than one track.
Definition: JetFitterGenericTagInfo.cxx:166
Analysis::JetFitterGenericTagInfo::nSingleTracks
int nSingleTracks() const
number of single track vertices
Definition: JetFitterGenericTagInfo.cxx:171
IJetFitterTagInfo.h
Analysis::JetFitterGenericTagInfo::significance3d
double significance3d() const
significance3d of all vertices with more than one track or -if not there-
Definition: JetFitterGenericTagInfo.cxx:189
Analysis::JetFitterGenericTagInfo::clearTemporary
int clearTemporary()
clean out temporary variables (if you're saving info) returns the number of variables removed
Definition: JetFitterGenericTagInfo.cxx:154
Analysis::JetFitterGenericTagInfo::MASS
static const char *const MASS
Definition: JetFitterGenericTagInfo.h:53
Analysis::JetFitterGenericTagInfo::N_SINGLE_TRACKS
static const char *const N_SINGLE_TRACKS
Definition: JetFitterGenericTagInfo.h:51
Analysis::JetFitterGenericTagInfo::SIGNIFICANCE_3D
static const char *const SIGNIFICANCE_3D
Definition: JetFitterGenericTagInfo.h:55
Analysis::JetFitterGenericTagInfo::~JetFitterGenericTagInfo
virtual ~JetFitterGenericTagInfo()
default destructor
Definition: JetFitterGenericTagInfo.cxx:73
Analysis::JetFitterGenericTagInfo::setTemporaryInt
bool setTemporaryInt(const std::string &, int)
Definition: JetFitterGenericTagInfo.cxx:149
Analysis::JetFitterGenericTagInfo::setInt
bool setInt(const std::string &, int)
Definition: JetFitterGenericTagInfo.cxx:144
Analysis::JetFitterGenericTagInfo::DELTA_PHI
static const char *const DELTA_PHI
Definition: JetFitterGenericTagInfo.h:57
Analysis::JetFitterGenericTagInfo::getIntsBegin
IntMap::const_iterator getIntsBegin() const
Definition: JetFitterGenericTagInfo.cxx:137