36 const Point vtx(0.0, 0.0, 0.0 );
37 PFMET specificPFMET( specific, met.
sumet, p4, vtx);
41 double NeutralEMEt = 0.0;
42 double NeutralHadEt = 0.0;
43 double ChargedEMEt = 0.0;
44 double ChargedHadEt = 0.0;
54 const Candidate* candidate = &(*iParticle);
64 const double theta = iParticle->theta();
65 const double e = iParticle->energy();
66 const double et = e*
sin(theta);
69 if(dau.isNonnull () && dau.isAvailable()){
71 pfsignalgo_.addPFCandidate(pf);
76 if (pfCandidate->
particleId() == 1) ChargedHadEt += et;
77 if (pfCandidate->
particleId() == 2) ChargedEMEt += et;
78 if (pfCandidate->
particleId() == 3) MuonEt += et;
79 if (pfCandidate->
particleId() == 4) NeutralEMEt += et;
80 if (pfCandidate->
particleId() == 5) NeutralHadEt += et;
81 if (pfCandidate->
particleId() == 6) type6Et += et;
82 if (pfCandidate->
particleId() == 7) type7Et += et;
87 const double Et_total=NeutralEMEt+NeutralHadEt+ChargedEMEt+ChargedHadEt+MuonEt+type6Et+type7Et;
101 const Point vtx(0.0,0.0,0.0);
102 PFMET specificPFMET( specific, met.
sumet, p4, vtx );
106 return specificPFMET;
112 pfsignalgo_.setResolutions( &resolutions );
113 pfsignalgo_.addPFJets(
jets);
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
double NeutralHadFraction
double ChargedHadFraction
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
Structure containing data common to all types of MET.
void setSignificanceMatrix(const TMatrixD &matrix)
math::XYZTLorentzVector LorentzVector
MET made from Particle Flow Candidates.
Particle reconstructed by the particle flow algorithm.
void runSignificance(metsig::SignAlgoResolutions &resolutions, edm::Handle< edm::View< reco::PFJet > > jets)
reco::PFMET addInfo(edm::Handle< edm::View< reco::Candidate > > PFCandidates, CommonMETData met)
virtual ParticleType particleId() const