1 #ifndef __L1Trigger_L1THGCal_HGCalConcentratorAutoEncoderImpl_h__
2 #define __L1Trigger_L1THGCal_HGCalConcentratorAutoEncoderImpl_h__
18 void select(
unsigned nLinks,
19 const std::vector<l1t::HGCalTriggerCell>& trigCellVecInput,
20 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput,
21 std::vector<l1t::HGCalConcentratorData>& ae_EncodedOutput);
41 {16, 43, 42, 41, 40, -1, -1, -1},
42 {20, 17, 39, 38, 37, 36, -1, -1},
43 {24, 21, 18, 35, 34, 33, 32, -1},
44 {28, 25, 22, 19, 3, 7, 11, 15},
45 {-1, 29, 26, 23, 2, 6, 10, 14},
46 {-1, -1, 30, 27, 1, 5, 9, 13},
47 {-1, -1, -1, 31, 0, 4, 8, 12}};
48 static constexpr
int ae_outputCellU_[
nTriggerCells_] = {7, 6, 5, 4, 7, 6, 5, 4, 7, 6, 5, 4, 7, 6, 5, 4,
49 1, 2, 3, 4, 2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7,
50 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0};
51 static constexpr
int ae_outputCellV_[
nTriggerCells_] = {4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
52 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3,
53 6, 5, 4, 3, 5, 4, 3, 2, 4, 3, 2, 1, 3, 2, 1, 0};
static constexpr int decoderTensorDims_
std::vector< uint > decoderShape_
static constexpr int nEncodedLayerNodes_
std::vector< uint > encoderShape_
std::string outputTensorName_encoder_
std::string inputTensorName_encoder_
std::string outputTensorName_decoder_
static constexpr int ae_outputCellU_[nTriggerCells_]
bool bitShiftNormalization_
static constexpr int cellUVSize_
std::vector< std::unique_ptr< tensorflow::Session > > session_decoder_
std::unique_ptr< tensorflow::GraphDef > graphDef_encoder_
std::vector< std::unique_ptr< tensorflow::Session > > session_encoder_
void setGeometry(const HGCalTriggerGeometryBase *const geom)
HGCalConcentratorAutoEncoderImpl(const edm::ParameterSet &conf)
static constexpr int cellUVremap_[cellUVSize_][cellUVSize_]
static constexpr int encoderTensorDims_
HGCalTriggerTools triggerTools_
static constexpr int maxAEInputSize_
std::vector< int > outputBitsPerLink_
double zeroSuppresionThreshold_
std::unique_ptr< tensorflow::GraphDef > graphDef_decoder_
std::vector< int > cellRemapNoDuplicates_
std::vector< int > cellRemap_
static constexpr int nTriggerCells_
static constexpr unsigned int maxNumberOfLinks_
std::vector< unsigned int > linkToGraphMap_
void select(unsigned nLinks, const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput, std::vector< l1t::HGCalConcentratorData > &ae_EncodedOutput)
std::string inputTensorName_decoder_
static constexpr int ae_outputCellV_[nTriggerCells_]
std::vector< edm::ParameterSet > modelFilePaths_
std::array< double, nEncodedLayerNodes_ > ae_encodedLayer_