CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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 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
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< B > consumes (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 () noexcept
 
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...
 
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 58 of file BXVectorInputProducer.cc.

Constructor & Destructor Documentation

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

Definition at line 139 of file BXVectorInputProducer.cc.

References L1NtupleEMU_cff::egToken, edm::ParameterSet::getParameter(), and L1NtupleEMU_cff::jetToken.

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  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
l1t::BXVectorInputProducer::~BXVectorInputProducer ( )
override

Definition at line 175 of file BXVectorInputProducer.cc.

175 {}

Member Function Documentation

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

Reimplemented from edm::EDProducer.

Definition at line 418 of file BXVectorInputProducer.cc.

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

Reimplemented from edm::EDProducer.

Definition at line 425 of file BXVectorInputProducer.cc.

References LogDebug.

425  {
426  LogDebug("l1t|Global") << "BXVectorInputProducer::beginRun function called...\n";
427 
428  counter_ = 0;
429  }
#define LogDebug(id)
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  }
double maxEta
int l1t::BXVectorInputProducer::convertPhiToHW ( double  iphi,
int  steps 
)
private

Definition at line 435 of file BXVectorInputProducer.cc.

References M_PI, and L1TMuonDQMOffline_cfi::phiMax.

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  }
#define M_PI
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  }
step
Definition: StallMonitor.cc:94
void l1t::BXVectorInputProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 421 of file BXVectorInputProducer.cc.

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

Reimplemented from edm::EDProducer.

Definition at line 432 of file BXVectorInputProducer.cc.

432 {}
void l1t::BXVectorInputProducer::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 475 of file BXVectorInputProducer.cc.

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

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  }
void addDefault(ParameterSetDescription const &psetDescription)
void l1t::BXVectorInputProducer::produce ( Event iEvent,
EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 182 of file BXVectorInputProducer.cc.

References makePileupJSON::bx, L1NtupleEMU_cff::egToken, edm::Event::getByToken(), HLT_FULL_cff::inputJets, metsig::jet, fwrapper::jets, L1NtupleEMU_cff::jetToken, LogDebug, LogTrace, eostools::move(), RPCpg::mu, patZpeak::muons, edm::Event::put(), metsig::tau, and runTauDisplay::taus.

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
225  Handle<BXVector<l1t::Muon>> inputMuons;
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  }
std::vector< l1t::Jet > jetVec_bxp1
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
std::vector< l1t::Muon > muonVec_bx0
std::vector< l1t::EGamma > egammaVec_bxm1
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
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::Jet > jetVec_bxm1
std::vector< l1t::Tau > tauVec_bxm1
std::vector< l1t::EtSum > etsumVec_bxm1
std::vector< l1t::Muon > muonVec_bxp1
std::vector< l1t::Tau > tauVec_bx0
vector< PseudoJet > jets
def move
Definition: eostools.py:511
std::vector< l1t::EGamma > egammaVec_bx0
const int mu
Definition: Constants.h:22
std::vector< l1t::EtSum > etsumVec_bxp1
std::vector< l1t::Muon > muonVec_bxm1
tuple muons
Definition: patZpeak.py:39
std::vector< l1t::Muon > muonVec_bxm2
std::vector< l1t::Tau > tauVec_bxp1
#define LogDebug(id)

Member Data Documentation

int l1t::BXVectorInputProducer::bxFirst_
private

Definition at line 83 of file BXVectorInputProducer.cc.

int l1t::BXVectorInputProducer::bxLast_
private

Definition at line 84 of file BXVectorInputProducer.cc.

int l1t::BXVectorInputProducer::counter_
private

Definition at line 108 of file BXVectorInputProducer.cc.

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

Definition at line 117 of file BXVectorInputProducer.cc.

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

Definition at line 116 of file BXVectorInputProducer.cc.

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

Definition at line 115 of file BXVectorInputProducer.cc.

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

Definition at line 118 of file BXVectorInputProducer.cc.

double l1t::BXVectorInputProducer::egEtThreshold_
private

Definition at line 93 of file BXVectorInputProducer.cc.

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

Definition at line 102 of file BXVectorInputProducer.cc.

int l1t::BXVectorInputProducer::emptyBxEvt_
private

Definition at line 98 of file BXVectorInputProducer.cc.

int l1t::BXVectorInputProducer::emptyBxTrailer_
private

Definition at line 97 of file BXVectorInputProducer.cc.

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

Definition at line 106 of file BXVectorInputProducer.cc.

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

Definition at line 132 of file BXVectorInputProducer.cc.

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

Definition at line 131 of file BXVectorInputProducer.cc.

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

Definition at line 130 of file BXVectorInputProducer.cc.

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

Definition at line 133 of file BXVectorInputProducer.cc.

int l1t::BXVectorInputProducer::eventCnt_
private

Definition at line 99 of file BXVectorInputProducer.cc.

double l1t::BXVectorInputProducer::jetEtThreshold_
private

Definition at line 91 of file BXVectorInputProducer.cc.

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

Definition at line 105 of file BXVectorInputProducer.cc.

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

Definition at line 127 of file BXVectorInputProducer.cc.

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

Definition at line 126 of file BXVectorInputProducer.cc.

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

Definition at line 125 of file BXVectorInputProducer.cc.

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

Definition at line 128 of file BXVectorInputProducer.cc.

unsigned long long l1t::BXVectorInputProducer::m_paramsCacheId
private

Definition at line 77 of file BXVectorInputProducer.cc.

unsigned int l1t::BXVectorInputProducer::maxNumEGCands_
private

Definition at line 88 of file BXVectorInputProducer.cc.

unsigned int l1t::BXVectorInputProducer::maxNumJetCands_
private

Definition at line 87 of file BXVectorInputProducer.cc.

unsigned int l1t::BXVectorInputProducer::maxNumMuCands_
private

Definition at line 86 of file BXVectorInputProducer.cc.

unsigned int l1t::BXVectorInputProducer::maxNumTauCands_
private

Definition at line 89 of file BXVectorInputProducer.cc.

double l1t::BXVectorInputProducer::muEtThreshold_
private

Definition at line 94 of file BXVectorInputProducer.cc.

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

Definition at line 112 of file BXVectorInputProducer.cc.

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

Definition at line 111 of file BXVectorInputProducer.cc.

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

Definition at line 110 of file BXVectorInputProducer.cc.

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

Definition at line 113 of file BXVectorInputProducer.cc.

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

Definition at line 103 of file BXVectorInputProducer.cc.

double l1t::BXVectorInputProducer::tauEtThreshold_
private

Definition at line 92 of file BXVectorInputProducer.cc.

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

Definition at line 104 of file BXVectorInputProducer.cc.

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

Definition at line 122 of file BXVectorInputProducer.cc.

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

Definition at line 121 of file BXVectorInputProducer.cc.

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

Definition at line 120 of file BXVectorInputProducer.cc.

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

Definition at line 123 of file BXVectorInputProducer.cc.