CMS 3D CMS Logo

Tau3MuReco.h
Go to the documentation of this file.
1 #ifndef TAU3MURECO_H
2 #define TAU3MURECO_H
3 
8 
12 
13 class Tau3MuReco {
14 public:
16  ~Tau3MuReco();
17 
18  bool doTau3MuReco(const edm::Event& iEvent,
19  const edm::EventSetup& iSetup,
22 
23 private:
24  bool check4MuonTrack(
25  const reco::Track& track); //compares track with reconstructed muons and return true if they are equal
26  bool find3rdTrack(
27  const edm::Event& iEvent,
28  const edm::EventSetup& iSetup,
29  const reco::TrackCollection& Tracks); //try to find a 3rd muon in tracks, if this was not detected as a muon
30  bool findCorrectPairing(); //find the correct 3 muons, if more than 3 muons has been reconstructed
31  double getInvariantMass(const reco::TrackCollection* tracks, const double MuonMass = 0.106);
32  double getDeltaR(const reco::Track& track1, const reco::Track& track2);
33  bool removeIncorrectMuon(); //try to remove one muon, which seems to come not from a tau->3Mu decay
34 
35  const double m_kMatchingDeltaR;
36  const double m_kMatchingPt;
37  const double m_kTauMassCut;
38  const double m_kTauMass;
39  const double m_kMuonMass;
40 
43 
46 };
47 
48 #endif
Tau3MuReco(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
Definition: Tau3MuReco.cc:9
double getDeltaR(const reco::Track &track1, const reco::Track &track2)
Definition: Tau3MuReco.cc:282
double getInvariantMass(const reco::TrackCollection *tracks, const double MuonMass=0.106)
Definition: Tau3MuReco.cc:260
const double m_kTauMass
Definition: Tau3MuReco.h:38
bool find3rdTrack(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::TrackCollection &Tracks)
Definition: Tau3MuReco.cc:92
const double m_kMatchingPt
Definition: Tau3MuReco.h:36
reco::TrackCollection * m_TrackCollection
Definition: Tau3MuReco.h:45
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
bool findCorrectPairing()
Definition: Tau3MuReco.cc:197
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
int iEvent
Definition: GenABIO.cc:224
const double m_kMatchingDeltaR
Definition: Tau3MuReco.h:35
bool doTau3MuReco(const edm::Event &iEvent, const edm::EventSetup &iSetup, reco::MuonCollection *muonCollection, reco::TrackCollection *trackCollection)
Definition: Tau3MuReco.cc:20
const double m_kTauMassCut
Definition: Tau3MuReco.h:37
const double MuonMass
const double m_kMuonMass
Definition: Tau3MuReco.h:39
bool removeIncorrectMuon()
Definition: Tau3MuReco.cc:237
const edm::EDGetTokenT< reco::MuonCollection > m_kMuonSourceToken
Definition: Tau3MuReco.h:41
const edm::EDGetTokenT< reco::TrackCollection > m_kTrackSourceToken
Definition: Tau3MuReco.h:42
reco::MuonCollection * m_MuonCollection
Definition: Tau3MuReco.h:44
bool check4MuonTrack(const reco::Track &track)
Definition: Tau3MuReco.cc:76