89 m_doFilter(iConfig.getParameter<bool>(
"doFilter")),
90 m_cutMinPt(iConfig.getParameter<double>(
"minPt")),
91 m_cutMinPtRatio(iConfig.getParameter<double>(
"minPtRatio")),
92 m_maxTrackPt(iConfig.getParameter<double>(
"maxTrackPt")),
93 m_maxChi2(iConfig.getParameter<double>(
"maxChi2")),
94 m_maxNjets(iConfig.getParameter<int32_t>(
"maxNJetsToCheck")),
95 m_maxNjetsOutput(iConfig.getParameter<int32_t>(
"maxNjetsOutput")),
96 m_newMethod(iConfig.getParameter<bool>(
"newMethod")),
97 m_maxETA(iConfig.getParameter<double>(
"maxETA")),
98 m_pvErr_x(iConfig.getParameter<double>(
"pvErr_x")),
99 m_pvErr_y(iConfig.getParameter<double>(
"pvErr_y")),
100 m_pvErr_z(iConfig.getParameter<double>(
"pvErr_z")) {
102 produces<std::vector<reco::CaloJet>>();
103 produces<reco::VertexCollection>();
120 auto pOut = std::make_unique<std::vector<reco::CaloJet>>();
128 et = jetTracksAssociation->end();
143 trkpt += iTrack.
pt();
145 calopt += jetMomentum.rho();
147 pOut->push_back(*dynamic_cast<const reco::CaloJet*>(&(*it->first)));
162 auto pOut2 = std::make_unique<reco::VertexCollection>();
163 pOut2->push_back(thePV);
177 desc.
add<
double>(
"minPtRatio", 0.1);
178 desc.
add<
double>(
"minPt", 0.0);
179 desc.
add<
bool>(
"doFilter",
false);
180 desc.
add<
int>(
"maxNJetsToCheck", 2);
181 desc.
add<
int>(
"maxNjetsOutput", 2);
182 desc.
add<
double>(
"maxChi2", 20.0);
183 desc.
add<
double>(
"maxTrackPt", 20.0);
184 desc.
add<
bool>(
"newMethod",
false);
185 desc.
add<
double>(
"maxETA", 2.4);
186 desc.
add<
double>(
"pvErr_x", 0.0015);
187 desc.
add<
double>(
"pvErr_y", 0.0015);
188 desc.
add<
double>(
"pvErr_z", 1.5);
189 descriptions.
add(
"jetVertexChecker", desc);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
transient_vector_type::const_iterator const_iterator
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
JetTracksAssociation::Container JetTracksAssociationCollection
typedefs for backward compatibility
const double m_maxTrackPt
math::Error< dimension >::type Error
covariance error matrix (3x3)
auto const & tracks
cannot be loose
const Vector & momentum() const
track momentum vector
const_iterator end() const
Termination of iteration.
const_iterator begin() const
Initialize an iterator over the RefVector.
double chi2() const
chi-squared of the fit
double pt() const
track transverse momentum
Abs< T >::type abs(const T &t)
math::XYZPoint Point
point in the space
bool filter(edm::Event &, const edm::EventSetup &) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const edm::EDGetTokenT< reco::JetTracksAssociationCollection > m_associator
XYZVectorD XYZVector
spatial vector with cartesian internal representation
JetVertexChecker(const edm::ParameterSet &)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~JetVertexChecker() override
const edm::EDGetTokenT< reco::BeamSpot > m_beamSpot
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const int32_t m_maxNjetsOutput
const double m_cutMinPtRatio