59 vtxMinDist(iConfig.getParameter<double>(
"vtxMinDist")) {
61 produces<Run3ScoutingTrackCollection>();
77 for (
auto& trk : *otherTrackCollection) {
84 double min_dist_tmp =
pow(trk.dz(vrt.position()), 2);
86 if (min_dist_tmp < min_dist) {
87 min_dist = min_dist_tmp;
104 trk.hitPattern().numberOfValidPixelHits(),
105 trk.hitPattern().trackerLayersWithMeasurement(),
106 trk.hitPattern().numberOfValidStripHits(),
142 desc.
add<
int>(
"mantissaPrecision", 10)->setComment(
"default float16, change to 23 for float32");
143 desc.
add<
double>(
"vtxMinDist", 0.01);
144 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)
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
const int mantissaPrecision
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)