13 std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->
getRecords();
14 std::vector<L1MuGMTReadoutRecord>::const_iterator igmtrr;
15 for (igmtrr = gmt_records.begin(); igmtrr != gmt_records.end(); igmtrr++) {
16 std::vector<L1MuRegionalCand>::const_iterator iter1;
17 std::vector<L1MuRegionalCand> rmc;
19 if (igmtrr->getBxInEvent() == 0) {
20 gmt_.EvBx = igmtrr->getBxNr();
28 rmc = igmtrr->getDTBXCands();
29 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
30 if ((
unsigned)gmt_.Ndt < maxDTBX && !(*iter1).empty()) {
31 gmt_.Bxdt.push_back((*iter1).bx());
33 gmt_.Etadt.push_back(
float((*iter1).etaValue()));
34 gmt_.Phidt.push_back(
float((*iter1).phiValue()));
35 gmt_.Ptdt.push_back(
float((*iter1).ptValue()));
37 gmt_.Etadt.push_back(
float((*iter1).eta_packed()));
38 gmt_.Phidt.push_back(
float((*iter1).phi_packed()));
39 gmt_.Ptdt.push_back(
float((*iter1).pt_packed()));
41 gmt_.Chadt.push_back((*iter1).chargeValue());
42 if (!(*iter1).chargeValid())
43 gmt_.Chadt.push_back(0);
44 gmt_.FineEtadt.push_back((*iter1).isFineHalo());
45 gmt_.Qualdt.push_back((*iter1).quality());
46 gmt_.Dwdt.push_back((*iter1).getDataWord());
47 gmt_.Chdt.push_back(iidt);
58 rmc = igmtrr->getCSCCands();
59 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
60 if ((
unsigned)gmt_.Ncsc < maxCSC && !(*iter1).empty()) {
61 gmt_.Bxcsc.push_back((*iter1).bx());
63 gmt_.Etacsc.push_back((*iter1).etaValue());
64 gmt_.Phicsc.push_back((*iter1).phiValue());
65 gmt_.Ptcsc.push_back((*iter1).ptValue());
67 gmt_.Etacsc.push_back((*iter1).eta_packed());
68 gmt_.Phicsc.push_back((*iter1).phi_packed());
69 gmt_.Ptcsc.push_back((*iter1).pt_packed());
71 gmt_.Chacsc.push_back((*iter1).chargeValue());
72 if (!(*iter1).chargeValid())
73 gmt_.Chacsc.push_back(0);
74 gmt_.Qualcsc.push_back((*iter1).quality());
75 gmt_.Dwcsc.push_back((*iter1).getDataWord());
85 rmc = igmtrr->getBrlRPCCands();
86 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
87 if ((
unsigned)gmt_.Nrpcb < maxRPC && !(*iter1).empty()) {
88 gmt_.Bxrpcb.push_back((*iter1).bx());
90 gmt_.Etarpcb.push_back((*iter1).etaValue());
91 gmt_.Phirpcb.push_back((*iter1).phiValue());
92 gmt_.Ptrpcb.push_back((*iter1).ptValue());
94 gmt_.Etarpcb.push_back((*iter1).eta_packed());
95 gmt_.Phirpcb.push_back((*iter1).phi_packed());
96 gmt_.Ptrpcb.push_back((*iter1).pt_packed());
98 gmt_.Charpcb.push_back((*iter1).chargeValue());
99 if (!(*iter1).chargeValid())
100 gmt_.Charpcb.push_back(0);
101 gmt_.Qualrpcb.push_back((*iter1).quality());
102 gmt_.Dwrpcb.push_back((*iter1).getDataWord());
112 rmc = igmtrr->getFwdRPCCands();
113 for (iter1 = rmc.begin(); iter1 != rmc.end(); iter1++) {
114 if ((
unsigned)gmt_.Nrpcf < maxRPC && !(*iter1).empty()) {
115 gmt_.Bxrpcf.push_back((*iter1).bx());
117 gmt_.Etarpcf.push_back((*iter1).etaValue());
118 gmt_.Phirpcf.push_back((*iter1).phiValue());
119 gmt_.Ptrpcf.push_back((*iter1).ptValue());
121 gmt_.Etarpcf.push_back((*iter1).eta_packed());
122 gmt_.Phirpcf.push_back((*iter1).phi_packed());
123 gmt_.Ptrpcf.push_back((*iter1).pt_packed());
125 gmt_.Charpcf.push_back((*iter1).chargeValue());
126 if (!(*iter1).chargeValid())
127 gmt_.Charpcf.push_back(0);
128 gmt_.Qualrpcf.push_back((*iter1).quality());
129 gmt_.Dwrpcf.push_back((*iter1).getDataWord());
139 std::vector<L1MuGMTExtendedCand>::const_iterator gmt_iter;
140 std::vector<L1MuGMTExtendedCand> exc = igmtrr->getGMTCands();
141 for (gmt_iter = exc.begin(); gmt_iter != exc.end(); gmt_iter++) {
142 if ((
unsigned)gmt_.N < maxGMT && !(*gmt_iter).empty()) {
143 gmt_.CandBx.push_back((*gmt_iter).bx());
145 gmt_.Eta.push_back((*gmt_iter).etaValue());
146 gmt_.Phi.push_back((*gmt_iter).phiValue());
147 gmt_.Pt.push_back((*gmt_iter).ptValue());
149 gmt_.Eta.push_back((*gmt_iter).etaIndex());
150 gmt_.Phi.push_back((*gmt_iter).phiIndex());
151 gmt_.Pt.push_back((*gmt_iter).ptIndex());
153 gmt_.Cha.push_back((*gmt_iter).charge());
154 if (!(*gmt_iter).charge_valid())
155 gmt_.Cha.push_back(0);
156 gmt_.Qual.push_back((*gmt_iter).quality());
157 gmt_.Det.push_back((*gmt_iter).detector());
158 gmt_.Rank.push_back((*gmt_iter).rank());
159 gmt_.Isol.push_back((*gmt_iter).isol());
160 gmt_.Mip.push_back((*gmt_iter).mip());
161 gmt_.Dw.push_back((*gmt_iter).getDataWord());
163 gmt_.IdxRPCb.push_back(-1);
164 gmt_.IdxRPCf.push_back(-1);
165 gmt_.IdxDTBX.push_back(-1);
166 gmt_.IdxCSC.push_back(-1);
168 if ((*gmt_iter).isMatchedCand() || (*gmt_iter).isRPC()) {
169 if ((*gmt_iter).isFwd()) {
170 gmt_.IdxRPCf.back() = (*gmt_iter).getRPCIndex();
172 gmt_.IdxRPCb.back() = (*gmt_iter).getRPCIndex();
176 if ((*gmt_iter).isMatchedCand() || (!(*gmt_iter).isRPC())) {
177 if ((*gmt_iter).isFwd()) {
178 gmt_.IdxCSC.back() = (*gmt_iter).getDTCSCIndex();
180 gmt_.IdxDTBX.back() = (*gmt_iter).getDTCSCIndex();
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
void Set(const L1MuGMTReadoutCollection *gmtrc, unsigned maxDTBX, unsigned maxCSC, unsigned maxRPC, unsigned maxGMT, bool physVal)