|
|
Go to the documentation of this file.
18 : theAlgo_(ps.getParameter<
bool>(
"peakFilter"),
19 ps.getParameter<
std::
vector<double> >(
"weights"),
20 ps.getParameter<
int>(
"latency"),
21 ps.getParameter<uint32_t>(
"FG_threshold"),
22 ps.getParameter<
std::
vector<uint32_t> >(
"FG_HF_thresholds"),
23 ps.getParameter<uint32_t>(
"ZS_threshold"),
24 ps.getParameter<
int>(
"numberOfSamples"),
25 ps.getParameter<
int>(
"numberOfPresamples"),
26 ps.getParameter<
int>(
"numberOfFilterPresamplesHBQIE11"),
27 ps.getParameter<
int>(
"numberOfFilterPresamplesHEQIE11"),
28 ps.getParameter<
int>(
"numberOfSamplesHF"),
29 ps.getParameter<
int>(
"numberOfPresamplesHF"),
30 ps.getParameter<
bool>(
"useTDCInMinBiasBits"),
31 ps.getParameter<uint32_t>(
"MinSignalThreshold"),
32 ps.getParameter<uint32_t>(
"PMTNoiseThreshold")),
35 inputTagFEDRaw_(ps.getParameter<
edm::
InputTag>(
"InputTagFEDRaw")),
36 runZS_(ps.getParameter<
bool>(
"RunZS")),
37 runFrontEndFormatError_(ps.getParameter<
bool>(
"FrontEndFormatError")) {
38 std::vector<bool> upgrades = {
40 upgrade_ = std::any_of(std::begin(upgrades),
std::end(upgrades), [](
bool a) {
return a; });
41 legacy_ = std::any_of(std::begin(upgrades),
std::end(upgrades), [](
bool a) {
return !
a; });
48 if (ps.
exists(
"parameters")) {
56 if (ps.
exists(
"LSConfig")) {
69 tok_hcalTopo_ = esConsumes<HcalTopology, HcalRecNumberingRecord, edm::Transition::BeginRun>();
87 produces<HcalTrigPrimDigiCollection>();
107 bool foundHB =
false;
108 bool foundHE =
false;
109 bool newHBtp =
false;
110 bool newHEtp =
false;
112 for (std::vector<HcalElectronicsId>::const_iterator eId = vIds.begin(); eId != vIds.end(); eId++) {
114 if (foundHB and foundHE)
118 if (hcalTTDetId.null())
121 int aieta =
abs(hcalTTDetId.ieta());
122 int tp_version = hcalTTDetId.version();
124 if (aieta <= lastHBRing) {
128 }
else if (aieta > lastHBRing and aieta < lastHERing) {
136 for (std::vector<HcalElectronicsId>::const_iterator eId = eIds.begin(); eId != eIds.end(); eId++) {
143 if (hcalDetId.null())
146 int aieta =
abs(hcalDetId.ieta());
150 if (aieta < lastHERing) {
152 int fixedPointWeight =
db->getHcalTPChannelParameter(hcalDetId)->getauxi1();
154 if (aieta <= lastHBRing) {
167 }
else if (aieta > lastHBRing) {
211 <<
"\nrequested in configuration, but not found in the event."
212 <<
"\nQuit returning empty product." << std::endl;
222 <<
"\nrequested in configuration, but not found in the event."
223 <<
"\nQuit returning empty product." << std::endl;
239 <<
"\nrequested in configuration, but not found in the event."
240 <<
"\nQuit returning empty product." << std::endl;
250 <<
"\nrequested in configuration, but not found in the event."
251 <<
"\nQuit returning empty product." << std::endl;
314 if (fedHandle.
isValid() && emap !=
nullptr) {
318 <<
"\nrequested in configuration, but not found in the event."
319 <<
"\nQuit returning empty product." << std::endl;
T const * product() const
HcalTriggerPrimitiveAlgo theAlgo_
T const * product() const
void overrideParameters(const edm::ParameterSet &ps)
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_hcalTopo_
edm::EDGetTokenT< QIE10DigiCollection > tok_hf_up_
void beginRun(const edm::Run &r, const edm::EventSetup &c) override
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 setUpgradeFlags(bool hb, bool he, bool hf)
void setWeightsQIE11(const edm::ParameterSet &weightsQIE11)
edm::EDGetTokenT< QIE11DigiCollection > tok_hbhe_up_
T getUntrackedParameter(std::string const &, T const &) const
void setNCTScaleShift(int)
Log< level::Info, false > LogInfo
void setNumFilterPresamplesHEQIE11(int presamples)
void setWeightQIE11(int aieta, double weight)
const HcalElectronicsMap * getHcalMapping() const
std::shared_ptr< const HcalTPGCompressor > getHcalCompressor() const
const DetId lookupTrigger(HcalElectronicsId fId) const
brief lookup the trigger logical detid associated with the given electronics id
void setRCTScaleShift(int)
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
std::vector< HcalElectronicsId > allElectronicsIdTrigger() const
void runZS(HcalTrigPrimDigiCollection &tp)
void setFixSaturationFlag(bool fix_saturation)
bool runFrontEndFormatError_
edm::InputTag inputTagFEDRaw_
input tag for FEDRawDataCollection
bool exists(std::string const ¶meterName) const
checks if a parameter exists
edm::ESGetToken< HcalDbService, HcalDbRecord > tok_dbService_
HcalTrigPrimDigiProducer(const edm::ParameterSet &ps)
edm::ParameterSet LongShortCut_
void setNumFilterPresamplesHBQIE11(int presamples)
edm::ESGetToken< HcalTrigTowerGeometry, CaloGeometryRecord > tok_trigTowerGeom_
std::vector< edm::InputTag > inputUpgradeLabel_
void produce(edm::Event &e, const edm::EventSetup &c) override
edm::ESGetToken< HcalDbService, HcalDbRecord > tok_dbService_beginRun_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
std::vector< edm::InputTag > inputLabel_
input tags for HCAL digis
bool getData(T &iHolder) const
edm::ESGetToken< CaloTPGTranscoder, CaloTPGRecord > tok_tpgTranscoder_
void setPeakFinderAlgorithm(int algo)
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
edm::ESGetToken< HcalTPGCoder, HcalTPGRecord > tok_tpgCoder_
edm::EDGetTokenT< HFDigiCollection > tok_hf_
edm::ESGetToken< HcalLutMetadata, HcalLutMetadataRcd > tok_lutMetadata_
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)
Abs< T >::type abs(const T &t)
bool overrideDBweightsAndFilterHB_
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
bool overrideDBweightsAndFilterHE_