63 cout <<
">> entries in " <<
src_ <<
": " << src->
size() << endl;
68 if (dau1 ==
nullptr || dau2 ==
nullptr)
73 std::cout <<
" dimuon mass " <<
i->mass() << std::endl;
74 std::cout <<
"dau1.pt() " << dau1->
pt() << std::endl;
75 std::cout <<
"dau2.pt() " << dau2->
pt() << std::endl;
92 <<
"first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
104 <<
"first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
107 int nOfHit_1 = 0, nOfHit_tk_1 = 0, nOfHit_2 = 0, nOfHit_tk_2 = 0;
110 std::cout <<
"n of hit of GlbMu1: " << nOfHit_1 << std::endl;
112 nOfHit_tk_1 = mu1->
innerTrack()->numberOfValidHits();
113 std::cout <<
"n of hit of TrkMu1: " << nOfHit_tk_1 << std::endl;
116 std::cout <<
"n of hit of GlbMu2: " << nOfHit_2 << std::endl;
118 nOfHit_tk_2 = mu2->
innerTrack()->numberOfValidHits();
119 std::cout <<
"n of hit of TrkMu2: " << nOfHit_tk_2 << std::endl;
124 double nChi2_1 = 0, nChi2_2 = 0;
127 std::cout <<
"chi2 of GlbMu1: " << nChi2_1 << std::endl;
130 std::cout <<
"chi2 of GlbMu2: " << nChi2_2 << std::endl;
133 double dxy_1 = mu1->
dB();
134 double dxy_2 = mu2->
dB();
139 std::cout <<
"found a GlbMuon with nOfHit " << nOfHit_tk_1 <<
", it has eta: " << mu1->
eta() << std::endl;
142 std::cout <<
"found a GlbMuon with nOfHit " << nOfHit_tk_2 <<
", it has eta: " << mu2->
eta() << std::endl;
145 std::cout <<
"found a GlbMuon with chi2 " << nChi2_1
146 <<
", it has chi2 of track: " << mu1->
innerTrack()->normalizedChi2()
147 <<
", and chi2 of Sta: " << mu1->
outerTrack()->normalizedChi2() <<
", eta: " << mu1->
eta()
148 <<
",pt: " << mu1->
pt() << std::endl;
151 std::cout <<
"found a GlbMuon with chi2 " << nChi2_2
152 <<
", it has chi2 of track: " << mu2->
innerTrack()->normalizedChi2()
153 <<
", and chi2 of Sta: " << mu2->
outerTrack()->normalizedChi2() <<
", eta: " << mu2->
eta()
154 <<
",pt: " << mu2->
pt() << std::endl;
value_type const * get() const
edm::EDGetTokenT< reco::CandidateView > srcToken_
double eta() const final
momentum pseudorapidity
virtual bool isStandAloneMuon() const =0
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double dB(IPTYPE type) const
double pt() const final
transverse momentum
bool isTrackerMuon() const override
TH1D * h_TrkMuNofHitsGlbMu_
TH1D * h_GlbMuNofHitsGlbMu_
virtual bool isTrackerMuon() const =0
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
reco::TrackRef innerTrack() const override
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
const_iterator begin() const
reco::TrackRef outerTrack() const override
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
bool isGlobalMuon() const override
virtual const CandidateBaseRef & masterClone() const =0
virtual bool isGlobalMuon() const =0
virtual double pt() const =0
transverse momentum
virtual int charge() const =0
electric charge
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
const_iterator end() const
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
Analysis-level muon class.