#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 () | |
std::shared_ptr< const EcalTPGCompressor > | getEcalCompressor () const |
std::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 |
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 18 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 72 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 73 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 30 of file CaloTPGTranscoderULUT.cc.
|
overridevirtual |
Compression from linear samples+fine grain in the ECAL.
Implements CaloTPGTranscoder.
Definition at line 183 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 290 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), outputLUT_, and mps_fire::result.
Referenced by HcalLutManager::getCompressionLutXmlFromCoder().
|
virtual |
Definition at line 215 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, and theTopology.
Referenced by getCompressionLUT(), hcalCompress(), hcaletValue(), loadHCALCompress(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
virtual |
Definition at line 222 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, EcalPhiSymFlatTableProducers_cfi::id, hcalRecHitTable_cff::ieta, theTopology, and relval_steps::version.
|
private |
Definition at line 231 of file CaloTPGTranscoderULUT.cc.
References Exception, ALPAKA_ACCELERATOR_NAMESPACE::ecal::reconstruction::internal::barrel::ietaAbs(), HcalTopology::lastHBHERing(), 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_2021.
Referenced by hcalCompress(), and loadHCALCompress().
|
overridevirtual |
Compression from linear samples+fine grain in the HTR.
Implements CaloTPGTranscoder.
Definition at line 144 of file CaloTPGTranscoderULUT.cc.
References Exception, getOutputLUTId(), getOutputLUTSize(), EcalPhiSymFlatTableProducers_cfi::id, outputLUT_, and ecalGpuTask_cfi::sample.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 159 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), hcaluncomp_, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, TPGMAX, and relval_steps::version.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 176 of file CaloTPGTranscoderULUT.cc.
References HcalTriggerPrimitiveSample::compressedEt(), getOutputLUTId(), and hcaluncomp_.
|
virtual |
Definition at line 206 of file CaloTPGTranscoderULUT.cc.
References Exception, EcalPhiSymFlatTableProducers_cfi::id, hcalRecHitTable_cff::ieta, theTopology, HcalTopology::validHT(), and relval_steps::version.
Referenced by HcalLutManager::getCompressionLutXmlFromAsciiMaster(), HcalLutManager::getCompressionLutXmlFromCoder(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
private |
Definition at line 269 of file CaloTPGTranscoderULUT.cc.
References Exception, ALPAKA_ACCELERATOR_NAMESPACE::ecal::reconstruction::internal::barrel::ietaAbs(), HcalTopology::lastHBRing(), plan1_towers_, theTopology, HcalTopology::triggerMode(), HcalTopologyMode::TriggerMode_2017plan1, HcalTopologyMode::TriggerMode_2018, HcalTopologyMode::TriggerMode_2018legacy, and HcalTopologyMode::TriggerMode_2021.
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, EcalPhiSymFlatTableProducers_cfi::id, hcalRecHitTable_cff::ieta, HcalGenericDetId::isHcalCastorDetId(), HcalGenericDetId::isHcalDetId(), HcalGenericDetId::isHcalTrigTowerDetId(), HcalGenericDetId::isHcalZDCDetId(), isOnlyQIE11(), lin11_factor_, lin8_factor_, CrabHelper::log, LaserClient_cfi::low, lsb_factor_, SiStripPI::min, nct_factor_, nominal_gain_, OUTPUT_LUT_SIZE, outputLUT_, rct_factor_, mathSSE::sqrt(), theTopology, DiMuonV_cfg::threshold, HcalTrigTowerGeometry::towerEtaBounds(), TPGMAX, HcalTopology::validHT(), and relval_steps::version.
Referenced by setup().
|
overridevirtual |
Uncompression for the Electron/Photon path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 189 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
overridevirtual |
Uncompression for the JET path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 198 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 297 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(), l1tHGCalTowerProducer_cfi::tower, HcalTrigTowerGeometry::towerIds(), and HcalTopology::valid().
Referenced by o2olib.O2OTool::execute().
|
private |
Definition at line 84 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 91 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 92 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 99 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), loadHCALCompress(), and setup().
|
private |
Definition at line 94 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 93 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 90 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 89 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 86 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 96 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 88 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 76 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 85 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 57 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 67 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress().
|
private |
Definition at line 98 of file CaloTPGTranscoderULUT.h.
Referenced by getCompressionLUT(), hcalCompress(), loadHCALCompress(), and setup().
|
private |
Definition at line 101 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize(), isOnlyQIE11(), and setup().
|
staticprivate |
Definition at line 65 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 66 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 64 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
private |
Definition at line 87 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 60 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 61 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 75 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTId(), getOutputLUTSize(), HTvalid(), isOnlyQIE11(), loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 69 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), and loadHCALCompress().
|
private |
Definition at line 95 of file CaloTPGTranscoderULUT.h.