CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
L1GctEmulator Class Reference

#include <src/L1Trigger/GlobalCaloTrigger/src/L1GctEmulator.h>

Inheritance diagram for L1GctEmulator:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef L1GlobalCaloTrigger::lutPtr lutPtr
 typedefs More...
 
typedef L1GlobalCaloTrigger::lutPtrVector lutPtrVector
 
- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 L1GctEmulator (const edm::ParameterSet &ps)
 constructor More...
 
 ~L1GctEmulator () override
 destructor More...
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void beginJob () override
 
int configureGct (const edm::EventSetup &c)
 
void endJob () override
 
void produce (edm::Event &e, const edm::EventSetup &c) override
 

Private Attributes

std::string m_conditionsLabel
 
L1GlobalCaloTriggerm_gct
 
std::string m_inputLabel
 
lutPtrVector m_jetEtCalibLuts
 
bool m_verbose
 
bool m_writeInternalData
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: Framework module that runs the GCT bit-level emulator

Implementation: An EDProducer that contains an instance of L1GlobalCaloTrigger.

Definition at line 27 of file L1GctEmulator.h.

Member Typedef Documentation

typedefs

Definition at line 30 of file L1GctEmulator.h.

Definition at line 31 of file L1GctEmulator.h.

Constructor & Destructor Documentation

L1GctEmulator::L1GctEmulator ( const edm::ParameterSet ps)
explicit

constructor

Definition at line 39 of file L1GctEmulator.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), L1GctJetLeafCard::hardwareJetFinder, LEDCalibrationChannels::ieta, SimL1EmulatorRepack_Full_cff::inputTag, m_gct, m_inputLabel, m_jetEtCalibLuts, m_verbose, L1GctJetFinderParams::NUMBER_ETA_VALUES, L1GlobalCaloTrigger::print(), L1GlobalCaloTrigger::setBxRange(), L1GlobalCaloTrigger::setupTauAlgo(), AlCaHLTBitMon_QueryRunRegistry::string, and L1GctJetLeafCard::tdrJetFinder.

40  : m_jetEtCalibLuts(),
41  m_writeInternalData(ps.getParameter<bool>("writeInternalData")),
42  m_verbose(ps.getUntrackedParameter<bool>("verbose", false)),
43  m_conditionsLabel(ps.getParameter<std::string>("conditionsLabel")) {
44  // list of products
45  produces<L1GctEmCandCollection>("isoEm");
46  produces<L1GctEmCandCollection>("nonIsoEm");
47  produces<L1GctJetCandCollection>("cenJets");
48  produces<L1GctJetCandCollection>("forJets");
49  produces<L1GctJetCandCollection>("tauJets");
50  produces<L1GctInternJetDataCollection>();
51  produces<L1GctEtTotalCollection>();
52  produces<L1GctEtHadCollection>();
53  produces<L1GctEtMissCollection>();
54  produces<L1GctHtMissCollection>();
55  produces<L1GctInternEtSumCollection>();
56  produces<L1GctInternHtMissCollection>();
57  produces<L1GctHFBitCountsCollection>();
58  produces<L1GctHFRingEtSumsCollection>();
59 
60  // get the input label
62  m_inputLabel = inputTag.label();
63 
64  // Get the number of bunch crossings to be processed
65  int firstBx = -ps.getParameter<unsigned>("preSamples");
66  int lastBx = ps.getParameter<unsigned>("postSamples");
67 
68  // instantiate the GCT. Argument selects the type of jetFinder to be used.
70  std::string jfTypeStr = ps.getParameter<std::string>("jetFinderType");
71  if (jfTypeStr == "tdrJetFinder") {
73  } else if (jfTypeStr != "hardwareJetFinder") {
74  edm::LogWarning("L1GctEmulatorSetup")
75  << "Unrecognised jetFinder option " << jfTypeStr << "\nHardware jetFinder will be used";
76  }
77  bool hwTest = ps.getParameter<bool>("hardwareTest");
78  if (hwTest) {
79  unsigned mask = ps.getUntrackedParameter<unsigned>("jetLeafMask", 0);
80  m_gct = new L1GlobalCaloTrigger(jfType, mask);
81  edm::LogWarning("L1GctEmulatorSetup") << "Emulator has been configured in hardware test mode with mask " << mask
82  << "\nThis mode should NOT be used for Physics studies!";
83  } else {
84  m_gct = new L1GlobalCaloTrigger(jfType);
85  }
86  m_gct->setBxRange(firstBx, lastBx);
87 
88  // Fill the jetEtCalibLuts vector
89  lutPtr nextLut(new L1GctJetEtCalibrationLut());
90 
91  for (unsigned ieta = 0; ieta < L1GctJetFinderParams::NUMBER_ETA_VALUES; ieta++) {
92  nextLut->setEtaBin(ieta);
93  m_jetEtCalibLuts.push_back(nextLut);
94  nextLut.reset(new L1GctJetEtCalibrationLut());
95  }
96 
97  // Setup the tau algorithm parameters
98  bool useImprovedTauAlgo = ps.getParameter<bool>("useImprovedTauAlgorithm");
99  bool ignoreTauVetoBitsForIsolation = ps.getParameter<bool>("ignoreRCTTauVetoBitsForIsolation");
100  m_gct->setupTauAlgo(useImprovedTauAlgo, ignoreTauVetoBitsForIsolation);
101 
102  // set verbosity (not implemented yet!)
103  // m_gct->setVerbose(m_verbose);
104 
105  // print debug info?
106  if (m_verbose) {
107  m_gct->print();
108  }
109  consumes<L1CaloEmCollection>(m_inputLabel);
110  consumes<L1CaloRegionCollection>(m_inputLabel);
111 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void setupTauAlgo(const bool useImprovedAlgo, const bool ignoreVetoBitsForIsolation)
setup the tau algorithm parameters
Jet Et calibration LUT.
L1GlobalCaloTrigger::lutPtr lutPtr
typedefs
Definition: L1GctEmulator.h:30
Bit-level emulation of the Global Calorimeter Trigger.
L1GlobalCaloTrigger * m_gct
Definition: L1GctEmulator.h:50
std::string m_conditionsLabel
Definition: L1GctEmulator.h:62
void setBxRange(const int firstBx, const int lastBx)
static const unsigned NUMBER_ETA_VALUES
Number of eta bins used in correction.
bool m_writeInternalData
Definition: L1GctEmulator.h:56
lutPtrVector m_jetEtCalibLuts
Definition: L1GctEmulator.h:53
std::string m_inputLabel
Definition: L1GctEmulator.h:47
L1GctEmulator::~L1GctEmulator ( )
override

destructor

Definition at line 113 of file L1GctEmulator.cc.

References m_gct.

113  {
114  if (m_gct != nullptr)
115  delete m_gct;
116 }
L1GlobalCaloTrigger * m_gct
Definition: L1GctEmulator.h:50

Member Function Documentation

void L1GctEmulator::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 118 of file L1GctEmulator.cc.

118 {}
int L1GctEmulator::configureGct ( const edm::EventSetup c)
private

Definition at line 122 of file L1GctEmulator.cc.

References photonValidator_cfi::etScale, edm::EventSetup::get(), LEDCalibrationChannels::ieta, m_conditionsLabel, m_gct, m_jetEtCalibLuts, m_verbose, edm::ESHandle< T >::product(), L1GlobalCaloTrigger::setChannelMask(), L1GlobalCaloTrigger::setHtMissScale(), L1GlobalCaloTrigger::setJetEtCalibrationLuts(), L1GlobalCaloTrigger::setJetFinderParams(), L1GlobalCaloTrigger::setupHfSumLuts(), and summarizeEdmComparisonLogfiles::success.

Referenced by produce().

122  {
123  int success = 0;
124 
125  if (success == 0) {
126  // get data from EventSetup
128  c.get<L1GctJetFinderParamsRcd>().get(m_conditionsLabel, jfPars); // which record?
130  c.get<L1GctChannelMaskRcd>().get(m_conditionsLabel, chanMask); // which record?
132  c.get<L1JetEtScaleRcd>().get(m_conditionsLabel, etScale); // which record?
133  edm::ESHandle<L1CaloEtScale> htMissScale;
134  c.get<L1HtMissScaleRcd>().get(m_conditionsLabel, htMissScale); // which record?
135  edm::ESHandle<L1CaloEtScale> hfRingEtScale;
136  c.get<L1HfRingEtScaleRcd>().get(m_conditionsLabel, hfRingEtScale); // which record?
137 
138  if (jfPars.product() == nullptr) {
139  success = -1;
140  if (m_verbose) {
141  edm::LogWarning("L1GctConfigFailure")
142  << "Failed to find a L1GctJetFinderParamsRcd:L1GctJetFinderParams in EventSetup!" << std::endl;
143  }
144  }
145 
146  if (chanMask.product() == nullptr) {
147  success = -1;
148  if (m_verbose) {
149  edm::LogWarning("L1GctConfigFailure")
150  << "Failed to find a L1GctChannelMaskRcd:L1GctChannelMask in EventSetup!" << std::endl;
151  }
152  }
153 
154  if (hfRingEtScale.product() == nullptr) {
155  success = -1;
156  if (m_verbose) {
157  edm::LogWarning("L1GctConfigFailure")
158  << "Failed to find a L1HfRingEtScaleRcd:L1HfRingEtScaleRcd in EventSetup!" << std::endl;
159  }
160  }
161 
162  if (success == 0) {
163  // tell the jet Et Luts about the scales
164  for (unsigned ieta = 0; ieta < m_jetEtCalibLuts.size(); ieta++) {
165  m_jetEtCalibLuts.at(ieta)->setFunction(jfPars.product());
166  m_jetEtCalibLuts.at(ieta)->setOutputEtScale(etScale.product());
167  }
168 
169  // pass all the setup info to the gct
171  m_gct->setJetFinderParams(jfPars.product());
172  m_gct->setHtMissScale(htMissScale.product());
173  m_gct->setupHfSumLuts(hfRingEtScale.product());
174  m_gct->setChannelMask(chanMask.product());
175  }
176  }
177 
178  if (success != 0 && m_verbose) {
179  edm::LogError("L1GctConfigError") << "Configuration failed - GCT emulator will not be run" << std::endl;
180  }
181  return success;
182 }
void setJetFinderParams(const L1GctJetFinderParams *const jfpars)
L1GlobalCaloTrigger * m_gct
Definition: L1GctEmulator.h:50
void setHtMissScale(const L1CaloEtScale *const scale)
setup scale for missing Ht
std::string m_conditionsLabel
Definition: L1GctEmulator.h:62
void setupHfSumLuts(const L1CaloEtScale *const scale)
setup Hf sum LUTs
void setChannelMask(const L1GctChannelMask *const mask)
setup the input channel mask
void setJetEtCalibrationLuts(const lutPtrVector &jfluts)
setup the Jet Calibration Luts
lutPtrVector m_jetEtCalibLuts
Definition: L1GctEmulator.h:53
T get() const
Definition: EventSetup.h:73
T const * product() const
Definition: ESHandle.h:86
void L1GctEmulator::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 120 of file L1GctEmulator.cc.

120 {}
void L1GctEmulator::produce ( edm::Event e,
const edm::EventSetup c 
)
overrideprivate

Definition at line 184 of file L1GctEmulator.cc.

References configureGct(), DEFINE_FWK_MODULE, L1GlobalCaloTrigger::fillEmCands(), L1GlobalCaloTrigger::fillRegions(), edm::Event::getByLabel(), L1GlobalCaloTrigger::getCentralJets(), L1GlobalCaloTrigger::getEtHadCollection(), L1GlobalCaloTrigger::getEtMissCollection(), L1GlobalCaloTrigger::getEtSumCollection(), L1GlobalCaloTrigger::getForwardJets(), L1GlobalCaloTrigger::getHFBitCountsCollection(), L1GlobalCaloTrigger::getHFRingEtSumsCollection(), L1GlobalCaloTrigger::getHtMissCollection(), L1GlobalCaloTrigger::getInternalEtSums(), L1GlobalCaloTrigger::getInternalHtMiss(), L1GlobalCaloTrigger::getInternalJets(), L1GlobalCaloTrigger::getIsoElectrons(), L1GlobalCaloTrigger::getNonIsoElectrons(), L1GlobalCaloTrigger::getTauJets(), edm::HandleBase::isValid(), m_gct, m_inputLabel, m_verbose, m_writeInternalData, eostools::move(), L1GlobalCaloTrigger::process(), edm::Event::put(), and L1GlobalCaloTrigger::reset().

184  {
185  // The emulator will always produce output collections, which get filled as long as
186  // the setup and input data are present. Start by making empty output collections.
187 
188  // create the em and jet collections
189  std::unique_ptr<L1GctEmCandCollection> isoEmResult(new L1GctEmCandCollection());
190  std::unique_ptr<L1GctEmCandCollection> nonIsoEmResult(new L1GctEmCandCollection());
191  std::unique_ptr<L1GctJetCandCollection> cenJetResult(new L1GctJetCandCollection());
192  std::unique_ptr<L1GctJetCandCollection> forJetResult(new L1GctJetCandCollection());
193  std::unique_ptr<L1GctJetCandCollection> tauJetResult(new L1GctJetCandCollection());
194 
195  // create the energy sum digis
196  std::unique_ptr<L1GctEtTotalCollection> etTotResult(new L1GctEtTotalCollection());
197  std::unique_ptr<L1GctEtHadCollection> etHadResult(new L1GctEtHadCollection());
198  std::unique_ptr<L1GctEtMissCollection> etMissResult(new L1GctEtMissCollection());
199  std::unique_ptr<L1GctHtMissCollection> htMissResult(new L1GctHtMissCollection());
200 
201  // create the Hf sums digis
202  std::unique_ptr<L1GctHFBitCountsCollection> hfBitCountResult(new L1GctHFBitCountsCollection());
203  std::unique_ptr<L1GctHFRingEtSumsCollection> hfRingEtSumResult(new L1GctHFRingEtSumsCollection());
204 
205  // create internal data collections
206  std::unique_ptr<L1GctInternJetDataCollection> internalJetResult(new L1GctInternJetDataCollection());
207  std::unique_ptr<L1GctInternEtSumCollection> internalEtSumResult(new L1GctInternEtSumCollection());
208  std::unique_ptr<L1GctInternHtMissCollection> internalHtMissResult(new L1GctInternHtMissCollection());
209 
210  // get config data from EventSetup.
211  // check this has been done successfully before proceeding
212  if (configureGct(c) == 0) {
213  // get the RCT data
216  bool gotEm = e.getByLabel(m_inputLabel, em);
217  bool gotRgn = e.getByLabel(m_inputLabel, rgn);
218 
219  // check the data
220  if (!gotEm && m_verbose) {
221  edm::LogError("L1GctInputFailedError") << "Failed to get em candidates with label " << m_inputLabel
222  << " - GCT emulator will not be run" << std::endl;
223  }
224 
225  if (!gotRgn && m_verbose) {
226  edm::LogError("L1GctInputFailedError")
227  << "Failed to get calo regions with label " << m_inputLabel << " - GCT emulator will not be run" << std::endl;
228  }
229 
230  if (gotEm && !em.isValid()) {
231  gotEm = false;
232  if (m_verbose) {
233  edm::LogError("L1GctInputFailedError") << "isValid() flag set to false for em candidates with label "
234  << m_inputLabel << " - GCT emulator will not be run" << std::endl;
235  }
236  }
237 
238  if (gotRgn && !rgn.isValid()) {
239  gotRgn = false;
240  if (m_verbose) {
241  edm::LogError("L1GctInputFailedError") << "isValid() flag set to false for calo regions with label "
242  << m_inputLabel << " - GCT emulator will not be run" << std::endl;
243  }
244  }
245 
246  // if all is ok, proceed with GCT processing
247  if (gotEm && gotRgn) {
248  // reset the GCT internal buffers
249  m_gct->reset();
250 
251  // fill the GCT source cards
252  m_gct->fillEmCands(*em);
253  m_gct->fillRegions(*rgn);
254 
255  // process the event
256  m_gct->process();
257 
258  // fill the em and jet collections
259  *isoEmResult = m_gct->getIsoElectrons();
260  *nonIsoEmResult = m_gct->getNonIsoElectrons();
261  *cenJetResult = m_gct->getCentralJets();
262  *forJetResult = m_gct->getForwardJets();
263  *tauJetResult = m_gct->getTauJets();
264 
265  // fill the energy sum digis
266  *etTotResult = m_gct->getEtSumCollection();
267  *etHadResult = m_gct->getEtHadCollection();
268  *etMissResult = m_gct->getEtMissCollection();
269  *htMissResult = m_gct->getHtMissCollection();
270 
271  // fill the Hf sums digis
272  *hfBitCountResult = m_gct->getHFBitCountsCollection();
273  *hfRingEtSumResult = m_gct->getHFRingEtSumsCollection();
274 
275  // fill internal data collections if required
276  if (m_writeInternalData) {
277  *internalJetResult = m_gct->getInternalJets();
278  *internalEtSumResult = m_gct->getInternalEtSums();
279  *internalHtMissResult = m_gct->getInternalHtMiss();
280  }
281  }
282  }
283 
284  // put the collections into the event
285  e.put(std::move(isoEmResult), "isoEm");
286  e.put(std::move(nonIsoEmResult), "nonIsoEm");
287  e.put(std::move(cenJetResult), "cenJets");
288  e.put(std::move(forJetResult), "forJets");
289  e.put(std::move(tauJetResult), "tauJets");
290  e.put(std::move(etTotResult));
291  e.put(std::move(etHadResult));
292  e.put(std::move(etMissResult));
293  e.put(std::move(htMissResult));
294  e.put(std::move(hfBitCountResult));
295  e.put(std::move(hfRingEtSumResult));
296 
297  e.put(std::move(internalJetResult));
298  e.put(std::move(internalEtSumResult));
299  e.put(std::move(internalHtMissResult));
300 }
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
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
L1GctHFBitCountsCollection getHFBitCountsCollection() const
std::vector< L1GctEtMiss > L1GctEtMissCollection
std::vector< L1GctHFRingEtSums > L1GctHFRingEtSumsCollection
std::vector< L1GctEtHad > L1GctEtHadCollection
std::vector< L1GctInternHtMiss > L1GctInternHtMissCollection
L1GctJetCandCollection getForwardJets() const
forward jet outputs to GT
L1GctEmCandCollection getNonIsoElectrons() const
non-iso electron outputs to GT
L1GctHtMissCollection getHtMissCollection() const
Htmiss output to GT.
L1GctEtTotalCollection getEtSumCollection() const
Total Et output to GT.
std::vector< L1GctEtTotal > L1GctEtTotalCollection
L1GlobalCaloTrigger * m_gct
Definition: L1GctEmulator.h:50
std::vector< L1GctHFBitCounts > L1GctHFBitCountsCollection
std::vector< L1GctJetCand > L1GctJetCandCollection
L1GctInternHtMissCollection getInternalHtMiss() const
void fillRegions(const std::vector< L1CaloRegion > &rgn)
L1GctEtHadCollection getEtHadCollection() const
Total hadronic Et output to GT.
L1GctJetCandCollection getCentralJets() const
central jet outputs to GT
bool isValid() const
Definition: HandleBase.h:70
L1GctInternJetDataCollection getInternalJets() const
all jets from jetfinders in raw format
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:488
void reset()
Reset internal buffers.
L1GctEmCandCollection getIsoElectrons() const
std::vector< L1GctHtMiss > L1GctHtMissCollection
bool m_writeInternalData
Definition: L1GctEmulator.h:56
std::vector< L1GctInternJetData > L1GctInternJetDataCollection
std::string m_inputLabel
Definition: L1GctEmulator.h:47
std::vector< L1GctInternEtSum > L1GctInternEtSumCollection
int configureGct(const edm::EventSetup &c)
L1GctEtMissCollection getEtMissCollection() const
Etmiss output to GT.
def move(src, dest)
Definition: eostools.py:511
void process()
process an event
std::vector< L1GctEmCand > L1GctEmCandCollection
L1GctInternEtSumCollection getInternalEtSums() const
Et sums and components in internal format.

Member Data Documentation

std::string L1GctEmulator::m_conditionsLabel
private

Definition at line 62 of file L1GctEmulator.h.

Referenced by configureGct().

L1GlobalCaloTrigger* L1GctEmulator::m_gct
private

Definition at line 50 of file L1GctEmulator.h.

Referenced by configureGct(), L1GctEmulator(), produce(), and ~L1GctEmulator().

std::string L1GctEmulator::m_inputLabel
private

Definition at line 47 of file L1GctEmulator.h.

Referenced by L1GctEmulator(), and produce().

lutPtrVector L1GctEmulator::m_jetEtCalibLuts
private

Definition at line 53 of file L1GctEmulator.h.

Referenced by configureGct(), and L1GctEmulator().

bool L1GctEmulator::m_verbose
private

Definition at line 59 of file L1GctEmulator.h.

Referenced by configureGct(), L1GctEmulator(), and produce().

bool L1GctEmulator::m_writeInternalData
private

Definition at line 56 of file L1GctEmulator.h.

Referenced by produce().