CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F > Class Template Reference

#include <LutNetworkFixedPointRegression2Outputs.h>

Inheritance diagram for lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >:
lutNN::LutNetworkFixedPointRegressionBase

Public Types

typedef LutNeuronLayerFixedPoint< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_ILutLayer1
 
typedef LutNeuronLayerFixedPoint< layer2_input_I, layer2_input_F, layer1_neurons, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_ILutLayer2
 
typedef LutNeuronLayerFixedPoint< layer3_input_I, layer3_input_F, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, 1, output0_ILutLayer3_0
 
typedef LutNeuronLayerFixedPoint< layer3_input_I, layer3_input_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, 1, output1_ILutLayer3_1
 

Public Member Functions

int getCalibratedHwPt () override
 
auto & getPtCalibrationArray ()
 
void load (const std::string &filename) override
 
 LutNetworkFixedPointRegression2Outputs ()
 
void run (std::vector< float > &inputs, float noHitVal, std::vector< double > &nnResult) override
 
void runWithInterpolation ()
 
void save (const std::string &filename) override
 
 ~LutNetworkFixedPointRegression2Outputs () override
 
- Public Member Functions inherited from lutNN::LutNetworkFixedPointRegressionBase
virtual ~LutNetworkFixedPointRegressionBase ()
 

Public Attributes

LutLayer1 lutLayer1
 
LutLayer2 lutLayer2
 
LutLayer3_0 lutLayer3_0
 
LutLayer3_1 lutLayer3_1
 

Static Public Attributes

static constexpr int layer2_input_F = layer1_lut_F
 
static constexpr int layer3_input_F = layer2_lut_F
 
static constexpr unsigned int noHitCntShift = layer1_output_I
 

Private Attributes

std::array< ap_ufixed< LutLayer1::input_W, input_I, AP_TRN, AP_SAT >, inputSize > inputArray
 
ap_uint< layer2_input_Ilayer1Bias
 
std::string name = "LutNetworkFixedPointRegression2Outputs"
 
std::array< ap_uint< 9 >, 1<<(output0_I+output0_F)> ptCalibrationArray
 

Detailed Description

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
class lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >

Definition at line 48 of file LutNetworkFixedPointRegression2Outputs.h.

Member Typedef Documentation

◆ LutLayer1

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
typedef LutNeuronLayerFixedPoint<input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutLayer1

Definition at line 60 of file LutNetworkFixedPointRegression2Outputs.h.

◆ LutLayer2

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
typedef LutNeuronLayerFixedPoint<layer2_input_I, layer2_input_F, layer1_neurons, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutLayer2

Definition at line 77 of file LutNetworkFixedPointRegression2Outputs.h.

◆ LutLayer3_0

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
typedef LutNeuronLayerFixedPoint<layer3_input_I, layer3_input_F, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, 1, output0_I> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutLayer3_0

Definition at line 89 of file LutNetworkFixedPointRegression2Outputs.h.

◆ LutLayer3_1

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
typedef LutNeuronLayerFixedPoint<layer3_input_I, layer3_input_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, 1, output1_I> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutLayer3_1

Definition at line 99 of file LutNetworkFixedPointRegression2Outputs.h.

Constructor & Destructor Documentation

◆ LutNetworkFixedPointRegression2Outputs()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutNetworkFixedPointRegression2Outputs ( )
inline

Definition at line 50 of file LutNetworkFixedPointRegression2Outputs.h.

References gather_cfg::cout, lutNN::layer2_neurons, lutNN::layer3_0_inputCnt, lutNN::layer3_1_inputCnt, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer2, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1, and lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::setName().

50  {
52 
53  std::cout << "LutNetworkFixedPoint" << std::endl;
54  lutLayer1.setName("lutLayer1");
55  lutLayer2.setName("lutLayer2");
56  lutLayer3_0.setName("lutLayer3_0");
57  lutLayer3_1.setName("lutLayer3_1");
58  };
static constexpr int layer3_1_inputCnt
static constexpr int layer2_neurons
static constexpr int layer3_0_inputCnt

◆ ~LutNetworkFixedPointRegression2Outputs()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::~LutNetworkFixedPointRegression2Outputs ( )
inlineoverride

Definition at line 60 of file LutNetworkFixedPointRegression2Outputs.h.

60 {};

Member Function Documentation

◆ getCalibratedHwPt()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
int lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::getCalibratedHwPt ( )
inlineoverridevirtual

Implements lutNN::LutNetworkFixedPointRegressionBase.

Definition at line 154 of file LutNetworkFixedPointRegression2Outputs.h.

References lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::getLutOutSum(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::output0_F, and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::ptCalibrationArray.

154  {
155  auto lutAddr = ap_ufixed<output0_I + output0_F + output0_F, output0_I + output0_F, AP_RND_CONV, AP_SAT>(
157  lutAddr = lutAddr << output0_F;
158  //std::cout<<"lutLayer3_0.getLutOutSum()[0] "<<lutLayer3_0.getLutOutSum()[0]<<" lutAddr.to_uint() "<<lutAddr.to_uint()<<" ptCalibrationArray[lutAddr] "<<ptCalibrationArray[lutAddr.to_uint()]<<std::endl;
159  return ptCalibrationArray[lutAddr.to_uint()].to_uint();
160  }
std::array< ap_uint< 9 >, 1<<(output0_I+output0_F)> ptCalibrationArray
static constexpr int output0_F

◆ getPtCalibrationArray()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
auto& lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::getPtCalibrationArray ( )
inline

◆ load()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
void lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load ( const std::string &  filename)
inlineoverridevirtual

Implements lutNN::LutNetworkFixedPointRegressionBase.

Definition at line 191 of file LutNetworkFixedPointRegression2Outputs.h.

References a, CHECK_VAR, corrVsCorr::filename, B2GTnPMonitor_cfi::item, submitPVResolutionJobs::key, lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::load(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer2, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::name, lutNN::output0_F, lutNN::output0_I, lutNN::output1_F, lutNN::output1_I, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::ptCalibrationArray, contentValuesCheck::ss, str, AlCaHLTBitMon_QueryRunRegistry::string, and compare::tree.

191  {
192  // Create an empty property tree object.
193  boost::property_tree::ptree tree;
194 
195  boost::property_tree::read_xml(filename, tree);
196 
201 
206 
207  std::string key = "LutNetworkFixedPointRegression2Outputs.ptCalibrationArray";
208  int size = ptCalibrationArray.size();
210 
211  auto str = tree.get<std::string>(key + ".values");
212 
213  std::stringstream ss(str);
215 
216  for (auto& a : ptCalibrationArray) {
217  if (std::getline(ss, item, ',')) {
218  a = std::stoul(item, nullptr, 10);
219  } else {
220  throw std::runtime_error(
221  "LutNetworkFixedPointRegression2Outputs::read: number of items get from file is smaller than lut size");
222  }
223  }
224  }
size
Write out results.
static constexpr int output1_F
static constexpr int output1_I
void load(boost::property_tree::ptree &tree, std::string keyPath)
std::array< ap_uint< 9 >, 1<<(output0_I+output0_F)> ptCalibrationArray
key
prepare the HTCondor submission files and eventually submit them
double a
Definition: hdecay.h:121
static constexpr int output0_I
#define CHECK_VAR(tree, keyPath, var)
static constexpr int output0_F
Definition: tree.py:1
#define str(s)

◆ run()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
void lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::run ( std::vector< float > &  inputs,
float  noHitVal,
std::vector< double > &  nnResult 
)
inlineoverridevirtual

Implements lutNN::LutNetworkFixedPointRegressionBase.

Definition at line 125 of file LutNetworkFixedPointRegression2Outputs.h.

References lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::getLutOutSum(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::inputArray, PixelMapPlotter::inputs, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::layer1Bias, LogTrace, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::noHitCntShift, and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation().

125  {
126  unsigned int noHitsCnt = 0;
127  for (unsigned int iInput = 0; iInput < inputs.size(); iInput++) {
128  inputArray[iInput] = inputs[iInput];
129  if (inputs[iInput] == noHitVal)
130  noHitsCnt++;
131  }
132 
133  unsigned int bias = (noHitsCnt << noHitCntShift);
134 
135  //layer1Bias switches the input of the layer2 (i.e. output of the layer1) do different regions in the LUTs
136  //depending on the number of layers without hits
137  layer1Bias = bias;
138 
140 
141  //output0_I goes to the declaration of the lutLayer3_0, but it does not matter, as it is used only for the outputArray
142  //auto layer3_0_out = ap_ufixed<output0_I+output0_F, output0_I, AP_RND_CONV, AP_SAT>(lutLayer3_0.getLutOutSum()[0]); //TODO should be AP_RND_CONV rather, but it affect the rate
143  //auto layer3_1_out = ap_fixed <output1_I+output1_F, output1_I, AP_RND_CONV, AP_SAT>(lutLayer3_1.getLutOutSum()[0]); //here layer3_0_out has size 1
144  auto layer3_0_out = lutLayer3_0.getLutOutSum()[0]; //here layer3_0_out has size 1
145  auto layer3_1_out = lutLayer3_1.getLutOutSum()[0]; //here layer3_0_out has size 1
146 
147  nnResult[0] = layer3_0_out.to_float();
148  nnResult[1] = layer3_1_out.to_float();
149  LogTrace("l1tOmtfEventPrint") << "layer3_0_out[0] " << layer3_0_out[0] << " layer3_1_out[0] " << layer3_1_out[0]
150  << std::endl;
151  }
std::array< ap_ufixed< LutLayer1::input_W, input_I, AP_TRN, AP_SAT >, inputSize > inputArray
#define LogTrace(id)

◆ runWithInterpolation()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
void lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation ( )
inline

Definition at line 102 of file LutNetworkFixedPointRegression2Outputs.h.

References filterCSVwithJSON::copy, lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::getOutWithOffset(), mps_fire::i, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::inputArray, lutNN::layer1_neurons, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::layer1Bias, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer2, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1, and lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::runWithInterpolation().

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::run().

102  {
104  auto& layer1Out = lutLayer1.getOutWithOffset();
105 
106  std::array<ap_ufixed<layer2_input_I + layer2_input_F, layer2_input_I, AP_TRN, AP_SAT>, layer1_neurons>
107  layer1OutWithBias;
108  for (unsigned int i = 0; i < layer1Out.size(); i++) {
109  layer1OutWithBias[i] = layer1Out[i] + layer1Bias;
110  }
111 
112  lutLayer2.runWithInterpolation(layer1OutWithBias);
113  auto& layer2Out = lutLayer2.getOutWithOffset();
114 
115  typename LutLayer3_0::inputArrayType lutLayer3_0_input;
116  std::copy(layer2Out.begin(), layer2Out.begin() + lutLayer3_0_input.size(), lutLayer3_0_input.begin());
117 
118  typename LutLayer3_1::inputArrayType lutLayer3_1_input;
119  std::copy(layer2Out.begin() + lutLayer3_0_input.size(), layer2Out.end(), lutLayer3_1_input.begin());
120 
121  lutLayer3_0.runWithInterpolation(lutLayer3_0_input);
122  lutLayer3_1.runWithInterpolation(lutLayer3_1_input);
123  }
std::array< ap_ufixed< LutLayer1::input_W, input_I, AP_TRN, AP_SAT >, inputSize > inputArray
static constexpr int layer1_neurons
lutSumArrayType & runWithInterpolation(const inputArrayType &inputArray)

◆ save()

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
void lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save ( const std::string &  filename)
inlineoverridevirtual

Implements lutNN::LutNetworkFixedPointRegressionBase.

Definition at line 162 of file LutNetworkFixedPointRegression2Outputs.h.

References a, corrVsCorr::filename, submitPVResolutionJobs::key, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer2, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::name, lutNN::output0_F, lutNN::output0_I, lutNN::output1_F, lutNN::output1_I, lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::ptCalibrationArray, PUT_VAR, lutNN::LutNeuronLayerFixedPoint< input_I, input_F, inputSize, lut_I, lut_F, neurons, output_I >::save(), AlCaHLTBitMon_QueryRunRegistry::string, compare::tree, and MCScenario_CRAFT1_22X::write_xml().

162  {
163  // Create an empty property tree object.
164  boost::property_tree::ptree tree;
165 
170 
175 
176  int size = ptCalibrationArray.size();
177  std::string key = "LutNetworkFixedPointRegression2Outputs.ptCalibrationArray";
178  PUT_VAR(tree, key, size)
179  std::ostringstream ostr;
180  for (auto& a : ptCalibrationArray) {
181  ostr << a.to_uint() << ", ";
182  }
183  tree.put(key + ".values", ostr.str());
184 
186  tree,
187  std::locale(),
188  boost::property_tree::xml_parser::xml_writer_make_settings<std::string>(' ', 2));
189  }
size
Write out results.
static constexpr int output1_F
#define PUT_VAR(tree, keyPath, var)
static constexpr int output1_I
std::array< ap_uint< 9 >, 1<<(output0_I+output0_F)> ptCalibrationArray
key
prepare the HTCondor submission files and eventually submit them
def write_xml(scenario, fileName)
void save(boost::property_tree::ptree &tree, std::string keyPath)
double a
Definition: hdecay.h:121
static constexpr int output0_I
static constexpr int output0_F
Definition: tree.py:1

Member Data Documentation

◆ inputArray

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
std::array<ap_ufixed<LutLayer1::input_W, input_I, AP_TRN, AP_SAT>, inputSize> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::inputArray
private

◆ layer1Bias

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
ap_uint<layer2_input_I> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::layer1Bias
private

◆ layer2_input_F

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
constexpr int lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::layer2_input_F = layer1_lut_F
static

Definition at line 68 of file LutNetworkFixedPointRegression2Outputs.h.

◆ layer3_input_F

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
constexpr int lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::layer3_input_F = layer2_lut_F
static

Definition at line 80 of file LutNetworkFixedPointRegression2Outputs.h.

◆ lutLayer1

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
LutLayer1 lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer1

Definition at line 64 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutNetworkFixedPointRegression2Outputs(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation(), and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save().

◆ lutLayer2

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
LutLayer2 lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer2

Definition at line 78 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutNetworkFixedPointRegression2Outputs(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation(), and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save().

◆ lutLayer3_0

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
LutLayer3_0 lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_0

Definition at line 90 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::getCalibratedHwPt(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutNetworkFixedPointRegression2Outputs(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::run(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation(), and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save().

◆ lutLayer3_1

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
LutLayer3_1 lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::lutLayer3_1

Definition at line 100 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::LutNetworkFixedPointRegression2Outputs(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::run(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::runWithInterpolation(), and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save().

◆ name

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
std::string lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::name = "LutNetworkFixedPointRegression2Outputs"
private

Definition at line 236 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by ElectronMVAID.ElectronMVAID::__call__(), FWLite.ElectronMVAID::__call__(), dirstructure.Directory::__create_pie_image(), DisplayManager.DisplayManager::__del__(), dqm_interfaces.DirID::__eq__(), dirstructure.Directory::__get_full_path(), dirstructure.Comparison::__get_img_name(), dirstructure.Comparison::__make_image(), core.autovars.NTupleVariable::__repr__(), core.autovars.NTupleObjectType::__repr__(), core.autovars.NTupleObject::__repr__(), core.autovars.NTupleCollection::__repr__(), dirstructure.Directory::__repr__(), dqm_interfaces.DirID::__repr__(), dirstructure.Comparison::__repr__(), config.Service::__setattr__(), config.CFG::__str__(), counter.Counter::__str__(), average.Average::__str__(), FWLite.WorkingPoints::_reformat_cut_definitions(), core.autovars.NTupleObjectType::addSubObjects(), core.autovars.NTupleObjectType::addVariables(), core.autovars.NTupleObjectType::allVars(), dataset.CMSDataset::buildListOfFiles(), dataset.LocalDataset::buildListOfFiles(), dataset.CMSDataset::buildListOfFilesDBS(), dirstructure.Directory::calcStats(), validation.Sample::digest(), python.rootplot.utilities.Hist::divide(), python.rootplot.utilities.Hist::divide_wilson(), DisplayManager.DisplayManager::Draw(), core.autovars.NTupleVariable::fillBranch(), core.autovars.NTupleObject::fillBranches(), core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::get_cpp_wrapper_class(), core.autovars.NTupleCollection::get_py_wrapper_class(), utils.StatisticalTest::get_status(), production_tasks.Task::getname(), dataset.CMSDataset::getPrimaryDatasetEntries(), dataset.PrivateDataset::getPrimaryDatasetEntries(), VIDSelectorBase.VIDSelectorBase::initialize(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), core.autovars.NTupleVariable::makeBranch(), core.autovars.NTupleObject::makeBranches(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), dirstructure.Directory::print_report(), dataset.BaseDataset::printInfo(), dataset.Dataset::printInfo(), production_tasks.MonitorJobs::run(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save(), python.rootplot.utilities.Hist::TGraph(), python.rootplot.utilities.Hist::TH1F(), counter.Counter::write(), and average.Average::write().

◆ noHitCntShift

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
constexpr unsigned int lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::noHitCntShift = layer1_output_I
static

◆ ptCalibrationArray

template<int input_I, int input_F, std::size_t inputSize, int layer1_lut_I, int layer1_lut_F, int layer1_neurons, int layer1_output_I, int layer2_input_I, int layer2_lut_I, int layer2_lut_F, int layer2_neurons, int layer3_input_I, int layer3_0_inputCnt, int layer3_0_lut_I, int layer3_0_lut_F, int output0_I, int output0_F, int layer3_1_inputCnt, int layer3_1_lut_I, int layer3_1_lut_F, int output1_I, int output1_F>
std::array<ap_uint<9>, 1 << (output0_I + output0_F)> lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::ptCalibrationArray
private

Definition at line 234 of file LutNetworkFixedPointRegression2Outputs.h.

Referenced by lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::getCalibratedHwPt(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::getPtCalibrationArray(), lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::load(), and lutNN::LutNetworkFixedPointRegression2Outputs< input_I, input_F, inputSize, layer1_lut_I, layer1_lut_F, layer1_neurons, layer1_output_I, layer2_input_I, layer2_lut_I, layer2_lut_F, layer2_neurons, layer3_input_I, layer3_0_inputCnt, layer3_0_lut_I, layer3_0_lut_F, output0_I, output0_F, layer3_1_inputCnt, layer3_1_lut_I, layer3_1_lut_F, output1_I, output1_F >::save().