CMS 3D CMS Logo

CalibrationTrackSelector.h
Go to the documentation of this file.
1 #ifndef Calibration_TkAlCaRecoProducers_CalibrationTrackSelector_h
2 #define Calibration_TkAlCaRecoProducers_CalibrationTrackSelector_h
3 
6 #include <vector>
7 
8 namespace edm {
9  class Event;
10  class ParameterSet;
11 } // namespace edm
12 
13 class TrackingRecHit;
14 
16 public:
17  typedef std::vector<const reco::Track *> Tracks;
18 
21 
24 
26  Tracks select(const Tracks &tracks, const edm::Event &evt) const;
27 
28 private:
30  Tracks basicCuts(const Tracks &tracks, const edm::Event &evt) const;
32  bool detailedHitsCheck(const reco::Track *track, const edm::Event &evt) const;
33  bool isHit2D(const TrackingRecHit &hit) const;
34  bool isOkCharge(const TrackingRecHit *therechit) const;
35  bool isIsolated(const TrackingRecHit *therechit, const edm::Event &evt) const;
36 
38  Tracks theNHighestPtTracks(const Tracks &tracks) const;
39 
41  struct ComparePt {
42  bool operator()(const reco::Track *t1, const reco::Track *t2) const { return t1->pt() > t2->pt(); }
43  };
45 
46  const bool applyBasicCuts_, applyNHighestPt_, applyMultiplicityFilter_;
47  const int seedOnlyFromAbove_;
48  const bool applyIsolation_, chargeCheck_;
49  const int nHighestPt_, minMultiplicity_, maxMultiplicity_;
50  const bool multiplicityOnInput_;
51  const double ptMin_, ptMax_, etaMin_, etaMax_, phiMin_, phiMax_, nHitMin_, nHitMax_, chi2nMax_;
53  const double minHitChargeStrip_, minHitIsolation_;
56  const unsigned int nHitMin2D_;
57  const int minHitsinTIB_, minHitsinTOB_, minHitsinTID_, minHitsinTEC_, minHitsinBPIX_, minHitsinFPIX_;
58 };
59 
60 #endif
const edm::InputTag matchedrecHitsTag_
double pt() const
track transverse momentum
Definition: TrackBase.h:660
const edm::InputTag rphirecHitsTag_
compare two tracks in pt (used by theNHighestPtTracks)
bool operator()(const reco::Track *t1, const reco::Track *t2) const
std::vector< const reco::Track * > Tracks
HLT enums.