18 theWeightMapIsAvailable(
false),
19 theCovMapAvailable(
false),
20 withRefittedTracks(
false) {}
24 const std::vector<TransientTrack>&
tracks,
41 const std::vector<TransientTrack>&
tracks,
57 const std::vector<TransientTrack>&
tracks,
73 const std::vector<TransientTrack>&
tracks,
90 const std::vector<TransientTrack>&
tracks,
111 const std::vector<TransientTrack>&
tracks,
130 const std::vector<TransientTrack>&
tracks,
150 const std::vector<TransientTrack>&
tracks,
178 const std::vector<TransientTrack>&
tracks,
193 const std::vector<TransientTrack>&
tracks,
210 const std::vector<TransientTrack>&
tracks,
230 if (refittedTracks.empty())
231 throw VertexException(
"TransientVertex::refittedTracks: No refitted tracks stored in input container");
243 std::vector<TransientTrack>::const_iterator foundTrack =
247 TransientTrackToFloatMap::const_iterator it =
theWeightMap.find(track);
256 throw VertexException(
"TransientVertex::Track-to-track covariance matrices not available");
267 TTtoTTmap::const_iterator it =
theCovMap.find(*tr1);
269 const TTmap& tm = it->second;
270 TTmap::const_iterator nit = tm.find(*tr2);
271 if (nit != tm.end()) {
272 return (nit->second);
274 throw VertexException(
"TransientVertex::requested Track-to-track covariance matrix does not exist");
277 throw VertexException(
"TransientVertex::requested Track-to-track covariance matrix does not exist");
330 using namespace reco;
349 edm::LogError(
"DynamicCastingFailed") <<
"Casting of TransientTrack to CandidatePtrTransientTrack failed!";
357 vtxCompPtrCand.
setP4(p4);
358 return vtxCompPtrCand;
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33
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
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
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