CMS 3D CMS Logo

AlignmentMuonSelector.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentMuonSelector_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignmentMuonSelector_h
3 
20 #include <vector>
21 
22 namespace edm { class Event; }
23 
25 {
26 
27  public:
28 
29  typedef std::vector<const reco::Muon*> Muons;
30 
33 
36 
38  Muons select(const Muons& muons, const edm::Event& evt) const;
39 
40  private:
41 
43  Muons basicCuts(const Muons& muons) const;
44 
46  Muons theNHighestPtMuons(const Muons& muons) const;
47 
49  Muons theBestMassPairCombinationMuons(const Muons& muons) const;
50 
52  struct ComparePt {
53  bool operator()( const reco::Muon* t1, const reco::Muon* t2 ) const {
54  return t1->pt()> t2->pt();
55  }
56  };
58 
63  double nHitMinSA,nHitMaxSA,chi2nMaxSA;
64  double nHitMinGB,nHitMaxGB,chi2nMaxGB;
65  double nHitMinTO,nHitMaxTO,chi2nMaxTO;
67 
68 };
69 
70 #endif
71 
std::vector< const reco::Muon * > Muons
compare two muons in pt (used by theNHighestPtMuons)
double pt() const final
transverse momentum
bool operator()(const reco::Muon *t1, const reco::Muon *t2) const
applyBasicCuts
do not store empty events
HLT enums.