CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
l1t::L1GTProducer Class Reference
Inheritance diagram for l1t::L1GTProducer:
edm::global::EDProducer<> edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1GTProducer (const edm::ParameterSet &)
 
 ~L1GTProducer () override=default
 
- Public Member Functions inherited from edm::global::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () 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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &)
 
- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override
 
void produceCL2Electrons (edm::Event &event) const
 
void produceCL2EtSum (edm::Event &event) const
 
void produceCl2HtSum (edm::Event &event) const
 
void produceCL2Jets (edm::Event &event) const
 
void produceCL2Photons (edm::Event &event) const
 
void produceCL2Taus (edm::Event &event) const
 
void produceGMTSaDisplacedMuons (edm::Event &event) const
 
void produceGMTSaPromptMuons (edm::Event &event) const
 
void produceGMTTkMuons (edm::Event &event) const
 
void produceGTTDisplacedJets (edm::Event &event) const
 
void produceGTTPrimaryVert (edm::Event &event) const
 
void produceGTTPromptJets (edm::Event &event) const
 

Private Attributes

const edm::EDGetTokenT< TkElectronCollectioncl2ElectronToken_
 
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2EtSumToken_
 
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2HtSumToken_
 
const edm::EDGetTokenT< PFJetCollectioncl2JetToken_
 
const edm::EDGetTokenT< TkEmCollectioncl2PhotonToken_
 
const edm::EDGetTokenT< PFTauCollectioncl2TauToken_
 
const edm::EDGetTokenT< SAMuonCollectiongmtSaDisplacedMuonToken_
 
const edm::EDGetTokenT< SAMuonCollectiongmtSaPromptMuonToken_
 
const edm::EDGetTokenT< TrackerMuonCollectiongmtTkMuonToken_
 
const edm::EDGetTokenT< TkJetWordCollectiongttDisplacedJetToken_
 
const edm::EDGetTokenT< VertexWordCollectiongttPrimaryVertexToken_
 
const edm::EDGetTokenT< TkJetWordCollectiongttPromptJetToken_
 
const L1GTScales scales_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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 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

Definition at line 40 of file L1GTProducer.cc.

Constructor & Destructor Documentation

◆ L1GTProducer()

l1t::L1GTProducer::L1GTProducer ( const edm::ParameterSet config)
explicit

Definition at line 83 of file L1GTProducer.cc.

84  : scales_(config.getParameter<edm::ParameterSet>("scales")),
85  gttPromptJetToken_(consumes<TkJetWordCollection>(config.getParameter<edm::InputTag>("GTTPromptJets"))),
86  gttDisplacedJetToken_(consumes<TkJetWordCollection>(config.getParameter<edm::InputTag>("GTTDisplacedJets"))),
87  gttPrimaryVertexToken_(consumes<VertexWordCollection>(config.getParameter<edm::InputTag>("GTTPrimaryVert"))),
88  gmtSaPromptMuonToken_(consumes<SAMuonCollection>(config.getParameter<edm::InputTag>("GMTSaPromptMuons"))),
89  gmtSaDisplacedMuonToken_(consumes<SAMuonCollection>(config.getParameter<edm::InputTag>("GMTSaDisplacedMuons"))),
90  gmtTkMuonToken_(consumes<TrackerMuonCollection>(config.getParameter<edm::InputTag>("GMTTkMuons"))),
91  cl2JetToken_(consumes<PFJetCollection>(config.getParameter<edm::InputTag>("CL2Jets"))),
92  cl2PhotonToken_(consumes<TkEmCollection>(config.getParameter<edm::InputTag>("CL2Photons"))),
93  cl2ElectronToken_(consumes<TkElectronCollection>(config.getParameter<edm::InputTag>("CL2Electrons"))),
94  cl2TauToken_(consumes<PFTauCollection>(config.getParameter<edm::InputTag>("CL2Taus"))),
95  cl2EtSumToken_(consumes<std::vector<l1t::EtSum>>(config.getParameter<edm::InputTag>("CL2EtSum"))),
96  cl2HtSumToken_(consumes<std::vector<l1t::EtSum>>(config.getParameter<edm::InputTag>("CL2HtSum"))) {
97  produces<P2GTCandidateCollection>("GTTPromptJets");
98  produces<P2GTCandidateCollection>("GTTDisplacedJets");
99  produces<P2GTCandidateCollection>("GTTPrimaryVert");
100 
101  produces<P2GTCandidateCollection>("GMTSaPromptMuons");
102  produces<P2GTCandidateCollection>("GMTSaDisplacedMuons");
103  produces<P2GTCandidateCollection>("GMTTkMuons");
104 
105  produces<P2GTCandidateCollection>("CL2Jets");
106  produces<P2GTCandidateCollection>("CL2Photons");
107  produces<P2GTCandidateCollection>("CL2Electrons");
108  produces<P2GTCandidateCollection>("CL2Taus");
109  produces<P2GTCandidateCollection>("CL2EtSum");
110  produces<P2GTCandidateCollection>("CL2HtSum");
111  }
const edm::EDGetTokenT< VertexWordCollection > gttPrimaryVertexToken_
Definition: L1GTProducer.cc:69
const edm::EDGetTokenT< TkElectronCollection > cl2ElectronToken_
Definition: L1GTProducer.cc:77
const L1GTScales scales_
Definition: L1GTProducer.cc:65
const edm::EDGetTokenT< TkJetWordCollection > gttPromptJetToken_
Definition: L1GTProducer.cc:67
Definition: config.py:1
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2HtSumToken_
Definition: L1GTProducer.cc:80
const edm::EDGetTokenT< PFTauCollection > cl2TauToken_
Definition: L1GTProducer.cc:78
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EDGetTokenT< PFJetCollection > cl2JetToken_
Definition: L1GTProducer.cc:75
const edm::EDGetTokenT< TrackerMuonCollection > gmtTkMuonToken_
Definition: L1GTProducer.cc:73
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2EtSumToken_
Definition: L1GTProducer.cc:79
const edm::EDGetTokenT< SAMuonCollection > gmtSaDisplacedMuonToken_
Definition: L1GTProducer.cc:72
const edm::EDGetTokenT< SAMuonCollection > gmtSaPromptMuonToken_
Definition: L1GTProducer.cc:71
const edm::EDGetTokenT< TkEmCollection > cl2PhotonToken_
Definition: L1GTProducer.cc:76
const edm::EDGetTokenT< TkJetWordCollection > gttDisplacedJetToken_
Definition: L1GTProducer.cc:68

◆ ~L1GTProducer()

l1t::L1GTProducer::~L1GTProducer ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

void l1t::L1GTProducer::fillDescriptions ( edm::ConfigurationDescriptions description)
static

Definition at line 113 of file L1GTProducer.cc.

References submitPVResolutionJobs::desc, makeListRunsInFiles::description, and l1t::L1GTScales::fillPSetDescription().

113  {
115 
116  edm::ParameterSetDescription scalesDesc;
118  desc.add<edm::ParameterSetDescription>("scales", scalesDesc);
119 
120  desc.add<edm::InputTag>("GTTPromptJets");
121  desc.add<edm::InputTag>("GTTDisplacedJets");
122  desc.add<edm::InputTag>("GTTPrimaryVert");
123 
124  desc.add<edm::InputTag>("GMTSaPromptMuons");
125  desc.add<edm::InputTag>("GMTSaDisplacedMuons");
126  desc.add<edm::InputTag>("GMTTkMuons");
127 
128  desc.add<edm::InputTag>("CL2Jets");
129  desc.add<edm::InputTag>("CL2Photons");
130  desc.add<edm::InputTag>("CL2Electrons");
131  desc.add<edm::InputTag>("CL2Taus");
132  desc.add<edm::InputTag>("CL2EtSum");
133  desc.add<edm::InputTag>("CL2HtSum");
134 
135  description.addWithDefaultLabel(desc);
136  }
static void fillPSetDescription(edm::ParameterSetDescription &)
Definition: L1GTScales.cc:55

◆ produce()

void l1t::L1GTProducer::produce ( edm::StreamID  ,
edm::Event event,
const edm::EventSetup setup 
) const
overrideprivatevirtual

Implements edm::global::EDProducerBase.

Definition at line 418 of file L1GTProducer.cc.

References produceCL2Electrons(), produceCL2EtSum(), produceCl2HtSum(), produceCL2Jets(), produceCL2Photons(), produceCL2Taus(), produceGMTSaDisplacedMuons(), produceGMTSaPromptMuons(), produceGMTTkMuons(), produceGTTDisplacedJets(), produceGTTPrimaryVert(), and produceGTTPromptJets().

418  {
422 
426 
433  }
void produceGMTSaPromptMuons(edm::Event &event) const
void produceCL2Taus(edm::Event &event) const
void produceCL2Photons(edm::Event &event) const
void produceCL2Electrons(edm::Event &event) const
void produceGMTTkMuons(edm::Event &event) const
void produceGTTPromptJets(edm::Event &event) const
void produceCL2EtSum(edm::Event &event) const
void produceGTTDisplacedJets(edm::Event &event) const
void produceCl2HtSum(edm::Event &event) const
void produceGTTPrimaryVert(edm::Event &event) const
void produceCL2Jets(edm::Event &event) const
void produceGMTSaDisplacedMuons(edm::Event &event) const
Definition: event.py:1

◆ produceCL2Electrons()

void l1t::L1GTProducer::produceCL2Electrons ( edm::Event event) const
private

Definition at line 331 of file L1GTProducer.cc.

References l1gt::Electron::charge, l1t::P2GTCandidate::CL2Electrons, cl2ElectronToken_, universalConfigTemplate::collection, l1gt::ThreeVector::eta, l1t::P2GTCandidate::hwCharge_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwIso_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwQual_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, l1gt::Electron::isolation, eostools::move(), l1t::P2GTCandidate::objectType_, l1gt::ThreeVector::phi, l1gt::ThreeVector::pt, l1gt::Electron::quality, scales_, l1t::L1GTScales::to_chg(), l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), l1t::L1GTScales::to_z0(), l1gt::Electron::unpack_ap(), l1gt::Electron::v3, and l1gt::Electron::z0.

Referenced by produce().

331  {
332  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
334  for (size_t i = 0; i < collection.size() && i < 12; i++) {
335  l1gt::Electron gtElectron = l1gt::Electron::unpack_ap(const_cast<TkElectron &>(collection[i]).egBinaryWord<96>());
336  int hwZ0 = gtElectron.z0.V.to_int() << 7;
337  P2GTCandidate gtObj(scales_.to_chg(gtElectron.charge.V.to_int()),
339  scales_.to_eta(gtElectron.v3.eta.V.to_int()),
340  scales_.to_phi(gtElectron.v3.phi.V.to_int()),
341  0),
343  gtObj.hwPT_ = gtElectron.v3.pt.V.to_int();
344  gtObj.hwPhi_ = gtElectron.v3.phi.V.to_int();
345  gtObj.hwEta_ = gtElectron.v3.eta.V.to_int();
346  gtObj.hwZ0_ = hwZ0;
347  gtObj.hwIso_ = gtElectron.isolation.V.to_int();
348  gtObj.hwQual_ = gtElectron.quality.V.to_int();
349  gtObj.hwCharge_ = gtElectron.charge.V.to_int();
350  gtObj.objectType_ = P2GTCandidate::CL2Electrons;
351 
352  outputCollection->push_back(gtObj);
353  }
354  event.put(std::move(outputCollection), "CL2Electrons");
355  }
egquality_t quality
Definition: gt_datatypes.h:260
std::vector< TkElectron > TkElectronCollection
Definition: TkElectronFwd.h:16
const edm::EDGetTokenT< TkElectronCollection > cl2ElectronToken_
Definition: L1GTProducer.cc:77
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
int to_chg(int value) const
Definition: L1GTScales.h:60
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
ThreeVector v3
Definition: gt_datatypes.h:259
double to_pT(int value) const
Definition: L1GTScales.h:55
ap_uint< 1 > charge
Definition: gt_datatypes.h:261
static Electron unpack_ap(const ap_uint< BITWIDTH > &src)
Definition: gt_datatypes.h:290
def move(src, dest)
Definition: eostools.py:511

◆ produceCL2EtSum()

void l1t::L1GTProducer::produceCL2EtSum ( edm::Event event) const
private

Definition at line 382 of file L1GTProducer.cc.

References l1t::P2GTCandidate::CL2EtSum, cl2EtSumToken_, universalConfigTemplate::collection, l1gt::Scales::ETAPHI_LSB, l1t::P2GTCandidate::hwPT_, BTaggingMonitor_cfi::met, eostools::move(), scales_, l1t::L1GTScales::to_phi(), and l1t::L1GTScales::to_pT().

Referenced by produce().

382  {
383  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
384  const std::vector<EtSum> &collection = event.get(cl2EtSumToken_);
385  const EtSum &met = collection[0];
386 
387  l1gt::Sum sum{true /* valid */, met.pt(), met.phi() / l1gt::Scales::ETAPHI_LSB, 0 /* scalar sum */};
388 
389  P2GTCandidate gtObj(0,
391  scales_.to_pT(sum.vector_pt.V.to_int()), 0, scales_.to_phi(sum.vector_phi.V.to_int()), 0));
392  gtObj.hwPT_ = sum.vector_pt.V.to_int();
393  gtObj.hwPhi_ = sum.vector_phi.V.to_int();
394  gtObj.hwSca_sum_ = sum.scalar_pt.V.to_int();
395  gtObj.objectType_ = P2GTCandidate::CL2EtSum;
396 
397  outputCollection->push_back(gtObj);
398  event.put(std::move(outputCollection), "CL2EtSum");
399  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
Optional< int > hwPT_
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2EtSumToken_
Definition: L1GTProducer.cc:79
double to_pT(int value) const
Definition: L1GTScales.h:55
constexpr float ETAPHI_LSB
Definition: gt_datatypes.h:44
def move(src, dest)
Definition: eostools.py:511

◆ produceCl2HtSum()

void l1t::L1GTProducer::produceCl2HtSum ( edm::Event event) const
private

Definition at line 401 of file L1GTProducer.cc.

References l1t::P2GTCandidate::CL2HtSum, cl2HtSumToken_, universalConfigTemplate::collection, l1t::P2GTCandidate::hwPT_, eostools::move(), scales_, l1t::L1GTScales::to_phi(), and l1t::L1GTScales::to_pT().

Referenced by produce().

401  {
402  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
403  const std::vector<EtSum> &collection = event.get(cl2HtSumToken_);
404  const EtSum &ht = collection[0];
405  const EtSum &mht = collection[1];
406 
407  P2GTCandidate gtObj(
409  gtObj.hwPT_ = mht.hwPt();
410  gtObj.hwPhi_ = mht.hwPhi();
411  gtObj.hwSca_sum_ = ht.hwPt();
412  gtObj.objectType_ = P2GTCandidate::CL2HtSum;
413 
414  outputCollection->push_back(gtObj);
415  event.put(std::move(outputCollection), "CL2HtSum");
416  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
const edm::EDGetTokenT< std::vector< l1t::EtSum > > cl2HtSumToken_
Definition: L1GTProducer.cc:80
Optional< int > hwPT_
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceCL2Jets()

void l1t::L1GTProducer::produceCL2Jets ( edm::Event event) const
private

Definition at line 286 of file L1GTProducer.cc.

References l1t::P2GTCandidate::CL2Jets, cl2JetToken_, universalConfigTemplate::collection, l1t::gtJet, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), l1t::L1GTScales::to_z0(), and l1gt::Jet::unpack().

Referenced by produce().

286  {
287  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
288  const PFJetCollection &collection = event.get(cl2JetToken_);
289  for (size_t i = 0; i < collection.size() && i < 12; i++) {
290  l1gt::Jet gtJet = l1gt::Jet::unpack(collection[i].getHWJetGT());
291  int hwZ0 = gtJet.z0.V.to_int() << 7;
292  P2GTCandidate gtObj(0,
294  scales_.to_eta(gtJet.v3.eta.V.to_int()),
295  scales_.to_phi(gtJet.v3.phi.V.to_int()),
296  0),
298  gtObj.hwPT_ = gtJet.v3.pt.V.to_int();
299  gtObj.hwPhi_ = gtJet.v3.phi.V.to_int();
300  gtObj.hwEta_ = gtJet.v3.eta.V.to_int();
301  gtObj.hwZ0_ = hwZ0;
302  gtObj.objectType_ = P2GTCandidate::CL2Jets;
303 
304  outputCollection->push_back(gtObj);
305  }
306  event.put(std::move(outputCollection), "CL2Jets");
307  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
static Jet unpack(const std::array< uint64_t, 2 > &src)
Definition: gt_datatypes.h:125
std::vector< l1t::PFJet > PFJetCollection
Definition: PFJet.h:61
const edm::EDGetTokenT< PFJetCollection > cl2JetToken_
Definition: L1GTProducer.cc:75
double to_eta(int value) const
Definition: L1GTScales.h:57
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceCL2Photons()

void l1t::L1GTProducer::produceCL2Photons ( edm::Event event) const
private

Definition at line 309 of file L1GTProducer.cc.

References l1t::P2GTCandidate::CL2Photons, cl2PhotonToken_, universalConfigTemplate::collection, l1gt::ThreeVector::eta, l1t::P2GTCandidate::hwPT_, mps_fire::i, l1gt::Photon::isolation, eostools::move(), l1gt::ThreeVector::phi, l1gt::ThreeVector::pt, l1gt::Photon::quality, scales_, l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), l1gt::Photon::unpack_ap(), and l1gt::Photon::v3.

Referenced by produce().

309  {
310  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
311  const TkEmCollection &collection = event.get(cl2PhotonToken_);
312  for (size_t i = 0; i < collection.size() && i < 12; i++) {
313  l1gt::Photon gtPhoton = l1gt::Photon::unpack_ap(const_cast<TkEm &>(collection[i]).egBinaryWord<96>());
314  P2GTCandidate gtObj(0,
316  scales_.to_eta(gtPhoton.v3.eta.V.to_int()),
317  scales_.to_phi(gtPhoton.v3.phi.V.to_int()),
318  0));
319  gtObj.hwPT_ = gtPhoton.v3.pt.V.to_int();
320  gtObj.hwPhi_ = gtPhoton.v3.phi.V.to_int();
321  gtObj.hwEta_ = gtPhoton.v3.eta.V.to_int();
322  gtObj.hwIso_ = gtPhoton.isolation.V.to_int();
323  gtObj.hwQual_ = gtPhoton.quality.V.to_int();
324  gtObj.objectType_ = P2GTCandidate::CL2Photons;
325 
326  outputCollection->push_back(gtObj);
327  }
328  event.put(std::move(outputCollection), "CL2Photons");
329  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
std::vector< TkEm > TkEmCollection
Definition: TkEmFwd.h:17
double to_eta(int value) const
Definition: L1GTScales.h:57
Optional< int > hwPT_
static Photon unpack_ap(const ap_uint< BITWIDTH > &src)
Definition: gt_datatypes.h:336
double to_pT(int value) const
Definition: L1GTScales.h:55
ThreeVector v3
Definition: gt_datatypes.h:311
egquality_t quality
Definition: gt_datatypes.h:312
const edm::EDGetTokenT< TkEmCollection > cl2PhotonToken_
Definition: L1GTProducer.cc:76
def move(src, dest)
Definition: eostools.py:511

◆ produceCL2Taus()

void l1t::L1GTProducer::produceCL2Taus ( edm::Event event) const
private

Definition at line 357 of file L1GTProducer.cc.

References l1t::P2GTCandidate::CL2Taus, cl2TauToken_, universalConfigTemplate::collection, l1t::gtTau, l1t::P2GTCandidate::hwPT_, mps_fire::i, eostools::move(), scales_, l1t::L1GTScales::to_chg(), l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), and l1t::L1GTScales::to_pT().

Referenced by produce().

357  {
358  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
359  const PFTauCollection &collection = event.get(cl2TauToken_);
360  for (size_t i = 0; i < collection.size() && i < 12; i++) {
361  l1gt::Tau gtTau = collection[i].getHWTauGT();
362  P2GTCandidate gtObj(scales_.to_chg(gtTau.charge.V.to_int()),
364  scales_.to_eta(gtTau.v3.eta.V.to_int()),
365  scales_.to_phi(gtTau.v3.phi.V.to_int()),
366  0));
367  gtObj.hwPT_ = gtTau.v3.pt.V.to_int();
368  gtObj.hwPhi_ = gtTau.v3.phi.V.to_int();
369  gtObj.hwEta_ = gtTau.v3.eta.V.to_int();
370  gtObj.hwSeed_pT_ = gtTau.seed_pt.V.to_int();
371  gtObj.hwSeed_z0_ = gtTau.seed_z0.V.to_int();
372  gtObj.hwCharge_ = gtTau.charge.V.to_int();
373  gtObj.hwType_ = gtTau.type.V.to_int();
374  gtObj.hwIso_ = gtTau.isolation.V.to_int();
375  gtObj.objectType_ = P2GTCandidate::CL2Taus;
376 
377  outputCollection->push_back(gtObj);
378  }
379  event.put(std::move(outputCollection), "CL2Taus");
380  }
std::vector< l1t::PFTau > PFTauCollection
Definition: PFTau.h:93
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
int to_chg(int value) const
Definition: L1GTScales.h:60
const edm::EDGetTokenT< PFTauCollection > cl2TauToken_
Definition: L1GTProducer.cc:78
double to_eta(int value) const
Definition: L1GTScales.h:57
Optional< int > hwPT_
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceGMTSaDisplacedMuons()

void l1t::L1GTProducer::produceGMTSaDisplacedMuons ( edm::Event event) const
private

Definition at line 232 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GMTSaDisplacedMuons, gmtSaDisplacedMuonToken_, l1t::P2GTCandidate::hwCharge_, l1t::P2GTCandidate::hwD0_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwQual_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_chg(), l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), and l1t::L1GTScales::to_z0().

Referenced by produce().

232  {
233  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
235  for (size_t i = 0; i < collection.size() && i < 12; i++) {
236  const SAMuon &obj = collection[i];
237  int hwZ0 = obj.apZ0().to_int() << 12;
238  P2GTCandidate gtObj(scales_.to_chg(obj.apCharge().to_int()),
240  scales_.to_eta(obj.apEta().to_int()),
241  scales_.to_phi(obj.apPhi().to_int()),
242  0),
244  gtObj.hwPT_ = obj.apPt().to_int();
245  gtObj.hwPhi_ = obj.apPhi().to_int();
246  gtObj.hwEta_ = obj.apEta().to_int();
247  gtObj.hwZ0_ = hwZ0;
248  gtObj.hwQual_ = obj.apQual().to_int();
249  gtObj.hwCharge_ = obj.apCharge().to_int();
250  gtObj.hwD0_ = obj.apD0().to_int();
251  gtObj.objectType_ = P2GTCandidate::GMTSaDisplacedMuons;
252 
253  outputCollection->push_back(gtObj);
254  }
255  event.put(std::move(outputCollection), "GMTSaDisplacedMuons");
256  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
int to_chg(int value) const
Definition: L1GTScales.h:60
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
const edm::EDGetTokenT< SAMuonCollection > gmtSaDisplacedMuonToken_
Definition: L1GTProducer.cc:72
std::vector< SAMuon > SAMuonCollection
Definition: SAMuon.h:14
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceGMTSaPromptMuons()

void l1t::L1GTProducer::produceGMTSaPromptMuons ( edm::Event event) const
private

Definition at line 206 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GMTSaPromptMuons, gmtSaPromptMuonToken_, l1t::P2GTCandidate::hwCharge_, l1t::P2GTCandidate::hwD0_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwQual_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_chg(), l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), and l1t::L1GTScales::to_z0().

Referenced by produce().

206  {
207  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
209  for (size_t i = 0; i < collection.size() && i < 12; i++) {
210  const SAMuon &obj = collection[i];
211  int hwZ0 = obj.apZ0().to_int() << 12;
212  P2GTCandidate gtObj(scales_.to_chg(obj.apCharge().to_int()),
214  scales_.to_eta(obj.apEta().to_int()),
215  scales_.to_phi(obj.apPhi().to_int()),
216  0),
218  gtObj.hwPT_ = obj.apPt().to_int();
219  gtObj.hwPhi_ = obj.apPhi().to_int();
220  gtObj.hwEta_ = obj.apEta().to_int();
221  gtObj.hwZ0_ = hwZ0;
222  gtObj.hwQual_ = obj.apQual().to_int();
223  gtObj.hwCharge_ = obj.apCharge().to_int();
224  gtObj.hwD0_ = obj.apD0().to_int();
225  gtObj.objectType_ = P2GTCandidate::GMTSaPromptMuons;
226 
227  outputCollection->push_back(gtObj);
228  }
229  event.put(std::move(outputCollection), "GMTSaPromptMuons");
230  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
int to_chg(int value) const
Definition: L1GTScales.h:60
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
std::vector< SAMuon > SAMuonCollection
Definition: SAMuon.h:14
const edm::EDGetTokenT< SAMuonCollection > gmtSaPromptMuonToken_
Definition: L1GTProducer.cc:71
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceGMTTkMuons()

void l1t::L1GTProducer::produceGMTTkMuons ( edm::Event event) const
private

Definition at line 258 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GMTTkMuons, gmtTkMuonToken_, l1t::P2GTCandidate::hwBeta_, l1t::P2GTCandidate::hwCharge_, l1t::P2GTCandidate::hwD0_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwIso_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwQual_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_chg(), l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), and l1t::L1GTScales::to_z0().

Referenced by produce().

258  {
259  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
261  for (size_t i = 0; i < collection.size() && i < 12; i++) {
262  const TrackerMuon &obj = collection[i];
263  int hwZ0 = obj.apZ0().to_int() << 7;
264  P2GTCandidate gtObj(scales_.to_chg(obj.apCharge().to_int()),
266  scales_.to_eta(obj.apEta().to_int()),
267  scales_.to_phi(obj.apPhi().to_int()),
268  0),
270  gtObj.hwPT_ = obj.apPt().to_int();
271  gtObj.hwPhi_ = obj.apPhi().to_int();
272  gtObj.hwEta_ = obj.apEta().to_int();
273  gtObj.hwZ0_ = hwZ0;
274  gtObj.hwIso_ = obj.apIso().to_int();
275  gtObj.hwQual_ = obj.apQual().to_int();
276  gtObj.hwCharge_ = obj.apCharge().to_int();
277  gtObj.hwD0_ = obj.apD0().to_int();
278  gtObj.hwBeta_ = obj.apBeta().to_int();
279  gtObj.objectType_ = P2GTCandidate::GMTTkMuons;
280 
281  outputCollection->push_back(gtObj);
282  }
283  event.put(std::move(outputCollection), "GMTTkMuons");
284  }
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
int to_chg(int value) const
Definition: L1GTScales.h:60
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
const edm::EDGetTokenT< TrackerMuonCollection > gmtTkMuonToken_
Definition: L1GTProducer.cc:73
std::vector< TrackerMuon > TrackerMuonCollection
Definition: TrackerMuon.h:16
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

◆ produceGTTDisplacedJets()

void l1t::L1GTProducer::produceGTTDisplacedJets ( edm::Event event) const
private

Definition at line 182 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GTTDisplacedJets, gttDisplacedJetToken_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwNumber_of_tracks_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), and l1t::L1GTScales::to_z0().

Referenced by produce().

182  {
183  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
185  for (std::size_t i = 0; i < collection.size() && i < 12; i++) {
186  const TkJetWord &obj = collection[i];
187  int hwZ0 = obj.z0Word().V.to_int() << 7;
188  P2GTCandidate gtObj(0,
190  scales_.to_eta(obj.glbEtaWord().V.to_int()),
191  scales_.to_phi(obj.glbPhiWord().V.to_int()),
192  0),
194  gtObj.hwPT_ = obj.ptWord().V.to_int();
195  gtObj.hwPhi_ = obj.glbPhiWord().V.to_int();
196  gtObj.hwEta_ = obj.glbEtaWord().V.to_int();
197  gtObj.hwZ0_ = hwZ0;
198  gtObj.hwNumber_of_tracks_ = obj.ntWord().V.to_int();
199  gtObj.objectType_ = P2GTCandidate::GTTDisplacedJets;
200 
201  outputCollection->push_back(gtObj);
202  }
203  event.put(std::move(outputCollection), "GTTDisplacedJets");
204  }
std::vector< l1t::TkJetWord > TkJetWordCollection
Definition: TkJetWord.h:191
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
double to_phi(int value) const
Definition: L1GTScales.h:56
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511
const edm::EDGetTokenT< TkJetWordCollection > gttDisplacedJetToken_
Definition: L1GTProducer.cc:68

◆ produceGTTPrimaryVert()

void l1t::L1GTProducer::produceGTTPrimaryVert ( edm::Event event) const
private

Definition at line 138 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GTTPrimaryVert, gttPrimaryVertexToken_, l1t::P2GTCandidate::hwNumber_of_tracks_in_pv_, l1t::P2GTCandidate::hwNumber_of_tracks_not_in_pv_, l1t::P2GTCandidate::hwQual_, l1t::P2GTCandidate::hwSum_pT_pv_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, and l1t::L1GTScales::to_z0().

Referenced by produce().

138  {
139  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
141  for (std::size_t i = 0; i < collection.size() && i < 10; i++) {
142  const VertexWord &obj = collection[i];
143  int hwZ0 = obj.z0Word().V.to_int() * 5;
144  P2GTCandidate gtObj(
146  gtObj.hwZ0_ = hwZ0;
147  gtObj.hwQual_ = obj.qualityWord().V.to_int();
148  gtObj.hwSum_pT_pv_ = obj.multiplicityWord().V.to_int();
149  gtObj.hwNumber_of_tracks_in_pv_ = obj.multiplicityWord().V.to_int();
150  gtObj.hwNumber_of_tracks_not_in_pv_ = obj.inverseMultiplicityWord().V.to_int();
151  gtObj.objectType_ = P2GTCandidate::GTTPrimaryVert;
152 
153  outputCollection->push_back(gtObj);
154  }
155  event.put(std::move(outputCollection), "GTTPrimaryVert");
156  }
const edm::EDGetTokenT< VertexWordCollection > gttPrimaryVertexToken_
Definition: L1GTProducer.cc:69
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
std::vector< VertexWord > VertexWordCollection
Definition: VertexWord.h:197
def move(src, dest)
Definition: eostools.py:511

◆ produceGTTPromptJets()

void l1t::L1GTProducer::produceGTTPromptJets ( edm::Event event) const
private

Definition at line 158 of file L1GTProducer.cc.

References universalConfigTemplate::collection, l1t::P2GTCandidate::GTTPromptJets, gttPromptJetToken_, l1t::P2GTCandidate::hwEta_, l1t::P2GTCandidate::hwNumber_of_tracks_, l1t::P2GTCandidate::hwPhi_, l1t::P2GTCandidate::hwPT_, l1t::P2GTCandidate::hwZ0_, mps_fire::i, eostools::move(), getGTfromDQMFile::obj, l1t::P2GTCandidate::objectType_, scales_, l1t::L1GTScales::to_eta(), l1t::L1GTScales::to_phi(), l1t::L1GTScales::to_pT(), and l1t::L1GTScales::to_z0().

Referenced by produce().

158  {
159  std::unique_ptr<P2GTCandidateCollection> outputCollection = std::make_unique<P2GTCandidateCollection>();
161  for (std::size_t i = 0; i < collection.size() && i < 12; i++) {
162  const TkJetWord &obj = collection[i];
163  int hwZ0 = obj.z0Word().V.to_int() << 7;
164  P2GTCandidate gtObj(0,
166  scales_.to_eta(obj.glbEtaWord().V.to_int()),
167  scales_.to_phi(obj.glbPhiWord().V.to_int()),
168  0),
170  gtObj.hwPT_ = obj.ptWord().V.to_int();
171  gtObj.hwPhi_ = obj.glbPhiWord().V.to_int();
172  gtObj.hwEta_ = obj.glbEtaWord().V.to_int();
173  gtObj.hwZ0_ = hwZ0;
174  gtObj.hwNumber_of_tracks_ = obj.ntWord().V.to_int();
175  gtObj.objectType_ = P2GTCandidate::GTTPromptJets;
176 
177  outputCollection->push_back(gtObj);
178  }
179  event.put(std::move(outputCollection), "GTTPromptJets");
180  }
std::vector< l1t::TkJetWord > TkJetWordCollection
Definition: TkJetWord.h:191
const L1GTScales scales_
Definition: L1GTProducer.cc:65
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: ParticleState.h:29
const edm::EDGetTokenT< TkJetWordCollection > gttPromptJetToken_
Definition: L1GTProducer.cc:67
double to_phi(int value) const
Definition: L1GTScales.h:56
math::XYZPoint Point
point in the space
Definition: ParticleState.h:31
double to_z0(int value) const
Definition: L1GTScales.h:58
double to_eta(int value) const
Definition: L1GTScales.h:57
double to_pT(int value) const
Definition: L1GTScales.h:55
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ cl2ElectronToken_

const edm::EDGetTokenT<TkElectronCollection> l1t::L1GTProducer::cl2ElectronToken_
private

Definition at line 77 of file L1GTProducer.cc.

Referenced by produceCL2Electrons().

◆ cl2EtSumToken_

const edm::EDGetTokenT<std::vector<l1t::EtSum> > l1t::L1GTProducer::cl2EtSumToken_
private

Definition at line 79 of file L1GTProducer.cc.

Referenced by produceCL2EtSum().

◆ cl2HtSumToken_

const edm::EDGetTokenT<std::vector<l1t::EtSum> > l1t::L1GTProducer::cl2HtSumToken_
private

Definition at line 80 of file L1GTProducer.cc.

Referenced by produceCl2HtSum().

◆ cl2JetToken_

const edm::EDGetTokenT<PFJetCollection> l1t::L1GTProducer::cl2JetToken_
private

Definition at line 75 of file L1GTProducer.cc.

Referenced by produceCL2Jets().

◆ cl2PhotonToken_

const edm::EDGetTokenT<TkEmCollection> l1t::L1GTProducer::cl2PhotonToken_
private

Definition at line 76 of file L1GTProducer.cc.

Referenced by produceCL2Photons().

◆ cl2TauToken_

const edm::EDGetTokenT<PFTauCollection> l1t::L1GTProducer::cl2TauToken_
private

Definition at line 78 of file L1GTProducer.cc.

Referenced by produceCL2Taus().

◆ gmtSaDisplacedMuonToken_

const edm::EDGetTokenT<SAMuonCollection> l1t::L1GTProducer::gmtSaDisplacedMuonToken_
private

Definition at line 72 of file L1GTProducer.cc.

Referenced by produceGMTSaDisplacedMuons().

◆ gmtSaPromptMuonToken_

const edm::EDGetTokenT<SAMuonCollection> l1t::L1GTProducer::gmtSaPromptMuonToken_
private

Definition at line 71 of file L1GTProducer.cc.

Referenced by produceGMTSaPromptMuons().

◆ gmtTkMuonToken_

const edm::EDGetTokenT<TrackerMuonCollection> l1t::L1GTProducer::gmtTkMuonToken_
private

Definition at line 73 of file L1GTProducer.cc.

Referenced by produceGMTTkMuons().

◆ gttDisplacedJetToken_

const edm::EDGetTokenT<TkJetWordCollection> l1t::L1GTProducer::gttDisplacedJetToken_
private

Definition at line 68 of file L1GTProducer.cc.

Referenced by produceGTTDisplacedJets().

◆ gttPrimaryVertexToken_

const edm::EDGetTokenT<VertexWordCollection> l1t::L1GTProducer::gttPrimaryVertexToken_
private

Definition at line 69 of file L1GTProducer.cc.

Referenced by produceGTTPrimaryVert().

◆ gttPromptJetToken_

const edm::EDGetTokenT<TkJetWordCollection> l1t::L1GTProducer::gttPromptJetToken_
private

Definition at line 67 of file L1GTProducer.cc.

Referenced by produceGTTPromptJets().

◆ scales_

const L1GTScales l1t::L1GTProducer::scales_
private