#include <CaloTPGTranscoderULUT.h>
Public Member Functions | |
CaloTPGTranscoderULUT (const std::string &compressionFile="", const std::string &decompressionFile="") | |
virtual 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 |
virtual HcalTriggerPrimitiveSample | hcalCompress (const HcalTrigTowerDetId &id, unsigned int sample, int fineGrain) const override |
Compression from linear samples+fine grain in the HTR. More... | |
virtual double | hcaletValue (const int &ieta, const int &iphi, const int &version, const int &compressedValue) const override |
virtual double | hcaletValue (const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc) const override |
virtual bool | HTvalid (const int ieta, const int iphi, const int version) const |
virtual 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... | |
virtual 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, int) |
virtual | ~CaloTPGTranscoderULUT () |
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 |
void | loadHCALCompress (HcalLutMetadata const &, HcalTrigTowerGeometry const &) |
Private Attributes | |
std::string | compressionFile_ |
std::string | decompressionFile_ |
std::vector< RCTdecompression > | hcaluncomp_ |
std::vector< int > | ietah |
std::vector< int > | ietal |
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 57 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 58 of file CaloTPGTranscoderULUT.h.
CaloTPGTranscoderULUT::CaloTPGTranscoderULUT | ( | const std::string & | compressionFile = "" , |
const std::string & | decompressionFile = "" |
||
) |
Definition at line 19 of file CaloTPGTranscoderULUT.cc.
|
virtual |
Definition at line 28 of file CaloTPGTranscoderULUT.cc.
|
overridevirtual |
Compression from linear samples+fine grain in the ECAL.
Implements CaloTPGTranscoder.
Definition at line 152 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 234 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), lumiPlot::lut, outputLUT_, and mps_fire::result.
Referenced by HcalLutManager::getCompressionLutXmlFromCoder().
|
virtual |
Definition at line 176 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, and theTopology.
Referenced by getCompressionLUT(), hcalCompress(), hcaletValue(), loadHCALCompress(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
virtual |
Definition at line 183 of file CaloTPGTranscoderULUT.cc.
References HcalTopology::detId2denseIdHT(), Exception, hcalTTPDigis_cfi::id, and theTopology.
|
private |
Definition at line 193 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 119 of file CaloTPGTranscoderULUT.cc.
References Exception, getOutputLUTId(), getOutputLUTSize(), hcalTTPDigis_cfi::id, and outputLUT_.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 132 of file CaloTPGTranscoderULUT.cc.
References getOutputLUTId(), hcaluncomp_, and TPGMAX.
|
overridevirtual |
Implements CaloTPGTranscoder.
Definition at line 145 of file CaloTPGTranscoderULUT.cc.
References HcalTriggerPrimitiveSample::compressedEt(), getOutputLUTId(), and hcaluncomp_.
|
virtual |
Definition at line 167 of file CaloTPGTranscoderULUT.cc.
References Exception, hcalTTPDigis_cfi::id, theTopology, and HcalTopology::validHT().
Referenced by HcalLutManager::getCompressionLutXmlFromAsciiMaster(), HcalLutManager::getCompressionLutXmlFromCoder(), and L1CaloHcalScaleConfigOnlineProd::newObject().
|
private |
Definition at line 31 of file CaloTPGTranscoderULUT.cc.
References funct::abs(), Exception, HcalTrigTowerGeometry::firstHFTower(), HcalCondObjectContainer< Item >::getAllChannels(), HcalLutMetadatum::getLutGranularity(), getOutputLUTId(), getOutputLUTSize(), HcalLutMetadatum::getOutputLutThreshold(), HcalCondObjectContainer< Item >::getValues(), hcaluncomp_, mps_fire::i, hcalTTPDigis_cfi::id, diffTreeTool::index, HcalGenericDetId::isHcalCastorDetId(), HcalGenericDetId::isHcalDetId(), HcalGenericDetId::isHcalTrigTowerDetId(), HcalGenericDetId::isHcalZDCDetId(), 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 jetIDSelector_cfi::version.
Referenced by setup().
|
overridevirtual |
Uncompression for the Electron/Photon path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 156 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
overridevirtual |
Uncompression for the JET path in the RCT.
Implements CaloTPGTranscoder.
Definition at line 161 of file CaloTPGTranscoderULUT.cc.
References Exception.
|
virtual |
Definition at line 241 of file CaloTPGTranscoderULUT.cc.
References compressionFile_, HcalTopology::dddConstants(), decompressionFile_, Exception, HcalCondObjectContainer< Item >::getAllChannels(), HcalTopology::getHTSize(), HcalLutMetadata::getNominalGain(), HcalLutMetadata::getRctLsb(), DetId::Hcal, hcaluncomp_, HcalDDDRecConstants::isPlan1(), 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 72 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 73 of file CaloTPGTranscoderULUT.h.
Referenced by setup().
|
private |
Definition at line 80 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), loadHCALCompress(), and setup().
|
private |
Definition at line 75 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 74 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 69 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
private |
Definition at line 77 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 71 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 61 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 68 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 43 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 53 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress().
|
private |
Definition at line 79 of file CaloTPGTranscoderULUT.h.
Referenced by getCompressionLUT(), hcalCompress(), loadHCALCompress(), and setup().
|
private |
Definition at line 82 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize(), and setup().
|
staticprivate |
Definition at line 51 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 52 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
staticprivate |
Definition at line 50 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTSize().
|
private |
Definition at line 70 of file CaloTPGTranscoderULUT.h.
Referenced by loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 46 of file CaloTPGTranscoderULUT.h.
|
staticprivate |
Definition at line 47 of file CaloTPGTranscoderULUT.h.
|
private |
Definition at line 60 of file CaloTPGTranscoderULUT.h.
Referenced by getOutputLUTId(), getOutputLUTSize(), HTvalid(), loadHCALCompress(), and setup().
|
staticprivate |
Definition at line 54 of file CaloTPGTranscoderULUT.h.
Referenced by hcaletValue(), and loadHCALCompress().
|
private |
Definition at line 76 of file CaloTPGTranscoderULUT.h.