14 trackFlip(params.getParameter<bool>(
"trackFlip")),
15 vertexFlip(params.getParameter<bool>(
"vertexFlip")),
16 charmCut(params.getParameter<double>(
"charmCut")),
17 sortCriterium(TrackSorting::
getCriterium(params.getParameter<std::
string>(
"trackSort"))),
20 trackPseudoSelector(params.getParameter<edm::
ParameterSet>(
"trackPseudoSelection")),
23 minTrackWeight(params.getParameter<double>(
"minimumTrackWeight")),
25 vertexMassCorrection(params.getParameter<bool>(
"correctVertexMass")),
38 int size,
bool vertex)
const
42 range.
begin = size - 1;
54 const btag::TrackIPData &
62 const std::vector<btag::TrackIPData> &ipData =
64 std::vector<std::size_t> indices = trackIPTagInfo.
sortedIndexes(sort);
66 IterationRange range =
flipIterate(indices.size(),
false);
69 std::size_t idx = indices[
i];
70 const btag::TrackIPData &
data = ipData[idx];
81 static const btag::TrackIPData dummy = {
93 const btag::TrackIPData &
101 const std::vector<btag::TrackIPData> &ipData =
103 std::vector<std::size_t> indices = trackIPTagInfo.
sortedIndexes(sort);
105 IterationRange range =
flipIterate(indices.size(),
false);
108 std::size_t idx = indices[
i];
109 const btag::TrackIPData &data = ipData[idx];
110 const Track &track = *tracks[idx];
120 static const btag::TrackIPData dummy = {
137 using namespace ROOT::Math;
145 double vtx_track_ptSum = 0.;
146 double vtx_track_ESum = 0.;
150 unsigned int numberofvertextracks = 0;
163 if (hasRefittedTracks) {
165 vertexKinematics.add(actualTrack, w);
173 vertexKinematics.add(**track, w);
177 vtx_track_ptSum +=
std::sqrt((*track)->momentum().Perp2());
183 if (vtx < 0) vtx =
i;
201 using namespace ROOT::Math;
209 double vtx_track_ptSum = 0.;
210 double vtx_track_ESum = 0.;
214 unsigned int numberofvertextracks = 0;
219 numberofvertextracks = numberofvertextracks + (svInfo.
secondaryVertex(
i)).numberOfSourceCandidatePtrs();
223 for(std::vector<CandidatePtr>::const_iterator track = tracks.begin(); track != tracks.end(); ++track) {
224 vertexKinematics.add(*track);
228 vtx_track_ptSum +=
std::sqrt((*track)->momentum().Perp2());
233 if (vtx < 0) vtx =
i;
tuple trackMultiplicityMin
reco::btag::SortCriteria getCriterium(const std::string &name)
const unsigned int nTracks(const reco::Vertex &sv)
trackRef_iterator tracks_end() const
last iterator over tracks
const VTX & secondaryVertex(unsigned int index) const
Track refittedTrack(const TrackBaseRef &track) const
Base class for all types of Jets.
double etaRel(const math::XYZVector &dir, const math::XYZVector &track)
reco::TrackSelector trackNoDeltaRSelector
bool hasRefittedTracks() const
Checks whether refitted tracks are stored.
Global3DPoint GlobalPoint
const Container & selectedTracks() const
static edm::ParameterSet dropDeltaR(const edm::ParameterSet &pset)
virtual reco::TaggingVariableList operator()(const reco::TrackIPTagInfo &ipInfo, const reco::SecondaryVertexTagInfo &svInfo) const
CombinedSVComputer(const edm::ParameterSet ¶ms)
const Vector & momentum() const
track momentum vector
void addParameter(std::string const &name, T const &value)
tuple pseudoVertexV0Filter
float trackWeight(const TREF &r) const
returns the weight with which a Track has contributed to the vertex-fit.
std::vector< size_t > sortedIndexes(btag::SortCriteria mode=reco::btag::IP3DSig) const
IterationRange flipIterate(int size, bool vertex) const
const std::vector< btag::TrackIPData > & impactParameterData() const
tuple pseudoMultiplicityMin
unsigned int nVertices() const
virtual Vector momentum() const final
spatial momentum vector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double flipValue(double value, bool vertex) const
edm::ParameterSet dropDeltaR(const edm::ParameterSet &pset) const
const reco::btag::TrackIPData & threshTrack(const reco::CandIPTagInfo &trackIPTagInfo, const reco::btag::SortCriteria sort, const reco::Jet &jet, const GlobalPoint &pv) const
void fillCommonVariables(reco::TaggingVariableList &vars, reco::TrackKinematics &vertexKinematics, const IPTI &ipInfo, const SVTI &svInfo, double &vtx_track_ptSum, double &vtx_track_ESum) const
char data[epos_bytes_allocation]
const daughters & daughterPtrVector() const
references to daughtes
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Container input_container
trackRef_iterator tracks_begin() const
first iterator over tracks
tuple size
Write out results.
tuple trackSelector
Tracks selection.