38 src_(cfg.getParameter<
InputTag>(
"src")),
39 ptMin_(cfg.getUntrackedParameter<double>(
"ptMin")),
40 massMin_(cfg.getUntrackedParameter<double>(
"massMin")),
41 massMax_(cfg.getUntrackedParameter<double>(
"massMax")),
42 etaMin_(cfg.getUntrackedParameter<double>(
"etaMin")),
43 etaMax_(cfg.getUntrackedParameter<double>(
"etaMax")),
44 trkIso_(cfg.getUntrackedParameter<double>(
"trkIso")),
45 chi2Cut_(cfg.getUntrackedParameter<double>(
"chi2Cut")),
46 nHitCut_(cfg.getUntrackedParameter<int>(
"nHitCut"))
52 h_GlbMuChi2_= trackEffDir.
make<TH1D>(
"chi2 of GlobalMuon",
"chi2 of GlobalMuon", 100,0,10);
53 h_GlbMuDxy_= trackEffDir.
make<TH1D>(
"Dxy of GlobalMuon",
"Dxy of GlobalMuon", 1000,-5.,5.);
65 cout <<
">> entries in " <<
src_ <<
": " << src->size() << endl;
70 if(dau1 == 0|| dau2 == 0)
72 "one of the two daughter does not exist\n";
76 std::cout <<
" dimuon mass " <<
i->mass() << std::endl;
77 std::cout <<
"dau1.pt() " << dau1->
pt() << std::endl;
78 std::cout <<
"dau2.pt() " << dau2->
pt() << std::endl;
96 "first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
110 "first of two daughter is neither a pat::Muon not pat::GenericParticle\n";
114 int nOfHit_1=0, nOfHit_tk_1=0, nOfHit_2=0, nOfHit_tk_2=0;
116 std::cout <<
"n of hit of GlbMu1: " << nOfHit_1 << std::endl;
118 std::cout <<
"n of hit of TrkMu1: " << nOfHit_tk_1 << std::endl;
120 std::cout <<
"n of hit of GlbMu2: " << nOfHit_2 << std::endl;
122 std::cout <<
"n of hit of TrkMu2: " << nOfHit_tk_2 << std::endl;
127 double nChi2_1=0, nChi2_2=0;
129 std::cout <<
"chi2 of GlbMu1: " << nChi2_1 << std::endl;
131 std::cout <<
"chi2 of GlbMu2: " << nChi2_2 << std::endl;
134 double dxy_1= mu1->
dB();
135 double dxy_2= mu2->
dB();
140 std::cout<<
"found a GlbMuon with nOfHit " << nOfHit_tk_1 <<
", it has eta: " << mu1->
eta()<< std::endl;
143 std::cout<<
"found a GlbMuon with nOfHit " << nOfHit_tk_2 <<
", it has eta: " << mu2->
eta()<< std::endl;
146 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;
149 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;
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
reco::TrackRef innerTrack() const
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
std::vector< unsigned int > matched_
virtual double pt() const =0
transverse momentum
#define DEFINE_FWK_MODULE(type)
bool isTrackerMuon() const
bool isGlobalMuon() const
GlbMuQualityCutsAnalysis(const edm::ParameterSet &cfg)
reco::TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
virtual double eta() const
momentum pseudorapidity
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
virtual void analyze(const edm::Event &, const edm::EventSetup &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
double dB(IpType type=None) const
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
virtual double pt() const
transverse momentum
T * make() const
make new ROOT object
virtual bool isTrackerMuon() const =0
Analysis-level muon class.
value_type const * get() const
virtual bool isGlobalMuon() const =0
virtual const CandidateBaseRef & masterClone() const =0