00001 #ifndef CalibMuon_DTCalibration_DTSegmentSelector_h 00002 #define CalibMuon_DTCalibration_DTSegmentSelector_h 00003 00004 /* 00005 * $Date: 2010/11/18 20:33:10 $ 00006 * $Revision: 1.4 $ 00007 * \author A. Vilela Pereira 00008 */ 00009 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/Framework/interface/EventSetup.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 #include "FWCore/Framework/interface/ESHandle.h" 00014 00015 #include <vector> 00016 00017 class DTRecSegment4D; 00018 class DTRecHit1D; 00019 class DTStatusFlag; 00020 00021 class DTSegmentSelector { 00022 public: 00023 DTSegmentSelector(edm::ParameterSet const& pset): 00024 checkNoisyChannels_(pset.getParameter<bool>("checkNoisyChannels")), 00025 minHitsPhi_(pset.getParameter<int>("minHitsPhi")), 00026 minHitsZ_(pset.getParameter<int>("minHitsZ")), 00027 maxChi2_(pset.getParameter<double>("maxChi2")), 00028 maxAnglePhi_(pset.getParameter<double>("maxAnglePhi")), 00029 maxAngleZ_(pset.getParameter<double>("maxAngleZ")) { 00030 } 00031 ~DTSegmentSelector() {} 00032 bool operator() (DTRecSegment4D const&, edm::Event const&, edm::EventSetup const&); 00033 00034 private: 00035 bool checkNoisySegment(edm::ESHandle<DTStatusFlag> const&, std::vector<DTRecHit1D> const&); 00036 00037 bool checkNoisyChannels_; 00038 int minHitsPhi_; 00039 int minHitsZ_; 00040 double maxChi2_; 00041 double maxAnglePhi_; 00042 double maxAngleZ_; 00043 }; 00044 00045 #endif