7 #include <Math/VectorUtil.h> 46 minTrackWeight(
params.getParameter<double>(
"minimumTrackWeight")),
58 for (std::vector<std::size_t>::const_iterator iter =
indices.begin(); iter !=
indices.end(); ++iter) {
59 const btag::TrackIPData &
data = ipData[*iter];
89 for (std::vector<std::size_t>::const_iterator iter =
indices.begin(); iter !=
indices.end(); ++iter) {
90 const btag::TrackIPData &
data = ipData[*iter];
140 std::pair<double, double> vertexDist2D, vertexDist3D;
141 std::pair<double, double> tracksDist2D, tracksDist3D;
144 unsigned int nVertexTracks = 0;
148 bool hasRefittedTracks =
vertex.hasRefittedTracks();
157 bool isTrackVertex = (
n == 1);
163 TrackKinematics &kin = isTrackVertex ? trackKinematics : vertexKinematics;
168 if (hasRefittedTracks) {
170 kin.add(actualTrack,
w);
186 vertexDist2D.first += tracksDist2D.first;
187 vertexDist2D.second += tracksDist2D.second;
188 vertexDist3D.first += tracksDist3D.first;
189 vertexDist3D.second += tracksDist3D.second;
190 vertexKinematics += trackKinematics;
200 vertexKinematics = trackKinematics;
220 for (
unsigned int i = 0;
i <
indices.size();
i++) {
222 const btag::TrackIPData &
data = ipData[
idx];
239 for (
unsigned int j = 0;
j <
indices.size();
j++) {
244 const btag::TrackIPData &pairTrackData = ipData[pairIdx];
246 const Track &pairTrack = *pairTrackRef;
251 trackPairV0Test[1] = pairTrackRef;
263 double trackMag =
std::sqrt(trackMom.Mag2());
331 std::pair<double, double> vertexDist2D, vertexDist3D;
332 std::pair<double, double> tracksDist2D, tracksDist3D;
335 unsigned int nVertexTracks = 0;
339 const std::vector<CandidatePtr> &
tracks =
vertex.daughterPtrVector();
346 bool isTrackVertex = (
n == 1);
352 TrackKinematics &kin = isTrackVertex ? trackKinematics : vertexKinematics;
367 vertexDist2D.first += tracksDist2D.first;
368 vertexDist2D.second += tracksDist2D.second;
369 vertexDist3D.first += tracksDist3D.first;
370 vertexDist3D.second += tracksDist3D.second;
371 vertexKinematics += trackKinematics;
381 vertexKinematics = trackKinematics;
400 const Track *trackPairV0Test[2];
401 for (
unsigned int i = 0;
i <
indices.size();
i++) {
403 const btag::TrackIPData &
data = ipData[
idx];
420 for (
unsigned int j = 0;
j <
indices.size();
j++) {
425 const btag::TrackIPData &pairTrackData = ipData[pairIdx];
427 const Track &pairTrack = *pairTrackPtr;
432 trackPairV0Test[1] = pairTrackPtr;
444 double trackMag =
std::sqrt(trackMom.Mag2());
reco::btag::SortCriteria getCriterium(const std::string &name)
trackSelector
Tracks selection.
void add(const reco::Track &track, double weight=1.0)
GhostTrackComputer(const edm::ParameterSet ¶ms)
Base class for all types of Jets.
double etaRel(const math::XYZVector &dir, const math::XYZVector &track)
Global3DPoint GlobalPoint
const Container & selectedTracks() const
bool isNonnull() const
Checks for non-null.
float trackWeight(unsigned int svIndex, unsigned int trackindex) const
static edm::ParameterSet dropDeltaR(const edm::ParameterSet &pset)
const reco::Track * toTrack(const reco::TrackBaseRef &t)
unsigned int numberOfTracks() const
const reco::btag::TrackIPData & threshTrack(const reco::TrackIPTagInfo &trackIPTagInfo, const reco::btag::SortCriteria sort, const reco::Jet &jet, const GlobalPoint &pv) const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< size_t > sortedIndexes(btag::SortCriteria mode=reco::btag::IP3DSig) const
static void addMeas(std::pair< double, double > &sum, Measurement1D meas)
input_container vertexTracks() const
void addParameter(std::string const &name, T const &value)
const math::XYZTLorentzVector & vectorSum() const
const GlobalVector & flightDirection(unsigned int index) const
const std::vector< btag::TrackIPData > & impactParameterData() const
reco::V0Filter trackPairV0Filter
Measurement1D flightDistance(unsigned int index, int dim=0) const
auto const & tracks
cannot be loose
reco::btag::SortCriteria sortCriterium
XYZVectorD XYZVector
spatial vector with cartesian internal representation
const VTX & secondaryVertex(unsigned int index) const
const Vector & momentum() const
track momentum vector
double significance() const
char data[epos_bytes_allocation]
reco::TrackSelector trackNoDeltaRSelector
reco::TrackSelector trackSelector
Container input_container
const edm::Ref< VertexCollection > & primaryVertex() const
virtual reco::TaggingVariableList operator()(const reco::TrackIPTagInfo &ipInfo, const reco::SecondaryVertexTagInfo &svInfo) const
unsigned int nVertices() const