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::TauPacker Class Reference
Inheritance diagram for l1t::stage2::TauPacker:
l1t::Packer

Public Member Functions

virtual Blocks pack (const edm::Event &, const PackerTokens *) override
 

Detailed Description

Definition at line 9 of file TauPacker.cc.

Member Function Documentation

Blocks l1t::stage2::TauPacker::pack ( const edm::Event event,
const PackerTokens toks 
)
overridevirtual

Implements l1t::Packer.

Definition at line 21 of file TauPacker.cc.

References funct::abs(), i, j, svgfig::load(), min(), and gen::n.

Referenced by pyrootRender.interactiveRender::draw().

22  {
24  event.getByToken(static_cast<const CaloTokens*>(toks)->getTauToken(), taus);
25 
26  std::vector<uint32_t> load;
27 
28  for (int i = taus->getFirstBX(); i <= taus->getLastBX(); ++i) {
29  int n = 0;
30  for (auto j = taus->begin(i); j != taus->end(i) && n < 8; ++j, ++n) {
31  uint32_t word = \
32  std::min(j->hwPt(), 0x1FF) |
33  (abs(j->hwEta()) & 0x7F) << 9 |
34  ((j->hwEta() < 0) & 0x1) << 16 |
35  (j->hwPhi() & 0xFF) << 17 |
36  (j->hwIso() & 0x1) << 25 |
37  (j->hwQual() & 0x7) << 26;
38  load.push_back(word);
39  }
40 
41  // pad for empty taus
42  for (; n < 8; ++n)
43  load.push_back(0);
44  }
45 
46  return {Block(7, load)};
47  }
int i
Definition: DBlmapReader.cc:9
def load
Definition: svgfig.py:546
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int j
Definition: DBlmapReader.cc:9
T min(T a, T b)
Definition: MathUtil.h:58