1 #ifndef HcalSimAlgos_HcalTriggerPrimitiveAlgo_h 2 #define HcalSimAlgos_HcalTriggerPrimitiveAlgo_h 31 uint32_t minSignalThreshold=0, uint32_t PMT_NoiseThreshold=0);
34 template<
typename... Digis>
41 const Digis&... digis);
43 template<
typename T,
typename... Args>
51 for (
const auto& digi: collection) {
58 for (
auto i = collection.
begin();
i != collection.
end(); ++
i) {
101 const int HF_LUMI_SHIFT,
108 const int HF_LUMI_SHIFT,
145 typedef std::map<HcalTrigTowerDetId, IntegerCaloSamples>
SumMap;
154 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, HFDetails>>
HFDetailMap;
164 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, std::array<HFUpgradeDetails, 4>>>
HFUpgradeDetailMap;
184 typedef std::map<HcalTrigTowerDetId, std::vector<bool> >
FGbitMap;
218 template<
typename... Digis>
225 const Digis&... digis) {
257 if (detId.version() == 0) {
259 }
else if (detId.version() == 1) {
T getParameter(std::string const &) const
void analyze(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result)
adds the actual digis
void runFEFormatError(const FEDRawDataCollection *rawraw, const HcalElectronicsMap *emap, HcalTrigPrimDigiCollection &result)
std::map< uint32_t, std::vector< bool > > TowerMapVeto
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 numberOfSamplesHF, int numberOfPresamplesHF, bool useTDCInMinBiasBits, uint32_t minSignalThreshold=0, uint32_t PMT_NoiseThreshold=0)
std::vector< uint32_t > FG_HF_thresholds_
HFUpgradeDetailMap theHFUpgradeDetailMap
bool passTDC(const QIE10DataFrame &digi, int ts) const
void analyzeHF(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const int hf_lumi_shift)
bool useTDCInMinBiasBits_
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
int peak_finder_algorithm_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
void analyzeHFQIE10(const IntegerCaloSamples &SAMPLES, HcalTriggerPrimitiveDigi &result, const int HF_LUMI_SHIFT, const HcalFeatureBit *HCALFEM)
static const int LAST_FINEGRAIN_TOWER
bool exists(std::string const ¶meterName) const
checks if a parameter exists
static const int QIE10_LINEARIZATION_ET
void push_back(T const &t)
const HcalTPGCompressor * outcoder_
static const int LAST_FINEGRAIN_DEPTH
std::map< HcalTrigTowerDetId, FGUpgradeContainer > FGUpgradeMap
void addFG(const HcalTrigTowerDetId &id, std::vector< bool > &msb)
void analyzeQIE11(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const HcalFinegrainBit &fg_algo)
const_iterator begin() const
static const int QIE8_LUT_BITMASK
bool needLegacyFG(const HcalTrigTowerDetId &id) const
IntegerCaloSamples long_fiber
static const int HBHE_OVERLAP_TOWER
TowerMapFGSum theTowerMapFGSum
std::vector< std::bitset< 2 > > fgbits
bool validChannel(const QIE10DataFrame &digi, int ts) const
uint32_t minSignalThreshold_
static const int FIRST_FINEGRAIN_TOWER
std::vector< IntegerCaloSamples > SumFGContainer
const HcalTrigTowerGeometry * theTrigTowerGeometry
const HcalDbService * conditions_
static const int QIE11_LINEARIZATION_ET
void run(const HcalTPGCoder *incoder, const HcalTPGCompressor *outcoder, const HcalDbService *conditions, HcalTrigPrimDigiCollection &result, const HcalTrigTowerGeometry *trigTowerGeometry, float rctlsb, const HcalFeatureBit *LongvrsShortCut, const Digis &...digis)
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
int getFGVersionHBHE() const
get FineGrain Algorithm Version for HBHE
std::vector< double > weights_
int numberOfPresamplesHF_
IntegerCaloSamples short_fiber
void runZS(HcalTrigPrimDigiCollection &tp)
static const int QIE10_LUT_BITMASK
std::map< HcalTrigTowerDetId, std::vector< bool > > FGbitMap
std::vector< HcalFinegrainBit::Tower > FGUpgradeContainer
void setNCTScaleShift(int)
void addDigis(const T &collection, const Args &...digis)
void addDigis(const T &collection)
DecomposeProduct< arg, typename Div::arg > D
uint32_t override_adc_hf_value_
std::map< HcalTrigTowerDetId, SumFGContainer > TowerMapFGSum
uint32_t PMT_NoiseThreshold_
unsigned long long override_tdc_hf_value_
bool validUpgradeFG(const HcalTrigTowerDetId &id, int depth) const
static const int QIE11_MAX_LINEARIZATION_ET
std::map< HcalTrigTowerDetId, IntegerCaloSamples > SumMap
const HcalTPParameters * getHcalTPParameters() const
ZS_threshold
thresholds for setting fine grain bit
void addUpgradeFG(const HcalTrigTowerDetId &id, int depth, const std::vector< std::bitset< 2 >> &bits)
const_iterator end() const
HcalFeatureBit * LongvrsShortCut
std::map< HcalTrigTowerDetId, std::map< uint32_t, std::array< HFUpgradeDetails, 4 > > > HFUpgradeDetailMap
const HcaluLUTTPGCoder * incoder_
static const int QIE8_LINEARIZATION_ET
HFDetailMap theHFDetailMap
IntegerCaloSamples samples
void setRCTScaleShift(int)
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)
~HcalTriggerPrimitiveAlgo()
void setPeakFinderAlgorithm(int algo)
const_reference back() const
std::vector< bool > validity
int firstHFTower(int version) const