1 #ifndef HcalSimAlgos_HcalTriggerPrimitiveAlgo_h 2 #define HcalSimAlgos_HcalTriggerPrimitiveAlgo_h 30 const std::vector<double>&
w,
42 uint32_t minSignalThreshold = 0,
43 uint32_t PMT_NoiseThreshold = 0);
46 template <
typename... Digis>
54 const Digis&... digis);
56 template <
typename T,
typename... Args>
116 std::vector<bool> sample_saturation,
124 const int HF_LUMI_SHIFT,
129 const int HF_LUMI_SHIFT,
168 typedef std::map<HcalTrigTowerDetId, IntegerCaloSamples>
SumMap;
171 typedef std::map<HcalTrigTowerDetId, std::vector<bool>>
SatMap;
180 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, HFDetails>>
HFDetailMap;
190 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, std::array<HFUpgradeDetails, 4>>>
HFUpgradeDetailMap;
210 typedef std::map<HcalTrigTowerDetId, std::vector<bool>>
FGbitMap;
251 template <
typename... Digis>
259 const Digis&... digis) {
293 if (
detId.version() == 0) {
295 }
else if (
detId.version() == 1) {
bool validUpgradeFG(const HcalTrigTowerDetId &id, int depth) const
void addUpgradeTDCFG(const HcalTrigTowerDetId &id, const QIE11DataFrame &frame)
void analyze(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result)
adds the actual digis
void runFEFormatError(const FEDRawDataCollection *rawraw, const HcalElectronicsMap *emap, HcalTrigPrimDigiCollection &result)
T getParameter(std::string const &) const
std::map< uint32_t, std::vector< bool > > TowerMapVeto
std::vector< uint32_t > FG_HF_thresholds_
HFUpgradeDetailMap theHFUpgradeDetailMap
int getFGVersionHBHE() const
get FineGrain Algorithm Version for HBHE
void analyzeHF(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const int hf_lumi_shift)
bool useTDCInMinBiasBits_
std::map< HcalTrigTowerDetId, FGUpgradeTDCContainer > FGUpgradeTDCMap
static const int QIE10_MAX_LINEARIZATION_ET
void analyzeHF2016(const IntegerCaloSamples &SAMPLES, HcalTriggerPrimitiveDigi &result, const int HF_LUMI_SHIFT, const HcalFeatureBit *HCALFEM)
static const int QIE11_LUT_BITMASK
static const int FIRST_DEPTH7_TOWER
int peak_finder_algorithm_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
void analyzeHFQIE10(const IntegerCaloSamples &SAMPLES, HcalTriggerPrimitiveDigi &result, const int HF_LUMI_SHIFT, const HcalFeatureBit *HCALFEM)
static const int LAST_FINEGRAIN_TOWER
bool needLegacyFG(const HcalTrigTowerDetId &id) const
static const int QIE10_LINEARIZATION_ET
const HcalTPGCompressor * outcoder_
static const int LAST_FINEGRAIN_DEPTH
std::map< HcalTrigTowerDetId, FGUpgradeContainer > FGUpgradeMap
void addFG(const HcalTrigTowerDetId &id, std::vector< bool > &msb)
static const int QIE8_LUT_BITMASK
IntegerCaloSamples long_fiber
static const int HBHE_OVERLAP_TOWER
std::array< std::array< int, 2 >, 29 > weightsQIE11_
numberOfFilterPresamplesHEQIE11
TowerMapFGSum theTowerMapFGSum
std::vector< std::bitset< 2 > > fgbits
uint32_t minSignalThreshold_
int firstHFTower(int version) const
static const int FIRST_FINEGRAIN_TOWER
std::vector< IntegerCaloSamples > SumFGContainer
std::map< HcalTrigTowerDetId, SumFGContainer > TowerMapFGSum
const HcalTrigTowerGeometry * theTrigTowerGeometry
const HcalDbService * conditions_
weightsQIE11
hardware algo
numberOfFilterPresamplesHBQIE11
static const int QIE11_LINEARIZATION_ET
void setWeightQIE11(int aieta, int weight)
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
bool needUpgradeID(const HcalTrigTowerDetId &id, int depth) const
void setNumFilterPresamplesHEQIE11(int presamples)
std::vector< double > weights_
int numberOfPresamplesHF_
const HcalTPParameters * getHcalTPParameters() const
IntegerCaloSamples short_fiber
void runZS(HcalTrigPrimDigiCollection &tp)
static const int QIE10_LUT_BITMASK
void analyzeQIE11(IntegerCaloSamples &samples, std::vector< bool > sample_saturation, HcalTriggerPrimitiveDigi &result, const HcalFinegrainBit &fg_algo)
std::map< HcalTrigTowerDetId, std::vector< bool > > SatMap
std::map< HcalTrigTowerDetId, std::vector< bool > > FGbitMap
std::vector< HcalFinegrainBit::TowerTDC > FGUpgradeTDCContainer
std::vector< HcalFinegrainBit::Tower > FGUpgradeContainer
void run(const HcalTPGCoder *incoder, const HcalTPGCompressor *outcoder, const HcalDbService *conditions, HcalTrigPrimDigiCollection &result, const HcalTrigTowerGeometry *trigTowerGeometry, float rctlsb, const HcalFeatureBit *LongvrsShortCut, const Digis &... digis)
void setNCTScaleShift(int)
void addDigis(const T &collection)
DecomposeProduct< arg, typename Div::arg > D
uint32_t override_adc_hf_value_
uint32_t PMT_NoiseThreshold_
unsigned long long override_tdc_hf_value_
static const int QIE11_MAX_LINEARIZATION_ET
std::map< HcalTrigTowerDetId, IntegerCaloSamples > SumMap
void addDigis(const T &collection, const Args &... digis)
void addUpgradeFG(const HcalTrigTowerDetId &id, int depth, const std::vector< std::bitset< 2 >> &bits)
HcalFeatureBit * LongvrsShortCut
FGUpgradeTDCMap fgUpgradeTDCMap_
std::map< HcalTrigTowerDetId, std::map< uint32_t, std::array< HFUpgradeDetails, 4 > > > HFUpgradeDetailMap
const HcaluLUTTPGCoder * incoder_
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)
static const int QIE8_LINEARIZATION_ET
HFDetailMap theHFDetailMap
IntegerCaloSamples samples
bool passTDC(const QIE10DataFrame &digi, int ts) const
bool validChannel(const QIE10DataFrame &digi, int ts) const
void setRCTScaleShift(int)
int numberOfFilterPresamplesHEQIE11_
edm::ParameterSet override_parameters_
FGUpgradeMap fgUpgradeMap_
void addSignal(const HBHEDataFrame &frame)
adds the signal to the map
std::map< HcalTrigTowerDetId, std::map< uint32_t, HFDetails > > HFDetailMap
void setUpgradeFlags(bool hb, bool he, bool hf)
void addDigis(const HcalDataFrameContainer< D > &collection)
std::vector< bool > passTDC
void overrideParameters(const edm::ParameterSet &ps)
void setWeightsQIE11(const edm::ParameterSet &weightsQIE11)
~HcalTriggerPrimitiveAlgo()
void setPeakFinderAlgorithm(int algo)
void setFixSaturationFlag(bool fix_saturation)
int numberOfFilterPresamplesHBQIE11_
std::vector< bool > validity