59 mantissaPrecision_(iConfig.getParameter<int>(
"mantissaPrecision")),
60 vtxMinDist_(iConfig.getParameter<double>(
"vtxMinDist")),
61 ptMin_(iConfig.getParameter<double>(
"ptMin")) {
63 produces<Run3ScoutingTrackCollection>();
79 for (
auto& trk : *otherTrackCollection) {
89 double min_dist_tmp =
pow(trk.dz(vrt.position()), 2);
91 if (min_dist_tmp < min_dist) {
92 min_dist = min_dist_tmp;
101 outTrack->emplace_back(
110 trk.hitPattern().numberOfValidPixelHits(),
111 trk.hitPattern().trackerLayersWithMeasurement(),
112 trk.hitPattern().numberOfValidStripHits(),
148 desc.
add<
int>(
"mantissaPrecision", 10)->setComment(
"default float16, change to 23 for float32");
149 desc.
add<
double>(
"vtxMinDist", 0.01);
150 desc.
add<
double>(
"ptMin", 0.3);
151 descriptions.
add(
"hltScoutingTrackProducer", desc);
const edm::EDGetTokenT< reco::TrackCollection > otherTrackCollection_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
const int mantissaPrecision_
std::vector< Track > TrackCollection
collection of Tracks
void produce(edm::StreamID sid, edm::Event &iEvent, edm::EventSetup const &setup) const final
std::vector< Vertex > VertexCollection
ptMin_(conf.getParameter< double >("ptMin"))
ParameterDescriptionBase * add(U const &iLabel, T const &value)
~HLTScoutingTrackProducer() override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< Run3ScoutingTrack > Run3ScoutingTrackCollection
static float reduceMantissaToNbitsRounding(const float &f)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HLTScoutingTrackProducer(const edm::ParameterSet &)
Power< A, B >::type pow(const A &a, const B &b)