CMS 3D CMS Logo

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

Public Member Functions

 GenToInputProducer (const ParameterSet &)
 
 ~GenToInputProducer () 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_
 
int emptyBxEvt_
 
int emptyBxTrailer_
 
std::vector< l1t::EtSumetsumVec_bx0
 
std::vector< l1t::EtSumetsumVec_bxm1
 
std::vector< l1t::EtSumetsumVec_bxm2
 
std::vector< l1t::EtSumetsumVec_bxp1
 
int eventCnt_
 
GlobalExtBlk extCond_bx0
 
GlobalExtBlk extCond_bxm1
 
GlobalExtBlk extCond_bxm2
 
GlobalExtBlk extCond_bxp1
 
edm::EDGetTokenT< reco::GenJetCollectiongenJetsToken
 
edm::EDGetTokenT< reco::GenMETCollectiongenMetToken
 
edm::EDGetTokenT< reco::GenParticleCollectiongenParticlesToken
 
TRandom3 * gRandom
 
double jetEtThreshold_
 
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
 
int maxNumEGCands_
 
int maxNumJetCands_
 
int maxNumMuCands_
 
int maxNumTauCands_
 
double muEtThreshold_
 
std::vector< l1t::MuonmuonVec_bx0
 
std::vector< l1t::MuonmuonVec_bxm1
 
std::vector< l1t::MuonmuonVec_bxm2
 
std::vector< l1t::MuonmuonVec_bxp1
 
double tauEtThreshold_
 
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 Input Collections for the GT from MC gen particles. Allows testing of emulation.

Author
: D. Puigh OSU

Modeled after FakeInputProducer.cc

features: R. Cavanaugh

Definition at line 63 of file GenToInputProducer.cc.

Constructor & Destructor Documentation

◆ GenToInputProducer()

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

Definition at line 149 of file GenToInputProducer.cc.

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

149  {
150  // register what you produce
151  produces<BXVector<l1t::EGamma>>();
152  produces<BXVector<l1t::Muon>>();
153  produces<BXVector<l1t::Tau>>();
154  produces<BXVector<l1t::Jet>>();
155  produces<BXVector<l1t::EtSum>>();
156  produces<GlobalExtBlkBxCollection>();
157 
158  // Setup parameters
159  bxFirst_ = iConfig.getParameter<int>("bxFirst");
160  bxLast_ = iConfig.getParameter<int>("bxLast");
161 
162  maxNumMuCands_ = iConfig.getParameter<int>("maxMuCand");
163  maxNumJetCands_ = iConfig.getParameter<int>("maxJetCand");
164  maxNumEGCands_ = iConfig.getParameter<int>("maxEGCand");
165  maxNumTauCands_ = iConfig.getParameter<int>("maxTauCand");
166 
167  jetEtThreshold_ = iConfig.getParameter<double>("jetEtThreshold");
168  tauEtThreshold_ = iConfig.getParameter<double>("tauEtThreshold");
169  egEtThreshold_ = iConfig.getParameter<double>("egEtThreshold");
170  muEtThreshold_ = iConfig.getParameter<double>("muEtThreshold");
171 
172  emptyBxTrailer_ = iConfig.getParameter<int>("emptyBxTrailer");
173  emptyBxEvt_ = iConfig.getParameter<int>("emptyBxEvt");
174 
175  genParticlesToken = consumes<reco::GenParticleCollection>(std::string("genParticles"));
176  genJetsToken = consumes<reco::GenJetCollection>(std::string("ak4GenJets"));
177  genMetToken = consumes<reco::GenMETCollection>(std::string("genMetCalo"));
178 
179  // set cache id to zero, will be set at first beginRun:
180  m_paramsCacheId = 0;
181  eventCnt_ = 0;
182  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
unsigned long long m_paramsCacheId
edm::EDGetTokenT< reco::GenJetCollection > genJetsToken
edm::EDGetTokenT< reco::GenMETCollection > genMetToken
edm::EDGetTokenT< reco::GenParticleCollection > genParticlesToken

◆ ~GenToInputProducer()

l1t::GenToInputProducer::~GenToInputProducer ( )
override

Definition at line 184 of file GenToInputProducer.cc.

184 {}

Member Function Documentation

◆ beginJob()

void l1t::GenToInputProducer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 778 of file GenToInputProducer.cc.

778 {}

◆ beginRun()

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

Reimplemented from edm::EDProducer.

Definition at line 785 of file GenToInputProducer.cc.

References LogDebug.

785  {
786  LogDebug("GtGenToInputProducer") << "GenToInputProducer::beginRun function called...\n";
787 
788  counter_ = 0;
789  srand(0);
790 
791  gRandom = new TRandom3();
792  }
#define LogDebug(id)

◆ convertEtaToHW()

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

Definition at line 809 of file GenToInputProducer.cc.

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

809  {
810  double binWidth = (maxEta - minEta) / steps;
811 
812  //if we are outside the limits, set error
813  if (ieta < minEta)
814  return 99999; //ieta = minEta+binWidth/2.;
815  if (ieta > maxEta)
816  return 99999; //ieta = maxEta-binWidth/2.;
817 
818  int binNum = (int)(ieta / binWidth);
819  if (ieta < 0.)
820  binNum--;
821 
822  // unsigned int hwEta = binNum & bitMask;
823  // Remove masking for BXVectors...only assume in raw data
824 
825  return binNum;
826  }
double maxEta

◆ convertPhiToHW()

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

Definition at line 798 of file GenToInputProducer.cc.

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

798  {
799  double phiMax = 2 * M_PI;
800  if (iphi < 0)
801  iphi += 2 * M_PI;
802  if (iphi > phiMax)
803  iphi -= phiMax;
804 
805  int hwPhi = int((iphi / phiMax) * steps + 0.00001);
806  return hwPhi;
807  }
#define M_PI

◆ convertPtToHW()

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

Definition at line 828 of file GenToInputProducer.cc.

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

828  {
829  int hwPt = int(ipt / step + 0.0001);
830  // if above max Pt, set to largest value
831  if (hwPt > maxPt)
832  hwPt = maxPt;
833 
834  return hwPt;
835  }
step
Definition: StallMonitor.cc:98

◆ endJob()

void l1t::GenToInputProducer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 781 of file GenToInputProducer.cc.

781 {}

◆ endRun()

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

Reimplemented from edm::EDProducer.

Definition at line 795 of file GenToInputProducer.cc.

795 {}

◆ fillDescriptions()

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

Definition at line 838 of file GenToInputProducer.cc.

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

838  {
839  //The following says we do not know what parameters are allowed so do no validation
840  // Please change this to state exactly what you do use, even if it is no parameters
842  desc.setUnknown();
843  descriptions.addDefault(desc);
844  }
void addDefault(ParameterSetDescription const &psetDescription)

◆ produce()

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

Implements edm::EDProducer.

Definition at line 191 of file GenToInputProducer.cc.

References funct::abs(), simCaloStage2Layer1Digis_cfi::bxFirst, simCaloStage2Layer1Digis_cfi::bxLast, ALCARECOTkAlJpsiMuMu_cff::charge, reco::Candidate::charge(), debug, HLT_2022v11_cff::dEta, HLT_2022v11_cff::dPhi, PVValHelper::eta, reco::Candidate::eta(), L1CaloJetHTTProducer_cfi::genJets, HepMCValidationHelper::genMet(), AJJGenJetFilter_cfi::genParticles, mps_fire::i, iEvent, createfilelist::int, objects.IsoTrackAnalyzer::isoSum, metsig::jet, singleTopDQM_cfi::jets, dqmdumpme::k, L1Analysis::kAsymEt, L1Analysis::kAsymEtHF, L1Analysis::kAsymHt, L1Analysis::kAsymHtHF, L1Analysis::kCentrality, L1Analysis::kMinBiasHFM0, L1Analysis::kMinBiasHFM1, L1Analysis::kMinBiasHFP0, L1Analysis::kMinBiasHFP1, L1Analysis::kMissingEt, L1Analysis::kMissingEtHF, L1Analysis::kMissingHt, L1Analysis::kMissingHtHF, L1Analysis::kTotalEt, L1Analysis::kTotalEtEm, L1Analysis::kTotalHt, L1Analysis::kTowerCount, LogDebug, LogTrace, eostools::move(), amptDefaultParameters_cff::mu, PDWG_BPHSkim_cff::muons, ecaldqm::nTowers, EgammaValidation_cff::pdgId, reco::Candidate::pdgId(), reco::Candidate::phi(), DiDispStaMuonMonitor_cfi::pt, reco::Candidate::pt(), GlobalExtBlk::reset(), GlobalExtBlk::setExternalDecision(), edm::shift, mps_update::status, reco::Candidate::status(), objects.METAnalyzer::sumEt, makeGlobalPositionRcd_cfg::tag, metsig::tau, and Tau3MuMonitor_cff::taus.

191  {
192  eventCnt_++;
193 
194  LogDebug("GtGenToInputProducer") << "GenToInputProducer::produce function called...\n";
195 
196  // Setup vectors
197  std::vector<l1t::Muon> muonVec;
198  std::vector<l1t::EGamma> egammaVec;
199  std::vector<l1t::Tau> tauVec;
200  std::vector<l1t::Jet> jetVec;
201  std::vector<l1t::EtSum> etsumVec;
202  GlobalExtBlk extCond_bx;
203 
204  // Set the range of BX....TO DO...move to Params or determine from param set.
205  int bxFirst = bxFirst_;
206  int bxLast = bxLast_;
207 
208  // Default values objects
209  double MaxLepPt_ = 255;
210  double MaxJetPt_ = 1023;
211  double MaxEt_ = 2047;
212 
213  double MaxCaloEta_ = 5.0;
214  double MaxMuonEta_ = 2.45;
215 
216  double PhiStepCalo_ = 144;
217  double PhiStepMuon_ = 576;
218 
219  // eta scale
220  double EtaStepCalo_ = 230;
221  double EtaStepMuon_ = 450;
222 
223  // Et scale (in GeV)
224  double PtStep_ = 0.5;
225 
226  //outputs
227  std::unique_ptr<l1t::EGammaBxCollection> egammas(new l1t::EGammaBxCollection(0, bxFirst, bxLast));
228  std::unique_ptr<l1t::MuonBxCollection> muons(new l1t::MuonBxCollection(0, bxFirst, bxLast));
229  std::unique_ptr<l1t::TauBxCollection> taus(new l1t::TauBxCollection(0, bxFirst, bxLast));
230  std::unique_ptr<l1t::JetBxCollection> jets(new l1t::JetBxCollection(0, bxFirst, bxLast));
231  std::unique_ptr<l1t::EtSumBxCollection> etsums(new l1t::EtSumBxCollection(0, bxFirst, bxLast));
232  std::unique_ptr<GlobalExtBlkBxCollection> extCond(new GlobalExtBlkBxCollection(0, bxFirst, bxLast));
233 
234  std::vector<int> mu_cands_index;
235  std::vector<int> eg_cands_index;
236  std::vector<int> tau_cands_index;
238  // Make sure that you can get genParticles
239  if (iEvent.getByToken(genParticlesToken, genParticles)) {
240  for (size_t k = 0; k < genParticles->size(); k++) {
241  const reco::Candidate& mcParticle = (*genParticles)[k];
242 
243  int status = mcParticle.status();
244  int pdgId = mcParticle.pdgId();
245  double pt = mcParticle.pt();
246 
247  // Only use status 1 particles (Tau's need to be allowed through..take status 2 taus)
248  if (status != 1 && !(abs(pdgId) == 15 && status == 2))
249  continue;
250 
251  int absId = abs(pdgId);
252 
253  if (absId == 11 && pt >= egEtThreshold_)
254  eg_cands_index.push_back(k);
255  else if (absId == 13 && pt >= muEtThreshold_)
256  mu_cands_index.push_back(k);
257  else if (absId == 15 && pt >= tauEtThreshold_)
258  tau_cands_index.push_back(k);
259  }
260  } else {
261  LogTrace("GtGenToInputProducer") << ">>> GenParticles collection not found!" << std::endl;
262  }
263 
264  // Muon Collection
265  int numMuCands = int(mu_cands_index.size());
266  Int_t idxMu[numMuCands];
267  double muPtSorted[numMuCands];
268  for (int iMu = 0; iMu < numMuCands; iMu++)
269  muPtSorted[iMu] = genParticles->at(mu_cands_index[iMu]).pt();
270 
271  TMath::Sort(numMuCands, muPtSorted, idxMu);
272  for (int iMu = 0; iMu < numMuCands; iMu++) {
273  if (iMu >= maxNumMuCands_)
274  continue;
275 
276  const reco::Candidate& mcParticle = (*genParticles)[mu_cands_index[idxMu[iMu]]];
277 
278  int pt = convertPtToHW(mcParticle.pt(), MaxLepPt_, PtStep_);
279  int eta = convertEtaToHW(mcParticle.eta(), -MaxMuonEta_, MaxMuonEta_, EtaStepMuon_);
280  int phi = convertPhiToHW(mcParticle.phi(), PhiStepMuon_);
281  int qual = gRandom->Integer(16); //4;
282  int iso = gRandom->Integer(4) % 2; //1;
283  int charge = (mcParticle.charge() < 0) ? 1 : 0;
284  int chargeValid = 1;
285  int tfMuIdx = 0;
286  int tag = 1;
287  bool debug = false;
288  int isoSum = 0;
289  int dPhi = 0;
290  int dEta = 0;
291  int rank = 0;
292  int hwEtaAtVtx = eta;
293  int hwPhiAtVtx = phi;
294  double etaAtVtx = 0.0;
295  double phiAtVtx = 0.0;
296  int hwPtUnconstrained =
297  convertPtToHW(mcParticle.pt(), MaxLepPt_, PtStep_) / 2; // word is 8 bits wide so divide 9 bit word by 2
298  double ptUnconstrained = 0.0;
299  int dXY = gRandom->Integer(4); // should be [0,3] = 2 bits
300 
301  // Eta outside of acceptance
302  if (eta >= 9999)
303  continue;
304 
305  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>* p4 =
306  new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>();
307 
308  l1t::Muon mu(*p4,
309  pt,
310  eta,
311  phi,
312  qual,
313  charge,
314  chargeValid,
315  iso,
316  tfMuIdx,
317  tag,
318  debug,
319  isoSum,
320  dPhi,
321  dEta,
322  rank,
323  hwEtaAtVtx,
324  hwPhiAtVtx,
325  etaAtVtx,
326  phiAtVtx,
327  hwPtUnconstrained,
328  ptUnconstrained,
329  dXY); // modified to conform to latest Muon.h interface
330  muonVec.push_back(mu);
331  }
332 
333  // EG Collection
334  int numEgCands = int(eg_cands_index.size());
335  Int_t idxEg[numEgCands];
336  double egPtSorted[numEgCands];
337  for (int iEg = 0; iEg < numEgCands; iEg++)
338  egPtSorted[iEg] = genParticles->at(eg_cands_index[iEg]).pt();
339 
340  TMath::Sort(numEgCands, egPtSorted, idxEg);
341  for (int iEg = 0; iEg < numEgCands; iEg++) {
342  if (iEg >= maxNumEGCands_)
343  continue;
344 
345  const reco::Candidate& mcParticle = (*genParticles)[eg_cands_index[idxEg[iEg]]];
346 
347  int pt = convertPtToHW(mcParticle.pt(), MaxLepPt_, PtStep_);
348  int eta = convertEtaToHW(mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_);
349  int phi = convertPhiToHW(mcParticle.phi(), PhiStepCalo_);
350  int qual = gRandom->Integer(2); // modified for LLP Jets
351  int iso = gRandom->Integer(4) % 2;
352 
353  // Eta outside of acceptance
354  if (eta >= 9999)
355  continue;
356 
357  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>* p4 =
358  new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>();
359 
360  l1t::EGamma eg(*p4, pt, eta, phi, qual, iso);
361  egammaVec.push_back(eg);
362  }
363 
364  // Tau Collection
365  int numTauCands = int(tau_cands_index.size());
366  Int_t idxTau[numTauCands];
367  double tauPtSorted[numTauCands];
368  for (int iTau = 0; iTau < numTauCands; iTau++)
369  tauPtSorted[iTau] = genParticles->at(tau_cands_index[iTau]).pt();
370 
371  TMath::Sort(numTauCands, tauPtSorted, idxTau);
372  for (int iTau = 0; iTau < numTauCands; iTau++) {
373  if (iTau >= maxNumTauCands_)
374  continue;
375 
376  const reco::Candidate& mcParticle = (*genParticles)[tau_cands_index[idxTau[iTau]]];
377 
378  int pt = convertPtToHW(mcParticle.pt(), MaxLepPt_, PtStep_);
379  int eta = convertEtaToHW(mcParticle.eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_);
380  int phi = convertPhiToHW(mcParticle.phi(), PhiStepCalo_);
381  int qual = gRandom->Integer(2); // modified for LLP Jets
382  int iso = gRandom->Integer(4) % 2;
383 
384  // Eta outside of acceptance
385  if (eta >= 9999)
386  continue;
387 
388  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>* p4 =
389  new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>();
390 
391  l1t::Tau tau(*p4, pt, eta, phi, qual, iso);
392  tauVec.push_back(tau);
393  }
394 
395  // Temporary hack to increase number of EGs and taus
396  int maxOtherEGs = 4;
397  int maxOtherTaus = 8;
398  int numCurrentEGs = int(egammaVec.size());
399  int numCurrentTaus = int(tauVec.size());
400 
401  int numExtraEGs = 0, numExtraTaus = 0;
402  // end hack
403 
404  // Use to sum the energy of the objects in the event for ETT and HTT
405  // sum all jets
406  double sumEt = 0;
407 
408  int nJet = 0;
410  // Make sure that you can get genJets
411  if (iEvent.getByToken(genJetsToken, genJets)) { // Jet Collection
412  for (reco::GenJetCollection::const_iterator genJet = genJets->begin(); genJet != genJets->end(); ++genJet) {
413  //Keep running sum of total Et
414  sumEt += genJet->et();
415 
416  // Apply pt and eta cut?
417  if (genJet->pt() < jetEtThreshold_)
418  continue;
419 
420  //
421  if (nJet >= maxNumJetCands_)
422  continue;
423  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>* p4 =
424  new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>();
425 
426  int pt = convertPtToHW(genJet->et(), MaxJetPt_, PtStep_);
427  int eta = convertEtaToHW(genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_);
428  int phi = convertPhiToHW(genJet->phi(), PhiStepCalo_);
429 
430  // Eta outside of acceptance
431  if (eta >= 9999)
432  continue;
433 
434  int qual = gRandom->Integer(2); // modified for LLP Jets
435 
436  l1t::Jet jet(*p4, pt, eta, phi, qual);
437  jetVec.push_back(jet);
438 
439  nJet++;
440 
441  // Temporary hack to increase number of EGs and taus
442  if ((numExtraEGs + numCurrentEGs) < maxNumEGCands_ && numExtraEGs < maxOtherEGs) {
443  numExtraEGs++;
444 
445  int EGpt = convertPtToHW(genJet->et(), MaxLepPt_, PtStep_);
446  int EGeta = convertEtaToHW(genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_);
447  int EGphi = convertPhiToHW(genJet->phi(), PhiStepCalo_);
448 
449  int EGqual = gRandom->Integer(2); // modified for LLP Jets
450  int EGiso = gRandom->Integer(4) % 2;
451 
452  l1t::EGamma eg(*p4, EGpt, EGeta, EGphi, EGqual, EGiso);
453  egammaVec.push_back(eg);
454  }
455 
456  if ((numExtraTaus + numCurrentTaus) < maxNumTauCands_ && numExtraTaus < maxOtherTaus) {
457  numExtraTaus++;
458 
459  int Taupt = convertPtToHW(genJet->et(), MaxLepPt_, PtStep_);
460  int Taueta = convertEtaToHW(genJet->eta(), -MaxCaloEta_, MaxCaloEta_, EtaStepCalo_);
461  int Tauphi = convertPhiToHW(genJet->phi(), PhiStepCalo_);
462  int Tauqual = gRandom->Integer(2); // modified for LLP Jets
463  int Tauiso = gRandom->Integer(4) % 2;
464 
465  l1t::Tau tau(*p4, Taupt, Taueta, Tauphi, Tauqual, Tauiso);
466  tauVec.push_back(tau);
467  }
468  // end hack
469  }
470  } else {
471  LogTrace("GtGenToInputProducer") << ">>> GenJets collection not found!" << std::endl;
472  }
473 
474  // Put the total Et into EtSums (Make HTT slightly smaller to tell them apart....not supposed to be realistic)
475  int pt = convertPtToHW(sumEt, 2047, PtStep_);
476  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>* p4 =
477  new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double>>();
478  l1t::EtSum etTotal(*p4, l1t::EtSum::EtSumType::kTotalEt, pt, 0, 0, 0);
479 
480  // Scale down ETTem as an estimate
481  pt = convertPtToHW(sumEt * 0.6, 2047, PtStep_);
482  l1t::EtSum etEmTotal(*p4, l1t::EtSum::EtSumType::kTotalEtEm, pt, 0, 0, 0);
483 
484  //ccla Generate uniform distribution of tower counts
485  int nTowers = 4095 * gRandom->Rndm();
486  l1t::EtSum towerCounts(*p4, l1t::EtSum::EtSumType::kTowerCount, nTowers, 0, 0, 0);
487 
488  //ccla Generate uniform distributions of AsymEt, AsymHt, AsymEtHF, AsymHtF
489  int nAsymEt = 255 * gRandom->Rndm();
490  l1t::EtSum AsymEt(*p4, l1t::EtSum::EtSumType::kAsymEt, nAsymEt, 0, 0, 0);
491  int nAsymHt = 255 * gRandom->Rndm();
492  l1t::EtSum AsymHt(*p4, l1t::EtSum::EtSumType::kAsymHt, nAsymHt, 0, 0, 0);
493  int nAsymEtHF = 255 * gRandom->Rndm();
494  l1t::EtSum AsymEtHF(*p4, l1t::EtSum::EtSumType::kAsymEtHF, nAsymEtHF, 0, 0, 0);
495  int nAsymHtHF = 255 * gRandom->Rndm();
496  l1t::EtSum AsymHtHF(*p4, l1t::EtSum::EtSumType::kAsymHtHF, nAsymHtHF, 0, 0, 0);
497 
498  pt = convertPtToHW(sumEt * 0.9, 2047, PtStep_);
499  l1t::EtSum htTotal(*p4, l1t::EtSum::EtSumType::kTotalHt, pt, 0, 0, 0);
500 
501  // Add EtSums for testing the MinBias Trigger (use some random numbers)
502  int hfP0val = gRandom->Poisson(4.);
503  if (hfP0val > 15)
504  hfP0val = 15;
505  l1t::EtSum hfP0(*p4, l1t::EtSum::EtSumType::kMinBiasHFP0, hfP0val, 0, 0, 0);
506 
507  int hfM0val = gRandom->Poisson(4.);
508  if (hfM0val > 15)
509  hfM0val = 15;
510  l1t::EtSum hfM0(*p4, l1t::EtSum::EtSumType::kMinBiasHFM0, hfM0val, 0, 0, 0);
511 
512  int hfP1val = gRandom->Poisson(4.);
513  if (hfP1val > 15)
514  hfP1val = 15;
515  l1t::EtSum hfP1(*p4, l1t::EtSum::EtSumType::kMinBiasHFP1, hfP1val, 0, 0, 0);
516 
517  int hfM1val = gRandom->Poisson(4.);
518  if (hfM1val > 15)
519  hfM1val = 15;
520  l1t::EtSum hfM1(*p4, l1t::EtSum::EtSumType::kMinBiasHFM1, hfM1val, 0, 0, 0);
521 
522  // Do same for Centrality
523  int cent30val(0), cent74val(0);
524  int centa = gRandom->Poisson(2.);
525  int centb = gRandom->Poisson(2.);
526  if (centa >= centb) {
527  cent30val = centa;
528  cent74val = centb;
529  } else {
530  cent30val = centb;
531  cent74val = centa;
532  }
533 
534  if (cent30val > 15)
535  cent30val = 15;
536  if (cent74val > 15)
537  cent74val = 15;
538 
539  int shift = 4;
540  int centralval = 0;
541  centralval |= cent30val & 0xF;
542  centralval |= (cent74val & 0xF) << shift;
543 
544  l1t::EtSum centrality(*p4, l1t::EtSum::EtSumType::kCentrality, centralval, 0, 0, 0);
545 
546  int mpt = 0;
547  int mphi = 0;
548  int mptHf = 0;
549  int mphiHf = 0;
550  int mhpt = 0;
551  int mhphi = 0;
552  int mhptHf = 0;
553  int mhphiHf = 0;
554 
556  // Make sure that you can get genMET
557  if (iEvent.getByToken(genMetToken, genMet)) {
558  mpt = convertPtToHW(genMet->front().pt(), MaxEt_, PtStep_);
559  mphi = convertPhiToHW(genMet->front().phi(), PhiStepCalo_);
560 
561  // Make Missing Et with HF slightly largeer and rotated (These are all fake inputs anyway...not supposed to be realistic)
562  mptHf = convertPtToHW(genMet->front().pt() * 1.1, MaxEt_, PtStep_);
563  mphiHf = convertPhiToHW(genMet->front().phi() + 3.14 / 7., PhiStepCalo_);
564 
565  // Make Missing Ht slightly smaller and rotated (These are all fake inputs anyway...not supposed to be realistic)
566  mhpt = convertPtToHW(genMet->front().pt() * 0.9, MaxEt_, PtStep_);
567  mhphi = convertPhiToHW(genMet->front().phi() + 3.14 / 5., PhiStepCalo_);
568 
569  // Ditto with Hissing Ht with HF
570  mhptHf = convertPtToHW(genMet->front().pt() * 0.95, MaxEt_, PtStep_);
571  mhphiHf = convertPhiToHW(genMet->front().phi() + 3.14 / 6., PhiStepCalo_);
572  } else {
573  LogTrace("GtGenToInputProducer") << ">>> GenMet collection not found!" << std::endl;
574  }
575 
576  // Missing Et and missing htt
577  l1t::EtSum etmiss(*p4, l1t::EtSum::EtSumType::kMissingEt, mpt, 0, mphi, 0);
578  l1t::EtSum etmissHF(*p4, l1t::EtSum::EtSumType::kMissingEtHF, mptHf, 0, mphiHf, 0);
579  l1t::EtSum htmiss(*p4, l1t::EtSum::EtSumType::kMissingHt, mhpt, 0, mhphi, 0);
580  l1t::EtSum htmissHF(*p4, l1t::EtSum::EtSumType::kMissingHtHF, mhptHf, 0, mhphiHf, 0);
581 
582  // Fill the EtSums in the Correct order
583  etsumVec.push_back(etTotal);
584  etsumVec.push_back(etEmTotal);
585  etsumVec.push_back(hfP0); // Frame0
586 
587  etsumVec.push_back(htTotal);
588  etsumVec.push_back(towerCounts);
589  etsumVec.push_back(hfM0); //Frame1
590 
591  etsumVec.push_back(etmiss);
592  etsumVec.push_back(AsymEt);
593  etsumVec.push_back(hfP1); //Frame2
594 
595  etsumVec.push_back(htmiss);
596  etsumVec.push_back(AsymHt);
597  etsumVec.push_back(hfM1); //Frame3
598 
599  etsumVec.push_back(etmissHF);
600  etsumVec.push_back(AsymEtHF); // Frame4
601 
602  etsumVec.push_back(htmissHF);
603  etsumVec.push_back(AsymHtHF);
604  etsumVec.push_back(centrality); // Frame5
605 
606  // Fill in some external conditions for testing
607  if ((iEvent.id().event()) % 2 == 0) {
608  for (int i = 0; i < 255; i = i + 2)
609  extCond_bx.setExternalDecision(i, true);
610  } else {
611  for (int i = 1; i < 255; i = i + 2)
612  extCond_bx.setExternalDecision(i, true);
613  }
614 
615  // Insert all the bx into the L1 Collections
616  //printf("Event %i EmptyBxEvt %i emptyBxTrailer %i diff %i \n",eventCnt_,emptyBxEvt_,emptyBxTrailer_,(emptyBxEvt_ - eventCnt_));
617 
618  // Fill Muons
619  for (int iMu = 0; iMu < int(muonVec_bxm2.size()); iMu++) {
620  muons->push_back(-2, muonVec_bxm2[iMu]);
621  }
622  for (int iMu = 0; iMu < int(muonVec_bxm1.size()); iMu++) {
623  muons->push_back(-1, muonVec_bxm1[iMu]);
624  }
625  for (int iMu = 0; iMu < int(muonVec_bx0.size()); iMu++) {
626  muons->push_back(0, muonVec_bx0[iMu]);
627  }
628  for (int iMu = 0; iMu < int(muonVec_bxp1.size()); iMu++) {
629  muons->push_back(1, muonVec_bxp1[iMu]);
630  }
632  for (int iMu = 0; iMu < int(muonVec.size()); iMu++) {
633  muons->push_back(2, muonVec[iMu]);
634  }
635  } else {
636  // this event is part of empty trailer...clear out data
637  muonVec.clear();
638  }
639 
640  // Fill Egammas
641  for (int iEG = 0; iEG < int(egammaVec_bxm2.size()); iEG++) {
642  egammas->push_back(-2, egammaVec_bxm2[iEG]);
643  }
644  for (int iEG = 0; iEG < int(egammaVec_bxm1.size()); iEG++) {
645  egammas->push_back(-1, egammaVec_bxm1[iEG]);
646  }
647  for (int iEG = 0; iEG < int(egammaVec_bx0.size()); iEG++) {
648  egammas->push_back(0, egammaVec_bx0[iEG]);
649  }
650  for (int iEG = 0; iEG < int(egammaVec_bxp1.size()); iEG++) {
651  egammas->push_back(1, egammaVec_bxp1[iEG]);
652  }
654  for (int iEG = 0; iEG < int(egammaVec.size()); iEG++) {
655  egammas->push_back(2, egammaVec[iEG]);
656  }
657  } else {
658  // this event is part of empty trailer...clear out data
659  egammaVec.clear();
660  }
661 
662  // Fill Taus
663  for (int iTau = 0; iTau < int(tauVec_bxm2.size()); iTau++) {
664  taus->push_back(-2, tauVec_bxm2[iTau]);
665  }
666  for (int iTau = 0; iTau < int(tauVec_bxm1.size()); iTau++) {
667  taus->push_back(-1, tauVec_bxm1[iTau]);
668  }
669  for (int iTau = 0; iTau < int(tauVec_bx0.size()); iTau++) {
670  taus->push_back(0, tauVec_bx0[iTau]);
671  }
672  for (int iTau = 0; iTau < int(tauVec_bxp1.size()); iTau++) {
673  taus->push_back(1, tauVec_bxp1[iTau]);
674  }
676  for (int iTau = 0; iTau < int(tauVec.size()); iTau++) {
677  taus->push_back(2, tauVec[iTau]);
678  }
679  } else {
680  // this event is part of empty trailer...clear out data
681  tauVec.clear();
682  }
683 
684  // Fill Jets
685  for (int iJet = 0; iJet < int(jetVec_bxm2.size()); iJet++) {
686  jets->push_back(-2, jetVec_bxm2[iJet]);
687  }
688  for (int iJet = 0; iJet < int(jetVec_bxm1.size()); iJet++) {
689  jets->push_back(-1, jetVec_bxm1[iJet]);
690  }
691  for (int iJet = 0; iJet < int(jetVec_bx0.size()); iJet++) {
692  jets->push_back(0, jetVec_bx0[iJet]);
693  }
694  for (int iJet = 0; iJet < int(jetVec_bxp1.size()); iJet++) {
695  jets->push_back(1, jetVec_bxp1[iJet]);
696  }
698  for (int iJet = 0; iJet < int(jetVec.size()); iJet++) {
699  jets->push_back(2, jetVec[iJet]);
700  }
701  } else {
702  // this event is part of empty trailer...clear out data
703  jetVec.clear();
704  }
705 
706  // Fill Etsums
707  for (int iETsum = 0; iETsum < int(etsumVec_bxm2.size()); iETsum++) {
708  etsums->push_back(-2, etsumVec_bxm2[iETsum]);
709  }
710  for (int iETsum = 0; iETsum < int(etsumVec_bxm1.size()); iETsum++) {
711  etsums->push_back(-1, etsumVec_bxm1[iETsum]);
712  }
713  for (int iETsum = 0; iETsum < int(etsumVec_bx0.size()); iETsum++) {
714  etsums->push_back(0, etsumVec_bx0[iETsum]);
715  }
716  for (int iETsum = 0; iETsum < int(etsumVec_bxp1.size()); iETsum++) {
717  etsums->push_back(1, etsumVec_bxp1[iETsum]);
718  }
720  for (int iETsum = 0; iETsum < int(etsumVec.size()); iETsum++) {
721  etsums->push_back(2, etsumVec[iETsum]);
722  }
723  } else {
724  // this event is part of empty trailer...clear out data
725  etsumVec.clear();
726  }
727 
728  // Fill Externals
729  extCond->push_back(-2, extCond_bxm2);
730  extCond->push_back(-1, extCond_bxm1);
731  extCond->push_back(0, extCond_bx0);
732  extCond->push_back(1, extCond_bxp1);
734  extCond->push_back(2, extCond_bx);
735  } else {
736  // this event is part of the empty trailer...clear out data
737  extCond_bx.reset();
738  }
739 
740  iEvent.put(std::move(egammas));
741  iEvent.put(std::move(muons));
742  iEvent.put(std::move(taus));
743  iEvent.put(std::move(jets));
744  iEvent.put(std::move(etsums));
745  iEvent.put(std::move(extCond));
746 
747  // Now shift the bx data by one to prepare for next event.
754 
761 
768 
769  muonVec_bxp1 = muonVec;
770  egammaVec_bxp1 = egammaVec;
771  tauVec_bxp1 = tauVec;
772  jetVec_bxp1 = jetVec;
773  etsumVec_bxp1 = etsumVec;
774  extCond_bxp1 = extCond_bx;
775  }
BXVector< GlobalExtBlk > GlobalExtBlkBxCollection
Definition: GlobalExtBlk.h:29
std::vector< l1t::EtSum > etsumVec_bxm1
void reset()
reset the content of a GlobalExtBlk
Definition: GlobalExtBlk.cc:58
std::vector< l1t::Muon > muonVec_bxm1
std::vector< l1t::EtSum > etsumVec_bx0
virtual double pt() const =0
transverse momentum
std::vector< l1t::Muon > muonVec_bxp1
virtual int status() const =0
status word
Definition: Tau.h:20
std::vector< l1t::Tau > tauVec_bx0
std::vector< l1t::Tau > tauVec_bxp1
std::vector< l1t::Tau > tauVec_bxm2
std::vector< l1t::Muon > muonVec_bxm2
std::vector< l1t::EtSum > etsumVec_bxp1
#define LogTrace(id)
std::vector< l1t::EGamma > egammaVec_bxm1
Definition: Jet.h:20
int convertPtToHW(double ipt, int maxPt, double step)
int iEvent
Definition: GenABIO.cc:224
std::vector< l1t::EGamma > egammaVec_bxm2
std::vector< l1t::EGamma > egammaVec_bxp1
edm::EDGetTokenT< reco::GenJetCollection > genJetsToken
std::vector< l1t::Muon > muonVec_bx0
std::vector< l1t::Tau > tauVec_bxm1
std::vector< l1t::Jet > jetVec_bxm1
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual int charge() const =0
electric charge
std::vector< l1t::Jet > jetVec_bxp1
std::vector< l1t::EGamma > egammaVec_bx0
void setExternalDecision(unsigned int bit, bool val)
Set decision bits.
Definition: GlobalExtBlk.cc:40
int convertPhiToHW(double iphi, int steps)
Definition: Muon.h:21
virtual int pdgId() const =0
PDG identifier.
#define debug
Definition: HDRShower.cc:19
TLorentzVector genMet(const HepMC::GenEvent *all, double etamin=-9999., double etamax=9999.)
int convertEtaToHW(double ieta, double minEta, double maxEta, int steps)
edm::EDGetTokenT< reco::GenMETCollection > genMetToken
static unsigned int const shift
edm::EDGetTokenT< reco::GenParticleCollection > genParticlesToken
isoSum
===> compute the isolation and find the most isolated track
std::vector< l1t::Jet > jetVec_bxm2
std::vector< l1t::EtSum > etsumVec_bxm2
def move(src, dest)
Definition: eostools.py:511
std::vector< l1t::Jet > jetVec_bx0
virtual double phi() const =0
momentum azimuthal angle
virtual double eta() const =0
momentum pseudorapidity
#define LogDebug(id)

Member Data Documentation

◆ bxFirst_

int l1t::GenToInputProducer::bxFirst_
private

Definition at line 90 of file GenToInputProducer.cc.

◆ bxLast_

int l1t::GenToInputProducer::bxLast_
private

Definition at line 91 of file GenToInputProducer.cc.

◆ counter_

int l1t::GenToInputProducer::counter_
private

Definition at line 113 of file GenToInputProducer.cc.

◆ egammaVec_bx0

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

Definition at line 122 of file GenToInputProducer.cc.

◆ egammaVec_bxm1

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

Definition at line 121 of file GenToInputProducer.cc.

◆ egammaVec_bxm2

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

Definition at line 120 of file GenToInputProducer.cc.

◆ egammaVec_bxp1

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

Definition at line 123 of file GenToInputProducer.cc.

◆ egEtThreshold_

double l1t::GenToInputProducer::egEtThreshold_
private

Definition at line 100 of file GenToInputProducer.cc.

◆ emptyBxEvt_

int l1t::GenToInputProducer::emptyBxEvt_
private

Definition at line 105 of file GenToInputProducer.cc.

◆ emptyBxTrailer_

int l1t::GenToInputProducer::emptyBxTrailer_
private

Definition at line 104 of file GenToInputProducer.cc.

◆ etsumVec_bx0

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

Definition at line 137 of file GenToInputProducer.cc.

◆ etsumVec_bxm1

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

Definition at line 136 of file GenToInputProducer.cc.

◆ etsumVec_bxm2

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

Definition at line 135 of file GenToInputProducer.cc.

◆ etsumVec_bxp1

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

Definition at line 138 of file GenToInputProducer.cc.

◆ eventCnt_

int l1t::GenToInputProducer::eventCnt_
private

Definition at line 106 of file GenToInputProducer.cc.

◆ extCond_bx0

GlobalExtBlk l1t::GenToInputProducer::extCond_bx0
private

Definition at line 142 of file GenToInputProducer.cc.

◆ extCond_bxm1

GlobalExtBlk l1t::GenToInputProducer::extCond_bxm1
private

Definition at line 141 of file GenToInputProducer.cc.

◆ extCond_bxm2

GlobalExtBlk l1t::GenToInputProducer::extCond_bxm2
private

Definition at line 140 of file GenToInputProducer.cc.

◆ extCond_bxp1

GlobalExtBlk l1t::GenToInputProducer::extCond_bxp1
private

Definition at line 143 of file GenToInputProducer.cc.

◆ genJetsToken

edm::EDGetTokenT<reco::GenJetCollection> l1t::GenToInputProducer::genJetsToken
private

Definition at line 110 of file GenToInputProducer.cc.

◆ genMetToken

edm::EDGetTokenT<reco::GenMETCollection> l1t::GenToInputProducer::genMetToken
private

Definition at line 111 of file GenToInputProducer.cc.

◆ genParticlesToken

edm::EDGetTokenT<reco::GenParticleCollection> l1t::GenToInputProducer::genParticlesToken
private

Definition at line 109 of file GenToInputProducer.cc.

◆ gRandom

TRandom3* l1t::GenToInputProducer::gRandom
private

Definition at line 87 of file GenToInputProducer.cc.

◆ jetEtThreshold_

double l1t::GenToInputProducer::jetEtThreshold_
private

Definition at line 98 of file GenToInputProducer.cc.

◆ jetVec_bx0

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

Definition at line 132 of file GenToInputProducer.cc.

◆ jetVec_bxm1

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

Definition at line 131 of file GenToInputProducer.cc.

◆ jetVec_bxm2

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

Definition at line 130 of file GenToInputProducer.cc.

◆ jetVec_bxp1

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

Definition at line 133 of file GenToInputProducer.cc.

◆ m_paramsCacheId

unsigned long long l1t::GenToInputProducer::m_paramsCacheId
private

Definition at line 82 of file GenToInputProducer.cc.

◆ maxNumEGCands_

int l1t::GenToInputProducer::maxNumEGCands_
private

Definition at line 95 of file GenToInputProducer.cc.

◆ maxNumJetCands_

int l1t::GenToInputProducer::maxNumJetCands_
private

Definition at line 94 of file GenToInputProducer.cc.

◆ maxNumMuCands_

int l1t::GenToInputProducer::maxNumMuCands_
private

Definition at line 93 of file GenToInputProducer.cc.

◆ maxNumTauCands_

int l1t::GenToInputProducer::maxNumTauCands_
private

Definition at line 96 of file GenToInputProducer.cc.

◆ muEtThreshold_

double l1t::GenToInputProducer::muEtThreshold_
private

Definition at line 101 of file GenToInputProducer.cc.

◆ muonVec_bx0

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

Definition at line 117 of file GenToInputProducer.cc.

◆ muonVec_bxm1

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

Definition at line 116 of file GenToInputProducer.cc.

◆ muonVec_bxm2

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

Definition at line 115 of file GenToInputProducer.cc.

◆ muonVec_bxp1

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

Definition at line 118 of file GenToInputProducer.cc.

◆ tauEtThreshold_

double l1t::GenToInputProducer::tauEtThreshold_
private

Definition at line 99 of file GenToInputProducer.cc.

◆ tauVec_bx0

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

Definition at line 127 of file GenToInputProducer.cc.

◆ tauVec_bxm1

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

Definition at line 126 of file GenToInputProducer.cc.

◆ tauVec_bxm2

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

Definition at line 125 of file GenToInputProducer.cc.

◆ tauVec_bxp1

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

Definition at line 128 of file GenToInputProducer.cc.