CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Calibration/TkAlCaRecoProducers/interface/CalibrationTrackSelector.h

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