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");
34 desc.
add<
int>(
"MinimumNumberOfPixelHits",2);
35 desc.
add<
int>(
"MinimumNumberOfHits",8);
36 desc.
add<
double>(
"MaximumTransverseImpactParameter",0.03);
37 desc.
add<
double>(
"MinimumTransverseMomentum",1.0);
38 desc.
add<
double>(
"MaximumChiSquared",100.0);
39 desc.
add<
double>(
"DeltaZetTrackVertex",0.2);
40 desc.
add<
bool>(
"useVertex",
true);
41 desc.
add<
double>(
"MatchingCone",0.1);
42 desc.
add<
double>(
"SignalCone",0.07);
43 desc.
add<
double>(
"IsolationCone",0.45);
44 desc.
add<
double>(
"MinimumTransverseMomentumInIsolationRing",0.0);
45 desc.
add<
double>(
"MinimumTransverseMomentumLeadingTrack",6.0);
46 desc.
add<
int>(
"MaximumNumberOfTracksIsolationRing",0);
47 desc.
add<
bool>(
"UseFixedSizeCone",
true);
48 desc.
add<
double>(
"VariableConeParameter",3.5);
49 desc.
add<
double>(
"VariableMaxCone",0.17);
50 desc.
add<
double>(
"VariableMinCone",0.05);
62 if ( (*it)->pt() > m_cutMinPt &&
63 (*it)->normalizedChi2() < m_cutMaxChiSquared &&
64 fabs((*it)->dxy(pv.
position())) < m_cutMaxTIP &&
65 (*it)->recHitsSize() >= (
unsigned int) m_cutTotalHits &&
66 (*it)->hitPattern().numberOfValidPixelHits() >= m_cutPixelHits )
68 if (useVertexConstrain_ && z_pv > -500.) {
69 if (fabs((*it)->dz(pv.
position())) < dZ_vertex)
77 double r_sigCone = signal_cone;
78 double energyJet = jetTracks->first->energy();
79 if (not useFixedSizeCone) {
80 r_sigCone =
std::min(variableMaxCone, variableConeParameter / energyJet);
81 r_sigCone =
std::max((
double)r_sigCone, variableMinCone);
85 math::XYZVector jetDir(jetTracks->first->px(), jetTracks->first->py(), jetTracks->first->pz());
87 if (useVertexConstrain_) {
91 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring);
97 discriminator = resultExtended.
discriminator(jetDir, matching_cone, r_sigCone, isolation_cone, pt_min_leadTrack, pt_min_isolation, n_tracks_isolation_ring, dZ_vertex);
101 return std::make_pair(discriminator, resultExtended);
T getParameter(std::string const &) const
static void fillDescription(edm::ParameterSetDescription &desc)
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)
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.