1 #ifndef DTSegment_DTCombinatorialPatternReco_h
2 #define DTSegment_DTCombinatorialPatternReco_h
17 #include <boost/unordered_set.hpp>
57 const std::vector<DTRecHit1DPair>& hits);
71 typedef std::pair<DTHitPairForFit*, DTEnums::DTCellSide>
AssPoint;
75 const std::vector<DTRecHit1DPair>& hits);
79 const std::vector<DTHitPairForFit*>& hits);
84 const std::vector<DTHitPairForFit*>& hits);
96 std::deque<DTHitPairForFit* >& pointsNoLR,
97 std::vector<DTSegmentCand*>& candidates,
116 typedef std::vector<short unsigned int>
values;
129 boost::hash_combine(
hash_,i);
152 #endif // DTSegment_DTCombinatorialPatternReco_h
std::vector< DTHitPairForFit * > initHits(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits)
virtual void setES(const edm::EventSetup &setup)
virtual std::string algoName() const
return the algo name
bool operator==(const TriedPattern &other) const
std::vector< short unsigned int > values
DTSegmentCleaner * theCleaner
DTSegmentUpdator * theUpdator
unsigned int theMaxAllowedHits
std::vector< AssPoint > findCompatibleHits(const LocalPoint &pos, const LocalVector &dir, const std::vector< DTHitPairForFit * > &hits)
const_iterator begin() const
bool checkDoubleCandidates(std::vector< DTSegmentCand * > &segs, DTSegmentCand *seg)
edm::ESHandle< DTGeometry > theDTGeometry
std::size_t hash_value(const DTCombinatorialPatternReco::TriedPattern &t)
virtual edm::OwnVector< DTSLRecSegment2D > reconstruct(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits)
this function is called in the producer
void buildPointsCollection(std::vector< AssPoint > &points, std::deque< DTHitPairForFit * > &pointsNoLR, std::vector< DTSegmentCand * > &candidates, const DTSuperLayer *sl)
void push_back(short unsigned int i)
push back value, and update the hash
DTCombinatorialPatternReco(const edm::ParameterSet &pset)
Constructor.
const_iterator end() const
virtual ~DTCombinatorialPatternReco()
Destructor.
boost::unordered_set< TriedPattern > TriedPatterns
std::vector< DTSegmentCand * > buildSegments(const DTSuperLayer *sl, const std::vector< DTHitPairForFit * > &hits)
values::size_type size() const
values::const_iterator const_iterator
TriedPatterns theTriedPattern
DTSegmentCand * buildBestSegment(std::vector< AssPoint > &assHits, const DTSuperLayer *sl)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
std::pair< DTHitPairForFit *, DTEnums::DTCellSide > AssPoint