CMS 3D CMS Logo

Namespaces | Classes | Functions
l1t::stage1 Namespace Reference

Namespaces

 legacy
 

Classes

class  CaloCollections
 
class  CaloSetup
 
class  CaloSpareHFPacker
 
class  CaloSpareHFUnpacker
 
class  CaloTokens
 
class  CentralJetPacker
 
class  CentralJetUnpackerLeft
 
class  CentralJetUnpackerRight
 
class  EtSumPacker
 
class  EtSumUnpacker
 
class  ForwardJetPacker
 
class  ForwardJetUnpackerLeft
 
class  ForwardJetUnpackerRight
 
class  HFRingPacker
 
class  HFRingUnpacker
 
class  IsoEGammaPacker
 
class  IsoEGammaUnpackerLeft
 
class  IsoEGammaUnpackerRight
 
class  IsoTauPacker
 
class  IsoTauUnpackerLeft
 
class  IsoTauUnpackerRight
 
class  MissEtPacker
 
class  MissEtUnpacker
 
class  MissHtPacker
 
class  MissHtUnpacker
 
class  NonIsoEGammaPacker
 
class  NonIsoEGammaUnpackerLeft
 
class  NonIsoEGammaUnpackerRight
 
class  RCTEmRegionPacker
 
class  RCTEmRegionUnpacker
 
class  TauPacker
 
class  TauUnpackerLeft
 
class  TauUnpackerRight
 

Functions

void unpack_em (const Block &block, UnpackerCollections *coll)
 
void unpack_region (const Block &block, UnpackerCollections *coll)
 

Function Documentation

void l1t::stage1::unpack_em ( const Block block,
UnpackerCollections coll 
)

Definition at line 27 of file RCTEmRegionUnpacker.cc.

References coll, l1t::PhysicsToBitConverter::Convert(), l1t::getBXRange(), l1t::BlockHeader::getID(), l1t::PhysicsToBitConverter::GetIECard(), l1t::PhysicsToBitConverter::GetIEEt(), l1t::PhysicsToBitConverter::GetIEReg(), l1t::rctDataBase::GetLinkRCT(), l1t::PhysicsToBitConverter::GetNECard(), l1t::PhysicsToBitConverter::GetNEEt(), l1t::PhysicsToBitConverter::GetNEReg(), l1t::BlockHeader::getSize(), l1t::Block::header(), mps_fire::i, createfilelist::int, LogDebug, l1t::Block::payload(), l1t::PhysicsToBitConverter::Set32bitWordLinkOdd(), and parallelization::uint().

Referenced by l1t::stage1::RCTEmRegionUnpacker::unpack().

28  {
29  int nBX, firstBX, lastBX;
30  nBX = int(ceil(block.header().getSize() / 6.));
31  getBXRange(nBX, firstBX, lastBX);
32 
33  auto resRCTEMCands_ = static_cast<CaloCollections*>(coll)->getCaloEmCands();
34 
35  // Initialise index
36  int unsigned i = 0;
37 
38  for (int bx=firstBX; bx<=lastBX; bx++){
39 
40  unsigned int crate;
41  bool even=false;
42 
43  std::vector <uint32_t> uint;
44  uint.reserve(6);
45 
46  PhysicsToBitConverter converter;
47  rctDataBase database;
48  int mp7link=(int)(block.header().getID()/2);
49  database.GetLinkRCT(mp7link,crate,even);
50 
51  uint.push_back(block.payload()[i++]);
52  uint.push_back(block.payload()[i++]);
53  uint.push_back(block.payload()[i++]);
54  uint.push_back(block.payload()[i++]);
55  uint.push_back(block.payload()[i++]);
56  uint.push_back(block.payload()[i++]);
57 
58  LogDebug("L1T")<<"--------------- mp7 link ="<<mp7link<<"RCT crate id="<<crate<<", RCT crate even="<<even<<std::endl;
59 
60  if(!even) {
61  for(int i=0;i<6;i++) converter.Set32bitWordLinkOdd(i,uint[i]);
62  converter.Convert();
63 
64  for(int j = 0; j < 4; j++) {
65 
66  unsigned int rank=(unsigned int)converter.GetNEEt(j);
67  unsigned int reg=(unsigned int)converter.GetNEReg(j);
68  unsigned int card=(unsigned int)converter.GetNECard(j);
69 
70  LogDebug("L1T")<<"UNPACKER, CRATE"<<crate<<"NON ISO em rank="<<rank<<", region="<<reg<<", card="<<card<<std::endl;
71 
72  L1CaloEmCand em = L1CaloEmCand(rank,reg,card,crate,false,j,bx);
73  resRCTEMCands_->push_back(em);
74  }
75 
76  for(int j = 0; j < 4; j++) {
77 
78  unsigned int rank=converter.GetIEEt(j);
79  unsigned int reg=converter.GetIEReg(j);
80  unsigned int card=converter.GetIECard(j);
81 
82  LogDebug("L1T")<<"UNPACKER, CRATE"<<crate<<"ISO em rank="<<rank<<", region="<<reg<<", card="<<card<<std::endl;
83  L1CaloEmCand em = L1CaloEmCand(rank,reg,card,crate,true,j,bx);
84  resRCTEMCands_->push_back(em);
85  }
86  }// end if odd
87  }// end of loop over BX
88  }
#define LogDebug(id)
void getBXRange(int nbx, int &first, int &last)
Level-1 Region Calorimeter Trigger EM candidate.
Definition: L1CaloEmCand.h:18
JetCorrectorParametersCollection coll
Definition: classes.h:10
def uint(string)
void l1t::stage1::unpack_region ( const Block block,
UnpackerCollections coll 
)

Definition at line 91 of file RCTEmRegionUnpacker.cc.

References electrons_cff::bool, coll, l1t::PhysicsToBitConverter::Convert(), l1t::getBXRange(), l1t::PhysicsToBitConverter::GetHFEt(), l1t::PhysicsToBitConverter::GetHFFg(), l1t::BlockHeader::getID(), l1t::rctDataBase::GetLinkRCT(), l1t::PhysicsToBitConverter::GetRCEt(), l1t::PhysicsToBitConverter::GetRCHad(), l1t::PhysicsToBitConverter::GetRCOf(), l1t::PhysicsToBitConverter::GetRCTau(), l1t::BlockHeader::getSize(), l1t::Block::header(), mps_fire::i, createfilelist::int, gen::k, LogDebug, l1t::Block::payload(), l1t::PhysicsToBitConverter::Set32bitWordLinkEven(), l1t::PhysicsToBitConverter::Set32bitWordLinkOdd(), L1CaloRegion::setBx(), and parallelization::uint().

Referenced by l1t::stage1::RCTEmRegionUnpacker::unpack().

92  {
93  int nBX, firstBX, lastBX;
94  nBX = int(ceil(block.header().getSize() / 6.));
95  getBXRange(nBX, firstBX, lastBX);
96 
97  auto resRCTRegions_ = static_cast<CaloCollections*>(coll)->getCaloRegions();
98 
99  // Initialise index
100  int unsigned i = 0;
101  std::vector <uint32_t> uint;
102  uint.reserve(6);
103 
104  for (int bx=firstBX; bx<=lastBX; bx++){
105 
106  unsigned int crate;
107  bool even=false;
108 
109  PhysicsToBitConverter converter;
110  rctDataBase database;
111  int mp7link=(int)(block.header().getID()/2);
112  database.GetLinkRCT(mp7link,crate,even);
113 
114  uint.push_back(block.payload()[i++]);
115  uint.push_back(block.payload()[i++]);
116  uint.push_back(block.payload()[i++]);
117  uint.push_back(block.payload()[i++]);
118  uint.push_back(block.payload()[i++]);
119  uint.push_back(block.payload()[i++]);
120 
121  LogDebug("L1T")<<"--------------- mp7 link ="<<mp7link<<"RCT crate id="<<crate<<", RCT crate even="<<even<<std::endl;
122 
123  if(!even) {
124 
125  for(int i=0;i<6;i++) converter.Set32bitWordLinkOdd(i,uint[i]);
126  converter.Convert();
127 
128  for(int j = 0; j < 8; j++) {
129 
130  unsigned int hfet=(unsigned int)converter.GetHFEt(j);
131  bool hfgrain=(bool)converter.GetHFFg(j);
132 
133  LogDebug("L1T")<<"UNPACKER, CRATE"<<crate<<"region="<<j<<", rgnEt="<<hfet<<std::endl;
134  L1CaloRegion rgn = L1CaloRegion(hfet,hfgrain,crate,j);
135  rgn.setBx(bx);
136  resRCTRegions_->push_back(rgn);
137  }
138  }// end if odd
139 
140 
141  else{
142 
143  for(int i=0;i<6;i++) converter.Set32bitWordLinkEven(i,uint[i]);
144  converter.Convert();
145 
146  for(int j = 0; j < 7; j++) {
147  for(int k = 0; k < 2; k++) {
148 
149  unsigned int RCet=(unsigned int)converter.GetRCEt(j,k);
150  bool overflow=(bool)converter.GetRCOf(j,k);
151  bool tauveto=(bool)converter.GetRCTau(j,k);
152  bool hadveto=(bool)converter.GetRCHad(j,k);
153  bool quiet=false; //to be fixed
154 
155  LogDebug("L1T")<<"UNPACKER, CRATE="<<crate<<",region="<<k<<", card="<<j<<", rgnEt="<<RCet<<", overflow="<<overflow<<", tauveto="<<tauveto<<", hadveto="<<hadveto<<std::endl;
156  L1CaloRegion rgn = L1CaloRegion(RCet,overflow,tauveto,hadveto,quiet,crate,j,k);
157  rgn.setBx(bx);
158  resRCTRegions_->push_back(rgn);
159  }
160  }
161  }// end if even
162  }// end of loop over BX
163  }
#define LogDebug(id)
void getBXRange(int nbx, int &first, int &last)
void setBx(int16_t bx)
set bx
int k[5][pyjets_maxn]
JetCorrectorParametersCollection coll
Definition: classes.h:10
def uint(string)
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:22