CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CalibMuon/DTCalibration/interface/DTSegmentSelector.h

Go to the documentation of this file.
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