File indexing completed on 2025-06-11 03:00:11
0001 #ifndef L1TRIGGER_PHASE2L1PARTICLEFLOWS_NNVtxAssoc_H
0002 #define L1TRIGGER_PHASE2L1PARTICLEFLOWS_NNVtxAssoc_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <string>
0012 #include "DataFormats/L1TParticleFlow/interface/layer1_emulator.h"
0013
0014 namespace edm {
0015 class ParameterSet;
0016 class ParameterSetDescription;
0017 }
0018 namespace tensorflow {
0019 class Session;
0020 }
0021 using namespace l1ct;
0022
0023 class NNVtxAssoc {
0024 public:
0025 NNVtxAssoc(std::string AssociationGraphPath,
0026 const double AssociationThreshold,
0027 const std::vector<double>& AssociationNetworkZ0binning,
0028 const std::vector<double>& AssociationNetworkEtaBounds,
0029 const std::vector<double>& AssociationNetworkZ0ResBins);
0030
0031 void NNVtxAssocDebug();
0032 static edm::ParameterSetDescription getParameterSetDescription();
0033
0034 template <typename T>
0035 bool TTTrackNetworkSelector(const PFRegionEmu& region, const T& t, const l1ct::PVObjEmu& v);
0036
0037 private:
0038 tensorflow::Session* associationSesh_;
0039 double associationThreshold_;
0040 std::vector<double> z0_binning_;
0041 std::vector<double> eta_bins_;
0042 std::vector<double> res_bins_;
0043 std::stringstream log_;
0044 };
0045 #endif