12 m_cutPixelHits = parameters.
getParameter<
int>(
"MinimumNumberOfPixelHits");
13 m_cutTotalHits = parameters.
getParameter<
int>(
"MinimumNumberOfHits");
14 m_cutMaxTIP = parameters.
getParameter<
double>(
"MaximumTransverseImpactParameter");
15 m_cutMinPt = parameters.
getParameter<
double>(
"MinimumTransverseMomentum");
16 m_cutMaxChiSquared = parameters.
getParameter<
double>(
"MaximumChiSquared");
17 dZ_vertex = parameters.
getParameter<
double>(
"DeltaZetTrackVertex");
18 useVertexConstrain_ = parameters.
getParameter<
bool>(
"useVertex");
20 matching_cone = parameters.
getParameter<
double>(
"MatchingCone");
21 signal_cone = parameters.
getParameter<
double>(
"SignalCone");
22 isolation_cone = parameters.
getParameter<
double>(
"IsolationCone");
23 pt_min_isolation = parameters.
getParameter<
double>(
"MinimumTransverseMomentumInIsolationRing");
24 pt_min_leadTrack = parameters.
getParameter<
double>(
"MinimumTransverseMomentumLeadingTrack");
25 n_tracks_isolation_ring = parameters.
getParameter<
int>(
"MaximumNumberOfTracksIsolationRing");
27 useFixedSizeCone = parameters.
getParameter<
bool>(
"UseFixedSizeCone");
28 variableConeParameter = parameters.
getParameter<
double>(
"VariableConeParameter");
29 variableMaxCone = parameters.
getParameter<
double>(
"VariableMaxCone");
30 variableMinCone = parameters.
getParameter<
double>(
"VariableMinCone");
42 if ( (*it)->pt() > m_cutMinPt &&
43 (*it)->normalizedChi2() < m_cutMaxChiSquared &&
44 fabs((*it)->dxy(pv.
position())) < m_cutMaxTIP &&
45 (*it)->recHitsSize() >= (
unsigned int) m_cutTotalHits &&
46 (*it)->hitPattern().numberOfValidPixelHits() >= m_cutPixelHits )
48 if (useVertexConstrain_ && z_pv > -500.) {
49 if (fabs((*it)->dz(pv.
position())) < dZ_vertex)
57 double r_sigCone = signal_cone;
58 double energyJet = jetTracks->first->energy();
59 if (not useFixedSizeCone) {
60 r_sigCone =
std::min(variableMaxCone, variableConeParameter / energyJet);
61 r_sigCone =
std::max((
double)r_sigCone, variableMinCone);
65 math::XYZVector jetDir(jetTracks->first->px(), jetTracks->first->py(), jetTracks->first->pz());
66 float discriminator = 0.;
67 if (useVertexConstrain_) {
71 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring);
77 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring, dZ_vertex);
81 return std::make_pair(discriminator, resultExtended);
T getParameter(std::string const &) const
const_iterator end() const
Termination of iteration.
const Point & position() const
position
const_iterator begin() const
Initialize an iterator over the RefVector.
void setDiscriminator(double discriminator)
const T & max(const T &a, const T &b)
float discriminator() const
double z() const
y coordinate
void setLeadingTrack(const TrackRef)
std::pair< float,reco::IsolatedTauTagInfo > tag(const reco::JetTracksAssociationRef &jetTracks, const reco::Vertex &pv)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
const TrackRef leadingSignalTrack() const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.