10 m_cutPixelHits = parameters.
getParameter<
int>(
"MinimumNumberOfPixelHits");
11 m_cutTotalHits = parameters.
getParameter<
int>(
"MinimumNumberOfHits");
12 m_cutMaxTIP = parameters.
getParameter<
double>(
"MaximumTransverseImpactParameter");
13 m_cutMinPt = parameters.
getParameter<
double>(
"MinimumTransverseMomentum");
14 m_cutMaxChiSquared = parameters.
getParameter<
double>(
"MaximumChiSquared");
15 dZ_vertex = parameters.
getParameter<
double>(
"DeltaZetTrackVertex");
16 useVertexConstrain_ = parameters.
getParameter<
bool>(
"useVertex");
18 matching_cone = parameters.
getParameter<
double>(
"MatchingCone");
19 signal_cone = parameters.
getParameter<
double>(
"SignalCone");
20 isolation_cone = parameters.
getParameter<
double>(
"IsolationCone");
21 pt_min_isolation = parameters.
getParameter<
double>(
"MinimumTransverseMomentumInIsolationRing");
22 pt_min_leadTrack = parameters.
getParameter<
double>(
"MinimumTransverseMomentumLeadingTrack");
23 n_tracks_isolation_ring = parameters.
getParameter<
int>(
"MaximumNumberOfTracksIsolationRing");
25 useFixedSizeCone = parameters.
getParameter<
bool>(
"UseFixedSizeCone");
26 variableConeParameter = parameters.
getParameter<
double>(
"VariableConeParameter");
27 variableMaxCone = parameters.
getParameter<
double>(
"VariableMaxCone");
28 variableMinCone = parameters.
getParameter<
double>(
"VariableMinCone");
32 desc.
add<
int>(
"MinimumNumberOfPixelHits", 2);
33 desc.
add<
int>(
"MinimumNumberOfHits", 8);
34 desc.
add<
double>(
"MaximumTransverseImpactParameter", 0.03);
35 desc.
add<
double>(
"MinimumTransverseMomentum", 1.0);
36 desc.
add<
double>(
"MaximumChiSquared", 100.0);
37 desc.
add<
double>(
"DeltaZetTrackVertex", 0.2);
38 desc.
add<
bool>(
"useVertex",
true);
39 desc.
add<
double>(
"MatchingCone", 0.1);
40 desc.
add<
double>(
"SignalCone", 0.07);
41 desc.
add<
double>(
"IsolationCone", 0.45);
42 desc.
add<
double>(
"MinimumTransverseMomentumInIsolationRing", 0.0);
43 desc.
add<
double>(
"MinimumTransverseMomentumLeadingTrack", 6.0);
44 desc.
add<
int>(
"MaximumNumberOfTracksIsolationRing", 0);
45 desc.
add<
bool>(
"UseFixedSizeCone",
true);
46 desc.
add<
double>(
"VariableConeParameter", 3.5);
47 desc.
add<
double>(
"VariableMaxCone", 0.17);
48 desc.
add<
double>(
"VariableMinCone", 0.05);
58 for (
auto&&
track : tracks) {
60 fabs((
track)->
dxy(pv.
position())) < m_cutMaxTIP && (
track)->recHitsSize() >= (
unsigned int)m_cutTotalHits &&
61 (
track)->hitPattern().numberOfValidPixelHits() >= m_cutPixelHits) {
62 if (useVertexConstrain_ && z_pv > -500.) {
71 double r_sigCone = signal_cone;
72 double energyJet = jetTracks->first->energy();
73 if (not useFixedSizeCone) {
74 r_sigCone =
std::min(variableMaxCone, variableConeParameter / energyJet);
75 r_sigCone =
std::max((
double)r_sigCone, variableMinCone);
79 math::XYZVector jetDir(jetTracks->first->px(), jetTracks->first->py(), jetTracks->first->pz());
81 if (useVertexConstrain_) {
86 jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring);
98 n_tracks_isolation_ring,
103 return std::make_pair(discriminator, resultExtended);
static void fillDescription(edm::ParameterSetDescription &desc)
auto const & tracks
cannot be loose
const Point & position() const
position
void setDiscriminator(double discriminator)
float discriminator() const
double z() const
z coordinate
ParameterDescriptionBase * add(U const &iLabel, T const &value)
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
T getParameter(std::string const &) const
const TrackRef leadingSignalTrack() const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.