CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CMGMuonCleanerBySegmentsAlgo.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Heppy_CMGMuonCleanerBySegmentsAlgo_h
2 #define PhysicsTools_Heppy_CMGMuonCleanerBySegmentsAlgo_h
3 
6 #include <vector>
7 
8 namespace heppy {
9 
11  public:
12  CMGMuonCleanerBySegmentsAlgo(double sharedFraction = 0.499,
13  const std::string &preselection = "track.isNonnull",
14  const std::string &passthrough = "isGlobalMuon && numberOfMatches >= 2")
15  : sharedFraction_(sharedFraction), preselection_(preselection, true), passthrough_(passthrough, true) {}
17 
19  std::vector<bool> clean(const std::vector<pat::Muon> &muons) const;
20 
21  private:
24 
29 
31  bool isSameMuon(const pat::Muon &mu1, const pat::Muon &mu2) const;
32  bool isBetterMuon(const pat::Muon &mu1, bool mu1PF, const pat::Muon &mu2, bool mu2PF) const;
33  };
34 
35 } // namespace heppy
36 
37 #endif
std::vector< bool > clean(const std::vector< pat::Muon > &muons) const
Return a vector of boolean marking the muons to be considered clean.
double sharedFraction_
Fraction of shared segments.
bool isBetterMuon(const pat::Muon &mu1, bool mu1PF, const pat::Muon &mu2, bool mu2PF) const
StringCutObjectSelector< pat::Muon > passthrough_
Always-accept cut.
bool isSameMuon(const pat::Muon &mu1, const pat::Muon &mu2) const
Methods.
tuple preselection
string added as general entry for modeul definition here and use in tauTools.py
CMGMuonCleanerBySegmentsAlgo(double sharedFraction=0.499, const std::string &preselection="track.isNonnull", const std::string &passthrough="isGlobalMuon && numberOfMatches >= 2")
StringCutObjectSelector< pat::Muon > preselection_
Preselection cut.
tuple muons
Definition: patZpeak.py:41
Analysis-level muon class.
Definition: Muon.h:51