13 for (
int i = 0;
i < 5;
i++) {
40 for (
int i = 0;
i < 5;
i++) {
59 fill(recVertex, recTrackV, simv, recSimColl,
time);
88 if (simv !=
nullptr) {
101 vert, momAtVtx, (
float)(**simTrack).charge(), *
theMagField, recTrackV.front().stateAtBeamLine().beamSpot());
102 if (paramPair.first) {
113 for (TTrackCont::const_iterator recTrack = recTrackV.begin();
121 std::vector<std::pair<TrackingParticleRef, double> > simFound;
124 if ((ttt !=
nullptr) && (recSimColl !=
nullptr))
135 if (!simFound.empty()) {
138 if (simTrackI != simTrackV.
end())
140 int simTrackIndex = simTrackI - simTrackV.
begin();
179 params[0][trackNumber] = perigee[0];
180 params[1][trackNumber] = perigee[1];
181 params[2][trackNumber] = perigee[2];
182 params[3][trackNumber] = perigee[3];
183 params[4][trackNumber] = perigee[4];
188 params[0][trackNumber] = perigee[0];
189 params[1][trackNumber] = perigee[1];
190 params[2][trackNumber] = perigee[2];
191 params[3][trackNumber] = perigee[3];
192 params[4][trackNumber] = perigee[4];
204 for (
int i = 0;
i < 3; ++
i) {
215 for (
int i = 0;
i < 5; ++
i) {
225 for (
int i = 0;
i < 5; ++
i) {
void fill(const TransientVertex &recv, const TrackingVertex *simv=nullptr, reco::RecoToSimCollection *recSimColl=nullptr, const float &time=0)
const AlgebraicVector5 & vector() const
double transverseCurvatureError() const
float totalChiSquared() const
const MagneticField * theMagField
GlobalPoint position() const
void fillErrors(const PerigeeTrajectoryError &pte, float *errors[5], int trackNumber)
std::vector< reco::TransientTrack > TTrackCont
GlobalError positionError() const
double transverseImpactParameterError() const
double thetaError() const
void fillParameters(const reco::TrackBase::ParameterVector &perigee, float *params[5], int trackNumber)
double longitudinalImpactParameterError() const
math::Vector< dimension >::type ParameterVector
parameter vector
tp_iterator daughterTracks_begin() const
const PerigeeTrajectoryError & perigeeError() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
float degreesOfFreedom() const
VertexFitterResult(const int maxTracks=100, const MagneticField *=nullptr)
ROOT::Math::SVector< double, 5 > AlgebraicVector5
std::vector< reco::TransientTrack > const & originalTracks() const
float ChiSquaredProbability(double chiSquared, double nrDOF)
const LorentzVector & position() const
std::pair< bool, reco::TrackBase::ParameterVector > trackingParametersAtClosestApproachToBeamSpot(const Basic3DVector< double > &vertex, const Basic3DVector< double > &momAtVtx, float charge, const MagneticField &magField, const BeamSpot &bs)
const float * time() const
const_iterator end() const
Termination of iteration.
const TrackingParticleRefVector & daughterTracks() const
tp_iterator daughterTracks_end() const
const_iterator begin() const
Initialize an iterator over the RefVector.
TrackBaseRef trackBaseRef() const override