Go to the documentation of this file.00001 #ifndef Calibration_TkAlCaRecoProducers_CalibrationTrackSelector_h
00002 #define Calibration_TkAlCaRecoProducers_CalibrationTrackSelector_h
00003
00004 #include "DataFormats/TrackReco/interface/Track.h"
00005 #include "FWCore/Utilities/interface/InputTag.h"
00006 #include <vector>
00007
00008 namespace edm {
00009 class Event;
00010 class ParameterSet;
00011 }
00012
00013 class TrackingRecHit;
00014
00015 class CalibrationTrackSelector
00016 {
00017
00018 public:
00019
00020 typedef std::vector<const reco::Track*> Tracks;
00021
00023 CalibrationTrackSelector(const edm::ParameterSet & cfg);
00024
00026 ~CalibrationTrackSelector();
00027
00029 Tracks select(const Tracks& tracks, const edm::Event& evt) const;
00030
00031 private:
00032
00034 Tracks basicCuts(const Tracks& tracks, const edm::Event& evt) const;
00036 bool detailedHitsCheck(const reco::Track* track, const edm::Event& evt) const;
00037 bool isHit2D(const TrackingRecHit &hit) const;
00038 bool isOkCharge(const TrackingRecHit* therechit) const;
00039 bool isIsolated(const TrackingRecHit* therechit, const edm::Event& evt) const;
00040
00042 Tracks theNHighestPtTracks(const Tracks& tracks) const;
00043
00045 struct ComparePt {
00046 bool operator()( const reco::Track* t1, const reco::Track* t2 ) const {
00047 return t1->pt()> t2->pt();
00048 }
00049 };
00050 ComparePt ptComparator;
00051
00052 const bool applyBasicCuts_, applyNHighestPt_, applyMultiplicityFilter_;
00053 const bool seedOnlyFromAbove_, applyIsolation_, chargeCheck_ ;
00054 const int nHighestPt_, minMultiplicity_, maxMultiplicity_;
00055 const bool multiplicityOnInput_;
00056 const double ptMin_,ptMax_,etaMin_,etaMax_,phiMin_,phiMax_,nHitMin_,nHitMax_,chi2nMax_;
00057 const double minHitChargeStrip_, minHitIsolation_;
00058 const edm::InputTag rphirecHitsTag_;
00059 const edm::InputTag matchedrecHitsTag_;
00060 const unsigned int nHitMin2D_;
00061 const int minHitsinTIB_, minHitsinTOB_, minHitsinTID_, minHitsinTEC_, minHitsinBPIX_, minHitsinFPIX_;
00062
00063 };
00064
00065 #endif
00066