CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
L1TBasicDemo Class Reference
Inheritance diagram for L1TBasicDemo:
edm::global::EDAnalyzer<> edm::global::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 L1TBasicDemo (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::global::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
const EDAnalyzeroperator= (const EDAnalyzer &)=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::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () 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 &descriptions)
 
- Static Public Member Functions inherited from edm::global::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (edm::StreamID, edm::Event const &, edm::EventSetup const &) const override
 

Private Attributes

edm::EDGetTokenT< l1t::EGammaBxCollectionegToken_
 
edm::EDGetTokenT< l1t::JetBxCollectionjetToken_
 
edm::EDGetTokenT< l1t::MuonBxCollectionmuonToken_
 
edm::EDGetTokenT< l1t::EtSumBxCollectionsumToken_
 
edm::EDGetTokenT< l1t::TauBxCollectiontauToken_
 
int trigger_bx_only
 

Additional Inherited Members

- Public Types inherited from edm::global::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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 23 of file L1TBasicDemo.cc.

Constructor & Destructor Documentation

◆ L1TBasicDemo()

L1TBasicDemo::L1TBasicDemo ( const edm::ParameterSet iConfig)
explicit

Definition at line 42 of file L1TBasicDemo.cc.

References egToken_, edm::ParameterSet::getParameter(), jetToken_, muonToken_, sumToken_, tauToken_, and trigger_bx_only.

42  {
43  egToken_ = consumes<l1t::EGammaBxCollection>(iConfig.getParameter<edm::InputTag>("EgTag"));
44  tauToken_ = consumes<l1t::TauBxCollection>(iConfig.getParameter<edm::InputTag>("TauTag"));
45  jetToken_ = consumes<l1t::JetBxCollection>(iConfig.getParameter<edm::InputTag>("JetTag"));
46  sumToken_ = consumes<l1t::EtSumBxCollection>(iConfig.getParameter<edm::InputTag>("SumTag"));
47  muonToken_ = consumes<l1t::MuonBxCollection>(iConfig.getParameter<edm::InputTag>("MuonTag"));
48  trigger_bx_only = iConfig.getParameter<bool>("UseTriggerBxOnly");
49 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::EDGetTokenT< l1t::EtSumBxCollection > sumToken_
Definition: L1TBasicDemo.cc:36
edm::EDGetTokenT< l1t::TauBxCollection > tauToken_
Definition: L1TBasicDemo.cc:34
edm::EDGetTokenT< l1t::MuonBxCollection > muonToken_
Definition: L1TBasicDemo.cc:37
edm::EDGetTokenT< l1t::JetBxCollection > jetToken_
Definition: L1TBasicDemo.cc:35
edm::EDGetTokenT< l1t::EGammaBxCollection > egToken_
Definition: L1TBasicDemo.cc:33

Member Function Documentation

◆ analyze()

void L1TBasicDemo::analyze ( edm::StreamID  ,
edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
) const
overrideprivatevirtual

Implements edm::global::EDAnalyzerBase.

Definition at line 51 of file L1TBasicDemo.cc.

References BXVector< T >::begin(), gather_cfg::cout, egToken_, BXVector< T >::end(), BXVector< T >::getFirstBX(), BXVector< T >::getLastBX(), iEvent, edm::HandleBase::isValid(), metsig::jet, jetToken_, l1t::EtSumHelper::MissingEt(), l1t::EtSumHelper::MissingEtPhi(), l1t::EtSumHelper::MissingHt(), l1t::EtSumHelper::MissingHtPhi(), HLT_2023v12_cff::muon, muonToken_, sumToken_, metsig::tau, tauToken_, l1t::EtSumHelper::TotalEt(), l1t::EtSumHelper::TotalHt(), and trigger_bx_only.

51  {
52  cout << "INFO: dumping EGamma BX collection:\n";
54  iEvent.getByToken(egToken_, eg);
55  if (eg.isValid()) {
56  for (int ibx = eg->getFirstBX(); ibx <= eg->getLastBX(); ++ibx) {
57  if (trigger_bx_only && (ibx != 0))
58  continue;
59  for (auto it = eg->begin(ibx); it != eg->end(ibx); it++) {
60  if (it->et() == 0)
61  continue; // if you don't care about L1T candidates with zero ET.
62  cout << "bx: " << ibx << " et: " << it->et() << " eta: " << it->eta() << " phi: " << it->phi() << "\n";
63  }
64  }
65  } else {
66  edm::LogWarning("MissingProduct") << "L1Upgrade e-gamma bx collection not found." << std::endl;
67  }
68 
69  cout << "INFO: dumping Tau BX collection:\n";
71  iEvent.getByToken(tauToken_, tau);
72  if (tau.isValid()) {
73  for (int ibx = tau->getFirstBX(); ibx <= tau->getLastBX(); ++ibx) {
74  if (trigger_bx_only && (ibx != 0))
75  continue;
76  for (auto it = tau->begin(ibx); it != tau->end(ibx); it++) {
77  if (it->et() == 0)
78  continue; // if you don't care about L1T candidates with zero ET.
79  cout << "bx: " << ibx << " et: " << it->et() << " eta: " << it->eta() << " phi: " << it->phi() << "\n";
80  }
81  }
82  } else {
83  edm::LogWarning("MissingProduct") << "L1Upgrade tau bx collection not found." << std::endl;
84  }
85 
86  cout << "INFO: dumping Jet BX collection:\n";
88  iEvent.getByToken(jetToken_, jet);
89  if (jet.isValid()) {
90  for (int ibx = jet->getFirstBX(); ibx <= jet->getLastBX(); ++ibx) {
91  if (trigger_bx_only && (ibx != 0))
92  continue;
93  for (auto it = jet->begin(ibx); it != jet->end(ibx); it++) {
94  if (it->et() == 0)
95  continue; // if you don't care about L1T candidates with zero ET.
96  cout << "bx: " << ibx << " et: " << it->et() << " eta: " << it->eta() << " phi: " << it->phi() << "\n";
97  }
98  }
99  } else {
100  edm::LogWarning("MissingProduct") << "L1Upgrade jet bx collection not found." << std::endl;
101  }
102 
103  cout << "INFO: dumping EtSum BX collection:\n";
105  iEvent.getByToken(sumToken_, sum);
106  if (sum.isValid()) {
107  l1t::EtSumHelper hsum(sum);
108  cout << "met: " << hsum.MissingEt() << "\n";
109  cout << "met phi: " << hsum.MissingEtPhi() << "\n";
110  cout << "mht: " << hsum.MissingHt() << "\n";
111  cout << "mht phi: " << hsum.MissingHtPhi() << "\n";
112  cout << "sum et: " << hsum.TotalEt() << "\n";
113  cout << "sum ht: " << hsum.TotalHt() << "\n";
114  } else {
115  edm::LogWarning("MissingProduct") << "L1Upgrade sum bx collection not found." << std::endl;
116  }
117 
118  cout << "INFO: dumping Muon BX collection:\n";
120  iEvent.getByToken(muonToken_, muon);
121  if (muon.isValid()) {
122  for (int ibx = muon->getFirstBX(); ibx <= muon->getLastBX(); ++ibx) {
123  if (trigger_bx_only && (ibx != 0))
124  continue;
125  for (auto it = muon->begin(ibx); it != muon->end(ibx); it++) {
126  if (it->et() == 0)
127  continue; // if you don't care about L1T candidates with zero ET.
128  cout << "bx: " << ibx << " et: " << it->et() << " eta: " << it->eta() << " phi: " << it->phi() << "\n";
129  }
130  }
131  } else {
132  edm::LogWarning("MissingProduct") << "L1Upgrade muon bx collection not found." << std::endl;
133  }
134 }
int getLastBX() const
int getFirstBX() const
edm::EDGetTokenT< l1t::EtSumBxCollection > sumToken_
Definition: L1TBasicDemo.cc:36
const_iterator begin(int bx) const
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< l1t::TauBxCollection > tauToken_
Definition: L1TBasicDemo.cc:34
edm::EDGetTokenT< l1t::MuonBxCollection > muonToken_
Definition: L1TBasicDemo.cc:37
edm::EDGetTokenT< l1t::JetBxCollection > jetToken_
Definition: L1TBasicDemo.cc:35
edm::EDGetTokenT< l1t::EGammaBxCollection > egToken_
Definition: L1TBasicDemo.cc:33
bool isValid() const
Definition: HandleBase.h:70
const_iterator end(int bx) const
Log< level::Warning, false > LogWarning

◆ fillDescriptions()

void L1TBasicDemo::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 136 of file L1TBasicDemo.cc.

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

136  {
137  //The following says we do not know what parameters are allowed so do no validation
138  // Please change this to state exactly what you do use, even if it is no parameters
140  desc.setUnknown();
141  descriptions.addDefault(desc);
142 }
void addDefault(ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ egToken_

edm::EDGetTokenT<l1t::EGammaBxCollection> L1TBasicDemo::egToken_
private

Definition at line 33 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().

◆ jetToken_

edm::EDGetTokenT<l1t::JetBxCollection> L1TBasicDemo::jetToken_
private

Definition at line 35 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().

◆ muonToken_

edm::EDGetTokenT<l1t::MuonBxCollection> L1TBasicDemo::muonToken_
private

Definition at line 37 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().

◆ sumToken_

edm::EDGetTokenT<l1t::EtSumBxCollection> L1TBasicDemo::sumToken_
private

Definition at line 36 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().

◆ tauToken_

edm::EDGetTokenT<l1t::TauBxCollection> L1TBasicDemo::tauToken_
private

Definition at line 34 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().

◆ trigger_bx_only

int L1TBasicDemo::trigger_bx_only
private

Definition at line 39 of file L1TBasicDemo.cc.

Referenced by analyze(), and L1TBasicDemo().