Go to the documentation of this file.00001 #ifndef DTSegment_DTSegmentCleaner_h
00002 #define DTSegment_DTSegmentCleaner_h
00003
00020
00021
00022
00023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00024 #include "RecoLocalMuon/DTSegment/src/DTSegmentCand.h"
00025
00026
00027 #include <vector>
00028
00029
00030
00031
00032
00033 class DTSegmentCleaner{
00034
00035 public:
00036
00037 typedef std::pair<DTHitPairForFit*, DTEnums::DTCellSide> AssPoint;
00038 typedef std::set<AssPoint, DTSegmentCand::AssPointLessZ> AssPointCont;
00039
00040
00041 DTSegmentCleaner(const edm::ParameterSet& pset) ;
00042
00043
00044 ~DTSegmentCleaner() ;
00045
00046
00048 std::vector<DTSegmentCand*> clean(std::vector<DTSegmentCand*> inputCands) const ;
00049
00050 private:
00052 std::vector<DTSegmentCand*> solveConflict(std::vector<DTSegmentCand*> inputCands) const ;
00053
00055 std::vector<DTSegmentCand*> ghostBuster(std::vector<DTSegmentCand*> inputCands) const ;
00056
00057 int nSharedHitsMax;
00058 int nUnSharedHitsMin;
00062 int segmCleanerMode;
00063
00064 };
00065 #endif // DTSegment_DTSegmentCleaner_h