152 for (MeshType::iterator
i =
mesh_.begin();
i !=
mesh_.end(); ++
i) {
153 for (AssociationType::iterator
j =
i->second.begin();
j !=
i->second.end(); ++
j) {
154 for (std::vector<reco::MuonChamberMatch>::iterator chamberIter1 =
i->first->matches().begin();
155 chamberIter1 !=
i->first->matches().end();
157 for (std::vector<reco::MuonSegmentMatch>::iterator segmentIter1 = chamberIter1->segmentMatches.begin();
158 segmentIter1 != chamberIter1->segmentMatches.end();
160 if (
j->second.second->cscSegmentRef.isNonnull() && segmentIter1->cscSegmentRef.isNonnull()) {
166 std::make_pair(
CSCDetId(
j->second.first->id),
j->second.second->cscSegmentRef))) {
174 j->first->numberOfMatches(
177 if ((segmentIter1->mask & 0x1e0000) >
178 (
j->second.second->mask & 0x1e0000)) {
195 chamberIter1->id ==
j->second.first->id) {
198 for (AssociationType::iterator AsscIter1 =
i->second.begin(); AsscIter1 !=
i->second.end();
200 if (AsscIter1->second.second->cscSegmentRef.isNonnull())
201 if (
j->first == AsscIter1->first &&
j->second.first == AsscIter1->second.first &&
202 isDuplicateOf(segmentIter1->cscSegmentRef, AsscIter1->second.second->cscSegmentRef)) {
203 AsscIter1->second.second->mask &= ~
reco::MuonSegmentMatch::BelongsToTrackByME1aClean;
209 i->first->numberOfMatches(
214 for (AssociationType::iterator AsscIter1 =
i->second.begin(); AsscIter1 !=
i->second.end();
216 if (AsscIter1->second.second->cscSegmentRef.isNonnull())
217 if (
j->first == AsscIter1->first &&
j->second.first == AsscIter1->second.first &&
218 isDuplicateOf(segmentIter1->cscSegmentRef, AsscIter1->second.second->cscSegmentRef) &&
219 (segmentIter1->mask & 0x1e0000) < (AsscIter1->second.second->mask & 0x1e0000))
224 for (AssociationType::iterator AsscIter1 =
i->second.begin(); AsscIter1 !=
i->second.end();
226 if (AsscIter1->second.second->cscSegmentRef.isNonnull())
227 if (
j->first == AsscIter1->first &&
j->second.first == AsscIter1->second.first &&
228 isDuplicateOf(segmentIter1->cscSegmentRef, AsscIter1->second.second->cscSegmentRef)) {
229 AsscIter1->second.second->mask &= ~
reco::MuonSegmentMatch::BelongsToTrackByME1aClean;
240 std::make_pair(
CSCDetId(
j->second.first->id),
j->second.second->cscSegmentRef))) {
255 if ((segmentIter1->mask & 0x1e0000) >
256 (
j->second.second->mask & 0x1e0000)) {
262 }
else if ((segmentIter1->mask & 0x1e0000) < (
j->second.second->mask & 0x1e0000)) {
282 for (MeshType::iterator
i =
mesh_.begin();
i !=
mesh_.end(); ++
i) {
283 for (std::vector<reco::MuonChamberMatch>::iterator chamberIter1 =
i->first->matches().begin();
284 chamberIter1 !=
i->first->matches().end();
286 for (std::vector<reco::MuonSegmentMatch>::iterator segmentIter1 = chamberIter1->segmentMatches.begin();
287 segmentIter1 != chamberIter1->segmentMatches.end();
bool isClusteredWith(const std::pair< CSCDetId, CSCSegmentRef > &lhs, const std::pair< CSCDetId, CSCSegmentRef > &rhs) const
ArbitrationType
define arbitration schemes
static const unsigned int BelongsToTrackByCleaning
static const unsigned int BelongsToTrackByOvlClean
bool isDuplicateOf(const CSCSegmentRef &lhs, const CSCSegmentRef &rhs) const
static const unsigned int BelongsToTrackByClusClean