Go to the documentation of this file. 1 #ifndef HcalSimAlgos_HcalTriggerPrimitiveAlgo_h
2 #define HcalSimAlgos_HcalTriggerPrimitiveAlgo_h
28 const std::vector<double>&
w,
38 uint32_t minSignalThreshold = 0,
39 uint32_t PMT_NoiseThreshold = 0);
42 template <
typename... Digis>
50 const Digis&... digis);
52 template <
typename T,
typename... Args>
109 const int HF_LUMI_SHIFT,
114 const int HF_LUMI_SHIFT,
150 typedef std::map<HcalTrigTowerDetId, IntegerCaloSamples>
SumMap;
159 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, HFDetails>>
HFDetailMap;
169 typedef std::map<HcalTrigTowerDetId, std::map<uint32_t, std::array<HFUpgradeDetails, 4>>>
HFUpgradeDetailMap;
189 typedef std::map<HcalTrigTowerDetId, std::vector<bool>>
FGbitMap;
224 template <
typename... Digis>
232 const Digis&... digis) {
235 incoder_ = dynamic_cast<const HcaluLUTTPGCoder*>(incoder);
264 if (detId.version() == 0) {
266 }
else if (detId.version() == 1) {
void addFG(const HcalTrigTowerDetId &id, std::vector< bool > &msb)
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 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_
static const int QIE11_MAX_LINEARIZATION_ET
IntegerCaloSamples long_fiber
void setRCTScaleShift(int)
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
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_
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 numberOfSamplesHF, int numberOfPresamplesHF, bool useTDCInMinBiasBits, uint32_t minSignalThreshold=0, uint32_t PMT_NoiseThreshold=0)
void analyzeHF(IntegerCaloSamples &samples, HcalTriggerPrimitiveDigi &result, const int hf_lumi_shift)
int firstHFTower(int version) const
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
IntegerCaloSamples samples
bool validChannel(const QIE10DataFrame &digi, int ts) const
static const int LAST_FINEGRAIN_DEPTH
T getParameter(std::string const &) const
int numberOfPresamplesHF_
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
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
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_