|
|
#include <L1RCTProducer.h>
|
edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > | beginLumiChannelMaskToken_ |
|
edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > | beginLumiHotChannelMaskToken_ |
|
edm::ESGetToken< RunInfo, RunInfoRcd > | beginLumiRunInfoToken_ |
|
const edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > | beginRunChannelMaskToken_ |
|
const edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > | beginRunHotChannelMaskToken_ |
|
const edm::ESGetToken< RunInfo, RunInfoRcd > | beginRunRunInfoToken_ |
|
std::vector< int > | bunchCrossings |
|
std::string | conditionsLabel |
|
std::vector< edm::InputTag > | ecalDigis |
|
const edm::ESGetToken< L1CaloEcalScale, L1CaloEcalScaleRcd > | ecalScaleToken_ |
|
const edm::ESGetToken< L1CaloEtScale, L1EmEtScaleRcd > | emScaleToken_ |
|
std::unique_ptr< L1RCTChannelMask > | fedUpdatedMask |
|
bool | getFedsFromOmds |
|
std::vector< edm::InputTag > | hcalDigis |
|
const edm::ESGetToken< L1CaloHcalScale, L1CaloHcalScaleRcd > | hcalScaleToken_ |
|
edm::ESGetToken< RunInfo, RunInfoRcd > | omdsRunInfoToken_ |
|
unsigned int | queryDelayInLS |
|
unsigned int | queryIntervalInLS |
|
std::unique_ptr< L1RCT > | rct |
|
std::unique_ptr< L1RCTLookupTables > | rctLookupTables |
|
const edm::ESGetToken< L1RCTParameters, L1RCTParametersRcd > | rctParamsToken_ |
|
bool | useEcal |
|
bool | useHcal |
|
Definition at line 45 of file L1RCTProducer.h.
◆ crateSection
Enumerator |
---|
c_min | |
ebOddFed | |
ebEvenFed | |
eeFed | |
hbheFed | |
hfFed | |
hfFedUp | |
c_max | |
Definition at line 99 of file L1RCTProducer.h.
◆ L1RCTProducer()
Definition at line 34 of file L1RCTProducer.cc.
37 useEcal(conf.getParameter<
bool>(
"useEcal")),
38 useHcal(conf.getParameter<
bool>(
"useHcal")),
39 ecalDigis(conf.getParameter<std::vector<edm::InputTag>>(
"ecalDigis")),
40 hcalDigis(conf.getParameter<std::vector<edm::InputTag>>(
"hcalDigis")),
41 bunchCrossings(conf.getParameter<std::vector<int>>(
"BunchCrossings")),
57 produces<L1CaloEmCollection>();
58 produces<L1CaloRegionCollection>();
67 for (
unsigned int ihc = 0; ihc <
hcalDigis.size(); ihc++) {
68 consumes<edm::SortedCollection<HcalTriggerPrimitiveDigi, edm::StrictWeakOrdering<HcalTriggerPrimitiveDigi>>>(
72 for (
unsigned int iec = 0; iec <
ecalDigis.size(); iec++) {
73 consumes<edm::SortedCollection<EcalTriggerPrimitiveDigi, edm::StrictWeakOrdering<EcalTriggerPrimitiveDigi>>>(
References beginLumiChannelMaskToken_, beginLumiHotChannelMaskToken_, beginLumiRunInfoToken_, ecalDigis, getFedsFromOmds, hcalDigis, and omdsRunInfoToken_.
◆ beginLuminosityBlock()
◆ beginRun()
◆ getFedVectorFromOmds()
const std::vector< int > L1RCTProducer::getFedVectorFromOmds |
( |
const edm::EventSetup & |
eventSetup | ) |
const |
|
private |
◆ getFedVectorFromRunInfo()
◆ printFedVector()
void L1RCTProducer::printFedVector |
( |
const std::vector< int > & |
fedVector | ) |
|
|
private |
◆ printUpdatedFedMask()
void L1RCTProducer::printUpdatedFedMask |
( |
| ) |
|
|
private |
◆ printUpdatedFedMaskVerbose()
void L1RCTProducer::printUpdatedFedMaskVerbose |
( |
| ) |
|
|
private |
◆ produce()
Definition at line 315 of file L1RCTProducer.cc.
320 throw cms::Exception(
"BadInput") <<
"From what I see the number of your your ECAL input digi "
322 <<
"is different from the size of your HCAL digi input collections\n"
323 <<
"or the size of your BX factor collection"
324 <<
"They must be the same to correspond to the same Bxs\n"
325 <<
"It does not matter if one of them is empty\n";
341 rct->digiInput(ecalIn, hcalIn);
345 for (
int j = 0;
j < 18;
j++) {
348 for (
int i = 0;
i < 4;
i++) {
351 rctEmCands->push_back(isolatedEGObjects.at(
i));
352 rctEmCands->push_back(nonisolatedEGObjects.at(
i));
356 for (
int i = 0;
i < 18;
i++) {
357 std::vector<L1CaloRegion>
regions =
rct->getRegions(
i);
358 for (
int j = 0;
j < 22;
j++) {
360 rctRegions->push_back(
regions.at(
j));
References bunchCrossings, bsc_activity_cfg::ecal, ecalDigis, Exception, hltEgammaHLTExtra_cfi::hcal, hcalDigis, mps_fire::i, dqmiolumiharvest::j, eostools::move(), rct, simplePhotonAnalyzer_cfi::sample, useEcal, and useHcal.
◆ updateConfiguration()
void L1RCTProducer::updateConfiguration |
( |
const edm::EventSetup & |
eventSetup | ) |
|
|
private |
◆ updateFedVector()
Definition at line 150 of file L1RCTProducer.cc.
163 for (
int i = 0;
i < 18;
i++) {
164 for (
int j = 0;
j < 2;
j++) {
165 for (
int k = 0;
k < 28;
k++) {
169 for (
int k = 0;
k < 4;
k++) {
184 bool useUpgradedHF =
false;
186 std::vector<int> caloFeds;
189 for (std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf) {
191 if ((fedNum > 600 && fedNum < 724) || fedNum == 1118 || fedNum == 1120 || fedNum == 1122)
192 caloFeds.push_back(fedNum);
194 if (fedNum == 1118 || fedNum == 1120 || fedNum == 1122)
195 useUpgradedHF =
true;
198 for (
int cr = 0; cr < 18; ++cr) {
200 bool fedFound =
false;
203 std::vector<int>::iterator fv =
std::find(caloFeds.begin(), caloFeds.end(), crateFED[cr][
cs]);
204 if (fv != caloFeds.end())
210 bool phi_even[2] = {
false};
273 for (
int even = 0; even <= 1; even++) {
274 if (phi_even[even]) {
282 for (
int even = 0; even <= 1; even++)
References c_max, c_min, fwrapper::cs, ebEvenFed, ebOddFed, L1RCTChannelMask::ecalMask, eeFed, egammaIdentification::eta_max, egammaIdentification::eta_min, fedUpdatedMask, spr::find(), hbheFed, L1RCTChannelMask::hcalMask, hfFed, hfFedUp, L1RCTChannelMask::hfMask, mps_fire::i, LEDCalibrationChannels::ieta, dqmiolumiharvest::j, dqmdumpme::k, maxBarrel, maxEndcap, maxHF, minBarrel, minEndcap, minHF, and rctLookupTables.
Referenced by beginLuminosityBlock(), and beginRun().
◆ beginLumiChannelMaskToken_
◆ beginLumiHotChannelMaskToken_
◆ beginLumiRunInfoToken_
◆ beginRunChannelMaskToken_
◆ beginRunHotChannelMaskToken_
◆ beginRunRunInfoToken_
◆ bunchCrossings
std::vector<int> L1RCTProducer::bunchCrossings |
|
private |
◆ conditionsLabel
std::string L1RCTProducer::conditionsLabel |
|
private |
◆ ecalDigis
◆ ecalScaleToken_
◆ emScaleToken_
◆ fedUpdatedMask
◆ getFedsFromOmds
bool L1RCTProducer::getFedsFromOmds |
|
private |
◆ hcalDigis
◆ hcalScaleToken_
◆ maxBarrel
constexpr int L1RCTProducer::maxBarrel = 17 |
|
staticconstexprprivate |
◆ maxEndcap
constexpr int L1RCTProducer::maxEndcap = 28 |
|
staticconstexprprivate |
◆ maxHF
constexpr int L1RCTProducer::maxHF = 32 |
|
staticconstexprprivate |
◆ minBarrel
constexpr int L1RCTProducer::minBarrel = 1 |
|
staticconstexprprivate |
◆ minEndcap
constexpr int L1RCTProducer::minEndcap = 17 |
|
staticconstexprprivate |
◆ minHF
constexpr int L1RCTProducer::minHF = 29 |
|
staticconstexprprivate |
◆ omdsRunInfoToken_
◆ queryDelayInLS
unsigned int L1RCTProducer::queryDelayInLS |
|
private |
◆ queryIntervalInLS
unsigned int L1RCTProducer::queryIntervalInLS |
|
private |
◆ rct
std::unique_ptr<L1RCT> L1RCTProducer::rct |
|
private |
◆ rctLookupTables
◆ rctParamsToken_
◆ useEcal
bool L1RCTProducer::useEcal |
|
private |
◆ useHcal
bool L1RCTProducer::useHcal |
|
private |
unique_ptr< ClusterSequence > cs
static constexpr int minBarrel
static constexpr int maxHF
std::vector< int > m_fed_in
unsigned int queryIntervalInLS
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
const edm::ESGetToken< L1RCTParameters, L1RCTParametersRcd > rctParamsToken_
edm::ESGetToken< RunInfo, RunInfoRcd > omdsRunInfoToken_
edm::ESGetToken< RunInfo, RunInfoRcd > beginLumiRunInfoToken_
std::vector< L1CaloEmCand > L1CaloEmCollection
const edm::ESGetToken< L1CaloEtScale, L1EmEtScaleRcd > emScaleToken_
const edm::ESGetToken< RunInfo, RunInfoRcd > beginRunRunInfoToken_
const edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > beginRunHotChannelMaskToken_
edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > beginLumiChannelMaskToken_
static constexpr int minHF
static constexpr int maxEndcap
const std::vector< int > getFedVectorFromOmds(const edm::EventSetup &) const
std::unique_ptr< L1RCT > rct
const edm::ESGetToken< L1CaloEcalScale, L1CaloEcalScaleRcd > ecalScaleToken_
const edm::ESGetToken< L1CaloHcalScale, L1CaloHcalScaleRcd > hcalScaleToken_
const edm::ESGetToken< L1RCTChannelMask, L1RCTChannelMaskRcd > beginRunChannelMaskToken_
void updateFedVector(const L1RCTChannelMask &, const L1RCTNoisyChannelMask &, const std::vector< int > &Feds)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::vector< edm::InputTag > hcalDigis
const std::vector< int > getFedVectorFromRunInfo(const edm::ESGetToken< RunInfo, RunInfoRcd > &, const edm::EventSetup &) const
edm::ESGetToken< L1RCTNoisyChannelMask, L1RCTNoisyChannelMaskRcd > beginLumiHotChannelMaskToken_
bool getData(T &iHolder) const
std::vector< int > bunchCrossings
unsigned int queryDelayInLS
static constexpr int minEndcap
std::vector< L1CaloRegion > L1CaloRegionCollection
std::unique_ptr< L1RCTChannelMask > fedUpdatedMask
std::string conditionsLabel
void updateConfiguration(const edm::EventSetup &)
static constexpr int maxBarrel
std::vector< edm::InputTag > ecalDigis
std::unique_ptr< L1RCTLookupTables > rctLookupTables