Go to the documentation of this file. 1 #ifndef CALIBCALORIMETRY_HCALTPGALGOS_HCALNOMINALTPGCODER_H
2 #define CALIBCALORIMETRY_HCALTPGALGOS_HCALNOMINALTPGCODER_H 1
47 const std::vector<bool>& featureBits,
87 typedef std::vector<LutElement>
Lut;
92 static const int nFi_ = 72;
void update(const HcalDbService &conditions)
std::vector< float > ped_
void set1TSContainHE(bool contain1TSHE)
static const int QIE8_LUT_BITMASK
double cosh_ieta(int ieta, int depth, HcalSubdetector subdet)
static const int QIE10_LUT_BITMASK
static const int QIE11_LUT_MSB1
void updateXML(const char *filename)
std::vector< LutElement > Lut
void compress(const IntegerCaloSamples &ics, const std::vector< bool > &featureBits, HcalTriggerPrimitiveDigi &tp) const override
static const size_t INPUT_LUT_SIZE
std::vector< uint32_t > FG_HF_thresholds_
static const size_t UPGRADE_LUT_SIZE
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
double cosh_ieta_28_HE_low_depths_
void setContainPhaseHE(double containPhaseNSHE)
void setLUTGenerationMode(bool gen)
std::vector< float > gain_
float getLUTPedestal(HcalDetId id) const override
double cosh_ieta_28_HE_high_depths_
float getLUTGain(HcalDetId id) const override
double linearLSB_QIE11Overlap_
void init(const HcalTopology *top, const HcalTimeSlew *delay)
unsigned short LutElement
void lookupMSB(const HBHEDataFrame &df, std::vector< bool > &msb) const
void set1TSContainHB(bool contain1TSHB)
const HcalTopology * topo_
static const int QIE11_LUT_BITMASK
bool getMSB(const HcalDetId &id, int adc) const
std::vector< double > cosh_ieta_
void setAllLinear(bool linear, double lsb8, double lsb11, double lsb11overlap)
~HcaluLUTTPGCoder() override
std::vector< unsigned short > getLinearizationLUT(HcalDetId id) const override
Get the full linearization LUT (128 elements). Default implementation just uses adc2Linear to get all...
void setContainPhaseHB(double containPhaseNSHB)
static const int QIE10_LUT_MSB1
static const int QIE10_LUT_MSB0
void make_cosh_ieta_map(void)
std::vector< Lut > inputLUT_
def gen(fragment, howMuch)
Production test section ####.
int getLUTId(HcalSubdetector id, int ieta, int iphi, int depth) const
static const int QIE11_LUT_MSB0
static const int QIE8_LUT_MSB
const HcalTimeSlew * delay_
std::unique_ptr< HcalPulseContainmentManager > pulseCorr_
void adc2Linear(const HBHEDataFrame &df, IntegerCaloSamples &ics) const override
void setFGHFthresholds(const std::vector< uint32_t > &fgthresholds)