11 m_cutPixelHits = parameters.
getParameter<
int>(
"MinimumNumberOfPixelHits");
12 m_cutTotalHits = parameters.
getParameter<
int>(
"MinimumNumberOfHits");
13 m_cutMaxTIP = parameters.
getParameter<
double>(
"MaximumTransverseImpactParameter");
14 m_cutMinPt = parameters.
getParameter<
double>(
"MinimumTransverseMomentum");
15 m_cutMaxChiSquared = parameters.
getParameter<
double>(
"MaximumChiSquared");
16 dZ_vertex = parameters.
getParameter<
double>(
"DeltaZetTrackVertex");
17 useVertexConstrain_ = parameters.
getParameter<
bool>(
"useVertex");
19 matching_cone = parameters.
getParameter<
double>(
"MatchingCone");
20 signal_cone = parameters.
getParameter<
double>(
"SignalCone");
21 isolation_cone = parameters.
getParameter<
double>(
"IsolationCone");
22 pt_min_isolation = parameters.
getParameter<
double>(
"MinimumTransverseMomentumInIsolationRing");
23 pt_min_leadTrack = parameters.
getParameter<
double>(
"MinimumTransverseMomentumLeadingTrack");
24 n_tracks_isolation_ring = parameters.
getParameter<
int>(
"MaximumNumberOfTracksIsolationRing");
26 useFixedSizeCone = parameters.
getParameter<
bool>(
"UseFixedSizeCone");
27 variableConeParameter = parameters.
getParameter<
double>(
"VariableConeParameter");
28 variableMaxCone = parameters.
getParameter<
double>(
"VariableMaxCone");
29 variableMinCone = parameters.
getParameter<
double>(
"VariableMinCone");
33 desc.
add<
int>(
"MinimumNumberOfPixelHits",2);
34 desc.
add<
int>(
"MinimumNumberOfHits",8);
35 desc.
add<
double>(
"MaximumTransverseImpactParameter",0.03);
36 desc.
add<
double>(
"MinimumTransverseMomentum",1.0);
37 desc.
add<
double>(
"MaximumChiSquared",100.0);
38 desc.
add<
double>(
"DeltaZetTrackVertex",0.2);
39 desc.
add<
bool>(
"useVertex",
true);
40 desc.
add<
double>(
"MatchingCone",0.1);
41 desc.
add<
double>(
"SignalCone",0.07);
42 desc.
add<
double>(
"IsolationCone",0.45);
43 desc.
add<
double>(
"MinimumTransverseMomentumInIsolationRing",0.0);
44 desc.
add<
double>(
"MinimumTransverseMomentumLeadingTrack",6.0);
45 desc.
add<
int>(
"MaximumNumberOfTracksIsolationRing",0);
46 desc.
add<
bool>(
"UseFixedSizeCone",
true);
47 desc.
add<
double>(
"VariableConeParameter",3.5);
48 desc.
add<
double>(
"VariableMaxCone",0.17);
49 desc.
add<
double>(
"VariableMinCone",0.05);
59 for(
auto &&
track : tracks)
61 if ( (
track)->
pt() > m_cutMinPt &&
62 (
track)->normalizedChi2() < m_cutMaxChiSquared &&
64 (
track)->recHitsSize() >= (
unsigned int) m_cutTotalHits &&
65 (
track)->hitPattern().numberOfValidPixelHits() >= m_cutPixelHits )
67 if (useVertexConstrain_ && z_pv > -500.) {
76 double r_sigCone = signal_cone;
77 double energyJet = jetTracks->first->energy();
78 if (not useFixedSizeCone) {
79 r_sigCone =
std::min(variableMaxCone, variableConeParameter / energyJet);
80 r_sigCone =
std::max((
double)r_sigCone, variableMinCone);
84 math::XYZVector jetDir(jetTracks->first->px(), jetTracks->first->py(), jetTracks->first->pz());
86 if (useVertexConstrain_) {
90 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring);
96 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring, dZ_vertex);
100 return std::make_pair(discriminator, resultExtended);
T getParameter(std::string const &) const
static void fillDescription(edm::ParameterSetDescription &desc)
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
const TrackRef leadingSignalTrack() const
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.