ATLAS Offline Software
SecVtxInfo.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 /***************************************************************************
6  SecVtxInfo.h - Description
7  -------------------
8  begin : 04-06-2004
9  authors : Andreas Wildauer (CERN PH-ATC), Fredrik Akesson (CERN PH-ATC)
10  email : andreas.wildauer@cern.ch, fredrik.akesson@cern.ch
11  changes :
12 
13  ***************************************************************************/
14 
15 #ifndef JETTAGINFO_SECVTXINFO_H
16 #define JETTAGINFO_SECVTXINFO_H
17 
18 #include "JetTagInfo/BaseTagInfo.h"
19 #include "Particle/TrackParticle.h"
20 #include <vector>
21 #include <iostream>
22 
23 namespace Trk
24 {
25  class RecVertex;
26 }
27 
28 namespace Analysis
29 {
30 typedef std::vector<double> FloatVec;
31 typedef std::vector<std::string> StringVector;
33 typedef std::vector<const Rec::TrackParticle*> TrackVec;
34 
59 class SecVtxInfo : public BaseTagInfo
60 {
61 public:
62  enum FitType { TearDown=0, BuildUp=1 , NoFit=2 };
64  SecVtxInfo();
65 
67  SecVtxInfo(const TagInfoType& x);
68 
70  SecVtxInfo(const SecVtxInfo& rhs);
71 
73  SecVtxInfo &operator= (const SecVtxInfo& rhs);
74 
76  virtual ~SecVtxInfo();
77 
78  virtual SecVtxInfo* clone() const;
79 
81  int numSelTracksForFit() const;
82 
85  double distance() const;
86  double rphidistance() const;
87 
89  double probability() const;
90 
92  double mass() const;
93 
95  double energyFraction() const;
96 
98  int mult()const;
99 
101  FitType fitType() const; // Type of fit
102 
104  const Trk::RecVertex& secVertexPos() const;
105 
107  int NumberOfG2TrackVertices() const;
108 
110  void setFitType(FitType type);
111  void setSecVtx(const Trk::RecVertex& secVtx,
112  double fitProb,
113  const TrackVec& fittedTrks);
115  void setMult(int mult);
116  void setMass(double mass);
117  void setEnergyFraction(double energyFraction);
120  void setDist(double dist);
121  void setRPhiDist(double dist);
122  void setNumberOfG2TrackVertices(int NSVPair);
123 
124 private:
126  double m_dist;
127  double m_rphidist;
128  double m_prob; // CumulativeChiSquare of vtx chi2
129  double m_mass;
132  int m_mult;
136 }; // End class
137 
139 {
140  return m_numSelTracksForFit;
141 }
142 inline double SecVtxInfo::distance() const
143 {
144  return m_dist;
145 }
146 inline double SecVtxInfo::rphidistance() const
147 {
148  return m_rphidist;
149 }
150 inline double SecVtxInfo::probability() const
151 {
152  return m_prob;
153 }
154 inline double SecVtxInfo::mass() const
155 {
156  return m_mass;
157 }
158 inline double SecVtxInfo::energyFraction() const
159 {
160  return m_energyFraction;
161 }
162 inline int SecVtxInfo::mult() const
163 {
164  return m_mult;
165 }
167 {
168  return m_fitType;
169 }
171 {
172  return m_secVtxPos;
173 }
174 inline void SecVtxInfo::setSecVtx(const Trk::RecVertex& secVtx,
175  double fitProb,
176  const TrackVec& fittedTrks)
177 {
178  m_secVtxPos=secVtx;
179  m_prob=fitProb;
180  m_fittedTrks=fittedTrks;
181 }
182 inline void SecVtxInfo::setNumSelTracksForFit(int numSelTracksForFit)
183 {
185 }
186 inline void SecVtxInfo::setMult(int mult)
187 {
188  m_mult=mult;
189 }
190 inline void SecVtxInfo::setMass(double mass)
191 {
192  m_mass=mass;
193 }
194 inline void SecVtxInfo::setEnergyFraction(double energyFraction)
195 {
197 }
199 {
200  m_fitType=type;
201 }
202 inline void SecVtxInfo::setDist(double dist)
203 {
204  m_dist=dist;
205 }
206 inline void SecVtxInfo::setRPhiDist(double dist)
207 {
208  m_rphidist=dist;
209 }
210 inline void SecVtxInfo::setNumberOfG2TrackVertices(int NGood2TrackVertices)
211 {
212  m_NGood2TrackVertices=NGood2TrackVertices;
213 }
215 {
216  return m_NGood2TrackVertices;
217 }
219 {
220  return new SecVtxInfo(*this);
221 }
222 
223 } // End namespace
224 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Analysis::SecVtxInfo::m_prob
double m_prob
Definition: SecVtxInfo.h:128
TrackParticle.h
Analysis::SecVtxInfo::setNumSelTracksForFit
void setNumSelTracksForFit(int numSelTracksForFit)
Definition: SecVtxInfo.h:182
Analysis::SecVtxInfo::setMult
void setMult(int mult)
Definition: SecVtxInfo.h:186
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
Analysis::SecVtxInfo::setNumberOfG2TrackVertices
void setNumberOfG2TrackVertices(int NSVPair)
Definition: SecVtxInfo.h:210
Analysis::SecVtxInfo::setMass
void setMass(double mass)
Definition: SecVtxInfo.h:190
Analysis::SecVtxInfo::setEnergyFraction
void setEnergyFraction(double energyFraction)
Definition: SecVtxInfo.h:194
Analysis::SecVtxInfo::TearDown
@ TearDown
Definition: SecVtxInfo.h:62
Analysis::SecVtxInfo
The SecVtxInfo class: This class contains information of the secondary vertex fit within the jet.
Definition: SecVtxInfo.h:60
Analysis::SecVtxInfo::mass
double mass() const
The invariant mass of the tracks fitted to the vertex.
Definition: SecVtxInfo.h:154
Analysis::StringVector
std::vector< std::string > StringVector
Definition: LifetimeInfo.h:32
Analysis::SecVtxInfo::m_secVtxPos
Trk::RecVertex m_secVtxPos
Definition: SecVtxInfo.h:134
Analysis::SecVtxInfo::energyFraction
double energyFraction() const
The energy fraction: Evtx/Ejet of charges tracks.
Definition: SecVtxInfo.h:158
Analysis::SecVtxInfo::m_fittedTrks
TrackVec m_fittedTrks
Definition: SecVtxInfo.h:131
x
#define x
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
Analysis::SecVtxInfo::operator=
SecVtxInfo & operator=(const SecVtxInfo &rhs)
assigenment operator
Definition: SecVtxInfo.cxx:78
Analysis::SecVtxInfo::numSelTracksForFit
int numSelTracksForFit() const
The number of tracks available for the sec.vtx.
Definition: SecVtxInfo.h:138
Analysis::FloatVec
std::vector< double > FloatVec
Definition: LifetimeInfo.h:31
Analysis::SecVtxInfo::m_mult
int m_mult
Definition: SecVtxInfo.h:132
Analysis::SecVtxInfo::secVertexPos
const Trk::RecVertex & secVertexPos() const
Returns the reconstructed secondary vertex.
Definition: SecVtxInfo.h:170
Analysis::SecVtxInfo::m_NGood2TrackVertices
int m_NGood2TrackVertices
Definition: SecVtxInfo.h:135
Analysis::SecVtxInfo::setFitType
void setFitType(FitType type)
Set-methods for the private data members of the class.
Definition: SecVtxInfo.h:198
Analysis::BaseTagInfo
Class BasetagInfo: Implements methods defined in ITagInfo.
Definition: BaseTagInfo.h:40
Analysis::TrackVec
std::vector< const Rec::TrackParticle * > TrackVec
Definition: SecVtxInfo.h:33
Analysis::SecVtxInfo::fitType
FitType fitType() const
Returns an enum to indicate the type of fit.
Definition: SecVtxInfo.h:166
Analysis::TagInfoType
std::string TagInfoType
Definition: JetTagInfoBase.h:19
Analysis::SecVtxInfo::m_rphidist
double m_rphidist
Definition: SecVtxInfo.h:127
Analysis::SecVtxInfo::distance
double distance() const
The distance between the primary and the secondary vertex.
Definition: SecVtxInfo.h:142
Analysis::SecVtxInfo::mult
int mult() const
The number of tracks fitted in the vertex.
Definition: SecVtxInfo.h:162
Analysis::SecVtxInfo::setDist
void setDist(double dist)
Definition: SecVtxInfo.h:202
Analysis::SecVtxInfo::NoFit
@ NoFit
Definition: SecVtxInfo.h:62
Analysis::SecVtxInfo::m_numSelTracksForFit
int m_numSelTracksForFit
The number of tracks available for the sec.vtx.
Definition: SecVtxInfo.h:125
BaseTagInfo.h
Analysis::SecVtxInfo::m_fitType
FitType m_fitType
Definition: SecVtxInfo.h:133
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::SecVtxInfo::setRPhiDist
void setRPhiDist(double dist)
Definition: SecVtxInfo.h:206
Analysis::SecVtxInfo::m_dist
double m_dist
Definition: SecVtxInfo.h:126
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Analysis::SecVtxInfo::FitType
FitType
Definition: SecVtxInfo.h:62
Analysis::SecVtxInfo::NumberOfG2TrackVertices
int NumberOfG2TrackVertices() const
Returns number of 2 track vertices.
Definition: SecVtxInfo.h:214
Analysis::SecVtxInfo::m_mass
double m_mass
Definition: SecVtxInfo.h:129
Analysis::SecVtxInfo::setSecVtx
void setSecVtx(const Trk::RecVertex &secVtx, double fitProb, const TrackVec &fittedTrks)
Definition: SecVtxInfo.h:174
Analysis::SecVtxInfo::~SecVtxInfo
virtual ~SecVtxInfo()
default destructor
Definition: SecVtxInfo.cxx:99
Analysis::SecVtxInfo::BuildUp
@ BuildUp
Definition: SecVtxInfo.h:62
Analysis::StringIterator
std::vector< std::string >::iterator StringIterator
Definition: LifetimeInfo.h:33
Analysis::SecVtxInfo::clone
virtual SecVtxInfo * clone() const
a clone method for the proper workings of the copy constructor
Definition: SecVtxInfo.h:218
Analysis::SecVtxInfo::probability
double probability() const
The fit probability of the fit.
Definition: SecVtxInfo.h:150
Analysis::SecVtxInfo::SecVtxInfo
SecVtxInfo()
default constructor
Definition: SecVtxInfo.cxx:29
Analysis::SecVtxInfo::m_energyFraction
double m_energyFraction
Definition: SecVtxInfo.h:130
Analysis::SecVtxInfo::rphidistance
double rphidistance() const
Definition: SecVtxInfo.h:146