CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonCosmicCompatibilityFiller.h
Go to the documentation of this file.
1 
16 #ifndef MuonIdentification_MuonCosmicCompatibilityFiller_h
17 #define MuonIdentification_MuonCosmicCompatibilityFiller_h
18 
19 #include <vector>
20 
23 
26 
27 namespace edm {class ParameterSet; class Event; class EventSetup;}
28 class GlobalMuonRefitter;
29 class MuonServiceProxy;
30 
31 
33 
34  public:
35 
38 
41 
42  private:
43 
45  float muonTiming(const edm::Event& iEvent, const reco::Muon& muon, bool isLoose) const;
46 
48  unsigned int backToBack2LegCosmic(const edm::Event&, const reco::Muon&) const;
49 
51  unsigned int pvMatches(const edm::Event&, const reco::Muon&, bool) const;
52 
54  bool isOverlappingMuon(const edm::Event&, const edm::EventSetup& iSetup, const reco::Muon&) const;
55 
57  unsigned int nMuons(const edm::Event&) const;
58 
60  unsigned int eventActivity(const edm::Event&, const reco::Muon&) const;
61 
63  float combinedCosmicID(const edm::Event&, const edm::EventSetup& iSetup, const reco::Muon&, bool CheckMuonID, bool checkVertex) const;
64 
66  bool checkMuonID( const reco::Muon& ) const;
67 
69  bool checkMuonSegments(const reco::Muon& muon) const;
70 
71  private:
72 
73  std::vector<edm::InputTag> inputMuonCollections_;
74  std::vector<edm::InputTag> inputTrackCollections_;
78 
79  double maxdxyLoose_;
80  double maxdzLoose_;
81  double maxdxyTight_;
82  double maxdzTight_;
87  double largedxyMult_;
88  double largedxy_;
89  double hIpTrdxy_;
90  double hIpTrvProb_;
91  double minvProb_;
92  double maxvertZ_;
93  double maxvertRho_;
94  unsigned int nTrackThreshold_;
103  double corrTimePos_;
104  double corrTimeNeg_;
105  double deltaPt_;
108  double sharedFrac_;
109  double ipThreshold_;
111  double segmentComp_;
112 
113 };
114 #endif
unsigned int nMuons(const edm::Event &) const
get number of muons in the vent
unsigned int pvMatches(const edm::Event &, const reco::Muon &, bool) const
return cosmic-likeness based on the 2D impact parameters (dxy, dz wrt to PV). 0 == cosmic-like ...
float combinedCosmicID(const edm::Event &, const edm::EventSetup &iSetup, const reco::Muon &, bool CheckMuonID, bool checkVertex) const
combined cosmic-likeness: 0 == not cosmic-like
int iEvent
Definition: GenABIO.cc:243
unsigned int backToBack2LegCosmic(const edm::Event &, const reco::Muon &) const
return cosmic-likeness based on presence of a track in opp side: 0 == no matching opp tracks ...
reco::MuonCosmicCompatibility fillCompatibility(const reco::Muon &muon, edm::Event &, const edm::EventSetup &)
fill cosmic compatibility variables
unsigned int eventActivity(const edm::Event &, const reco::Muon &) const
returns cosmic-likeness based on the event activity information: tracker track multiplicity and verte...
MuonCosmicCompatibilityFiller(const edm::ParameterSet &)
std::vector< edm::InputTag > inputTrackCollections_
float muonTiming(const edm::Event &iEvent, const reco::Muon &muon, bool isLoose) const
check muon time (DT and CSC) information: 0 == prompt-like
bool checkMuonID(const reco::Muon &) const
tag a muon as cosmic based on the muonID information
bool isOverlappingMuon(const edm::Event &, const edm::EventSetup &iSetup, const reco::Muon &) const
returns cosmic-likeness based on overlap with traversing cosmic muon (only muon/STA hits are used) ...
bool checkMuonSegments(const reco::Muon &muon) const
tag a muon as cosmic based on segment compatibility and the number of segment matches ...
std::vector< edm::InputTag > inputMuonCollections_