|
|
#include <CSCStubMatcher.h>
|
std::map< unsigned int, CSCALCTDigiContainer > | alcts () const |
|
const CSCALCTDigiContainer & | alctsInChamber (unsigned int) const |
|
const CSCALCTDigiContainer & | allALCTsInChamber (unsigned int) const |
|
const CSCCLCTDigiContainer & | allCLCTsInChamber (unsigned int) const |
| all stubs (not necessarily matching) from a particular crossed chamber More...
|
|
const CSCCorrelatedLCTDigiContainer & | allLCTsInChamber (unsigned int) const |
|
const CSCCorrelatedLCTDigiContainer & | allMPLCTsInChamber (unsigned int) const |
|
CSCALCTDigi | bestAlctInChamber (unsigned int) const |
|
CSCCLCTDigi | bestClctInChamber (unsigned int) const |
| best matching from a particular crossed chamber More...
|
|
CSCCorrelatedLCTDigi | bestLctInChamber (unsigned int) const |
|
CSCCorrelatedLCTDigi | bestMplctInChamber (unsigned int) const |
|
std::set< unsigned int > | chamberIdsALCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::set< unsigned int > | chamberIdsAllALCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::set< unsigned int > | chamberIdsAllCLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
| crossed chamber detIds with not necessarily matching stubs More...
|
|
std::set< unsigned int > | chamberIdsAllLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::set< unsigned int > | chamberIdsAllMPLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::set< unsigned int > | chamberIdsCLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
| chamber detIds with matching stubs More...
|
|
std::set< unsigned int > | chamberIdsLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::set< unsigned int > | chamberIdsMPLCT (int csc_type=MuonHitHelper::CSC_ALL) const |
|
std::map< unsigned int, CSCCLCTDigiContainer > | clcts () const |
| all matching lcts More...
|
|
const CSCCLCTDigiContainer & | clctsInChamber (unsigned int) const |
| all matching from a particular crossed chamber More...
|
|
std::shared_ptr< CSCDigiMatcher > | cscDigiMatcher () |
|
| CSCStubMatcher (edm::ParameterSet const &iPS, edm::ConsumesCollector &&iC) |
|
std::shared_ptr< GEMDigiMatcher > | gemDigiMatcher () |
|
GlobalPoint | getGlobalPosition (unsigned int rawId, const CSCCorrelatedLCTDigi &lct) const |
|
void | init (const edm::Event &e, const edm::EventSetup &eventSetup) |
| initialize the event More...
|
|
bool | lctInChamber (const CSCDetId &id, const CSCCorrelatedLCTDigi &lct) const |
|
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > | lcts () const |
|
const CSCCorrelatedLCTDigiContainer & | lctsInChamber (unsigned int) const |
|
void | match (const SimTrack &t, const SimVertex &v) |
| do the matching More...
|
|
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > | mplcts () const |
|
const CSCCorrelatedLCTDigiContainer & | mplctsInChamber (unsigned int) const |
|
int | nChambersWithALCT (int min_quality=0) const |
|
int | nChambersWithCLCT (int min_quality=0) const |
| How many CSC chambers with matching stubs of some minimal quality did this SimTrack hit? More...
|
|
int | nChambersWithLCT (int min_quality=0) const |
|
int | nChambersWithMPLCT (int min_quality=0) const |
|
float | zpositionOfLayer (unsigned int detid, int layer) const |
|
| ~CSCStubMatcher () |
|
Description: Matching of CSC L1 trigger stubs to SimTrack
Author: Sven Dildick (TAMU), Tao Huang (TAMU)
Definition at line 22 of file CSCStubMatcher.h.
◆ CSCStubMatcher()
◆ ~CSCStubMatcher()
CSCStubMatcher::~CSCStubMatcher |
( |
| ) |
|
|
inline |
◆ alcts()
◆ alctsInChamber()
◆ allALCTsInChamber()
◆ allCLCTsInChamber()
all stubs (not necessarily matching) from a particular crossed chamber
Definition at line 350 of file CSCStubMatcher.cc.
◆ allLCTsInChamber()
◆ allMPLCTsInChamber()
◆ bestAlctInChamber()
CSCALCTDigi CSCStubMatcher::bestAlctInChamber |
( |
unsigned int |
detid | ) |
const |
◆ bestClctInChamber()
CSCCLCTDigi CSCStubMatcher::bestClctInChamber |
( |
unsigned int |
detid | ) |
const |
◆ bestLctInChamber()
◆ bestMplctInChamber()
◆ chamberIdsALCT()
◆ chamberIdsAllALCT()
◆ chamberIdsAllCLCT()
crossed chamber detIds with not necessarily matching stubs
Definition at line 318 of file CSCStubMatcher.cc.
◆ chamberIdsAllLCT()
◆ chamberIdsAllMPLCT()
◆ chamberIdsCLCT()
◆ chamberIdsLCT()
◆ chamberIdsMPLCT()
◆ clcts()
◆ clctsInChamber()
◆ cscDigiMatcher()
◆ gemDigiMatcher()
◆ getGlobalPosition()
◆ init()
◆ lctInChamber()
◆ lcts()
◆ lctsInChamber()
◆ match()
◆ matchALCTsToSimTrack()
Definition at line 141 of file CSCStubMatcher.cc.
144 for (
const auto&
id : anode_ids) {
152 cout <<
"alct: digi_wgs " << ch_id <<
" ";
153 copy(digi_wgs.begin(), digi_wgs.end(), ostream_iterator<int>(
cout,
" "));
157 int ring = ch_id.ring();
160 CSCDetId ch_id2(ch_id.endcap(), ch_id.station(),
ring, ch_id.chamber(), 0);
162 const auto& alcts_in_det =
alcts.get(ch_id2);
163 for (
auto a = alcts_in_det.first;
a != alcts_in_det.second; ++
a) {
168 cout <<
"alct " << ch_id <<
" " << *
a << endl;
174 int wg =
a->getKeyWG() + 1;
180 if (digi_wgs.find(wg) == digi_wgs.end()) {
182 cout <<
"alctBAD" << endl;
186 cout <<
"alctGOOD" << endl;
194 cout <<
" " <<
a << endl;
References a, CSCDetId::chamber(), filterCSVwithJSON::copy, gather_cfg::cout, CSCDetId::endcap(), triggerObjects_cff::id, CSCDetId::ring(), relativeConstraints::ring, std::size(), and CSCDetId::station().
◆ matchCLCTsToSimTrack()
Definition at line 77 of file CSCStubMatcher.cc.
80 for (
const auto&
id : cathode_ids) {
83 cout <<
"To check CSC chamber " << ch_id << endl;
91 cout <<
"clct: digi_strips " << ch_id <<
" Nlayers " <<
cscDigiMatcher_->nLayersWithStripInChamber(
id) <<
" ";
92 copy(digi_strips.begin(), digi_strips.end(), ostream_iterator<int>(
cout,
" "));
96 int ring = ch_id.ring();
99 CSCDetId ch_id2(ch_id.endcap(), ch_id.station(),
ring, ch_id.chamber(), 0);
101 const auto& clcts_in_det =
clcts.get(ch_id2);
103 for (
auto c = clcts_in_det.first;
c != clcts_in_det.second; ++
c) {
105 cout <<
"clct " << ch_id <<
" " << *
c << endl;
114 int half_strip =
c->getKeyStrip() + 1;
115 if (ch_id.ring() == 4 and ch_id.station() == 1 and half_strip > 128)
116 half_strip = half_strip - 128;
122 if (digi_strips.find(half_strip) == digi_strips.end()) {
124 cout <<
"clctBAD, half_strip " << half_strip << endl;
128 cout <<
"clctGOOD" << endl;
136 cout <<
" " <<
c << endl;
References HltBtagPostValidation_cff::c, CSCDetId::chamber(), filterCSVwithJSON::copy, gather_cfg::cout, CSCDetId::endcap(), triggerObjects_cff::id, CSCDetId::ring(), relativeConstraints::ring, std::size(), and CSCDetId::station().
◆ matchLCTsToSimTrack()
Definition at line 199 of file CSCStubMatcher.cc.
204 std::set<int> cathode_and_anode_ids;
205 std::set_union(cathode_ids.begin(),
209 std::inserter(cathode_and_anode_ids, cathode_and_anode_ids.end()));
211 for (
const auto&
id : cathode_and_anode_ids) {
217 int ring = ch_id.ring();
220 CSCDetId ch_id2(ch_id.endcap(), ch_id.station(),
ring, ch_id.chamber(), 0);
222 const auto& lcts_in_det =
lcts.get(ch_id2);
226 for (
auto lct = lcts_in_det.first; lct != lcts_in_det.second; ++lct) {
227 lcts_tmp.push_back(*lct);
230 for (
const auto& lct : lcts_tmp) {
233 bool lct_matched(
false);
234 bool lct_clct_match(
false);
235 bool lct_alct_match(
false);
236 bool lct_gem1_match(
false);
237 bool lct_gem2_match(
false);
240 cout <<
"in LCT, getCLCT " << lct.getCLCT() <<
" getALCT " << lct.getALCT() << endl;
244 if (
p == lct.getCLCT()) {
245 lct_clct_match =
true;
252 if (
p == lct.getALCT()) {
253 lct_alct_match =
true;
259 if (ch_id.ring() == 1 and (ch_id.station() == 1
or ch_id.station() == 2)) {
261 const GEMDetId gemDetIdL1(ch_id.zendcap(), 1, ch_id.station(), 1, ch_id.chamber(), 0);
263 if (
p == lct.getGEM1()) {
264 lct_gem1_match =
true;
270 const GEMDetId gemDetIdL2(ch_id.zendcap(), 1, ch_id.station(), 2, ch_id.chamber(), 0);
272 if (
p == lct.getGEM2()) {
273 lct_gem2_match =
true;
279 lct_matched = ((lct_clct_match and lct_alct_match)
or (lct_alct_match and lct_gem1_match and lct_gem2_match)
or
280 (lct_clct_match and lct_gem1_match and lct_gem2_match));
284 cout <<
"this LCT matched to simtrack in chamber " << ch_id << endl;
References CSCDetId::chamber(), gather_cfg::cout, CSCDetId::endcap(), triggerObjects_cff::id, or, AlCaHLTBitMon_ParallelJobs::p, CSCDetId::ring(), relativeConstraints::ring, CSCDetId::station(), and CSCDetId::zendcap().
◆ matchMPLCTsToSimTrack()
Definition at line 291 of file CSCStubMatcher.cc.
297 for (
const auto&
id : lcts_ids) {
298 const auto& mplcts_in_det =
mplcts.get(
id);
301 for (
auto lct = mplcts_in_det.first; lct != mplcts_in_det.second; ++lct) {
310 if (sim_stub == *lct) {
References triggerObjects_cff::id.
◆ mplcts()
◆ mplctsInChamber()
◆ nChambersWithALCT()
int CSCStubMatcher::nChambersWithALCT |
( |
int |
min_quality = 0 | ) |
const |
Definition at line 475 of file CSCStubMatcher.cc.
478 for (
const auto&
id : chamber_ids) {
479 int nStubChamber = 0;
481 for (
const auto& alct :
alcts) {
484 if (alct.getQuality() >= min_quality) {
488 if (nStubChamber > 0) {
References mps_fire::result.
◆ nChambersWithCLCT()
int CSCStubMatcher::nChambersWithCLCT |
( |
int |
min_quality = 0 | ) |
const |
How many CSC chambers with matching stubs of some minimal quality did this SimTrack hit?
Definition at line 455 of file CSCStubMatcher.cc.
458 for (
const auto&
id : chamber_ids) {
459 int nStubChamber = 0;
461 for (
const auto& clct :
clcts) {
464 if (clct.getQuality() >= min_quality) {
468 if (nStubChamber > 0) {
References mps_fire::result.
◆ nChambersWithLCT()
int CSCStubMatcher::nChambersWithLCT |
( |
int |
min_quality = 0 | ) |
const |
Definition at line 495 of file CSCStubMatcher.cc.
498 for (
const auto&
id : chamber_ids) {
499 int nStubChamber = 0;
501 for (
const auto& lct :
lcts) {
504 if (lct.getQuality() >= min_quality) {
508 if (nStubChamber > 0) {
References mps_fire::result.
◆ nChambersWithMPLCT()
int CSCStubMatcher::nChambersWithMPLCT |
( |
int |
min_quality = 0 | ) |
const |
Definition at line 515 of file CSCStubMatcher.cc.
518 for (
const auto&
id : chamber_ids) {
519 int nStubChamber = 0;
521 for (
const auto& mplct :
mplcts) {
522 if (!mplct.isValid())
524 if (mplct.getQuality() >= min_quality) {
528 if (nStubChamber > 0) {
References mps_fire::result.
◆ selectDetIds()
template<class D >
std::set< unsigned int > CSCStubMatcher::selectDetIds |
( |
D & |
digis, |
|
|
int |
csc_type |
|
) |
| const |
|
private |
◆ zpositionOfLayer()
float CSCStubMatcher::zpositionOfLayer |
( |
unsigned int |
detid, |
|
|
int |
layer |
|
) |
| const |
◆ alctsH_
◆ alctToken_
◆ chamber_to_alcts_
◆ chamber_to_alcts_all_
◆ chamber_to_clcts_
◆ chamber_to_clcts_all_
◆ chamber_to_lcts_
◆ chamber_to_lcts_all_
◆ chamber_to_mplcts_
◆ chamber_to_mplcts_all_
◆ clctsH_
◆ clctToken_
◆ csc_geom_
◆ cscDigiMatcher_
◆ cscGeometry_
◆ gemDigiMatcher_
◆ hsFromSimHitMean_
bool CSCStubMatcher::hsFromSimHitMean_ |
|
private |
◆ lctsH_
◆ lctToken_
◆ maxBXALCT_
int CSCStubMatcher::maxBXALCT_ |
|
private |
◆ maxBXCLCT_
int CSCStubMatcher::maxBXCLCT_ |
|
private |
◆ maxBXLCT_
int CSCStubMatcher::maxBXLCT_ |
|
private |
◆ maxBXMPLCT_
int CSCStubMatcher::maxBXMPLCT_ |
|
private |
◆ minBXALCT_
int CSCStubMatcher::minBXALCT_ |
|
private |
◆ minBXCLCT_
int CSCStubMatcher::minBXCLCT_ |
|
private |
◆ minBXLCT_
int CSCStubMatcher::minBXLCT_ |
|
private |
◆ minBXMPLCT_
int CSCStubMatcher::minBXMPLCT_ |
|
private |
◆ minNHitsChamber_
int CSCStubMatcher::minNHitsChamber_ |
|
private |
◆ minNHitsChamberALCT_
int CSCStubMatcher::minNHitsChamberALCT_ |
|
private |
◆ minNHitsChamberCLCT_
int CSCStubMatcher::minNHitsChamberCLCT_ |
|
private |
◆ minNHitsChamberLCT_
int CSCStubMatcher::minNHitsChamberLCT_ |
|
private |
◆ minNHitsChamberMPLCT_
int CSCStubMatcher::minNHitsChamberMPLCT_ |
|
private |
◆ mplctsH_
◆ mplctToken_
◆ no_alcts_
◆ no_clcts_
◆ no_lcts_
◆ no_mplcts_
◆ verboseALCT_
bool CSCStubMatcher::verboseALCT_ |
|
private |
◆ verboseCLCT_
bool CSCStubMatcher::verboseCLCT_ |
|
private |
◆ verboseLCT_
bool CSCStubMatcher::verboseLCT_ |
|
private |
◆ verboseMPLCT_
bool CSCStubMatcher::verboseMPLCT_ |
|
private |
const CSCALCTDigiContainer & alctsInChamber(unsigned int) const
static const std::string input
edm::ESHandle< CSCGeometry > csc_geom_
T const * product() const
const GeomDet * idToDet(DetId) const override
const CSCGeometry * cscGeometry_
const CSCCorrelatedLCTDigiContainer & lctsInChamber(unsigned int) const
std::shared_ptr< CSCDigiMatcher > cscDigiMatcher_
std::vector< CSCCorrelatedLCTDigi > CSCCorrelatedLCTDigiContainer
edm::EDGetTokenT< CSCCLCTDigiCollection > clctToken_
edm::Handle< CSCCorrelatedLCTDigiCollection > mplctsH_
CSCALCTDigiContainer no_alcts_
std::map< unsigned int, CSCALCTDigiContainer > alcts() const
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_lcts_
const Plane & surface() const
The nominal surface of the GeomDet.
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_lcts_all_
edm::Handle< CSCCLCTDigiCollection > clctsH_
std::set< unsigned int > selectDetIds(D &, int) const
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_mplcts_
std::map< unsigned int, CSCCLCTDigiContainer > clcts() const
all matching lcts
edm::Handle< CSCCorrelatedLCTDigiCollection > lctsH_
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const CSCCLCTDigiContainer & clctsInChamber(unsigned int) const
all matching from a particular crossed chamber
edm::Handle< CSCALCTDigiCollection > alctsH_
int minNHitsChamberMPLCT_
std::map< unsigned int, CSCCLCTDigiContainer > chamber_to_clcts_
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_mplcts_all_
void matchMPLCTsToSimTrack(const CSCCorrelatedLCTDigiCollection &)
const CSCCorrelatedLCTDigiContainer & mplctsInChamber(unsigned int) const
void matchCLCTsToSimTrack(const CSCCLCTDigiCollection &)
void matchALCTsToSimTrack(const CSCALCTDigiCollection &)
std::set< unsigned int > chamberIdsMPLCT(int csc_type=MuonHitHelper::CSC_ALL) const
CSCCLCTDigiContainer no_clcts_
edm::EDGetTokenT< CSCALCTDigiCollection > alctToken_
std::set< unsigned int > chamberIdsAllALCT(int csc_type=MuonHitHelper::CSC_ALL) const
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollection > mplctToken_
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > mplcts() const
std::map< unsigned int, CSCALCTDigiContainer > chamber_to_alcts_
std::set< unsigned int > chamberIdsAllCLCT(int csc_type=MuonHitHelper::CSC_ALL) const
crossed chamber detIds with not necessarily matching stubs
CSCCorrelatedLCTDigiContainer no_mplcts_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
CSCCorrelatedLCTDigiContainer no_lcts_
std::map< unsigned int, CSCCLCTDigiContainer > chamber_to_clcts_all_
std::shared_ptr< GEMDigiMatcher > gemDigiMatcher_
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > lcts() const
std::set< unsigned int > chamberIdsCLCT(int csc_type=MuonHitHelper::CSC_ALL) const
chamber detIds with matching stubs
static int toCSCType(int st, int ri)
std::set< unsigned int > chamberIdsLCT(int csc_type=MuonHitHelper::CSC_ALL) const
std::set< unsigned int > chamberIdsALCT(int csc_type=MuonHitHelper::CSC_ALL) const
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollection > lctToken_
std::map< unsigned int, CSCALCTDigiContainer > chamber_to_alcts_all_
const CSCChamber * chamber(CSCDetId id) const
Return the chamber corresponding to given DetId.
void matchLCTsToSimTrack(const CSCCorrelatedLCTDigiCollection &)