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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
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 maxNumMuShowerCands_
 
unsigned int maxNumTauCands_
 
double muEtThreshold_
 
std::vector< l1t::MuonShowermuonShowerVec_bx0
 
std::vector< l1t::MuonShowermuonShowerVec_bxm1
 
std::vector< l1t::MuonShowermuonShowerVec_bxm2
 
std::vector< l1t::MuonShowermuonShowerVec_bxp1
 
std::vector< l1t::MuonmuonVec_bx0
 
std::vector< l1t::MuonmuonVec_bxm1
 
std::vector< l1t::MuonmuonVec_bxm2
 
std::vector< l1t::MuonmuonVec_bxp1
 
edm::EDGetToken muShowerToken
 
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<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

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

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

147  {
148  egToken = consumes<BXVector<l1t::EGamma>>(iConfig.getParameter<InputTag>("egInputTag"));
149  muToken = consumes<BXVector<l1t::Muon>>(iConfig.getParameter<InputTag>("muInputTag"));
150  muShowerToken = consumes<BXVector<l1t::MuonShower>>(iConfig.getParameter<InputTag>("muShowerInputTag"));
151  tauToken = consumes<BXVector<l1t::Tau>>(iConfig.getParameter<InputTag>("tauInputTag"));
152  jetToken = consumes<BXVector<l1t::Jet>>(iConfig.getParameter<InputTag>("jetInputTag"));
153  etsumToken = consumes<BXVector<l1t::EtSum>>(iConfig.getParameter<InputTag>("etsumInputTag"));
154 
155  // register what you produce
156  produces<BXVector<l1t::EGamma>>();
157  produces<BXVector<l1t::Muon>>();
158  produces<BXVector<l1t::MuonShower>>();
159  produces<BXVector<l1t::Tau>>();
160  produces<BXVector<l1t::Jet>>();
161  produces<BXVector<l1t::EtSum>>();
162 
163  // Setup parameters
164  bxFirst_ = iConfig.getParameter<int>("bxFirst");
165  bxLast_ = iConfig.getParameter<int>("bxLast");
166 
167  maxNumMuCands_ = iConfig.getParameter<unsigned int>("maxMuCand");
168  maxNumMuShowerCands_ = iConfig.getParameter<unsigned int>("maxMuShowerCand");
169  maxNumJetCands_ = iConfig.getParameter<unsigned int>("maxJetCand");
170  maxNumEGCands_ = iConfig.getParameter<unsigned int>("maxEGCand");
171  maxNumTauCands_ = iConfig.getParameter<unsigned int>("maxTauCand");
172 
173  jetEtThreshold_ = iConfig.getParameter<double>("jetEtThreshold");
174  tauEtThreshold_ = iConfig.getParameter<double>("tauEtThreshold");
175  egEtThreshold_ = iConfig.getParameter<double>("egEtThreshold");
176  muEtThreshold_ = iConfig.getParameter<double>("muEtThreshold");
177 
178  emptyBxTrailer_ = iConfig.getParameter<int>("emptyBxTrailer");
179  emptyBxEvt_ = iConfig.getParameter<int>("emptyBxEvt");
180 
181  // set cache id to zero, will be set at first beginRun:
182  m_paramsCacheId = 0;
183  eventCnt_ = 0;
184  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303

◆ ~BXVectorInputProducer()

l1t::BXVectorInputProducer::~BXVectorInputProducer ( )
override

Definition at line 186 of file BXVectorInputProducer.cc.

186 {}

Member Function Documentation

◆ beginJob()

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

Reimplemented from edm::EDProducer.

Definition at line 472 of file BXVectorInputProducer.cc.

472 {}

◆ beginRun()

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

Reimplemented from edm::EDProducer.

Definition at line 479 of file BXVectorInputProducer.cc.

References LogDebug.

479  {
480  LogDebug("l1t|Global") << "BXVectorInputProducer::beginRun function called...\n";
481 
482  counter_ = 0;
483  }
#define LogDebug(id)

◆ convertEtaToHW()

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

Definition at line 500 of file BXVectorInputProducer.cc.

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

500  {
501  double binWidth = (maxEta - minEta) / steps;
502 
503  //if we are outside the limits, set error
504  if (ieta < minEta)
505  return 99999; //ieta = minEta+binWidth/2.;
506  if (ieta > maxEta)
507  return 99999; //ieta = maxEta-binWidth/2.;
508 
509  int binNum = (int)(ieta / binWidth);
510  if (ieta < 0.)
511  binNum--;
512 
513  // unsigned int hwEta = binNum & bitMask;
514  // Remove masking for BXVectors...only assume in raw data
515 
516  return binNum;
517  }
double maxEta

◆ convertPhiToHW()

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

Definition at line 489 of file BXVectorInputProducer.cc.

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

489  {
490  double phiMax = 2 * M_PI;
491  if (iphi < 0)
492  iphi += 2 * M_PI;
493  if (iphi > phiMax)
494  iphi -= phiMax;
495 
496  int hwPhi = int((iphi / phiMax) * steps + 0.00001);
497  return hwPhi;
498  }
#define M_PI

◆ convertPtToHW()

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

Definition at line 519 of file BXVectorInputProducer.cc.

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

519  {
520  int hwPt = int(ipt / step + 0.0001);
521  // if above max Pt, set to largest value
522  if (hwPt > maxPt)
523  hwPt = maxPt;
524 
525  return hwPt;
526  }
step
Definition: StallMonitor.cc:98

◆ endJob()

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

Reimplemented from edm::EDProducer.

Definition at line 475 of file BXVectorInputProducer.cc.

475 {}

◆ endRun()

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

Reimplemented from edm::EDProducer.

Definition at line 486 of file BXVectorInputProducer.cc.

486 {}

◆ fillDescriptions()

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

Definition at line 529 of file BXVectorInputProducer.cc.

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

529  {
530  //The following says we do not know what parameters are allowed so do no validation
531  // Please change this to state exactly what you do use, even if it is no parameters
533  desc.setUnknown();
534  descriptions.addDefault(desc);
535  }
void addDefault(ParameterSetDescription const &psetDescription)

◆ produce()

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

Implements edm::EDProducer.

Definition at line 193 of file BXVectorInputProducer.cc.

References simKBmtfDigis_cfi::bx, simCaloStage2Layer1Digis_cfi::bxFirst, simCaloStage2Layer1Digis_cfi::bxLast, unpackData-CaloStage1::egToken, iEvent, HLT_2022v11_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.

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

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

◆ egammaVec_bx0

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

Definition at line 125 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm1

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

Definition at line 124 of file BXVectorInputProducer.cc.

◆ egammaVec_bxm2

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

Definition at line 123 of file BXVectorInputProducer.cc.

◆ egammaVec_bxp1

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

Definition at line 126 of file BXVectorInputProducer.cc.

◆ egEtThreshold_

double l1t::BXVectorInputProducer::egEtThreshold_
private

Definition at line 95 of file BXVectorInputProducer.cc.

◆ egToken

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

Definition at line 104 of file BXVectorInputProducer.cc.

◆ emptyBxEvt_

int l1t::BXVectorInputProducer::emptyBxEvt_
private

Definition at line 100 of file BXVectorInputProducer.cc.

◆ emptyBxTrailer_

int l1t::BXVectorInputProducer::emptyBxTrailer_
private

Definition at line 99 of file BXVectorInputProducer.cc.

◆ etsumToken

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

Definition at line 109 of file BXVectorInputProducer.cc.

◆ etsumVec_bx0

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

Definition at line 140 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm1

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

Definition at line 139 of file BXVectorInputProducer.cc.

◆ etsumVec_bxm2

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

Definition at line 138 of file BXVectorInputProducer.cc.

◆ etsumVec_bxp1

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

Definition at line 141 of file BXVectorInputProducer.cc.

◆ eventCnt_

int l1t::BXVectorInputProducer::eventCnt_
private

Definition at line 101 of file BXVectorInputProducer.cc.

◆ jetEtThreshold_

double l1t::BXVectorInputProducer::jetEtThreshold_
private

Definition at line 93 of file BXVectorInputProducer.cc.

◆ jetToken

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

Definition at line 108 of file BXVectorInputProducer.cc.

◆ jetVec_bx0

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

Definition at line 135 of file BXVectorInputProducer.cc.

◆ jetVec_bxm1

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

Definition at line 134 of file BXVectorInputProducer.cc.

◆ jetVec_bxm2

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

Definition at line 133 of file BXVectorInputProducer.cc.

◆ jetVec_bxp1

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

Definition at line 136 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 90 of file BXVectorInputProducer.cc.

◆ maxNumJetCands_

unsigned int l1t::BXVectorInputProducer::maxNumJetCands_
private

Definition at line 89 of file BXVectorInputProducer.cc.

◆ maxNumMuCands_

unsigned int l1t::BXVectorInputProducer::maxNumMuCands_
private

Definition at line 87 of file BXVectorInputProducer.cc.

◆ maxNumMuShowerCands_

unsigned int l1t::BXVectorInputProducer::maxNumMuShowerCands_
private

Definition at line 88 of file BXVectorInputProducer.cc.

◆ maxNumTauCands_

unsigned int l1t::BXVectorInputProducer::maxNumTauCands_
private

Definition at line 91 of file BXVectorInputProducer.cc.

◆ muEtThreshold_

double l1t::BXVectorInputProducer::muEtThreshold_
private

Definition at line 96 of file BXVectorInputProducer.cc.

◆ muonShowerVec_bx0

std::vector<l1t::MuonShower> l1t::BXVectorInputProducer::muonShowerVec_bx0
private

Definition at line 120 of file BXVectorInputProducer.cc.

◆ muonShowerVec_bxm1

std::vector<l1t::MuonShower> l1t::BXVectorInputProducer::muonShowerVec_bxm1
private

Definition at line 119 of file BXVectorInputProducer.cc.

◆ muonShowerVec_bxm2

std::vector<l1t::MuonShower> l1t::BXVectorInputProducer::muonShowerVec_bxm2
private

Definition at line 118 of file BXVectorInputProducer.cc.

◆ muonShowerVec_bxp1

std::vector<l1t::MuonShower> l1t::BXVectorInputProducer::muonShowerVec_bxp1
private

Definition at line 121 of file BXVectorInputProducer.cc.

◆ muonVec_bx0

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

Definition at line 115 of file BXVectorInputProducer.cc.

◆ muonVec_bxm1

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

Definition at line 114 of file BXVectorInputProducer.cc.

◆ muonVec_bxm2

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

Definition at line 113 of file BXVectorInputProducer.cc.

◆ muonVec_bxp1

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

Definition at line 116 of file BXVectorInputProducer.cc.

◆ muShowerToken

edm::EDGetToken l1t::BXVectorInputProducer::muShowerToken
private

Definition at line 106 of file BXVectorInputProducer.cc.

◆ muToken

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

Definition at line 105 of file BXVectorInputProducer.cc.

◆ tauEtThreshold_

double l1t::BXVectorInputProducer::tauEtThreshold_
private

Definition at line 94 of file BXVectorInputProducer.cc.

◆ tauToken

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

Definition at line 107 of file BXVectorInputProducer.cc.

◆ tauVec_bx0

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

Definition at line 130 of file BXVectorInputProducer.cc.

◆ tauVec_bxm1

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

Definition at line 129 of file BXVectorInputProducer.cc.

◆ tauVec_bxm2

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

Definition at line 128 of file BXVectorInputProducer.cc.

◆ tauVec_bxp1

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

Definition at line 131 of file BXVectorInputProducer.cc.