CMS 3D CMS Logo

EMTFCollections.cc
Go to the documentation of this file.
2 #include "EMTFCollections.h"
3 
4 namespace l1t {
5  namespace stage2 {
7  // std::cout << "Inside EMTFCollections.cc: ~EMTFCollections" << std::endl;
8 
9  // Sort by processor to match uGMT unpacked order
11 
12  // Apply ZeroSuppression: Only save RPC hits if there is at least one CSC LCT in the sector
13  bool has_LCT[12] = {false};
14  for (int iSect = 0; iSect < 12; iSect++) {
15  for (const auto& h : *EMTFHits_) {
16  if (h.Is_CSC() && h.Sector_idx() == iSect) {
17  has_LCT[iSect] = true;
18  break;
19  }
20  }
21  }
22  for (const auto& h : *EMTFHits_) {
23  if (has_LCT[h.Sector_idx()] || (h.Is_RPC() == 0 && h.Is_GEM() == 0)) {
24  EMTFHits_ZS_->push_back(h);
25  }
26  }
27  for (const auto& c : *EMTFCPPFs_) {
28  int sect_idx = c.emtf_sector() - 1 + 6 * (c.rpcId().region() == -1);
29  if (has_LCT[sect_idx]) {
30  EMTFCPPFs_ZS_->push_back(c);
31  }
32  }
33  // TODO: Do we need something equivalent for GEMs - JS 03.07.20
34  // for (const auto& g : *EMTFGEMPadClusters_) {
35  // int sect_idx = g.emtf_sector() - 1 + 6 * (g.gemId().region() == -1);
36  // if (has_LCT[sect_idx]) {
37  // EMTFGEMPadClusters_ZS_->push_back(g);
38  // }
39  // }
40 
50  // event_.put(std::move(EMTFGEMPadClusters_ZS_));
51  }
52  } // namespace stage2
53 } // namespace l1t
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
std::unique_ptr< CSCCorrelatedLCTDigiCollection > EMTFLCTs_
std::unique_ptr< EMTFDaqOutCollection > EMTFDaqOuts_
std::unique_ptr< CPPFDigiCollection > EMTFCPPFs_ZS_
void sort_uGMT_muons(l1t::RegionalMuonCandBxCollection &cands)
delete x;
Definition: CaloConfig.h:22
std::unique_ptr< RegionalMuonCandBxCollection > regionalMuonCands_
std::unique_ptr< EMTFTrackCollection > EMTFTracks_
std::unique_ptr< EMTFHitCollection > EMTFHits_ZS_
std::unique_ptr< CPPFDigiCollection > EMTFCPPFs_
std::unique_ptr< RegionalMuonShowerBxCollection > regionalMuonShowers_
std::unique_ptr< GEMPadDigiClusterCollection > EMTFGEMPadClusters_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
std::unique_ptr< CSCShowerDigiCollection > EMTFCSCShowers_
def move(src, dest)
Definition: eostools.py:511
std::unique_ptr< EMTFHitCollection > EMTFHits_