#include <RecoMET/METAlgorithms/interface/PFSpecificAlgo.h>
Public Types | |
typedef math::XYZTLorentzVector | LorentzVector |
typedef math::XYZPoint | Point |
Public Member Functions | |
reco::PFMET | addInfo (edm::Handle< edm::View< reco::Candidate > > PFCandidates, CommonMETData met) |
Definition at line 14 of file PFSpecificAlgo.h.
Definition at line 17 of file PFSpecificAlgo.h.
typedef math::XYZPoint PFSpecificAlgo::Point |
Definition at line 18 of file PFSpecificAlgo.h.
reco::PFMET PFSpecificAlgo::addInfo | ( | edm::Handle< edm::View< reco::Candidate > > | PFCandidates, | |
CommonMETData | met | |||
) |
Definition at line 19 of file PFSpecificAlgo.cc.
References SpecificPFMETData::ChargedEMFraction, SpecificPFMETData::ChargedHadFraction, CommonMETData::met, CommonMETData::mex, CommonMETData::mey, SpecificPFMETData::MuonFraction, SpecificPFMETData::NeutralEMFraction, SpecificPFMETData::NeutralHadFraction, p4, and CommonMETData::sumet.
Referenced by cms::METProducer::produce().
00020 { 00021 // Instantiate the container to hold the PF specific information 00022 SpecificPFMETData specific; 00023 // Initialize the container 00024 specific.NeutralEMFraction = 0.0; 00025 specific.NeutralHadFraction = 0.0; 00026 specific.ChargedEMFraction = 0.0; 00027 specific.ChargedHadFraction = 0.0; 00028 specific.MuonFraction = 0.0; 00029 00030 00031 if(!PFCandidates->size()) // if no Particle Flow candidates in the event 00032 { 00033 const LorentzVector p4( met.mex, met.mey, 0.0, met.met); 00034 const Point vtx(0.0, 0.0, 0.0 ); 00035 PFMET specificPFMET( specific, met.sumet, p4, vtx); 00036 return specificPFMET; 00037 } 00038 00039 //Insert code to retreive / calculate specific pf data here: 00040 00041 00042 00043 00044 const LorentzVector p4(met.mex , met.mey, 0.0, met.met); 00045 const Point vtx(0.0,0.0,0.0); 00046 PFMET specificPFMET( specific, met.sumet, p4, vtx ); 00047 return specificPFMET; 00048 }