EventFilter
L1TRawToDigi
plugins
implementations_stage2
EMTFCollections.cc
Go to the documentation of this file.
1
#include "
FWCore/Framework/interface/Event.h
"
2
#include "
EMTFCollections.h
"
3
4
namespace
l1t
{
5
namespace
stage2
{
6
EMTFCollections::~EMTFCollections
() {
7
// std::cout << "Inside EMTFCollections.cc: ~EMTFCollections" << std::endl;
8
9
// Sort by processor to match uGMT unpacked order
10
L1TMuonEndCap::sort_uGMT_muons
(*
regionalMuonCands_
);
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
41
event_
.
put
(
std::move
(
regionalMuonCands_
));
42
event_
.
put
(
std::move
(
EMTFDaqOuts_
));
43
event_
.
put
(
std::move
(
EMTFHits_ZS_
));
44
event_
.
put
(
std::move
(
EMTFTracks_
));
45
event_
.
put
(
std::move
(
EMTFLCTs_
));
46
event_
.
put
(
std::move
(
EMTFCPPFs_ZS_
));
47
event_
.
put
(
std::move
(
EMTFGEMPadClusters_
));
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
Generated for CMSSW Reference Manual by
1.8.16