36 std::vector<TrajectorySeed>&
result) {
41 unsigned int num_bar = 0;
42 for (MuonRecHitContainer::const_iterator iter =
hits.begin(); iter !=
hits.end(); iter++) {
43 if ((*iter)->isDT()) {
50 unsigned int num_endcap = 0;
51 for (MuonRecHitContainer::const_iterator iter =
hits.begin(); iter !=
hits.end(); iter++) {
52 if ((*iter)->isCSC() || (*iter)->isME0()) {
60 if (num_bar > 1 || (num_bar == 1 && (num_endcap == 0 ||
theBarrel.
firstRecHit()->dimension() == 4))) {
65 if (num_endcap > 1 || (num_endcap == 1 && num_bar == 0)) {
70 if (num_bar > 0 && num_endcap > 0) {
73 result.insert(
result.end(), overlapSeeds.begin(), overlapSeeds.end());
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
virtual TrajectorySeed seed() const
const std::string metname
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
std::vector< TrajectorySeed > seeds() const
MuonOverlapSeedFromRecHits theOverlap
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
MuonTransientTrackingRecHit::ConstMuonRecHitPointer firstRecHit() const
void seeds(const MuonTransientTrackingRecHit::MuonRecHitContainer &hits, std::vector< TrajectorySeed > &result) override
MuonSeedPtExtractor * thePtExtractor
void setBField(const MagneticField *field) override
void setBField(const MagneticField *field)
void setPtExtractor(const MuonSeedPtExtractor *extractor)
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
void add(MuonTransientTrackingRecHit::MuonRecHitPointer hit)
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
const MagneticField * theField
MuonSeedFinder(const edm::ParameterSet &pset)
Constructor.
MuonCSCSeedFromRecHits theEndcap
std::vector< MuonRecHitPointer > MuonRecHitContainer
virtual TrajectorySeed seed() const
MuonDTSeedFromRecHits theBarrel