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 
14 #ifndef MuonIdentification_MuonCosmicCompatibilityFiller_h
15 #define MuonIdentification_MuonCosmicCompatibilityFiller_h
16 
17 #include <vector>
18 
21 
25 
32 
33 
34 namespace edm {class ParameterSet; class Event; class EventSetup;}
35 class GlobalMuonRefitter;
36 class MuonServiceProxy;
37 
38 
40 
41  public:
42 
45 
48 
49  private:
50 
52  float muonTiming(const edm::Event& iEvent, const reco::Muon& muon, bool isLoose) const;
53 
55  unsigned int backToBack2LegCosmic(const edm::Event&, const reco::Muon&) const;
56 
58  unsigned int pvMatches(const edm::Event&, const reco::Muon&, bool) const;
59 
61  bool isOverlappingMuon(const edm::Event&, const edm::EventSetup& iSetup, const reco::Muon&) const;
62 
64  unsigned int nMuons(const edm::Event&) const;
65 
67  unsigned int eventActivity(const edm::Event&, const reco::Muon&) const;
68 
70  float combinedCosmicID(const edm::Event&, const edm::EventSetup& iSetup, const reco::Muon&, bool CheckMuonID, bool checkVertex) const;
71 
73  bool checkMuonID( const reco::Muon& ) const;
74 
76  bool checkMuonSegments(const reco::Muon& muon) const;
77 
78  private:
79 
80  std::vector<edm::InputTag> inputMuonCollections_;
81  std::vector<edm::InputTag> inputTrackCollections_;
84 
85  std::vector<edm::EDGetTokenT<reco::MuonCollection> > muonTokens_;
86  std::vector<edm::EDGetTokenT<reco::TrackCollection> > trackTokens_;
89 
90 
91 
93 
94  double maxdxyLoose_;
95  double maxdzLoose_;
96  double maxdxyTight_;
97  double maxdzTight_;
103  double largedxy_;
104  double hIpTrdxy_;
105  double hIpTrvProb_;
106  double minvProb_;
107  double maxvertZ_;
108  double maxvertRho_;
109  unsigned int nTrackThreshold_;
118  double corrTimePos_;
119  double corrTimeNeg_;
120  double deltaPt_;
123  double sharedFrac_;
124  double ipThreshold_;
126  double segmentComp_;
127 
128 };
129 #endif
unsigned int nMuons(const edm::Event &) const
get number of muons in the vent
std::vector< edm::EDGetTokenT< reco::TrackCollection > > trackTokens_
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:230
edm::EDGetTokenT< reco::MuonCollection > cosmicToken_
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 ...
std::vector< edm::EDGetTokenT< reco::MuonCollection > > muonTokens_
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...
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MuonCosmicCompatibilityFiller(const edm::ParameterSet &, edm::ConsumesCollector &)
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_