12 theChi2(0), theNDF(0), vertexValid(
false), withPrior(
false),
13 theWeightMapIsAvailable(
false), theCovMapAvailable(
false),
14 withRefittedTracks(
false)
19 const std::vector<TransientTrack> &
tracks,
float chi2) :
30 const std::vector<TransientTrack> &
tracks,
float chi2) :
41 const std::vector<TransientTrack> &
tracks,
float chi2,
float ndf) :
51 const std::vector<TransientTrack> &
tracks,
float chi2,
float ndf) :
62 const std::vector<TransientTrack> &
tracks,
float chi2) :
73 const std::vector<TransientTrack> &
tracks,
float chi2) :
85 const std::vector<TransientTrack> &
tracks,
float chi2,
float ndf) :
95 const std::vector<TransientTrack> &
tracks,
float chi2,
float ndf) :
105 const std::vector<TransientTrack> &
tracks,
float chi2) :
116 const std::vector<TransientTrack> &
tracks,
float chi2,
float ndf) :
127 const std::vector<TransientTrack> &
tracks,
140 const std::vector<TransientTrack> &
tracks,
141 float chi2,
float ndf) :
158 if (refittedTracks.empty())
159 throw VertexException(
"TransientVertex::refittedTracks: No refitted tracks stored in input container");
177 TransientTrackToFloatMap::const_iterator it =
theWeightMap.find(track);
189 throw VertexException(
"TransientVertex::Track-to-track covariance matrices not available");
200 TTtoTTmap::const_iterator it =
theCovMap.find(*tr1);
202 const TTmap & tm = it->second;
203 TTmap::const_iterator nit = tm.find(*tr2);
204 if (nit != tm.end()) {
205 return( nit->second);
208 throw VertexException(
"TransientVertex::requested Track-to-track covariance matrix does not exist");
212 throw VertexException(
"TransientVertex::requested Track-to-track covariance matrix does not exist");
221 std::vector<TransientTrack>::const_iterator it =
233 std::vector<TransientTrack>::const_iterator it =
271 using namespace reco;
289 edm::LogError(
"DynamicCastingFailed") <<
"Casting of TransientTrack to CandidatePtrTransientTrack failed!";
298 vtxCompPtrCand.
setP4(p4);
299 return vtxCompPtrCand;
bool theWeightMapIsAvailable
float totalChiSquared() const
std::map< reco::TransientTrack, float > TransientTrackToFloatMap
std::map< reco::TransientTrack, TTmap > TTtoTTmap
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
GlobalPoint position() const
std::map< reco::TransientTrack, AlgebraicMatrix33 > TTmap
const AlgebraicSymMatrix44 & matrix4D() const
void setVertex(const Point &vertex) override
set vertex
void setTime(double time)
reco::TransientTrack refittedTrack(const reco::TransientTrack &track) const
VertexState thePriorVertexState
auto const T2 &decltype(t1.eta()) t2
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
float degreesOfFreedom() const
TransientTrackToFloatMap theWeightMap
GlobalPoint position() const
math::XYZPoint Point
point in the space
std::vector< reco::TransientTrack > theOriginalTracks
float trackWeight(const reco::TransientTrack &track) const
CandidatePtr candidate() const override
void add(const TrackBaseRef &r, float w=1.0)
add a reference to a Track
GlobalError error4D() const
const Track & track() const
reco::TransientTrack originalTrack(const reco::TransientTrack &refTrack) const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
VertexState theVertexState
void setCovariance(const CovarianceMatrix &m)
set covariance matrix
void addDaughter(const CandidatePtr &)
add a daughter via a reference
math::XYZPoint Point
point in the space
std::vector< reco::TransientTrack > const & refittedTracks() const
std::vector< reco::TransientTrack > theRefittedTracks
void setChi2AndNdof(double chi2, double ndof)
set chi2 and ndof
VertexState const & vertexState() const
AlgebraicMatrix33 tkToTkCovariance(const reco::TransientTrack &t1, const reco::TransientTrack &t2) const
void setP4(const LorentzVector &p4) final
set 4-momentum
TransientTrackToFloatMap weightMap() const
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33