41 m_writeInternalData(ps.getParameter<bool>(
"writeInternalData")),
42 m_verbose(ps.getUntrackedParameter<bool>(
"verbose",
false)),
43 m_conditionsLabel(ps.getParameter<std::
string>(
"conditionsLabel"))
47 produces<L1GctEmCandCollection>(
"isoEm");
48 produces<L1GctEmCandCollection>(
"nonIsoEm");
49 produces<L1GctJetCandCollection>(
"cenJets");
50 produces<L1GctJetCandCollection>(
"forJets");
51 produces<L1GctJetCandCollection>(
"tauJets");
52 produces<L1GctInternJetDataCollection>();
53 produces<L1GctEtTotalCollection>();
54 produces<L1GctEtHadCollection>();
55 produces<L1GctEtMissCollection>();
56 produces<L1GctHtMissCollection>();
57 produces<L1GctInternEtSumCollection>();
58 produces<L1GctInternHtMissCollection>();
59 produces<L1GctHFBitCountsCollection>();
60 produces<L1GctHFRingEtSumsCollection>();
74 else if (jfTypeStr !=
"hardwareJetFinder") {
75 edm::LogWarning (
"L1GctEmulatorSetup") <<
"Unrecognised jetFinder option " << jfTypeStr
76 <<
"\nHardware jetFinder will be used";
82 edm::LogWarning (
"L1GctEmulatorSetup") <<
"Emulator has been configured in hardware test mode with mask " << mask
83 <<
"\nThis mode should NOT be used for Physics studies!";
93 nextLut->setEtaBin(ieta);
99 bool useImprovedTauAlgo = ps.
getParameter<
bool>(
"useImprovedTauAlgorithm");
100 bool ignoreTauVetoBitsForIsolation = ps.
getParameter<
bool>(
"ignoreRCTTauVetoBitsForIsolation");
133 edm::LogWarning(
"L1GctConfigFailure") <<
"Cannot find EventSetup information." << std::endl;
155 <<
"Failed to find a L1GctJetFinderParamsRcd:L1GctJetFinderParams in EventSetup!" << std::endl;
163 <<
"Failed to find a L1GctChannelMaskRcd:L1GctChannelMask in EventSetup!" << std::endl;
167 if (hfRingEtScale.
product() == 0) {
171 <<
"Failed to find a L1HfRingEtScaleRcd:L1HfRingEtScaleRcd in EventSetup!" << std::endl;
194 <<
"Configuration failed - GCT emulator will not be run" << std::endl;
239 <<
"Failed to get em candidates with label " <<
m_inputLabel <<
" - GCT emulator will not be run" << std::endl;
244 <<
"Failed to get calo regions with label " <<
m_inputLabel <<
" - GCT emulator will not be run" << std::endl;
251 <<
"isValid() flag set to false for em candidates with label " <<
m_inputLabel <<
" - GCT emulator will not be run" << std::endl;
255 if (gotRgn && !rgn.
isValid()) {
259 <<
"isValid() flag set to false for calo regions with label " <<
m_inputLabel <<
" - GCT emulator will not be run" << std::endl;
264 if (gotEm && gotRgn) {
302 e.
put(isoEmResult,
"isoEm");
303 e.
put(nonIsoEmResult,
"nonIsoEm");
304 e.
put(cenJetResult,
"cenJets");
305 e.
put(forJetResult,
"forJets");
306 e.
put(tauJetResult,
"tauJets");
311 e.
put(hfBitCountResult);
312 e.
put(hfRingEtSumResult);
314 e.
put(internalJetResult);
315 e.
put(internalEtSumResult);
316 e.
put(internalHtMissResult);
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
L1GctHFRingEtSumsCollection getHFRingEtSumsCollection() const
void fillEmCands(const std::vector< L1CaloEmCand > &rgn)
set electrons from the RCT at the input to be processed
L1GctJetCandCollection getTauJets() const
tau jet outputs to GT
void setupTauAlgo(const bool useImprovedAlgo, const bool ignoreVetoBitsForIsolation)
setup the tau algorithm parameters
L1GctHFBitCountsCollection getHFBitCountsCollection() const
std::vector< L1GctEtMiss > L1GctEtMissCollection
std::vector< L1GctHFRingEtSums > L1GctHFRingEtSumsCollection
#define DEFINE_FWK_MODULE(type)
void setJetFinderParams(const L1GctJetFinderParams *const jfpars)
std::vector< L1GctEtHad > L1GctEtHadCollection
std::vector< L1GctInternHtMiss > L1GctInternHtMissCollection
L1GlobalCaloTrigger::lutPtr lutPtr
typedefs
L1GctJetCandCollection getForwardJets() const
forward jet outputs to GT
L1GctEmCandCollection getNonIsoElectrons() const
non-iso electron outputs to GT
L1GctHtMissCollection getHtMissCollection() const
Htmiss output to GT.
Bit-level emulation of the Global Calorimeter Trigger.
L1GctEtTotalCollection getEtSumCollection() const
Total Et output to GT.
std::vector< L1GctEtTotal > L1GctEtTotalCollection
L1GlobalCaloTrigger * m_gct
std::vector< L1GctHFBitCounts > L1GctHFBitCountsCollection
std::vector< L1GctJetCand > L1GctJetCandCollection
void setHtMissScale(const L1CaloEtScale *const scale)
setup scale for missing Ht
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
L1GctInternHtMissCollection getInternalHtMiss() const
std::string m_conditionsLabel
void fillRegions(const std::vector< L1CaloRegion > &rgn)
L1GctEtHadCollection getEtHadCollection() const
Total hadronic Et output to GT.
void setupHfSumLuts(const L1CaloEtScale *const scale)
setup Hf sum LUTs
void setBxRange(const int firstBx, const int lastBx)
L1GctJetCandCollection getCentralJets() const
central jet outputs to GT
L1GctInternJetDataCollection getInternalJets() const
all jets from jetfinders in raw format
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
void reset()
Reset internal buffers.
void setChannelMask(const L1GctChannelMask *const mask)
setup the input channel mask
L1GctEmCandCollection getIsoElectrons() const
std::vector< L1GctHtMiss > L1GctHtMissCollection
void setJetEtCalibrationLuts(const lutPtrVector &jfluts)
setup the Jet Calibration Luts
lutPtrVector m_jetEtCalibLuts
T const * product() const
std::vector< L1GctInternJetData > L1GctInternJetDataCollection
std::vector< L1GctInternEtSum > L1GctInternEtSumCollection
volatile std::atomic< bool > shutdown_flag false
int configureGct(const edm::EventSetup &c)
L1GctEmulator(const edm::ParameterSet &ps)
constructor
~L1GctEmulator()
destructor
L1GctEtMissCollection getEtMissCollection() const
Etmiss output to GT.
void process()
process an event
void produce(edm::Event &e, const edm::EventSetup &c)
std::vector< L1GctEmCand > L1GctEmCandCollection
L1GctInternEtSumCollection getInternalEtSums() const
Et sums and components in internal format.