15 auto v =
cfg.getParameter<std::vector<double>>(
name);
21 auto v =
cfg.getParameter<std::vector<int>>(
name);
27 constexpr
float mvaVal[3] = {-.5, .5, 1.};
29 template <
typename T,
typename Comp>
31 for (
int i = 2;
i >= 0; --
i) {
59 if (
hit->dimension() == 2) {
60 auto const& thit = static_cast<BaseTrackerRecHit const&>(*
hit);
79 for (
int i = 2;
i >= 0; --
i) {
83 inline void drCut_par1(
reco::Track const& trk,
int&
nLayers,
const float* par,
const int*
exp,
float drCut[]) {
85 for (
int i = 2;
i >= 0; --
i) {
100 for (
int i = 2;
i >= 0; --
i) {
104 float nomdzE = nomd0E * (
p /
pt);
118 for (
int i = 2;
i >= 0; --
i) {
126 inline void dzCut_wPVerror_par(
reco::Track const& trk,
130 Point const& bestVertexError,
133 float zPVerr = bestVertexError.z();
135 float dzErrPV =
std::sqrt(dzE * dzE + zPVerr * zPVerr);
136 for (
int i = 2;
i >= 0; --
i) {
143 inline void drCut_wPVerror_par(
reco::Track const& trk,
147 Point const& bestVertexError,
151 float rPVerr =
sqrt(bestVertexError.x() * bestVertexError.y());
153 float drErrPV =
std::sqrt(drE * drE + rPVerr * rPVerr);
154 for (
int i = 2;
i >= 0; --
i) {
155 drCut[
i] = par[
i] * drErrPV;
163 isHLT =
cfg.getParameter<
bool>(
"isHLT");
167 fillArrayI(minHits4pass,
cfg,
"minHits4pass");
192 void beginStream() {}
252 if (bestVertex.z() < -99998.) {
267 Point bestVertexError(-1., -1., -1.);
304 for (
int i = 2;
i >= 0; --
i) {
305 if (maxDr_par2[
i] < maxDr_par[
i])
306 maxDr_par[
i] = maxDr_par2[
i];
307 if (maxDz_par2[
i] < maxDz_par[
i])
308 maxDz_par[
i] = maxDz_par2[
i];
313 if (bestVertex.z() < -99998.) {
330 static const char*
name() {
return "TrackCutClassifier"; }
333 desc.
add<
bool>(
"isHLT",
false);
334 desc.
add<std::vector<int>>(
337 desc.
add<std::vector<int>>(
"minHits", {0, 0, 1});
338 desc.
add<std::vector<int>>(
"minPixelHits", {0, 0, 1});
339 desc.
add<std::vector<int>>(
"minLayers", {3, 4, 5});
340 desc.
add<std::vector<int>>(
"min3DLayers", {1, 2, 3});
341 desc.
add<std::vector<int>>(
"maxLostLayers", {99, 3, 3});
342 desc.
add<std::vector<double>>(
345 desc.
add<std::vector<double>>(
"minNdof", {-1., -1., -1.});
346 desc.
add<std::vector<double>>(
"maxChi2", {9999., 25., 16.});
347 desc.
add<std::vector<double>>(
"maxChi2n", {9999., 1.0, 0.4});
349 desc.
add<
int>(
"minNVtxTrk", 2);
351 desc.
add<std::vector<double>>(
355 desc.
add<std::vector<double>>(
360 dz_par.add<std::vector<int>>(
"dz_exp",
364 dz_par.add<std::vector<double>>(
"dz_par1",
368 dz_par.add<std::vector<double>>(
"dz_par2",
372 dz_par.add<std::vector<double>>(
"dzWPVerr_par",
379 dr_par.add<std::vector<int>>(
"dr_exp",
383 dr_par.add<std::vector<double>>(
"dr_par1",
387 dr_par.add<std::vector<double>>(
"dr_par2",
391 dr_par.add<std::vector<double>>(
"d0err", {0.003, 0.003, 0.003});
392 dr_par.add<std::vector<double>>(
"d0err_par", {0.001, 0.001, 0.001});
393 dr_par.add<std::vector<double>>(
"drWPVerr_par",