37 unsigned int aSector = 99;
42 edm::LogError(
"Critical OMTFinputMaker") <<
"PROBLEM: hit in unknown Det, detID: " << detId.
det() << std::endl;
119 if (aMax > aMin && aSector >= aMin && aSector <= aMax)
121 if (aMax < aMin && (aSector >= aMin || aSector <= aMax))
129 unsigned int iInput = 99;
130 unsigned int aSector = 99;
133 int nInputsPerSector = 2;
137 edm::LogError(
"Critical OMTFinputMaker") <<
"PROBLEM: hit in unknown Det, detID: " << detId.
det() << std::endl;
142 nInputsPerSector = 4;
146 if (iProcessor == 5 && aSector < 3)
157 nInputsPerSector = 2;
168 if (iProcessor == 5 && aSector < 5)
178 if (iProcessor == 5 && aSector < 3)
188 if (iProcessor == 5 && aSector < 5)
195 if (iProcessor == 5 && aSector < 3)
203 iInput = (aSector - aMin) * nInputsPerSector;
213 unsigned int iProcessor,
221 DTChamberId detid(digiIt.whNum(), digiIt.stNum(), digiIt.scNum() + 1);
234 if (digiIt.bxNum() != bxTrg)
238 if (digiIt.code() != 4 && digiIt.code() != 5 && digiIt.code() != 6)
241 if (digiIt.code() != 2 && digiIt.code() != 3 && digiIt.code() != 4 && digiIt.code() != 5 && digiIt.code() != 6)
250 unsigned int iLayer = iter->second;
254 bool allowOverwrite =
false;
255 result.
addLayerHit(iLayer, iInput, iPhi, iEta, allowOverwrite);
256 result.
addLayerHit(iLayer + 1, iInput, digiIt.phiB(), iEta, allowOverwrite);
264 unsigned int iProcessor,
271 auto chamber = cscDigis->begin();
272 auto chend = cscDigis->end();
274 unsigned int rawid = (*chamber).first;
278 auto digi = (*chamber).second.first;
279 auto dend = (*chamber).second.second;
280 for (; digi != dend; ++digi) {
299 bool allowOverwrite =
false;
300 result.
addLayerHit(iLayer, iInput, iPhi, iEta, allowOverwrite);
311 unsigned int iProcessor,
317 std::stringstream
str;
322 for (
auto rollDigis : rpcDigiCollection) {
324 unsigned int rawid = roll.
rawId();
332 std::vector<RPCDigi> digisCopy;
334 for (
auto pDigi = rollDigis.second.first; pDigi != rollDigis.second.second; pDigi++) {
335 if (pDigi->bx() == bxTrg)
336 digisCopy.push_back(*pDigi);
339 typedef std::pair<unsigned int, unsigned int> Cluster;
341 for (
auto &digi : digisCopy) {
342 if (clusters.empty())
343 clusters.push_back(Cluster(digi.strip(), digi.strip()));
344 else if (digi.strip() - clusters.back().second == 1)
345 clusters.back().second = digi.strip();
346 else if (digi.strip() - clusters.back().second > 1)
347 clusters.push_back(Cluster(digi.strip(), digi.strip()));
350 for (
auto &cluster : clusters) {
354 int cSize =
abs(
int(cluster.first) -
int(cluster.second)) + 1;
363 if (iLayer == 17 && (iInput == 0 || iInput == 1))
365 bool outres = result.
addLayerHit(iLayer, iInput, iPhi, iEta);
370 str <<
" RPC halfDigi " 371 <<
" begin: " << cluster.first <<
" end: " << cluster.second <<
" iPhi: " << iPhi <<
" iEta: " << iEta
372 <<
" hwNumber: " << hwNumber <<
" iInput: " << iInput <<
" iLayer: " << iLayer <<
" out: " << outres
387 unsigned int iProcessor,
391 result +=
processDT(dtPhDigis, dtThDigis, iProcessor, type, bx);
392 result +=
processCSC(cscDigis, iProcessor, type, bx);
393 result +=
processRPC(rpcDigis, iProcessor, type, bx);
const std::vector< unsigned int > & getBarrelMax() const
unsigned int fwVersion() const
constexpr uint32_t rawId() const
get the raw id
int getGlobalEta(unsigned int rawid, const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis)
Convert local eta coordinate to global digital microGMT scale.
const std::vector< unsigned int > & getEndcap10DegMin() const
unsigned int nPhiBins() const
int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const
const std::vector< unsigned int > & getEndcap20DegMax() const
const std::map< int, int > & getHwToLogicLayer() const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
Abs< T >::type abs(const T &t)
const std::vector< unsigned int > & getEndcap10DegMax() const
uint32_t getLayerNumber(uint32_t rawId) const
const std::vector< unsigned int > & getBarrelMin() const
Phi_Container const * getContainer() const
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
int subsector() const
SubSector id : some sectors are divided along the phi direction in subsectors (from 1 to 4 in Barrel...
void checkAndUpdateGeometry(const edm::EventSetup &, unsigned int)
Update the Geometry with current Event Setup.
const std::vector< unsigned int > & getEndcap20DegMin() const
int wheel() const
Return the wheel number.
constexpr Detector det() const
get the detector field from this detid
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.