Go to the documentation of this file. 1 #ifndef HcalSimAlgos_HcalTriggerPrimitiveAlgo_h
2 #define HcalSimAlgos_HcalTriggerPrimitiveAlgo_h
28 const std::vector<double>&
w,
40 uint32_t minSignalThreshold = 0,
41 uint32_t PMT_NoiseThreshold = 0);
44 template <
typename... Digis>
52 const Digis&... digis);
54 template <
typename T,
typename... Args>
117 const int HF_LUMI_SHIFT,
122 const int HF_LUMI_SHIFT,
161 typedef std::map<HcalTrigTowerDetId, IntegerCaloSamples>
SumMap;
170 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, HFDetails>>
HFDetailMap;
180 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, std::array<HFUpgradeDetails, 4>>>
HFUpgradeDetailMap;
200 typedef std::map<HcalTrigTowerDetId, std::vector<bool>>
FGbitMap;
235 template <
typename... Digis>
243 const Digis&... digis) {
246 incoder_ = dynamic_cast<const HcaluLUTTPGCoder*>(incoder);
275 if (detId.version() == 0) {
277 }
else if (detId.version() == 1) {
void addFG(const HcalTrigTowerDetId &id, std::vector< bool > &msb)
std::array< std::array< double, 2 >, 29 > weightsQIE11_
std::vector< std::bitset< 2 > > fgbits
void overrideParameters(const edm::ParameterSet &ps)
void addDigis(const T &collection)
uint32_t override_adc_hf_value_
static const int QIE8_LUT_BITMASK
void run(const HcalTPGCoder *incoder, const HcalTPGCompressor *outcoder, const HcalDbService *conditions, HcalTrigPrimDigiCollection &result, const HcalTrigTowerGeometry *trigTowerGeometry, float rctlsb, const HcalFeatureBit *LongvrsShortCut, const Digis &... digis)
static const int QIE10_LUT_BITMASK
void setUpgradeFlags(bool hb, bool he, bool hf)
void setWeightsQIE11(const edm::ParameterSet &weightsQIE11)
void addDigis(const T &collection, const Args &... digis)
static const int FIRST_FINEGRAIN_TOWER
void addUpgradeFG(const HcalTrigTowerDetId &id, int depth, const std::vector< std::bitset< 2 >> &bits)
const HcalDbService * conditions_
std::vector< HcalFinegrainBit::Tower > FGUpgradeContainer
void setNCTScaleShift(int)
std::map< HcalTrigTowerDetId, SumFGContainer > TowerMapFGSum
std::map< uint32_t, std::vector< bool > > TowerMapVeto
unsigned long long override_tdc_hf_value_
void setNumFilterPresamplesHEQIE11(int presamples)
static const int QIE11_MAX_LINEARIZATION_ET
void setWeightQIE11(int aieta, double weight)
IntegerCaloSamples long_fiber
void setRCTScaleShift(int)
weightsQIE11
hardware algo
static const int QIE10_MAX_LINEARIZATION_ET
int getFGVersionHBHE() const
get FineGrain Algorithm Version for HBHE
static const int LAST_FINEGRAIN_TOWER
bool passTDC(const QIE10DataFrame &digi, int ts) const
void addSignal(const HBHEDataFrame &frame)
adds the signal to the map
int numberOfFilterPresamplesHEQIE11_
static const int QIE10_LINEARIZATION_ET
FGUpgradeMap fgUpgradeMap_
void runZS(HcalTrigPrimDigiCollection &tp)
void addDigis(const HcalDataFrameContainer< D > &collection)
std::vector< bool > passTDC
const HcalTPParameters * getHcalTPParameters() const
~HcalTriggerPrimitiveAlgo()
bool validUpgradeFG(const HcalTrigTowerDetId &id, int depth) const
edm::ParameterSet override_parameters_
int numberOfFilterPresamplesHBQIE11_
uint32_t minSignalThreshold_
static const int HBHE_OVERLAP_TOWER
bool exists(std::string const ¶meterName) const
checks if a parameter exists
uint32_t PMT_NoiseThreshold_
HFUpgradeDetailMap theHFUpgradeDetailMap
const HcalTrigTowerGeometry * theTrigTowerGeometry
HcalTriggerPrimitiveAlgo(bool pf, const std::vector< double > &w, int latency, uint32_t FG_threshold, const std::vector< uint32_t > &FG_HF_thresholds, uint32_t ZS_threshold, int numberOfSamples, int numberOfPresamples, int numberOfFilterPresamplesHBQIE11, int numberOfFilterPresamplesHEQIE11, int numberOfSamplesHF, int numberOfPresamplesHF, bool useTDCInMinBiasBits, uint32_t minSignalThreshold=0, uint32_t PMT_NoiseThreshold=0)
void setNumFilterPresamplesHBQIE11(int presamples)
void analyzeHF(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const int hf_lumi_shift)
int firstHFTower(int version) const
numberOfFilterPresamplesHBQIE11
void analyzeHFQIE10(const IntegerCaloSamples &SAMPLES, HcalTriggerPrimitiveDigi &result, const int HF_LUMI_SHIFT, const HcalFeatureBit *HCALFEM)
bool needLegacyFG(const HcalTrigTowerDetId &id) const
bool needUpgradeID(const HcalTrigTowerDetId &id, int depth) const
static const int FIRST_DEPTH7_TOWER
HFDetailMap theHFDetailMap
numberOfFilterPresamplesHEQIE11
IntegerCaloSamples samples
bool validChannel(const QIE10DataFrame &digi, int ts) const
static const int LAST_FINEGRAIN_DEPTH
int numberOfPresamplesHF_
static const int QIE11_LUT_BITMASK
void analyzeQIE11(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const HcalFinegrainBit &fg_algo)
DecomposeProduct< arg, typename Div::arg > D
int peak_finder_algorithm_
void setPeakFinderAlgorithm(int algo)
std::map< HcalTrigTowerDetId, std::map< uint32_t, HFDetails > > HFDetailMap
const HcalTPGCompressor * outcoder_
std::map< HcalTrigTowerDetId, std::vector< bool > > FGbitMap
std::map< HcalTrigTowerDetId, FGUpgradeContainer > FGUpgradeMap
IntegerCaloSamples short_fiber
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
T getParameter(std::string const &) const
void runFEFormatError(const FEDRawDataCollection *rawraw, const HcalElectronicsMap *emap, HcalTrigPrimDigiCollection &result)
std::vector< bool > validity
void analyze(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result)
adds the actual digis
std::map< HcalTrigTowerDetId, IntegerCaloSamples > SumMap
TowerMapFGSum theTowerMapFGSum
bool useTDCInMinBiasBits_
std::vector< uint32_t > FG_HF_thresholds_
void analyzeHF2016(const IntegerCaloSamples &SAMPLES, HcalTriggerPrimitiveDigi &result, const int HF_LUMI_SHIFT, const HcalFeatureBit *HCALFEM)
std::vector< IntegerCaloSamples > SumFGContainer
static const int QIE11_LINEARIZATION_ET
HcalFeatureBit * LongvrsShortCut
static const int QIE8_LINEARIZATION_ET
std::map< HcalTrigTowerDetId, std::map< uint32_t, std::array< HFUpgradeDetails, 4 > > > HFUpgradeDetailMap
std::vector< double > weights_
const HcaluLUTTPGCoder * incoder_