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 
48  // event_.put(std::move(EMTFGEMPadClusters_ZS_));
49  }
50  } // namespace stage2
51 } // namespace l1t
EMTFCollections.h
l1t::stage2::EMTFCollections::EMTFDaqOuts_
std::unique_ptr< EMTFDaqOutCollection > EMTFDaqOuts_
Definition: EMTFCollections.h:55
l1t::UnpackerCollections::event_
edm::Event & event_
Definition: UnpackerCollections.h:12
l1t::stage2::EMTFCollections::EMTFGEMPadClusters_
std::unique_ptr< GEMPadDigiClusterCollection > EMTFGEMPadClusters_
Definition: EMTFCollections.h:62
l1t::stage2::EMTFCollections::EMTFCPPFs_
std::unique_ptr< CPPFDigiCollection > EMTFCPPFs_
Definition: EMTFCollections.h:60
h
Event.h
l1t::stage2::EMTFCollections::EMTFCPPFs_ZS_
std::unique_ptr< CPPFDigiCollection > EMTFCPPFs_ZS_
Definition: EMTFCollections.h:61
l1t
delete x;
Definition: CaloConfig.h:22
emtf::sort_uGMT_muons
void sort_uGMT_muons(l1t::RegionalMuonCandBxCollection &cands)
Definition: MicroGMTConverter.cc:111
l1t::stage2::EMTFCollections::regionalMuonCands_
std::unique_ptr< RegionalMuonCandBxCollection > regionalMuonCands_
Definition: EMTFCollections.h:54
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
l1t::stage2::EMTFCollections::EMTFTracks_
std::unique_ptr< EMTFTrackCollection > EMTFTracks_
Definition: EMTFCollections.h:58
l1t::stage2::EMTFCollections::EMTFLCTs_
std::unique_ptr< CSCCorrelatedLCTDigiCollection > EMTFLCTs_
Definition: EMTFCollections.h:59
SiStripSourceConfigTier0_cff.stage2
stage2
Definition: SiStripSourceConfigTier0_cff.py:71
eostools.move
def move(src, dest)
Definition: eostools.py:511
l1t::stage2::EMTFCollections::EMTFHits_
std::unique_ptr< EMTFHitCollection > EMTFHits_
Definition: EMTFCollections.h:56
l1t::stage2::EMTFCollections::~EMTFCollections
~EMTFCollections() override
Definition: EMTFCollections.cc:6
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
l1t::stage2::EMTFCollections::EMTFHits_ZS_
std::unique_ptr< EMTFHitCollection > EMTFHits_ZS_
Definition: EMTFCollections.h:57