CMS 3D CMS Logo

List of all members | Public Member Functions
METAlgo Class Reference

#include <RecoMET/METAlgorithms/interface/METAlgo.h>

Public Member Functions

 METAlgo ()
 
CommonMETData run (const edm::View< reco::Candidate > &candidates, double globalThreshold=0.0, edm::ValueMap< float > const *weights=nullptr)
 
virtual ~METAlgo ()
 

Detailed Description

Description: Calculates MET for given input

Implementation: [Notes on implementation]

Definition at line 29 of file METAlgo.h.

Constructor & Destructor Documentation

◆ METAlgo()

METAlgo::METAlgo ( )
inline

Definition at line 31 of file METAlgo.h.

31 {}

◆ ~METAlgo()

virtual METAlgo::~METAlgo ( )
inlinevirtual

Definition at line 32 of file METAlgo.h.

32 {}

Member Function Documentation

◆ run()

CommonMETData METAlgo::run ( const edm::View< reco::Candidate > &  candidates,
double  globalThreshold = 0.0,
edm::ValueMap< float > const *  weights = nullptr 
)

Definition at line 16 of file METAlgo.cc.

18  {
20  for (auto const& candPtr : candidates.ptrs()) {
21  const reco::Candidate* cand = candPtr.get();
22  float weight = (weights != nullptr) ? (*weights)[candPtr] : 1.0;
23  if (!(cand->et() * weight > globalThreshold))
24  continue;
25  p4 += cand->p4() * weight;
26  }
28 
30  ret.mex = met.Px();
31  ret.mey = met.Py();
32 
33  ret.mez = met.Pz(); // included here since it might be useful
34  // for Data Quality Monitering as it should be
35  // symmetrically distributed about the origin
36 
37  ret.met = met.Pt();
38 
39  double et = 0.0;
40  for (auto const& candPtr : candidates.ptrs()) {
41  const reco::Candidate* cand = candPtr.get();
42  float weight = (weights != nullptr) ? (*weights)[candPtr] : 1.0;
43  if (!(cand->et() * weight > globalThreshold))
44  continue;
45  et += cand->et() * weight;
46  }
47 
48  ret.sumet = et;
49 
50  return ret;
51 }

References HLT_2018_cff::candidates, EgHLTOffHistBins_cfi::et, distPFMET_cfi::globalThreshold, BTaggingMonitor_cfi::met, p4, runTheMatrix::ret, mps_merge::weight, and HLT_2018_cff::weights.

Referenced by reco::PFMETProducerMVA::produce().

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:355
HLT_2018_cff.weights
weights
Definition: HLT_2018_cff.py:87167
mps_merge.weight
weight
Definition: mps_merge.py:88
CommonMETData
Structure containing data common to all types of MET.
Definition: CommonMETData.h:12
BTaggingMonitor_cfi.met
met
Definition: BTaggingMonitor_cfi.py:84
cand
Definition: decayParser.h:34
distPFMET_cfi.globalThreshold
globalThreshold
Definition: distPFMET_cfi.py:16
p4
double p4[4]
Definition: TauolaWrapper.h:92
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
reco::Candidate
Definition: Candidate.h:27
HLT_2018_cff.candidates
candidates
Definition: HLT_2018_cff.py:53513
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
weight
Definition: weight.py:1