CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
l1t::BXVectorInputProducer Class Reference
Inheritance diagram for l1t::BXVectorInputProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 BXVectorInputProducer (const ParameterSet &)
 
 ~BXVectorInputProducer () override
 
- 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- 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 ()
 

Private Member Functions

void beginJob () override
 
void beginRun (Run const &iR, EventSetup const &iE) override
 
int convertEtaToHW (double ieta, double minEta, double maxEta, int steps)
 
int convertPhiToHW (double iphi, int steps)
 
int convertPtToHW (double ipt, int maxPt, double step)
 
void endJob () override
 
void endRun (Run const &iR, EventSetup const &iE) override
 
void produce (Event &, EventSetup const &) override
 

Private Attributes

int bxFirst_
 
int bxLast_
 
int counter_
 
std::vector< l1t::EGammaegammaVec_bx0
 
std::vector< l1t::EGammaegammaVec_bxm1
 
std::vector< l1t::EGammaegammaVec_bxm2
 
std::vector< l1t::EGammaegammaVec_bxp1
 
double egEtThreshold_
 
edm::EDGetToken egToken
 
int emptyBxEvt_
 
int emptyBxTrailer_
 
edm::EDGetToken etsumToken
 
std::vector< l1t::EtSumetsumVec_bx0
 
std::vector< l1t::EtSumetsumVec_bxm1
 
std::vector< l1t::EtSumetsumVec_bxm2
 
std::vector< l1t::EtSumetsumVec_bxp1
 
int eventCnt_
 
double jetEtThreshold_
 
edm::EDGetToken jetToken
 
std::vector< l1t::JetjetVec_bx0
 
std::vector< l1t::JetjetVec_bxm1
 
std::vector< l1t::JetjetVec_bxm2
 
std::vector< l1t::JetjetVec_bxp1
 
unsigned long long m_paramsCacheId
 
unsigned int maxNumEGCands_
 
unsigned int maxNumJetCands_
 
unsigned int maxNumMuCands_
 
unsigned int maxNumTauCands_
 
double muEtThreshold_
 
std::vector< l1t::MuonmuonVec_bx0
 
std::vector< l1t::MuonmuonVec_bxm1
 
std::vector< l1t::MuonmuonVec_bxm2
 
std::vector< l1t::MuonmuonVec_bxp1
 
edm::EDGetToken muToken
 
double tauEtThreshold_
 
edm::EDGetToken tauToken
 
std::vector< l1t::TautauVec_bx0
 
std::vector< l1t::TautauVec_bxm1
 
std::vector< l1t::TautauVec_bxm2
 
std::vector< l1t::TautauVec_bxp1
 

Additional Inherited Members

- 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
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: Create Proper BX Vector Structure for full GT Test Vector Generation including out of time BX.

         The producer takes the CAL collections with BX=0 and shifts them, inserting them at BX = -2
         and ratcheting older BX information through BX = -1, 0, 1, 2.
Author
: B Winer OSU

Modeled after GenToInputProducer.cc

Definition at line 59 of file BXVectorInputProducer.cc.

Constructor & Destructor Documentation

◆ BXVectorInputProducer()

l1t::BXVectorInputProducer::BXVectorInputProducer ( const ParameterSet iConfig)
explicit

Definition at line 140 of file BXVectorInputProducer.cc.

140  {
141  egToken = consumes<BXVector<l1t::EGamma>>(iConfig.getParameter<InputTag>("egInputTag"));
142  muToken = consumes<BXVector<l1t::Muon>>(iConfig.getParameter<InputTag>("muInputTag"));
143  tauToken = consumes<BXVector<l1t::Tau>>(iConfig.getParameter<InputTag>("tauInputTag"));
144  jetToken = consumes<BXVector<l1t::Jet>>(iConfig.getParameter<InputTag>("jetInputTag"));
145  etsumToken = consumes<BXVector<l1t::EtSum>>(iConfig.getParameter<InputTag>("etsumInputTag"));
146 
147  // register what you produce
148  produces<BXVector<l1t::EGamma>>();
149  produces<BXVector<l1t::Muon>>();
150  produces<BXVector<l1t::Tau>>();
151  produces<BXVector<l1t::Jet>>();
152  produces<BXVector<l1t::EtSum>>();
153 
154  // Setup parameters
155  bxFirst_ = iConfig.getParameter<int>("bxFirst");
156  bxLast_ = iConfig.getParameter<int>("bxLast");
157 
158  maxNumMuCands_ = iConfig.getParameter<unsigned int>("maxMuCand");
159  maxNumJetCands_ = iConfig.getParameter<unsigned int>("maxJetCand");
160  maxNumEGCands_ = iConfig.getParameter<unsigned int>("maxEGCand");
161  maxNumTauCands_ = iConfig.getParameter<unsigned int>("maxTauCand");
162 
163  jetEtThreshold_ = iConfig.getParameter<double>("jetEtThreshold");
164  tauEtThreshold_ = iConfig.getParameter<double>("tauEtThreshold");
165  egEtThreshold_ = iConfig.getParameter<double>("egEtThreshold");
166  muEtThreshold_ = iConfig.getParameter<double>("muEtThreshold");
167 
168  emptyBxTrailer_ = iConfig.getParameter<int>("emptyBxTrailer");
169  emptyBxEvt_ = iConfig.getParameter<int>("emptyBxEvt");
170 
171  // set cache id to zero, will be set at first beginRun:
172  m_paramsCacheId = 0;
173  eventCnt_ = 0;
174  }

References unpackData-CaloStage1::egToken, edm::ParameterSet::getParameter(), unpackData-CaloStage1::jetToken, and unpackData-CaloStage1::tauToken.

◆ ~BXVectorInputProducer()

l1t::BXVectorInputProducer::~BXVectorInputProducer ( )
override

Definition at line 176 of file BXVectorInputProducer.cc.

176 {}

Member Function Documentation

◆ beginJob()

void l1t::BXVectorInputProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 419 of file BXVectorInputProducer.cc.

419 {}

◆ beginRun()

void l1t::BXVectorInputProducer::beginRun ( Run const &  iR,
EventSetup const &  iE 
)
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 426 of file BXVectorInputProducer.cc.

426  {
427  LogDebug("l1t|Global") << "BXVectorInputProducer::beginRun function called...\n";
428 
429  counter_ = 0;
430  }

References LogDebug.

◆ convertEtaToHW()

int l1t::BXVectorInputProducer::convertEtaToHW ( double  ieta,
double  minEta,
double  maxEta,
int  steps 
)
private

Definition at line 447 of file BXVectorInputProducer.cc.

447  {
448  double binWidth = (maxEta - minEta) / steps;
449 
450  //if we are outside the limits, set error
451  if (ieta < minEta)
452  return 99999; //ieta = minEta+binWidth/2.;
453  if (ieta > maxEta)
454  return 99999; //ieta = maxEta-binWidth/2.;
455 
456  int binNum = (int)(ieta / binWidth);
457  if (ieta < 0.)
458  binNum--;
459 
460  // unsigned int hwEta = binNum & bitMask;
461  // Remove masking for BXVectors...only assume in raw data
462 
463  return binNum;
464  }

References LEDCalibrationChannels::ieta, createfilelist::int, maxEta, EgHLTOffEleSelection_cfi::minEta, and customisers::steps.

◆ convertPhiToHW()

int l1t::BXVectorInputProducer::convertPhiToHW ( double  iphi,
int  steps 
)
private

Definition at line 436 of file BXVectorInputProducer.cc.

436  {
437  double phiMax = 2 * M_PI;
438  if (iphi < 0)
439  iphi += 2 * M_PI;
440  if (iphi > phiMax)
441  iphi -= phiMax;
442 
443  int hwPhi = int((iphi / phiMax) * steps + 0.00001);
444  return hwPhi;
445  }

References createfilelist::int, LEDCalibrationChannels::iphi, M_PI, AlignmentTrackSelector_cfi::phiMax, and customisers::steps.

◆ convertPtToHW()

int l1t::BXVectorInputProducer::convertPtToHW ( double  ipt,
int  maxPt,
double  step 
)
private

Definition at line 466 of file BXVectorInputProducer.cc.

466  {
467  int hwPt = int(ipt / step + 0.0001);
468  // if above max Pt, set to largest value
469  if (hwPt > maxPt)
470  hwPt = maxPt;
471 
472  return hwPt;
473  }

References createfilelist::int, and MuonErrorMatrixAnalyzer_cfi::maxPt.

◆ endJob()

void l1t::BXVectorInputProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 422 of file BXVectorInputProducer.cc.

422 {}

◆ endRun()

void l1t::BXVectorInputProducer::endRun ( Run const &  iR,
EventSetup const &  iE 
)
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 433 of file BXVectorInputProducer.cc.

433 {}

◆ fillDescriptions()

void l1t::BXVectorInputProducer::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 476 of file BXVectorInputProducer.cc.

476  {
477  //The following says we do not know what parameters are allowed so do no validation
478  // Please change this to state exactly what you do use, even if it is no parameters
480  desc.setUnknown();
481  descriptions.addDefault(desc);
482  }

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

◆ produce()

void l1t::BXVectorInputProducer::produce ( Event iEvent,
EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 183 of file BXVectorInputProducer.cc.

183  {
184  eventCnt_++;
185 
186  LogDebug("l1t|Global") << "BXVectorInputProducer::produce function called...\n";
187 
188  // Setup vectors
189  std::vector<l1t::Muon> muonVec;
190  std::vector<l1t::EGamma> egammaVec;
191  std::vector<l1t::Tau> tauVec;
192  std::vector<l1t::Jet> jetVec;
193  std::vector<l1t::EtSum> etsumVec;
194 
195  // Set the range of BX....TO DO...move to Params or determine from param set.
196  int bxFirst = bxFirst_;
197  int bxLast = bxLast_;
198 
199  //outputs
200  std::unique_ptr<l1t::EGammaBxCollection> egammas(new l1t::EGammaBxCollection(0, bxFirst, bxLast));
201  std::unique_ptr<l1t::MuonBxCollection> muons(new l1t::MuonBxCollection(0, bxFirst, bxLast));
202  std::unique_ptr<l1t::TauBxCollection> taus(new l1t::TauBxCollection(0, bxFirst, bxLast));
203  std::unique_ptr<l1t::JetBxCollection> jets(new l1t::JetBxCollection(0, bxFirst, bxLast));
204  std::unique_ptr<l1t::EtSumBxCollection> etsums(new l1t::EtSumBxCollection(0, bxFirst, bxLast));
205 
206  std::vector<int> mu_cands_index;
207  std::vector<int> eg_cands_index;
208  std::vector<int> tau_cands_index;
209 
210  // Bx to use...grab only bx=0 for now
211  int bx = 0;
212 
213  // Make sure that you can get input EG
214  Handle<BXVector<l1t::EGamma>> inputEgammas;
215  if (iEvent.getByToken(egToken, inputEgammas)) {
216  for (std::vector<l1t::EGamma>::const_iterator eg = inputEgammas->begin(bx); eg != inputEgammas->end(bx); ++eg) {
217  if (eg->hwPt() > egEtThreshold_ && egammaVec.size() < maxNumEGCands_) {
218  egammaVec.push_back((*eg));
219  }
220  }
221  } else {
222  LogTrace("l1t|Global") << ">>> input EG collection not found!" << std::endl;
223  }
224 
225  // Make sure that you can get input Muons
227  if (iEvent.getByToken(muToken, inputMuons)) {
228  for (std::vector<l1t::Muon>::const_iterator mu = inputMuons->begin(bx); mu != inputMuons->end(bx); ++mu) {
229  if (mu->hwPt() > muEtThreshold_ && muonVec.size() < maxNumMuCands_) {
230  muonVec.push_back((*mu));
231  }
232  }
233  } else {
234  LogTrace("l1t|Global") << ">>> input Mu collection not found!" << std::endl;
235  }
236 
237  // Make sure that you can get input Tau
238  Handle<BXVector<l1t::Tau>> inputTaus;
239  if (iEvent.getByToken(tauToken, inputTaus)) {
240  for (std::vector<l1t::Tau>::const_iterator tau = inputTaus->begin(bx); tau != inputTaus->end(bx); ++tau) {
241  if (tau->hwPt() > tauEtThreshold_ && tauVec.size() < maxNumTauCands_) {
242  tauVec.push_back((*tau));
243  }
244  }
245  } else {
246  LogTrace("l1t|Global") << ">>> input tau collection not found!" << std::endl;
247  }
248 
249  // Make sure that you can get input jet
251  if (iEvent.getByToken(jetToken, inputJets)) {
252  for (std::vector<l1t::Jet>::const_iterator jet = inputJets->begin(bx); jet != inputJets->end(bx); ++jet) {
253  if (jet->hwPt() > jetEtThreshold_ && jetVec.size() < maxNumJetCands_) {
254  jetVec.push_back((*jet));
255  }
256  }
257  } else {
258  LogTrace("l1t|Global") << ">>> input jet collection not found!" << std::endl;
259  }
260 
261  // Make sure that you can get input etsum
262  Handle<BXVector<l1t::EtSum>> inputEtsums;
263  if (iEvent.getByToken(etsumToken, inputEtsums)) {
264  for (std::vector<l1t::EtSum>::const_iterator etsum = inputEtsums->begin(bx); etsum != inputEtsums->end(bx);
265  ++etsum) {
266  etsumVec.push_back((*etsum));
267  }
268  } else {
269  LogTrace("l1t|Global") << ">>> input etsum collection not found!" << std::endl;
270  }
271 
272  // Insert all the bx into the L1 Collections
273  LogTrace("l1t|Global") << "Event " << eventCnt_ << " EmptyBxEvt " << emptyBxEvt_ << " emptyBxTrailer "
274  << emptyBxTrailer_ << " diff " << (emptyBxEvt_ - eventCnt_) << std::endl;
275 
276  // Fill Muons
277  for (int iMu = 0; iMu < int(muonVec_bxm2.size()); iMu++) {
278  muons->push_back(-2, muonVec_bxm2[iMu]);
279  }
280  for (int iMu = 0; iMu < int(muonVec_bxm1.size()); iMu++) {
281  muons->push_back(-1, muonVec_bxm1[iMu]);
282  }
283  for (int iMu = 0; iMu < int(muonVec_bx0.size()); iMu++) {
284  muons->push_back(0, muonVec_bx0[iMu]);
285  }
286  for (int iMu = 0; iMu < int(muonVec_bxp1.size()); iMu++) {
287  muons->push_back(1, muonVec_bxp1[iMu]);
288  }
290  for (int iMu = 0; iMu < int(muonVec.size()); iMu++) {
291  muons->push_back(2, muonVec[iMu]);
292  }
293  } else {
294  // this event is part of empty trailer...clear out data
295  muonVec.clear();
296  }
297 
298  // Fill Egammas
299  for (int iEG = 0; iEG < int(egammaVec_bxm2.size()); iEG++) {
300  egammas->push_back(-2, egammaVec_bxm2[iEG]);
301  }
302  for (int iEG = 0; iEG < int(egammaVec_bxm1.size()); iEG++) {
303  egammas->push_back(-1, egammaVec_bxm1[iEG]);
304  }
305  for (int iEG = 0; iEG < int(egammaVec_bx0.size()); iEG++) {
306  egammas->push_back(0, egammaVec_bx0[iEG]);
307  }
308  for (int iEG = 0; iEG < int(egammaVec_bxp1.size()); iEG++) {
309  egammas->push_back(1, egammaVec_bxp1[iEG]);
310  }
312  for (int iEG = 0; iEG < int(egammaVec.size()); iEG++) {
313  egammas->push_back(2, egammaVec[iEG]);
314  }
315  } else {
316  // this event is part of empty trailer...clear out data
317  egammaVec.clear();
318  }
319 
320  // Fill Taus
321  for (int iTau = 0; iTau < int(tauVec_bxm2.size()); iTau++) {
322  taus->push_back(-2, tauVec_bxm2[iTau]);
323  }
324  for (int iTau = 0; iTau < int(tauVec_bxm1.size()); iTau++) {
325  taus->push_back(-1, tauVec_bxm1[iTau]);
326  }
327  for (int iTau = 0; iTau < int(tauVec_bx0.size()); iTau++) {
328  taus->push_back(0, tauVec_bx0[iTau]);
329  }
330  for (int iTau = 0; iTau < int(tauVec_bxp1.size()); iTau++) {
331  taus->push_back(1, tauVec_bxp1[iTau]);
332  }
334  for (int iTau = 0; iTau < int(tauVec.size()); iTau++) {
335  taus->push_back(2, tauVec[iTau]);
336  }
337  } else {
338  // this event is part of empty trailer...clear out data
339  tauVec.clear();
340  }
341 
342  // Fill Jets
343  for (int iJet = 0; iJet < int(jetVec_bxm2.size()); iJet++) {
344  jets->push_back(-2, jetVec_bxm2[iJet]);
345  }
346  for (int iJet = 0; iJet < int(jetVec_bxm1.size()); iJet++) {
347  jets->push_back(-1, jetVec_bxm1[iJet]);
348  }
349  for (int iJet = 0; iJet < int(jetVec_bx0.size()); iJet++) {
350  jets->push_back(0, jetVec_bx0[iJet]);
351  }
352  for (int iJet = 0; iJet < int(jetVec_bxp1.size()); iJet++) {
353  jets->push_back(1, jetVec_bxp1[iJet]);
354  }
356  for (int iJet = 0; iJet < int(jetVec.size()); iJet++) {
357  jets->push_back(2, jetVec[iJet]);
358  }
359  } else {
360  // this event is part of empty trailer...clear out data
361  jetVec.clear();
362  }
363 
364  // Fill Etsums
365  for (int iETsum = 0; iETsum < int(etsumVec_bxm2.size()); iETsum++) {
366  etsums->push_back(-2, etsumVec_bxm2[iETsum]);
367  }
368  for (int iETsum = 0; iETsum < int(etsumVec_bxm1.size()); iETsum++) {
369  etsums->push_back(-1, etsumVec_bxm1[iETsum]);
370  }
371  for (int iETsum = 0; iETsum < int(etsumVec_bx0.size()); iETsum++) {
372  etsums->push_back(0, etsumVec_bx0[iETsum]);
373  }
374  for (int iETsum = 0; iETsum < int(etsumVec_bxp1.size()); iETsum++) {
375  etsums->push_back(1, etsumVec_bxp1[iETsum]);
376  }
378  for (int iETsum = 0; iETsum < int(etsumVec.size()); iETsum++) {
379  etsums->push_back(2, etsumVec[iETsum]);
380  }
381  } else {
382  // this event is part of empty trailer...clear out data
383  etsumVec.clear();
384  }
385 
386  iEvent.put(std::move(egammas));
387  iEvent.put(std::move(muons));
388  iEvent.put(std::move(taus));
389  iEvent.put(std::move(jets));
390  iEvent.put(std::move(etsums));
391 
392  // Now shift the bx data by one to prepare for next event.
398 
404 
410 
411  muonVec_bxp1 = muonVec;
412  egammaVec_bxp1 = egammaVec;
413  tauVec_bxp1 = tauVec;
414  jetVec_bxp1 = jetVec;
415  etsumVec_bxp1 = etsumVec;
416  }

References l1GtPatternGenerator_cfi::bx, simCaloStage2Layer1Digis_cfi::bxFirst, simCaloStage2Layer1Digis_cfi::bxLast, unpackData-CaloStage1::egToken, iEvent, HLT_2018_cff::inputJets, calomuons_cfi::inputMuons, createfilelist::int, metsig::jet, singleTopDQM_cfi::jets, unpackData-CaloStage1::jetToken, LogDebug, LogTrace, eostools::move(), amptDefaultParameters_cff::mu, PDWG_BPHSkim_cff::muons, metsig::tau, Tau3MuMonitor_cff::taus, and unpackData-CaloStage1::tauToken.

Member Data Documentation

◆ bxFirst_

int l1t::BXVectorInputProducer::bxFirst_
private

Definition at line 84 of file BXVectorInputProducer.cc.

◆ bxLast_

int l1t::BXVectorInputProducer::bxLast_
private

Definition at line 85 of file BXVectorInputProducer.cc.

◆ counter_

int l1t::BXVectorInputProducer::counter_
private

Definition at line 109 of file BXVectorInputProducer.cc.

◆ egammaVec_bx0

std::vector<l1t::EGamma> l1t::BXVectorInputProducer::egammaVec_bx0
private

Definition at line 118 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm1

std::vector<l1t::EGamma> l1t::BXVectorInputProducer::egammaVec_bxm1
private

Definition at line 117 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm2

std::vector<l1t::EGamma> l1t::BXVectorInputProducer::egammaVec_bxm2
private

Definition at line 116 of file BXVectorInputProducer.cc.

◆ egammaVec_bxp1

std::vector<l1t::EGamma> l1t::BXVectorInputProducer::egammaVec_bxp1
private

Definition at line 119 of file BXVectorInputProducer.cc.

◆ egEtThreshold_

double l1t::BXVectorInputProducer::egEtThreshold_
private

Definition at line 94 of file BXVectorInputProducer.cc.

◆ egToken

edm::EDGetToken l1t::BXVectorInputProducer::egToken
private

Definition at line 103 of file BXVectorInputProducer.cc.

◆ emptyBxEvt_

int l1t::BXVectorInputProducer::emptyBxEvt_
private

Definition at line 99 of file BXVectorInputProducer.cc.

◆ emptyBxTrailer_

int l1t::BXVectorInputProducer::emptyBxTrailer_
private

Definition at line 98 of file BXVectorInputProducer.cc.

◆ etsumToken

edm::EDGetToken l1t::BXVectorInputProducer::etsumToken
private

Definition at line 107 of file BXVectorInputProducer.cc.

◆ etsumVec_bx0

std::vector<l1t::EtSum> l1t::BXVectorInputProducer::etsumVec_bx0
private

Definition at line 133 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm1

std::vector<l1t::EtSum> l1t::BXVectorInputProducer::etsumVec_bxm1
private

Definition at line 132 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm2

std::vector<l1t::EtSum> l1t::BXVectorInputProducer::etsumVec_bxm2
private

Definition at line 131 of file BXVectorInputProducer.cc.

◆ etsumVec_bxp1

std::vector<l1t::EtSum> l1t::BXVectorInputProducer::etsumVec_bxp1
private

Definition at line 134 of file BXVectorInputProducer.cc.

◆ eventCnt_

int l1t::BXVectorInputProducer::eventCnt_
private

Definition at line 100 of file BXVectorInputProducer.cc.

◆ jetEtThreshold_

double l1t::BXVectorInputProducer::jetEtThreshold_
private

Definition at line 92 of file BXVectorInputProducer.cc.

◆ jetToken

edm::EDGetToken l1t::BXVectorInputProducer::jetToken
private

Definition at line 106 of file BXVectorInputProducer.cc.

◆ jetVec_bx0

std::vector<l1t::Jet> l1t::BXVectorInputProducer::jetVec_bx0
private

Definition at line 128 of file BXVectorInputProducer.cc.

◆ jetVec_bxm1

std::vector<l1t::Jet> l1t::BXVectorInputProducer::jetVec_bxm1
private

Definition at line 127 of file BXVectorInputProducer.cc.

◆ jetVec_bxm2

std::vector<l1t::Jet> l1t::BXVectorInputProducer::jetVec_bxm2
private

Definition at line 126 of file BXVectorInputProducer.cc.

◆ jetVec_bxp1

std::vector<l1t::Jet> l1t::BXVectorInputProducer::jetVec_bxp1
private

Definition at line 129 of file BXVectorInputProducer.cc.

◆ m_paramsCacheId

unsigned long long l1t::BXVectorInputProducer::m_paramsCacheId
private

Definition at line 78 of file BXVectorInputProducer.cc.

◆ maxNumEGCands_

unsigned int l1t::BXVectorInputProducer::maxNumEGCands_
private

Definition at line 89 of file BXVectorInputProducer.cc.

◆ maxNumJetCands_

unsigned int l1t::BXVectorInputProducer::maxNumJetCands_
private

Definition at line 88 of file BXVectorInputProducer.cc.

◆ maxNumMuCands_

unsigned int l1t::BXVectorInputProducer::maxNumMuCands_
private

Definition at line 87 of file BXVectorInputProducer.cc.

◆ maxNumTauCands_

unsigned int l1t::BXVectorInputProducer::maxNumTauCands_
private

Definition at line 90 of file BXVectorInputProducer.cc.

◆ muEtThreshold_

double l1t::BXVectorInputProducer::muEtThreshold_
private

Definition at line 95 of file BXVectorInputProducer.cc.

◆ muonVec_bx0

std::vector<l1t::Muon> l1t::BXVectorInputProducer::muonVec_bx0
private

Definition at line 113 of file BXVectorInputProducer.cc.

◆ muonVec_bxm1

std::vector<l1t::Muon> l1t::BXVectorInputProducer::muonVec_bxm1
private

Definition at line 112 of file BXVectorInputProducer.cc.

◆ muonVec_bxm2

std::vector<l1t::Muon> l1t::BXVectorInputProducer::muonVec_bxm2
private

Definition at line 111 of file BXVectorInputProducer.cc.

◆ muonVec_bxp1

std::vector<l1t::Muon> l1t::BXVectorInputProducer::muonVec_bxp1
private

Definition at line 114 of file BXVectorInputProducer.cc.

◆ muToken

edm::EDGetToken l1t::BXVectorInputProducer::muToken
private

Definition at line 104 of file BXVectorInputProducer.cc.

◆ tauEtThreshold_

double l1t::BXVectorInputProducer::tauEtThreshold_
private

Definition at line 93 of file BXVectorInputProducer.cc.

◆ tauToken

edm::EDGetToken l1t::BXVectorInputProducer::tauToken
private

Definition at line 105 of file BXVectorInputProducer.cc.

◆ tauVec_bx0

std::vector<l1t::Tau> l1t::BXVectorInputProducer::tauVec_bx0
private

Definition at line 123 of file BXVectorInputProducer.cc.

◆ tauVec_bxm1

std::vector<l1t::Tau> l1t::BXVectorInputProducer::tauVec_bxm1
private

Definition at line 122 of file BXVectorInputProducer.cc.

◆ tauVec_bxm2

std::vector<l1t::Tau> l1t::BXVectorInputProducer::tauVec_bxm2
private

Definition at line 121 of file BXVectorInputProducer.cc.

◆ tauVec_bxp1

std::vector<l1t::Tau> l1t::BXVectorInputProducer::tauVec_bxp1
private

Definition at line 124 of file BXVectorInputProducer.cc.

l1t::BXVectorInputProducer::emptyBxTrailer_
int emptyBxTrailer_
Definition: BXVectorInputProducer.cc:98
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
l1t::BXVectorInputProducer::tauVec_bxm2
std::vector< l1t::Tau > tauVec_bxm2
Definition: BXVectorInputProducer.cc:121
l1t::BXVectorInputProducer::jetVec_bxp1
std::vector< l1t::Jet > jetVec_bxp1
Definition: BXVectorInputProducer.cc:129
l1t::BXVectorInputProducer::tauVec_bxp1
std::vector< l1t::Tau > tauVec_bxp1
Definition: BXVectorInputProducer.cc:124
step
step
Definition: StallMonitor.cc:94
metsig::tau
Definition: SignAlgoResolutions.h:49
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
Tau3MuMonitor_cff.taus
taus
Definition: Tau3MuMonitor_cff.py:7
l1t::BXVectorInputProducer::muEtThreshold_
double muEtThreshold_
Definition: BXVectorInputProducer.cc:95
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
l1t::BXVectorInputProducer::counter_
int counter_
Definition: BXVectorInputProducer.cc:109
l1t::BXVectorInputProducer::jetVec_bxm2
std::vector< l1t::Jet > jetVec_bxm2
Definition: BXVectorInputProducer.cc:126
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
l1t::BXVectorInputProducer::jetVec_bxm1
std::vector< l1t::Jet > jetVec_bxm1
Definition: BXVectorInputProducer.cc:127
edm::Handle
Definition: AssociativeIterator.h:50
l1t::BXVectorInputProducer::maxNumMuCands_
unsigned int maxNumMuCands_
Definition: BXVectorInputProducer.cc:87
l1t::BXVectorInputProducer::egammaVec_bxp1
std::vector< l1t::EGamma > egammaVec_bxp1
Definition: BXVectorInputProducer.cc:119
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
BXVector
Definition: BXVector.h:15
MuonErrorMatrixAnalyzer_cfi.maxPt
maxPt
Definition: MuonErrorMatrixAnalyzer_cfi.py:19
l1t::BXVectorInputProducer::egammaVec_bxm2
std::vector< l1t::EGamma > egammaVec_bxm2
Definition: BXVectorInputProducer.cc:116
l1t::BXVectorInputProducer::muonVec_bx0
std::vector< l1t::Muon > muonVec_bx0
Definition: BXVectorInputProducer.cc:113
l1t::BXVectorInputProducer::muToken
edm::EDGetToken muToken
Definition: BXVectorInputProducer.cc:104
l1t::BXVectorInputProducer::etsumToken
edm::EDGetToken etsumToken
Definition: BXVectorInputProducer.cc:107
l1t::BXVectorInputProducer::muonVec_bxm1
std::vector< l1t::Muon > muonVec_bxm1
Definition: BXVectorInputProducer.cc:112
maxEta
double maxEta
Definition: PFJetBenchmarkAnalyzer.cc:76
AlignmentTrackSelector_cfi.phiMax
phiMax
Definition: AlignmentTrackSelector_cfi.py:17
l1t::BXVectorInputProducer::etsumVec_bxm2
std::vector< l1t::EtSum > etsumVec_bxm2
Definition: BXVectorInputProducer.cc:131
l1t::BXVectorInputProducer::tauVec_bxm1
std::vector< l1t::Tau > tauVec_bxm1
Definition: BXVectorInputProducer.cc:122
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
l1t::BXVectorInputProducer::etsumVec_bxm1
std::vector< l1t::EtSum > etsumVec_bxm1
Definition: BXVectorInputProducer.cc:132
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
l1t::BXVectorInputProducer::emptyBxEvt_
int emptyBxEvt_
Definition: BXVectorInputProducer.cc:99
l1t::BXVectorInputProducer::etsumVec_bxp1
std::vector< l1t::EtSum > etsumVec_bxp1
Definition: BXVectorInputProducer.cc:134
l1t::BXVectorInputProducer::jetVec_bx0
std::vector< l1t::Jet > jetVec_bx0
Definition: BXVectorInputProducer.cc:128
l1t::BXVectorInputProducer::maxNumEGCands_
unsigned int maxNumEGCands_
Definition: BXVectorInputProducer.cc:89
l1t::BXVectorInputProducer::jetToken
edm::EDGetToken jetToken
Definition: BXVectorInputProducer.cc:106
l1t::BXVectorInputProducer::egEtThreshold_
double egEtThreshold_
Definition: BXVectorInputProducer.cc:94
l1t::BXVectorInputProducer::etsumVec_bx0
std::vector< l1t::EtSum > etsumVec_bx0
Definition: BXVectorInputProducer.cc:133
l1t::BXVectorInputProducer::tauVec_bx0
std::vector< l1t::Tau > tauVec_bx0
Definition: BXVectorInputProducer.cc:123
l1t::BXVectorInputProducer::bxLast_
int bxLast_
Definition: BXVectorInputProducer.cc:85
l1t::BXVectorInputProducer::eventCnt_
int eventCnt_
Definition: BXVectorInputProducer.cc:100
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
l1t::BXVectorInputProducer::m_paramsCacheId
unsigned long long m_paramsCacheId
Definition: BXVectorInputProducer.cc:78
l1t::BXVectorInputProducer::egToken
edm::EDGetToken egToken
Definition: BXVectorInputProducer.cc:103
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
edm::ParameterSetDescription::setUnknown
void setUnknown()
Definition: ParameterSetDescription.cc:39
l1t::BXVectorInputProducer::muonVec_bxm2
std::vector< l1t::Muon > muonVec_bxm2
Definition: BXVectorInputProducer.cc:111
l1t::BXVectorInputProducer::maxNumTauCands_
unsigned int maxNumTauCands_
Definition: BXVectorInputProducer.cc:90
simCaloStage2Layer1Digis_cfi.bxFirst
bxFirst
Definition: simCaloStage2Layer1Digis_cfi.py:7
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
l1t::BXVectorInputProducer::egammaVec_bxm1
std::vector< l1t::EGamma > egammaVec_bxm1
Definition: BXVectorInputProducer.cc:117
l1t::BXVectorInputProducer::maxNumJetCands_
unsigned int maxNumJetCands_
Definition: BXVectorInputProducer.cc:88
eostools.move
def move(src, dest)
Definition: eostools.py:511
simCaloStage2Layer1Digis_cfi.bxLast
bxLast
Definition: simCaloStage2Layer1Digis_cfi.py:8
l1t::BXVectorInputProducer::tauEtThreshold_
double tauEtThreshold_
Definition: BXVectorInputProducer.cc:93
l1t::BXVectorInputProducer::muonVec_bxp1
std::vector< l1t::Muon > muonVec_bxp1
Definition: BXVectorInputProducer.cc:114
l1t::BXVectorInputProducer::tauToken
edm::EDGetToken tauToken
Definition: BXVectorInputProducer.cc:105
metsig::jet
Definition: SignAlgoResolutions.h:47
HLT_2018_cff.inputJets
inputJets
Definition: HLT_2018_cff.py:86469
l1t::BXVectorInputProducer::jetEtThreshold_
double jetEtThreshold_
Definition: BXVectorInputProducer.cc:92
customisers.steps
steps
Definition: customisers.py:41
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
l1t::BXVectorInputProducer::egammaVec_bx0
std::vector< l1t::EGamma > egammaVec_bx0
Definition: BXVectorInputProducer.cc:118
EgHLTOffEleSelection_cfi.minEta
minEta
Definition: EgHLTOffEleSelection_cfi.py:11
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
l1t::BXVectorInputProducer::bxFirst_
int bxFirst_
Definition: BXVectorInputProducer.cc:84
calomuons_cfi.inputMuons
inputMuons
Definition: calomuons_cfi.py:12
edm::InputTag
Definition: InputTag.h:15