#include <CaloTPGTranscoderULUT.h>
Public Member Functions | |
CaloTPGTranscoderULUT (const std::string &compressionFile="", const std::string &decompressionFile="") | |
EcalTriggerPrimitiveSample | ecalCompress (const EcalTrigTowerDetId &id, unsigned int sample, bool fineGrain) const override |
Compression from linear samples+fine grain in the ECAL. More... | |
virtual const std::vector< unsigned int > | getCompressionLUT (const HcalTrigTowerDetId &id) const |
virtual int | getOutputLUTId (const HcalTrigTowerDetId &id) const |
virtual int | getOutputLUTId (const int ieta, const int iphi, const int version) const |
HcalTriggerPrimitiveSample | hcalCompress (const HcalTrigTowerDetId &id, unsigned int sample, int fineGrain) const override |
Compression from linear samples+fine grain in the HTR. More... | |
double | hcaletValue (const int &ieta, const int &iphi, const int &version, const int &compressedValue) const override |
double | hcaletValue (const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc) const override |
virtual bool | HTvalid (const int ieta, const int iphi, const int version) const |
void | rctEGammaUncompress (const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc, const EcalTrigTowerDetId &eid, const EcalTriggerPrimitiveSample &ec, unsigned int &et, bool &egVecto, bool &activity) const override |
Uncompression for the Electron/Photon path in the RCT. More... | |
void | rctJetUncompress (const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc, const EcalTrigTowerDetId &eid, const EcalTriggerPrimitiveSample &ec, unsigned int &et) const override |
Uncompression for the JET path in the RCT. More... | |
virtual void | setup (HcalLutMetadata const &, HcalTrigTowerGeometry const &, int nctScaleShift, int rctScaleShift, double lsbQIE8, double lsbQIE11, bool allLinear) |
~CaloTPGTranscoderULUT () override | |
Public Member Functions inherited from CaloTPGTranscoder | |
CaloTPGTranscoder () | |
boost::shared_ptr< const EcalTPGCompressor > | getEcalCompressor () const |
boost::shared_ptr< const HcalTPGCompressor > | getHcalCompressor () const |
virtual | ~CaloTPGTranscoder () |
Private Types | |
typedef uint8_t | LUT |
typedef std::array< float, TPGMAX > | RCTdecompression |
Private Member Functions | |
unsigned int | getOutputLUTSize (const HcalTrigTowerDetId &id) const |
bool | isOnlyQIE11 (const HcalTrigTowerDetId &id) const |
void | loadHCALCompress (HcalLutMetadata const &, HcalTrigTowerGeometry const &) |
Private Attributes | |
bool | allLinear_ = false |
const std::string | compressionFile_ |
const std::string | decompressionFile_ |
std::vector< RCTdecompression > | hcaluncomp_ |
std::vector< int > | ietah |
std::vector< int > | ietal |
double | lin11_factor_ |
double | lin8_factor_ |
double | lsb_factor_ |
std::vector< int > | LUTfactor |
double | nct_factor_ |
double | nominal_gain_ |
std::vector< std::vector< LUT > > | outputLUT_ |
std::set< HcalDetId > | plan1_towers_ |
double | rct_factor_ |
const HcalTopology * | theTopology |
std::vector< int > | ZS |
Static Private Attributes | |
static const bool | newHFphi = true |
static const int | NOUTLUTS = 4176 |
static const unsigned int | OUTPUT_LUT_SIZE = std::max({QIE8_OUTPUT_LUT_SIZE, QIE10_OUTPUT_LUT_SIZE, QIE11_OUTPUT_LUT_SIZE}) |
static const unsigned int | QIE10_OUTPUT_LUT_SIZE = REDUCE11BIT |
static const unsigned int | QIE11_OUTPUT_LUT_SIZE = REDUCE11BIT |
static const unsigned int | QIE8_OUTPUT_LUT_SIZE = REDUCE10BIT |
static const unsigned int | REDUCE10BIT = 1024 |
static const unsigned int | REDUCE11BIT = 2048 |
static const unsigned int | TPGMAX = 256 |
Additional Inherited Members | |
Public Types inherited from CaloTPGTranscoder | |
enum | Mode { All =0, RCT =1, HcalTPG =2, EcalTPG =3 } |
Definition at line 19 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 59 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 60 of file CaloTPGTranscoderULUT.h.
CaloTPGTranscoderULUT::CaloTPGTranscoderULUT | ( | const std::string & | compressionFile = "" , |
const std::string & | decompressionFile = "" |
||
) |
Definition at line 19 of file CaloTPGTranscoderULUT.cc.
|
override |
Definition at line 29 of file CaloTPGTranscoderULUT.cc.
|
overridevirtual |
Compression from linear samples+fine grain in the ECAL.
Implements CaloTPGTranscoder.
Definition at line 172 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 280 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), lumiPlot::lut, outputLUT_, and mps_fire::result.
Referenced by HcalLutManager::getCompressionLutXmlFromCoder().
|
virtual |
Definition at line 196 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, and theTopology.
Referenced by getCompressionLUT(), hcalCompress(), hcaletValue(), loadHCALCompress(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
virtual |
Definition at line 203 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, triggerObjects_cff::id, and theTopology.
|
private |
Definition at line 213 of file CaloTPGTranscoderULUT.cc.
References Exception, HcalTopology::lastHBRing(), HcalTopology::lastHERing(), plan1_towers_, QIE10_OUTPUT_LUT_SIZE, QIE11_OUTPUT_LUT_SIZE, QIE8_OUTPUT_LUT_SIZE, theTopology, HcalTopology::triggerMode(), HcalTopologyMode::TriggerMode_2009, HcalTopologyMode::TriggerMode_2016, HcalTopologyMode::TriggerMode_2017, HcalTopologyMode::TriggerMode_2017plan1, HcalTopologyMode::TriggerMode_2018, HcalTopologyMode::TriggerMode_2018legacy, and HcalTopologyMode::TriggerMode_2019.
Referenced by hcalCompress(), and loadHCALCompress().
|
overridevirtual |
Compression from linear samples+fine grain in the HTR.
Implements CaloTPGTranscoder.
Definition at line 139 of file CaloTPGTranscoderULUT.cc.
References Exception, getOutputLUTId(), getOutputLUTSize(), triggerObjects_cff::id, and outputLUT_.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 152 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), hcaluncomp_, and TPGMAX.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 165 of file CaloTPGTranscoderULUT.cc.
References HcalTriggerPrimitiveSample::compressedEt(), getOutputLUTId(), and hcaluncomp_.
|
virtual |
Definition at line 187 of file CaloTPGTranscoderULUT.cc.
References Exception, triggerObjects_cff::id, theTopology, and HcalTopology::validHT().
Referenced by HcalLutManager::getCompressionLutXmlFromAsciiMaster(), HcalLutManager::getCompressionLutXmlFromCoder(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
private |
Definition at line 255 of file CaloTPGTranscoderULUT.cc.
References Exception, HcalTopology::lastHBRing(), plan1_towers_, theTopology, HcalTopology::triggerMode(), HcalTopologyMode::TriggerMode_2017plan1, HcalTopologyMode::TriggerMode_2018, HcalTopologyMode::TriggerMode_2018legacy, and HcalTopologyMode::TriggerMode_2019.
Referenced by loadHCALCompress().
|
private |
Definition at line 32 of file CaloTPGTranscoderULUT.cc.
References funct::abs(), allLinear_, Exception, HcalTrigTowerGeometry::firstHFTower(), HcalCondObjectContainer< Item >::getAllChannels(), HcalLutMetadatum::getLutGranularity(), getOutputLUTId(), getOutputLUTSize(), HcalLutMetadatum::getOutputLutThreshold(), HcalCondObjectContainer< Item >::getValues(), hcaluncomp_, mps_fire::i, triggerObjects_cff::id, HcalGenericDetId::isHcalCastorDetId(), HcalGenericDetId::isHcalDetId(), HcalGenericDetId::isHcalTrigTowerDetId(), HcalGenericDetId::isHcalZDCDetId(), isOnlyQIE11(), lin11_factor_, lin8_factor_, cmsBatch::log, lsb_factor_, min(), nct_factor_, nominal_gain_, OUTPUT_LUT_SIZE, outputLUT_, rct_factor_, mathSSE::sqrt(), theTopology, electronIdCutBased_cfi::threshold, HcalTrigTowerGeometry::towerEtaBounds(), TPGMAX, HcalTopology::validHT(), and jets_cff::version.
Referenced by setup().
|
overridevirtual |
Uncompression for the Electron/Photon path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 176 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
overridevirtual |
Uncompression for the JET path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 181 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 287 of file CaloTPGTranscoderULUT.cc.
References allLinear_, compressionFile_, HcalTopology::dddConstants(), decompressionFile_, Exception, HcalCondObjectContainer< Item >::getAllChannels(), HcalTopology::getHTSize(), HcalLutMetadata::getNominalGain(), HcalLutMetadata::getRctLsb(), DetId::Hcal, hcaluncomp_, HcalDDDRecConstants::isPlan1(), lin11_factor_, lin8_factor_, loadHCALCompress(), HcaluLUTTPGCoder::lsb_, lsb_factor_, nct_factor_, nominal_gain_, outputLUT_, plan1_towers_, rct_factor_, theTopology, HcalCondObjectContainerBase::topo(), HcalTrigTowerGeometry::towerIds(), and HcalTopology::valid().
Referenced by o2olib.O2OTool::execute().
|
private |
Definition at line 71 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 78 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 79 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 86 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), loadHCALCompress(), and setup().
|
private |
Definition at line 81 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 80 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 77 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 76 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 73 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 83 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 75 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 63 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 72 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 45 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 55 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress().
|
private |
Definition at line 85 of file CaloTPGTranscoderULUT.h.
Referenced by getCompressionLUT(), hcalCompress(), loadHCALCompress(), and setup().
|
private |
Definition at line 88 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize(), isOnlyQIE11(), and setup().
|
staticprivate |
Definition at line 53 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 54 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 52 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
private |
Definition at line 74 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 48 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 49 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 62 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTId(), getOutputLUTSize(), HTvalid(), isOnlyQIE11(), loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 56 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), and loadHCALCompress().
|
private |
Definition at line 82 of file CaloTPGTranscoderULUT.h.