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 {
23  class Event;
24 }
25 
27 public:
28  typedef std::vector<const reco::Muon*> Muons;
29 
32 
35 
37  Muons select(const Muons& muons, const edm::Event& evt) const;
38 
39 private:
41  Muons basicCuts(const Muons& muons) const;
42 
44  Muons theNHighestPtMuons(const Muons& muons) const;
45 
47  Muons theBestMassPairCombinationMuons(const Muons& muons) const;
48 
50  struct ComparePt {
51  bool operator()(const reco::Muon* t1, const reco::Muon* t2) const { return t1->pt() > t2->pt(); }
52  };
54 
59  double nHitMinSA, nHitMaxSA, chi2nMaxSA;
60  double nHitMinGB, nHitMaxGB, chi2nMaxGB;
61  double nHitMinTO, nHitMaxTO, chi2nMaxTO;
63 };
64 
65 #endif
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.