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
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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 wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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 58 of file BXVectorInputProducer.cc.

Constructor & Destructor Documentation

◆ BXVectorInputProducer()

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

Definition at line 139 of file BXVectorInputProducer.cc.

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

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

◆ ~BXVectorInputProducer()

l1t::BXVectorInputProducer::~BXVectorInputProducer ( )
override

Definition at line 175 of file BXVectorInputProducer.cc.

175 {}

Member Function Documentation

◆ beginJob()

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

Reimplemented from edm::EDProducer.

Definition at line 418 of file BXVectorInputProducer.cc.

418 {}

◆ beginRun()

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

Reimplemented from edm::EDProducer.

Definition at line 425 of file BXVectorInputProducer.cc.

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

References LogDebug.

◆ convertEtaToHW()

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

Definition at line 446 of file BXVectorInputProducer.cc.

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

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 435 of file BXVectorInputProducer.cc.

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

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 465 of file BXVectorInputProducer.cc.

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

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

◆ endJob()

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

Reimplemented from edm::EDProducer.

Definition at line 421 of file BXVectorInputProducer.cc.

421 {}

◆ endRun()

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

Reimplemented from edm::EDProducer.

Definition at line 432 of file BXVectorInputProducer.cc.

432 {}

◆ fillDescriptions()

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

Definition at line 475 of file BXVectorInputProducer.cc.

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

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

◆ produce()

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

Implements edm::EDProducer.

Definition at line 182 of file BXVectorInputProducer.cc.

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

References l1GtPatternGenerator_cfi::bx, simCaloStage2Layer1Digis_cfi::bxFirst, simCaloStage2Layer1Digis_cfi::bxLast, unpackData-CaloStage1::egToken, iEvent, HLT_FULL_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 83 of file BXVectorInputProducer.cc.

◆ bxLast_

int l1t::BXVectorInputProducer::bxLast_
private

Definition at line 84 of file BXVectorInputProducer.cc.

◆ counter_

int l1t::BXVectorInputProducer::counter_
private

Definition at line 108 of file BXVectorInputProducer.cc.

◆ egammaVec_bx0

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

Definition at line 117 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm1

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

Definition at line 116 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm2

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

Definition at line 115 of file BXVectorInputProducer.cc.

◆ egammaVec_bxp1

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

Definition at line 118 of file BXVectorInputProducer.cc.

◆ egEtThreshold_

double l1t::BXVectorInputProducer::egEtThreshold_
private

Definition at line 93 of file BXVectorInputProducer.cc.

◆ egToken

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

Definition at line 102 of file BXVectorInputProducer.cc.

◆ emptyBxEvt_

int l1t::BXVectorInputProducer::emptyBxEvt_
private

Definition at line 98 of file BXVectorInputProducer.cc.

◆ emptyBxTrailer_

int l1t::BXVectorInputProducer::emptyBxTrailer_
private

Definition at line 97 of file BXVectorInputProducer.cc.

◆ etsumToken

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

Definition at line 106 of file BXVectorInputProducer.cc.

◆ etsumVec_bx0

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

Definition at line 132 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm1

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

Definition at line 131 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm2

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

Definition at line 130 of file BXVectorInputProducer.cc.

◆ etsumVec_bxp1

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

Definition at line 133 of file BXVectorInputProducer.cc.

◆ eventCnt_

int l1t::BXVectorInputProducer::eventCnt_
private

Definition at line 99 of file BXVectorInputProducer.cc.

◆ jetEtThreshold_

double l1t::BXVectorInputProducer::jetEtThreshold_
private

Definition at line 91 of file BXVectorInputProducer.cc.

◆ jetToken

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

Definition at line 105 of file BXVectorInputProducer.cc.

◆ jetVec_bx0

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

Definition at line 127 of file BXVectorInputProducer.cc.

◆ jetVec_bxm1

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

Definition at line 126 of file BXVectorInputProducer.cc.

◆ jetVec_bxm2

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

Definition at line 125 of file BXVectorInputProducer.cc.

◆ jetVec_bxp1

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

Definition at line 128 of file BXVectorInputProducer.cc.

◆ m_paramsCacheId

unsigned long long l1t::BXVectorInputProducer::m_paramsCacheId
private

Definition at line 77 of file BXVectorInputProducer.cc.

◆ maxNumEGCands_

unsigned int l1t::BXVectorInputProducer::maxNumEGCands_
private

Definition at line 88 of file BXVectorInputProducer.cc.

◆ maxNumJetCands_

unsigned int l1t::BXVectorInputProducer::maxNumJetCands_
private

Definition at line 87 of file BXVectorInputProducer.cc.

◆ maxNumMuCands_

unsigned int l1t::BXVectorInputProducer::maxNumMuCands_
private

Definition at line 86 of file BXVectorInputProducer.cc.

◆ maxNumTauCands_

unsigned int l1t::BXVectorInputProducer::maxNumTauCands_
private

Definition at line 89 of file BXVectorInputProducer.cc.

◆ muEtThreshold_

double l1t::BXVectorInputProducer::muEtThreshold_
private

Definition at line 94 of file BXVectorInputProducer.cc.

◆ muonVec_bx0

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

Definition at line 112 of file BXVectorInputProducer.cc.

◆ muonVec_bxm1

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

Definition at line 111 of file BXVectorInputProducer.cc.

◆ muonVec_bxm2

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

Definition at line 110 of file BXVectorInputProducer.cc.

◆ muonVec_bxp1

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

Definition at line 113 of file BXVectorInputProducer.cc.

◆ muToken

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

Definition at line 103 of file BXVectorInputProducer.cc.

◆ tauEtThreshold_

double l1t::BXVectorInputProducer::tauEtThreshold_
private

Definition at line 92 of file BXVectorInputProducer.cc.

◆ tauToken

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

Definition at line 104 of file BXVectorInputProducer.cc.

◆ tauVec_bx0

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

Definition at line 122 of file BXVectorInputProducer.cc.

◆ tauVec_bxm1

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

Definition at line 121 of file BXVectorInputProducer.cc.

◆ tauVec_bxm2

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

Definition at line 120 of file BXVectorInputProducer.cc.

◆ tauVec_bxp1

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

Definition at line 123 of file BXVectorInputProducer.cc.

l1t::BXVectorInputProducer::emptyBxTrailer_
int emptyBxTrailer_
Definition: BXVectorInputProducer.cc:97
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
l1t::BXVectorInputProducer::tauVec_bxm2
std::vector< l1t::Tau > tauVec_bxm2
Definition: BXVectorInputProducer.cc:120
HLT_FULL_cff.inputJets
inputJets
Definition: HLT_FULL_cff.py:98546
l1t::BXVectorInputProducer::jetVec_bxp1
std::vector< l1t::Jet > jetVec_bxp1
Definition: BXVectorInputProducer.cc:128
l1t::BXVectorInputProducer::tauVec_bxp1
std::vector< l1t::Tau > tauVec_bxp1
Definition: BXVectorInputProducer.cc:123
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:94
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
l1t::BXVectorInputProducer::counter_
int counter_
Definition: BXVectorInputProducer.cc:108
l1t::BXVectorInputProducer::jetVec_bxm2
std::vector< l1t::Jet > jetVec_bxm2
Definition: BXVectorInputProducer.cc:125
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
l1t::BXVectorInputProducer::jetVec_bxm1
std::vector< l1t::Jet > jetVec_bxm1
Definition: BXVectorInputProducer.cc:126
edm::Handle
Definition: AssociativeIterator.h:50
l1t::BXVectorInputProducer::maxNumMuCands_
unsigned int maxNumMuCands_
Definition: BXVectorInputProducer.cc:86
l1t::BXVectorInputProducer::egammaVec_bxp1
std::vector< l1t::EGamma > egammaVec_bxp1
Definition: BXVectorInputProducer.cc:118
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:115
l1t::BXVectorInputProducer::muonVec_bx0
std::vector< l1t::Muon > muonVec_bx0
Definition: BXVectorInputProducer.cc:112
l1t::BXVectorInputProducer::muToken
edm::EDGetToken muToken
Definition: BXVectorInputProducer.cc:103
l1t::BXVectorInputProducer::etsumToken
edm::EDGetToken etsumToken
Definition: BXVectorInputProducer.cc:106
l1t::BXVectorInputProducer::muonVec_bxm1
std::vector< l1t::Muon > muonVec_bxm1
Definition: BXVectorInputProducer.cc:111
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:130
l1t::BXVectorInputProducer::tauVec_bxm1
std::vector< l1t::Tau > tauVec_bxm1
Definition: BXVectorInputProducer.cc:121
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
l1t::BXVectorInputProducer::etsumVec_bxm1
std::vector< l1t::EtSum > etsumVec_bxm1
Definition: BXVectorInputProducer.cc:131
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
l1t::BXVectorInputProducer::emptyBxEvt_
int emptyBxEvt_
Definition: BXVectorInputProducer.cc:98
l1t::BXVectorInputProducer::etsumVec_bxp1
std::vector< l1t::EtSum > etsumVec_bxp1
Definition: BXVectorInputProducer.cc:133
l1t::BXVectorInputProducer::jetVec_bx0
std::vector< l1t::Jet > jetVec_bx0
Definition: BXVectorInputProducer.cc:127
l1t::BXVectorInputProducer::maxNumEGCands_
unsigned int maxNumEGCands_
Definition: BXVectorInputProducer.cc:88
l1t::BXVectorInputProducer::jetToken
edm::EDGetToken jetToken
Definition: BXVectorInputProducer.cc:105
l1t::BXVectorInputProducer::egEtThreshold_
double egEtThreshold_
Definition: BXVectorInputProducer.cc:93
l1t::BXVectorInputProducer::etsumVec_bx0
std::vector< l1t::EtSum > etsumVec_bx0
Definition: BXVectorInputProducer.cc:132
l1t::BXVectorInputProducer::tauVec_bx0
std::vector< l1t::Tau > tauVec_bx0
Definition: BXVectorInputProducer.cc:122
l1t::BXVectorInputProducer::bxLast_
int bxLast_
Definition: BXVectorInputProducer.cc:84
l1t::BXVectorInputProducer::eventCnt_
int eventCnt_
Definition: BXVectorInputProducer.cc:99
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:77
l1t::BXVectorInputProducer::egToken
edm::EDGetToken egToken
Definition: BXVectorInputProducer.cc:102
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
l1t::BXVectorInputProducer::muonVec_bxm2
std::vector< l1t::Muon > muonVec_bxm2
Definition: BXVectorInputProducer.cc:110
l1t::BXVectorInputProducer::maxNumTauCands_
unsigned int maxNumTauCands_
Definition: BXVectorInputProducer.cc:89
simCaloStage2Layer1Digis_cfi.bxFirst
bxFirst
Definition: simCaloStage2Layer1Digis_cfi.py:7
l1t::BXVectorInputProducer::egammaVec_bxm1
std::vector< l1t::EGamma > egammaVec_bxm1
Definition: BXVectorInputProducer.cc:116
l1t::BXVectorInputProducer::maxNumJetCands_
unsigned int maxNumJetCands_
Definition: BXVectorInputProducer.cc:87
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
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:92
l1t::BXVectorInputProducer::muonVec_bxp1
std::vector< l1t::Muon > muonVec_bxp1
Definition: BXVectorInputProducer.cc:113
l1t::BXVectorInputProducer::tauToken
edm::EDGetToken tauToken
Definition: BXVectorInputProducer.cc:104
metsig::jet
Definition: SignAlgoResolutions.h:47
l1t::BXVectorInputProducer::jetEtThreshold_
double jetEtThreshold_
Definition: BXVectorInputProducer.cc:91
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
customisers.steps
steps
Definition: customisers.py:40
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
l1t::BXVectorInputProducer::egammaVec_bx0
std::vector< l1t::EGamma > egammaVec_bx0
Definition: BXVectorInputProducer.cc:117
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:83
calomuons_cfi.inputMuons
inputMuons
Definition: calomuons_cfi.py:11
edm::InputTag
Definition: InputTag.h:15