CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
l1t::stage2::CaloSetup Class Reference
Inheritance diagram for l1t::stage2::CaloSetup:
l1t::PackingSetup

Public Member Functions

virtual void fillDescription (edm::ParameterSetDescription &desc) override
 
virtual std::unique_ptr
< UnpackerCollections
getCollections (edm::Event &e) override
 
virtual PackerMap getPackers (int fed, unsigned int fw) override
 
virtual UnpackerMap getUnpackers (int fed, int board, int amc, unsigned int fw) override
 
virtual std::unique_ptr
< PackerTokens
registerConsumes (const edm::ParameterSet &cfg, edm::ConsumesCollector &cc) override
 
virtual void registerProducts (edm::stream::EDProducerBase &prod) override
 
- Public Member Functions inherited from l1t::PackingSetup
 PackingSetup ()
 

Detailed Description

Definition at line 13 of file CaloSetup.cc.

Member Function Documentation

virtual void l1t::stage2::CaloSetup::fillDescription ( edm::ParameterSetDescription desc)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 19 of file CaloSetup.cc.

19 {};
virtual std::unique_ptr<UnpackerCollections> l1t::stage2::CaloSetup::getCollections ( edm::Event e)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 49 of file CaloSetup.cc.

49  {
50  return std::unique_ptr<UnpackerCollections>(new CaloCollections(e));
51  };
virtual PackerMap l1t::stage2::CaloSetup::getPackers ( int  fed,
unsigned int  fw 
)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 21 of file CaloSetup.cc.

References l1t::PackerFactory::get(), and l1t::PackerFactory::make().

21  {
22  PackerMap res;
23 
24  if (fed == 1366) {
25  // Use board id 1 for packing
26  res[{1, 1}] = {
27  PackerFactory::get()->make("stage2::CaloTowerPacker"),
28  PackerFactory::get()->make("stage2::EGammaPacker"),
29  PackerFactory::get()->make("stage2::EtSumPacker"),
30  PackerFactory::get()->make("stage2::JetPacker"),
31  PackerFactory::get()->make("stage2::TauPacker")
32  };
33  }
34 
35  return res;
36  };
std::shared_ptr< Packer > make(const std::string &) const
Definition: Packer.cc:12
static const PackerFactory * get()
Definition: Packer.h:28
std::map< std::pair< int, int >, Packers > PackerMap
Definition: PackingSetup.h:25
virtual UnpackerMap l1t::stage2::CaloSetup::getUnpackers ( int  fed,
int  board,
int  amc,
unsigned int  fw 
)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 53 of file CaloSetup.cc.

References l1t::UnpackerFactory::get(), MainPageGenerator::link, and l1t::UnpackerFactory::make().

53  {
54  auto tower_unp = UnpackerFactory::get()->make("stage2::CaloTowerUnpacker");
55  auto egamma_unp = UnpackerFactory::get()->make("stage2::EGammaUnpacker");
56  auto etsum_unp = UnpackerFactory::get()->make("stage2::EtSumUnpacker");
57  auto jet_unp = UnpackerFactory::get()->make("stage2::JetUnpacker");
58  auto tau_unp = UnpackerFactory::get()->make("stage2::TauUnpacker");
59 
60  auto mp_unp = UnpackerFactory::get()->make("stage2::MPUnpacker");
61 
62  UnpackerMap res;
63  if (fed == 1366) {
64  res[13] = jet_unp;
65  res[15] = jet_unp;
66  res[21] = etsum_unp;
67  } else if (fed == 1360) {
68  res[1] = mp_unp;
69  res[3] = mp_unp;
70  res[5] = mp_unp;
71  res[7] = mp_unp;
72  res[9] = mp_unp;
73  res[11] = mp_unp;
74 
75  for (int link = 0; link < 144; link += 2)
76  res[link] = tower_unp;
77  }
78 
79  return res;
80  };
std::map< int, std::shared_ptr< Unpacker > > UnpackerMap
Definition: PackingSetup.h:27
std::shared_ptr< Unpacker > make(const std::string &) const
Definition: Unpacker.cc:19
static const UnpackerFactory * get()
Definition: Unpacker.h:23
virtual std::unique_ptr<PackerTokens> l1t::stage2::CaloSetup::registerConsumes ( const edm::ParameterSet cfg,
edm::ConsumesCollector cc 
)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 15 of file CaloSetup.cc.

15  {
16  return std::unique_ptr<PackerTokens>(new CaloTokens(cfg, cc));
17  };
virtual void l1t::stage2::CaloSetup::registerProducts ( edm::stream::EDProducerBase prod)
inlineoverridevirtual

Implements l1t::PackingSetup.

Definition at line 38 of file CaloSetup.cc.

38  {
39  prod.produces<CaloTowerBxCollection>();
40  prod.produces<EGammaBxCollection>();
41  prod.produces<EtSumBxCollection>();
42  prod.produces<JetBxCollection>();
43  prod.produces<TauBxCollection>();
44 
45  prod.produces<EtSumBxCollection>("MP");
46  prod.produces<JetBxCollection>("MP");
47  };
BXVector< EGamma > EGammaBxCollection
Definition: EGamma.h:11
BXVector< Tau > TauBxCollection
Definition: Tau.h:10
BXVector< EtSum > EtSumBxCollection
Definition: EtSum.h:10
BXVector< Jet > JetBxCollection
Definition: Jet.h:10
BXVector< CaloTower > CaloTowerBxCollection
Definition: CaloTower.h:10