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")),
21 pseudoMultiplicityMin(params.getParameter<unsigned int>(
"pseudoMultiplicityMin")),
22 trackMultiplicityMin(params.getParameter<unsigned int>(
"trackMultiplicityMin")),
23 minTrackWeight(params.getParameter<double>(
"minimumTrackWeight")),
25 vertexMassCorrection(params.getParameter<bool>(
"correctVertexMass")),
26 pseudoVertexV0Filter(params.getParameter<edm::
ParameterSet>(
"pseudoVertexV0Filter")),
27 trackPairV0Filter(params.getParameter<edm::
ParameterSet>(
"trackPairV0Filter"))
75 int size,
bool vertex)
const
79 range.
begin = size - 1;
91 const btag::TrackIPData &
99 const std::vector<btag::TrackIPData> &ipData =
101 std::vector<std::size_t> indices = trackIPTagInfo.
sortedIndexes(sort);
103 IterationRange range =
flipIterate(indices.size(),
false);
106 std::size_t
idx = indices[
i];
107 const btag::TrackIPData &
data = ipData[
idx];
108 const Track &track = *tracks[
idx]->bestTrack();
118 static const btag::TrackIPData dummy = {
130 const btag::TrackIPData &
138 const std::vector<btag::TrackIPData> &ipData =
140 std::vector<std::size_t> indices = trackIPTagInfo.
sortedIndexes(sort);
142 IterationRange range =
flipIterate(indices.size(),
false);
145 std::size_t idx = indices[
i];
146 const btag::TrackIPData &data = ipData[
idx];
157 static const btag::TrackIPData dummy = {
174 using namespace ROOT::Math;
182 double vtx_track_ptSum = 0.;
183 double vtx_track_ESum = 0.;
187 unsigned int numberofvertextracks = 0;
192 numberofvertextracks = numberofvertextracks + (svInfo.
secondaryVertex(
i)).nTracks();
200 if (hasRefittedTracks) {
202 vertexKinematics.add(actualTrack, w);
210 vertexKinematics.add(**track, w);
214 vtx_track_ptSum +=
std::sqrt((*track)->momentum().Perp2());
220 if (vtx < 0) vtx =
i;
238 using namespace ROOT::Math;
246 double vtx_track_ptSum = 0.;
247 double vtx_track_ESum = 0.;
251 unsigned int numberofvertextracks = 0;
256 numberofvertextracks = numberofvertextracks + (svInfo.
secondaryVertex(
i)).numberOfSourceCandidatePtrs();
260 for(std::vector<CandidatePtr>::const_iterator track = tracks.begin(); track != tracks.end(); ++track) {
261 vertexKinematics.add(*(*track)->bestTrack(), 1.0);
265 vtx_track_ptSum +=
std::sqrt((*track)->momentum().Perp2());
270 if (vtx < 0) vtx =
i;
void sortTaggingVariables()
reco::btag::SortCriteria getCriterium(const std::string &name)
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 clearTaggingVariables()
void addParameter(std::string const &name, T const &value)
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
unsigned int nVertices() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
double flipValue(double value, bool vertex) const
virtual Vector momentum() const GCC11_FINAL
spatial momentum vector
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
bool isUsed(reco::btau::TaggingVariableName var) const
void useTaggingVariable(reco::btau::TaggingVariableName var)
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.