39 src_(cfg.getParameter<
InputTag>(
"src")),
41 ptMin_(cfg.getUntrackedParameter<double>(
"ptMin")),
42 massMin_(cfg.getUntrackedParameter<double>(
"massMin")),
43 massMax_(cfg.getUntrackedParameter<double>(
"massMax")),
44 etaMin_(cfg.getUntrackedParameter<double>(
"etaMin")),
45 etaMax_(cfg.getUntrackedParameter<double>(
"etaMax")),
46 trkIso_(cfg.getUntrackedParameter<double>(
"trkIso")),
47 chi2Cut_(cfg.getUntrackedParameter<double>(
"chi2Cut")),
48 nHitCut_(cfg.getUntrackedParameter<int>(
"nHitCut"))
54 h_GlbMuChi2_= trackEffDir.
make<TH1D>(
"chi2 of GlobalMuon",
"chi2 of GlobalMuon", 100,0,10);
55 h_GlbMuDxy_= trackEffDir.
make<TH1D>(
"Dxy of GlobalMuon",
"Dxy of GlobalMuon", 1000,-5.,5.);
67 cout <<
">> entries in " <<
src_ <<
": " << src->size() << endl;
72 if(dau1 == 0|| dau2 == 0)
74 "one of the two daughter does not exist\n";
78 std::cout <<
" dimuon mass " <<
i->mass() << std::endl;
79 std::cout <<
"dau1.pt() " << dau1->
pt() << std::endl;
80 std::cout <<
"dau2.pt() " << dau2->
pt() << std::endl;
98 "first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
112 "first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
116 int nOfHit_1=0, nOfHit_tk_1=0, nOfHit_2=0, nOfHit_tk_2=0;
118 std::cout <<
"n of hit of GlbMu1: " << nOfHit_1 << std::endl;
120 std::cout <<
"n of hit of TrkMu1: " << nOfHit_tk_1 << std::endl;
122 std::cout <<
"n of hit of GlbMu2: " << nOfHit_2 << std::endl;
124 std::cout <<
"n of hit of TrkMu2: " << nOfHit_tk_2 << std::endl;
129 double nChi2_1=0, nChi2_2=0;
131 std::cout <<
"chi2 of GlbMu1: " << nChi2_1 << std::endl;
133 std::cout <<
"chi2 of GlbMu2: " << nChi2_2 << std::endl;
136 double dxy_1= mu1->
dB();
137 double dxy_2= mu2->
dB();
142 std::cout<<
"found a GlbMuon with nOfHit " << nOfHit_tk_1 <<
", it has eta: " << mu1->
eta()<< std::endl;
145 std::cout<<
"found a GlbMuon with nOfHit " << nOfHit_tk_2 <<
", it has eta: " << mu2->
eta()<< std::endl;
148 std::cout<<
"found a GlbMuon with chi2 " << nChi2_1 <<
", it has chi2 of track: " << mu1->
innerTrack()->normalizedChi2()<<
", and chi2 of Sta: "<< mu1->
outerTrack()->normalizedChi2() <<
", eta: "<< mu1->
eta()<<
",pt: "<< mu1->
pt()<< std::endl;
151 std::cout<<
"found a GlbMuon with chi2 " << nChi2_2 <<
", it has chi2 of track: " << mu2->
innerTrack()->normalizedChi2()<<
", and chi2 of Sta: "<< mu2->
outerTrack()->normalizedChi2() <<
", eta: "<<mu2->
eta()<<
",pt: "<< mu2->
pt()<< std::endl;
value_type const * get() const
reco::TrackRef innerTrack() const
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
edm::EDGetTokenT< reco::CandidateView > srcToken_
std::vector< unsigned int > matched_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual double pt() const =0
transverse momentum
#define DEFINE_FWK_MODULE(type)
bool isTrackerMuon() const
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
bool isGlobalMuon() const
GlbMuQualityCutsAnalysis(const edm::ParameterSet &cfg)
double dB(IpType type) const
reco::TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
virtual double eta() const
momentum pseudorapidity
virtual double pt() const
transverse momentum
TH1D * h_TrkMuNofHitsGlbMu_
TH1D * h_GlbMuNofHitsGlbMu_
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
virtual bool isStandAloneMuon() const =0
std::vector< unsigned int > unMatched_
virtual int charge() const =0
electric charge
T * make(const Args &...args) const
make new ROOT object
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
virtual bool isTrackerMuon() const =0
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
Analysis-level muon class.
virtual bool isGlobalMuon() const =0
virtual const CandidateBaseRef & masterClone() const =0