1 #ifndef Validation_MuonCSCDigis_CSCStubMatcher_h 2 #define Validation_MuonCSCDigis_CSCStubMatcher_h 165 std::set<unsigned int>
result;
166 for (
auto&
p : digis) {
static int toCSCType(int st, int ri)
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > mplcts() const
std::set< unsigned int > chamberIdsAllALCT(int csc_type=MuonHitHelper::CSC_ALL) const
std::vector< CSCCLCTDigi > CSCCLCTDigiContainer
std::map< unsigned int, CSCALCTDigiContainer > alcts() const
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_mplcts_all_
const CSCCLCTDigiContainer & allCLCTsInChamber(unsigned int) const
all stubs (not necessarily matching) from a particular crossed chamber
int nChambersWithALCT(int min_quality=0) const
CSCCorrelatedLCTDigiContainer no_mplcts_
bool lctInChamber(const CSCDetId &id, const CSCCorrelatedLCTDigi &lct) const
int nChambersWithLCT(int min_quality=0) const
std::set< unsigned int > chamberIdsMPLCT(int csc_type=MuonHitHelper::CSC_ALL) const
edm::InputTag clctInputTag_
int nChambersWithCLCT(int min_quality=0) const
How many CSC chambers with matching stubs of some minimal quality did this SimTrack hit...
edm::EDGetTokenT< CSCCLCTDigiCollection > clctToken_
const CSCALCTDigiContainer & allALCTsInChamber(unsigned int) const
CSCStubMatcher(edm::ParameterSet const &iPS, edm::ConsumesCollector &&iC)
std::set< unsigned int > chamberIdsAllLCT(int csc_type=MuonHitHelper::CSC_ALL) const
std::set< unsigned int > chamberIdsALCT(int csc_type=MuonHitHelper::CSC_ALL) const
std::set< unsigned int > selectDetIds(D &, int) const
void matchMPLCTsToSimTrack(const CSCCorrelatedLCTDigiCollection &)
std::set< unsigned int > chamberIdsAllCLCT(int csc_type=MuonHitHelper::CSC_ALL) const
crossed chamber detIds with not necessarily matching stubs
GlobalPoint getGlobalPosition(unsigned int rawId, const CSCCorrelatedLCTDigi &lct) const
const CSCCorrelatedLCTDigiContainer & allMPLCTsInChamber(unsigned int) const
std::vector< CSCCorrelatedLCTDigi > CSCCorrelatedLCTDigiContainer
edm::Handle< CSCCorrelatedLCTDigiCollection > lctsH_
std::shared_ptr< CSCDigiMatcher > cscDigiMatcher_
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_lcts_
const CSCGeometry * cscGeometry_
CSCCorrelatedLCTDigi bestLctInChamber(unsigned int) const
int minNHitsChamberMPLCT_
std::shared_ptr< GEMDigiMatcher > gemDigiMatcher()
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollection > mplctToken_
CSCCorrelatedLCTDigi bestMplctInChamber(unsigned int) const
float zpositionOfLayer(unsigned int detid, int layer) const
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_mplcts_
int nChambersWithMPLCT(int min_quality=0) const
std::vector< CSCALCTDigi > CSCALCTDigiContainer
std::map< unsigned int, CSCCLCTDigiContainer > clcts() const
all matching lcts
edm::Handle< CSCCLCTDigiCollection > clctsH_
CSCCLCTDigi bestClctInChamber(unsigned int) const
best matching from a particular crossed chamber
std::set< unsigned int > chamberIdsLCT(int csc_type=MuonHitHelper::CSC_ALL) const
const CSCCLCTDigiContainer & clctsInChamber(unsigned int) const
all matching from a particular crossed chamber
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollection > lctToken_
std::map< unsigned int, CSCALCTDigiContainer > chamber_to_alcts_
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > chamber_to_lcts_all_
void matchLCTsToSimTrack(const CSCCorrelatedLCTDigiCollection &)
const CSCALCTDigiContainer & alctsInChamber(unsigned int) const
edm::EDGetTokenT< CSCALCTDigiCollection > alctToken_
edm::InputTag mplctInputTag_
edm::Handle< CSCALCTDigiCollection > alctsH_
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > geomToken_
std::map< unsigned int, CSCCLCTDigiContainer > chamber_to_clcts_all_
const CSCCorrelatedLCTDigiContainer & mplctsInChamber(unsigned int) const
void matchALCTsToSimTrack(const CSCALCTDigiCollection &)
DecomposeProduct< arg, typename Div::arg > D
void matchCLCTsToSimTrack(const CSCCLCTDigiCollection &)
std::map< unsigned int, CSCCLCTDigiContainer > chamber_to_clcts_
CSCCorrelatedLCTDigiContainer no_lcts_
std::shared_ptr< GEMDigiMatcher > gemDigiMatcher_
edm::Handle< CSCCorrelatedLCTDigiCollection > mplctsH_
const CSCCorrelatedLCTDigiContainer & lctsInChamber(unsigned int) const
edm::InputTag alctInputTag_
CSCALCTDigi bestAlctInChamber(unsigned int) const
edm::InputTag lctInputTag_
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
CSCALCTDigiContainer no_alcts_
std::map< unsigned int, CSCALCTDigiContainer > chamber_to_alcts_all_
void match(const SimTrack &t, const SimVertex &v)
do the matching
std::shared_ptr< CSCDigiMatcher > cscDigiMatcher()
CSCCLCTDigiContainer no_clcts_
const CSCCorrelatedLCTDigiContainer & allLCTsInChamber(unsigned int) const
std::map< unsigned int, CSCCorrelatedLCTDigiContainer > lcts() const
void init(const edm::Event &e, const edm::EventSetup &eventSetup)
initialize the event
void addGhostLCTs(const CSCCorrelatedLCTDigi &lct11, const CSCCorrelatedLCTDigi &lct22, CSCCorrelatedLCTDigiContainer &lctcontainer) const