CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
PFMETAlgorithmMVA Class Reference

#include <PFMETAlgorithmMVA.h>

Public Member Functions

void evaluateMVA ()
 
double getCovU1 () const
 
double getCovU2 () const
 
double getDPhi () const
 
reco::Candidate::LorentzVector getMEt () const
 
const reco::METCovMatrixgetMEtCov () const
 
double getU () const
 
void initialize (const edm::EventSetup &)
 
 PFMETAlgorithmMVA (const edm::ParameterSet &cfg)
 
void print (std::ostream &) const
 
void setHasPhotons (bool hasPhotons)
 
void setInput (const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::PUSubMETCandInfo > &, const std::vector< reco::Vertex::Point > &)
 
 ~PFMETAlgorithmMVA ()
 

Private Member Functions

void computeMET ()
 
std::unique_ptr< float[]> createFloatVector (std::vector< std::string > variableNames)
 
const float evaluateCovU1 ()
 
const float evaluateCovU2 ()
 
const float evaluateDPhi ()
 
const float evaluateU ()
 
const float GetResponse (const GBRForest *Reader, std::vector< std::string > &variableNames)
 
const GBRForestloadMVAfromDB (const edm::EventSetup &es, const std::string &mvaName)
 
const GBRForestloadMVAfromFile (const edm::FileInPath &inputFileName, const std::string &mvaName)
 
const std::string updateVariableNames (std::string input)
 

Private Attributes

edm::ParameterSet cfg_
 
double chargedSumLeptonPx_
 
double chargedSumLeptonPy_
 
double dZcut_
 
bool hasPhotons_
 
bool loadMVAfromDB_
 
float * mvaInputCovU1_
 
float * mvaInputCovU2_
 
float * mvaInputDPhi_
 
float * mvaInputU_
 
reco::Candidate::LorentzVector mvaMEt_
 
reco::METCovMatrix mvaMEtCov_
 
std::string mvaNameCovU1_
 
std::string mvaNameCovU2_
 
std::string mvaNameDPhi_
 
std::string mvaNameU_
 
float mvaOutputCovU1_
 
float mvaOutputCovU2_
 
float mvaOutputDPhi_
 
float mvaOutputU_
 
const GBRForestmvaReaderCovU1_
 
const GBRForestmvaReaderCovU2_
 
const GBRForestmvaReaderDPhi_
 
const GBRForestmvaReaderU_
 
int mvaType_
 
double sumLeptonPx_
 
double sumLeptonPy_
 
MvaMEtUtilities utils_
 
std::map< std::string, float > var_
 
std::vector< std::string > varForCovU1_
 
std::vector< std::string > varForCovU2_
 
std::vector< std::string > varForDPhi_
 
std::vector< std::string > varForU_
 

Detailed Description

MVA based algorithm for computing the particle-flow missing Et

Authors
Phil Harris, CERN Christian Veelken, LLR

Definition at line 30 of file PFMETAlgorithmMVA.h.

Constructor & Destructor Documentation

◆ PFMETAlgorithmMVA()

PFMETAlgorithmMVA::PFMETAlgorithmMVA ( const edm::ParameterSet cfg)

Definition at line 121 of file PFMETAlgorithmMVA.cc.

122  : utils_(cfg),
123  mvaReaderU_(nullptr),
124  mvaReaderDPhi_(nullptr),
125  mvaReaderCovU1_(nullptr),
126  mvaReaderCovU2_(nullptr),
127  cfg_(cfg) {
129 
130  loadMVAfromDB_ = cfg.getParameter<bool>("loadMVAfromDB");
131 }

References looper::cfg, kBaseline, loadMVAfromDB_, and mvaType_.

◆ ~PFMETAlgorithmMVA()

PFMETAlgorithmMVA::~PFMETAlgorithmMVA ( )

Definition at line 133 of file PFMETAlgorithmMVA.cc.

133  {
134  if (!loadMVAfromDB_) {
135  delete mvaReaderU_;
136  delete mvaReaderDPhi_;
137  delete mvaReaderCovU1_;
138  delete mvaReaderCovU2_;
139  }
140 }

References loadMVAfromDB_, mvaReaderCovU1_, mvaReaderCovU2_, mvaReaderDPhi_, and mvaReaderU_.

Member Function Documentation

◆ computeMET()

void PFMETAlgorithmMVA::computeMET ( )
private

Definition at line 260 of file PFMETAlgorithmMVA.cc.

260  {
261  double U = var_["RecoilCor_U"];
262  double Phi = var_["PhiCor_UPhi"];
263  if (U < 0.)
264  Phi += Pi; //RF: No sign flip for U necessary in that case?
265  double cosPhi = std::cos(Phi);
266  double sinPhi = std::sin(Phi);
267  double metPx = U * cosPhi - sumLeptonPx_;
268  double metPy = U * sinPhi - sumLeptonPy_;
269  double metPt = sqrt(metPx * metPx + metPy * metPy);
270  mvaMEt_.SetCoordinates(metPx, metPy, 0., metPt);
271  // compute MET uncertainties in dirrections parallel and perpendicular to hadronic recoil
272  // (neglecting uncertainties on lepton momenta)
275  mvaMEtCov_(1, 0) = mvaMEtCov_(0, 1);
277 }

References funct::cos(), Phase1L1TJetProducer_cfi::cosPhi, mvaMEt_, mvaMEtCov_, mvaOutputCovU1_, mvaOutputCovU2_, VtxSmearedParameters_cfi::Phi, Pi, funct::sin(), Phase1L1TJetProducer_cfi::sinPhi, mathSSE::sqrt(), sumLeptonPx_, sumLeptonPy_, mitigatedMETSequence_cff::U, and var_.

Referenced by evaluateMVA().

◆ createFloatVector()

std::unique_ptr< float[]> PFMETAlgorithmMVA::createFloatVector ( std::vector< std::string >  variableNames)
private

Definition at line 226 of file PFMETAlgorithmMVA.cc.

226  {
227  std::unique_ptr<float[]> floatVector(new float[variableNames.size()]);
228  int i = 0;
229  for (const auto& variableName : variableNames) {
230  floatVector[i++] = var_[variableName];
231  }
232  return floatVector;
233 }

References mps_fire::i, and var_.

Referenced by GetResponse().

◆ evaluateCovU1()

const float PFMETAlgorithmMVA::evaluateCovU1 ( )
private

◆ evaluateCovU2()

const float PFMETAlgorithmMVA::evaluateCovU2 ( )
private

◆ evaluateDPhi()

const float PFMETAlgorithmMVA::evaluateDPhi ( )
private

◆ evaluateMVA()

void PFMETAlgorithmMVA::evaluateMVA ( )

Definition at line 236 of file PFMETAlgorithmMVA.cc.

236  {
237  // CV: MVAs needs to be evaluated in order { DPhi, U1, CovU1, CovU2 }
238  // as MVA for U1 (CovU1, CovU2) uses output of DPhi (DPhi and U1) MVA
240  var_["PhiCor_UPhi"] = var_["particleFlow_UPhi"] + mvaOutputDPhi_;
242  var_["RecoilCor_U"] = var_["particleFlow_U"] * mvaOutputU_;
243  var_["RecoilCor_UPhi"] = var_["PhiCor_UPhi"];
246 
247  // compute MET(Photon check)
248  if (hasPhotons_) {
249  //Fix events with unphysical properties
250  double sumLeptonPt = std::max(sqrt(sumLeptonPx_ * sumLeptonPx_ + sumLeptonPy_ * sumLeptonPy_), 1.);
251  if (var_["track_U"] / sumLeptonPt < 0.1 || var_["noPileUp_U"] / sumLeptonPt < 0.1) {
252  mvaOutputU_ = 1.;
253  mvaOutputDPhi_ = 0.;
254  }
255  }
256  computeMET();
257 }

References computeMET(), GetResponse(), hasPhotons_, SiStripPI::max, mvaOutputCovU1_, mvaOutputCovU2_, mvaOutputDPhi_, mvaOutputU_, mvaReaderCovU1_, mvaReaderCovU2_, mvaReaderDPhi_, mvaReaderU_, funct::pow(), mathSSE::sqrt(), sumLeptonPx_, sumLeptonPy_, var_, varForCovU1_, varForCovU2_, varForDPhi_, and varForU_.

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

◆ evaluateU()

const float PFMETAlgorithmMVA::evaluateU ( )
private

◆ getCovU1()

double PFMETAlgorithmMVA::getCovU1 ( ) const
inline

Definition at line 51 of file PFMETAlgorithmMVA.h.

51 { return mvaOutputCovU1_; }

References mvaOutputCovU1_.

◆ getCovU2()

double PFMETAlgorithmMVA::getCovU2 ( ) const
inline

Definition at line 52 of file PFMETAlgorithmMVA.h.

52 { return mvaOutputCovU2_; }

References mvaOutputCovU2_.

◆ getDPhi()

double PFMETAlgorithmMVA::getDPhi ( ) const
inline

Definition at line 50 of file PFMETAlgorithmMVA.h.

50 { return mvaOutputDPhi_; }

References mvaOutputDPhi_.

◆ getMEt()

reco::Candidate::LorentzVector PFMETAlgorithmMVA::getMEt ( ) const
inline

Definition at line 46 of file PFMETAlgorithmMVA.h.

46 { return mvaMEt_; }

References mvaMEt_.

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

◆ getMEtCov()

const reco::METCovMatrix& PFMETAlgorithmMVA::getMEtCov ( ) const
inline

Definition at line 47 of file PFMETAlgorithmMVA.h.

47 { return mvaMEtCov_; }

References mvaMEtCov_.

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

◆ GetResponse()

const float PFMETAlgorithmMVA::GetResponse ( const GBRForest Reader,
std::vector< std::string > &  variableNames 
)
private

Definition at line 280 of file PFMETAlgorithmMVA.cc.

280  {
281  std::unique_ptr<float[]> mvaInputVector = createFloatVector(variableNames);
282  double result = Reader->GetResponse(mvaInputVector.get());
283  return result;
284 }

References createFloatVector(), GBRForest::GetResponse(), and mps_fire::result.

Referenced by evaluateMVA().

◆ getU()

double PFMETAlgorithmMVA::getU ( ) const
inline

Definition at line 49 of file PFMETAlgorithmMVA.h.

49 { return mvaOutputU_; }

References mvaOutputU_.

◆ initialize()

void PFMETAlgorithmMVA::initialize ( const edm::EventSetup es)

Definition at line 143 of file PFMETAlgorithmMVA.cc.

143  {
144  edm::ParameterSet cfgInputRecords = cfg_.getParameter<edm::ParameterSet>("inputRecords");
145  mvaNameU_ = cfgInputRecords.getParameter<std::string>("U");
146  mvaNameDPhi_ = cfgInputRecords.getParameter<std::string>("DPhi");
147  mvaNameCovU1_ = cfgInputRecords.getParameter<std::string>("CovU1");
148  mvaNameCovU2_ = cfgInputRecords.getParameter<std::string>("CovU2");
149 
150  if (loadMVAfromDB_) {
155  } else {
156  edm::ParameterSet cfgInputFileNames = cfg_.getParameter<edm::ParameterSet>("inputFileNames");
157 
158  edm::FileInPath inputFileNameU = cfgInputFileNames.getParameter<edm::FileInPath>("U");
159  mvaReaderU_ = loadMVAfromFile(inputFileNameU, mvaNameU_);
160  edm::FileInPath inputFileNameDPhi = cfgInputFileNames.getParameter<edm::FileInPath>("DPhi");
161  mvaReaderDPhi_ = loadMVAfromFile(inputFileNameDPhi, mvaNameDPhi_);
162  edm::FileInPath inputFileNameCovU1 = cfgInputFileNames.getParameter<edm::FileInPath>("CovU1");
163  mvaReaderCovU1_ = loadMVAfromFile(inputFileNameCovU1, mvaNameCovU1_);
164  edm::FileInPath inputFileNameCovU2 = cfgInputFileNames.getParameter<edm::FileInPath>("CovU2");
165  mvaReaderCovU2_ = loadMVAfromFile(inputFileNameCovU2, mvaNameCovU2_);
166  }
167 }

References cfg_, edm::ParameterSet::getParameter(), loadMVAfromDB(), loadMVAfromDB_, loadMVAfromFile(), mvaNameCovU1_, mvaNameCovU2_, mvaNameDPhi_, mvaNameU_, mvaReaderCovU1_, mvaReaderCovU2_, mvaReaderDPhi_, mvaReaderU_, and AlCaHLTBitMon_QueryRunRegistry::string.

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

◆ loadMVAfromDB()

const GBRForest * PFMETAlgorithmMVA::loadMVAfromDB ( const edm::EventSetup es,
const std::string &  mvaName 
)
private

Definition at line 115 of file PFMETAlgorithmMVA.cc.

115  {
117  es.get<GBRWrapperRcd>().get(mvaName, mva);
118  return mva.product();
119 }

References edm::EventSetup::get(), get, beam_dqm_sourceclient-live_cfg::mva, and taus_updatedMVAIds_cff::mvaName.

Referenced by initialize().

◆ loadMVAfromFile()

const GBRForest * PFMETAlgorithmMVA::loadMVAfromFile ( const edm::FileInPath inputFileName,
const std::string &  mvaName 
)
private

Definition at line 78 of file PFMETAlgorithmMVA.cc.

78  {
79  if (inputFileName.location() == edm::FileInPath::Unknown)
80  throw cms::Exception("PFMETAlgorithmMVA::loadMVA") << " Failed to find File = " << inputFileName << " !!\n";
81  std::unique_ptr<TFile> inputFile(new TFile(inputFileName.fullPath().data()));
82 
83  std::vector<std::string>* lVec = (std::vector<std::string>*)inputFile->Get("varlist");
84 
85  if (lVec == nullptr) {
86  throw cms::Exception("PFMETAlgorithmMVA::loadMVA")
87  << " Failed to load mva file : " << inputFileName.fullPath().data() << " is not a proper file !!\n";
88  }
89 
90  std::vector<std::string> variableNames;
91  for (unsigned int i = 0; i < lVec->size(); ++i) {
92  variableNames.push_back(updateVariableNames(lVec->at(i)));
93  }
94 
95  if (mvaName.find(mvaNameU_) != std::string::npos)
96  varForU_ = variableNames;
97  else if (mvaName.find(mvaNameDPhi_) != std::string::npos)
98  varForDPhi_ = variableNames;
99  else if (mvaName.find(mvaNameCovU1_) != std::string::npos)
100  varForCovU1_ = variableNames;
101  else if (mvaName.find(mvaNameCovU2_) != std::string::npos)
102  varForCovU2_ = variableNames;
103  else
104  throw cms::Exception("PFMETAlgorithmMVA::loadMVA")
105  << "MVA MET weight file tree names do not match specified inputs" << std::endl;
106 
107  const GBRForest* mva = (GBRForest*)inputFile->Get(mvaName.data());
108  if (!mva)
109  throw cms::Exception("PFMETAlgorithmMVA::loadMVA")
110  << " Failed to load MVA = " << mvaName.data() << " from file = " << inputFileName.fullPath().data() << " !!\n";
111 
112  return mva;
113 }

References Exception, mps_fire::i, dtResolutionTest_cfi::inputFile, InefficientDoubleROC::inputFileName, beam_dqm_sourceclient-live_cfg::mva, taus_updatedMVAIds_cff::mvaName, mvaNameCovU1_, mvaNameCovU2_, mvaNameDPhi_, mvaNameU_, edm::FileInPath::Unknown, updateVariableNames(), varForCovU1_, varForCovU2_, varForDPhi_, and varForU_.

Referenced by initialize().

◆ print()

void PFMETAlgorithmMVA::print ( std::ostream &  stream) const

Definition at line 287 of file PFMETAlgorithmMVA.cc.

287  {
288  stream << "<PFMETAlgorithmMVA::print>:" << std::endl;
289  for (const auto& entry : var_)
290  stream << entry.first << " = " << entry.second << std::endl;
291  stream << " covU1 = " << mvaOutputCovU1_ << ", covU2 = " << mvaOutputCovU2_ << std::endl;
292  stream << " sum(leptons): Pt = " << sqrt(sumLeptonPx_ * sumLeptonPx_ + sumLeptonPy_ * sumLeptonPy_) << ","
293  << " phi = " << atan2(sumLeptonPy_, sumLeptonPx_) << " "
294  << "(Px = " << sumLeptonPx_ << ", Py = " << sumLeptonPy_ << ")";
295  stream << " MVA output: U = " << mvaOutputU_ << ", dPhi = " << mvaOutputDPhi_ << ","
296  << " covU1 = " << mvaOutputCovU1_ << ", covU2 = " << mvaOutputCovU2_ << std::endl;
297  stream << std::endl;
298 }

References mps_splice::entry, mvaOutputCovU1_, mvaOutputCovU2_, mvaOutputDPhi_, mvaOutputU_, mathSSE::sqrt(), cms::cuda::stream, sumLeptonPx_, sumLeptonPy_, and var_.

◆ setHasPhotons()

void PFMETAlgorithmMVA::setHasPhotons ( bool  hasPhotons)
inline

Definition at line 37 of file PFMETAlgorithmMVA.h.

37 { hasPhotons_ = hasPhotons; }

References hasPhotons_.

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

◆ setInput()

void PFMETAlgorithmMVA::setInput ( const std::vector< reco::PUSubMETCandInfo > &  leptons,
const std::vector< reco::PUSubMETCandInfo > &  jets,
const std::vector< reco::PUSubMETCandInfo > &  pfCandidates,
const std::vector< reco::Vertex::Point > &  vertices 
)

Definition at line 170 of file PFMETAlgorithmMVA.cc.

173  {
175 
178 
181 
182  const std::vector<reco::PUSubMETCandInfo> jets_cleaned = utils_.getCleanedJets();
183 
189 
190  reco::Candidate::LorentzVector jet1P4 = utils_.leadJetP4(jets_cleaned);
191  reco::Candidate::LorentzVector jet2P4 = utils_.subleadJetP4(jets_cleaned);
192 
193  var_["particleFlow_U"] = pfRecoil_data.met;
194  var_["particleFlow_SumET"] = pfRecoil_data.sumet;
195  var_["particleFlow_UPhi"] = pfRecoil_data.phi;
196 
197  var_["track_SumET"] = chHSRecoil_data.sumet / var_["particleFlow_SumET"];
198  var_["track_U"] = chHSRecoil_data.met;
199  var_["track_UPhi"] = chHSRecoil_data.phi;
200 
201  var_["noPileUp_SumET"] = hsRecoil_data.sumet / var_["particleFlow_SumET"];
202  var_["noPileUp_U"] = hsRecoil_data.met;
203  var_["noPileUp_UPhi"] = hsRecoil_data.phi;
204 
205  var_["pileUp_SumET"] = puRecoil_data.sumet / var_["particleFlow_SumET"];
206  var_["pileUp_MET"] = puRecoil_data.met;
207  var_["pileUp_METPhi"] = puRecoil_data.phi;
208 
209  var_["pileUpCorrected_SumET"] = hsMinusNeutralPUMEt_data.sumet / var_["particleFlow_SumET"];
210  var_["pileUpCorrected_U"] = hsMinusNeutralPUMEt_data.met;
211  var_["pileUpCorrected_UPhi"] = hsMinusNeutralPUMEt_data.phi;
212 
213  var_["jet1_pT"] = jet1P4.pt();
214  var_["jet1_eta"] = jet1P4.eta();
215  var_["jet1_Phi"] = jet1P4.phi();
216  var_["jet2_pT"] = jet2P4.pt();
217  var_["jet2_eta"] = jet2P4.eta();
218  var_["jet2_Phi"] = jet2P4.phi();
219 
220  var_["numJetsPtGt30"] = utils_.numJetsAboveThreshold(jets_cleaned, 30.);
221  var_["nJets"] = jets_cleaned.size();
222  var_["nPV"] = vertices.size();
223 }

References chargedSumLeptonPx_, chargedSumLeptonPy_, MvaMEtUtilities::computeAllSums(), MvaMEtUtilities::computeRecoil(), MvaMEtUtilities::getCleanedJets(), MvaMEtUtilities::getLeptonsChSumMEX(), MvaMEtUtilities::getLeptonsChSumMEY(), MvaMEtUtilities::getLeptonsSumMEX(), MvaMEtUtilities::getLeptonsSumMEY(), singleTopDQM_cfi::jets, MvaMEtUtilities::kChHS, MvaMEtUtilities::kHS, MvaMEtUtilities::kHSMinusNeutralPU, MvaMEtUtilities::kPF, MvaMEtUtilities::kPU, MvaMEtUtilities::leadJetP4(), HLT_FULL_cff::leptons, CommonMETData::met, MvaMEtUtilities::numJetsAboveThreshold(), zmumugammaAnalyzer_cfi::pfCandidates, CommonMETData::phi, MvaMEtUtilities::subleadJetP4(), CommonMETData::sumet, sumLeptonPx_, sumLeptonPy_, utils_, var_, and AlignmentTracksFromVertexSelector_cfi::vertices.

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

◆ updateVariableNames()

const std::string PFMETAlgorithmMVA::updateVariableNames ( std::string  input)
private

Definition at line 20 of file PFMETAlgorithmMVA.cc.

20  {
21  if (input == "sumet")
22  return "particleFlow_SumET";
23  if (input == "npv")
24  return "nPV";
25  if (input == "pfu")
26  return "particleFlow_U";
27  if (input == "pfuphi")
28  return "particleFlow_UPhi";
29  if (input == "tksumet")
30  return "track_SumET";
31  if (input == "tku")
32  return "track_U";
33  if (input == "tkuphi")
34  return "track_UPhi";
35  if (input == "nopusumet")
36  return "noPileUp_SumET";
37  if (input == "nopuu")
38  return "noPileUp_U";
39  if (input == "nopuuphi")
40  return "noPileUp_UPhi";
41  if (input == "pusumet")
42  return "pileUp_SumET";
43  if (input == "pumet")
44  return "pileUp_MET";
45  if (input == "pumetphi")
46  return "pileUp_METPhi";
47  if (input == "pucsumet")
48  return "pileUpCorrected_SumET";
49  if (input == "pucu")
50  return "pileUpCorrected_U";
51  if (input == "pucuphi")
52  return "pileUpCorrected_UPhi";
53  if (input == "jetpt1")
54  return "jet1_pT";
55  if (input == "jeteta1")
56  return "jet1_eta";
57  if (input == "jetphi1")
58  return "jet1_Phi";
59  if (input == "jetpt2")
60  return "jet2_pT";
61  if (input == "jeteta2")
62  return "jet2_eta";
63  if (input == "jetphi2")
64  return "jet2_Phi";
65  if (input == "nalljet")
66  return "nJets";
67  if (input == "njet")
68  return "numJetsPtGt30";
69  if (input == "uphi_mva")
70  return "PhiCor_UPhi";
71  if (input == "uphix_mva")
72  return "PhiCor_UPhi";
73  if (input == "ux_mva")
74  return "RecoilCor_U";
75  return input;
76 }

References input.

Referenced by loadMVAfromFile().

Member Data Documentation

◆ cfg_

edm::ParameterSet PFMETAlgorithmMVA::cfg_
private

Definition at line 113 of file PFMETAlgorithmMVA.h.

Referenced by initialize().

◆ chargedSumLeptonPx_

double PFMETAlgorithmMVA::chargedSumLeptonPx_
private

Definition at line 99 of file PFMETAlgorithmMVA.h.

Referenced by setInput().

◆ chargedSumLeptonPy_

double PFMETAlgorithmMVA::chargedSumLeptonPy_
private

Definition at line 100 of file PFMETAlgorithmMVA.h.

Referenced by setInput().

◆ dZcut_

double PFMETAlgorithmMVA::dZcut_
private

Definition at line 76 of file PFMETAlgorithmMVA.h.

◆ hasPhotons_

bool PFMETAlgorithmMVA::hasPhotons_
private

Definition at line 74 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), and setHasPhotons().

◆ loadMVAfromDB_

bool PFMETAlgorithmMVA::loadMVAfromDB_
private

Definition at line 111 of file PFMETAlgorithmMVA.h.

Referenced by initialize(), PFMETAlgorithmMVA(), and ~PFMETAlgorithmMVA().

◆ mvaInputCovU1_

float* PFMETAlgorithmMVA::mvaInputCovU1_
private

Definition at line 84 of file PFMETAlgorithmMVA.h.

◆ mvaInputCovU2_

float* PFMETAlgorithmMVA::mvaInputCovU2_
private

Definition at line 85 of file PFMETAlgorithmMVA.h.

◆ mvaInputDPhi_

float* PFMETAlgorithmMVA::mvaInputDPhi_
private

Definition at line 83 of file PFMETAlgorithmMVA.h.

◆ mvaInputU_

float* PFMETAlgorithmMVA::mvaInputU_
private

Definition at line 82 of file PFMETAlgorithmMVA.h.

◆ mvaMEt_

reco::Candidate::LorentzVector PFMETAlgorithmMVA::mvaMEt_
private

Definition at line 102 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), and getMEt().

◆ mvaMEtCov_

reco::METCovMatrix PFMETAlgorithmMVA::mvaMEtCov_
private

Definition at line 104 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), and getMEtCov().

◆ mvaNameCovU1_

std::string PFMETAlgorithmMVA::mvaNameCovU1_
private

Definition at line 70 of file PFMETAlgorithmMVA.h.

Referenced by initialize(), and loadMVAfromFile().

◆ mvaNameCovU2_

std::string PFMETAlgorithmMVA::mvaNameCovU2_
private

Definition at line 71 of file PFMETAlgorithmMVA.h.

Referenced by initialize(), and loadMVAfromFile().

◆ mvaNameDPhi_

std::string PFMETAlgorithmMVA::mvaNameDPhi_
private

Definition at line 69 of file PFMETAlgorithmMVA.h.

Referenced by initialize(), and loadMVAfromFile().

◆ mvaNameU_

std::string PFMETAlgorithmMVA::mvaNameU_
private

Definition at line 68 of file PFMETAlgorithmMVA.h.

Referenced by initialize(), and loadMVAfromFile().

◆ mvaOutputCovU1_

float PFMETAlgorithmMVA::mvaOutputCovU1_
private

Definition at line 89 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), evaluateMVA(), getCovU1(), and print().

◆ mvaOutputCovU2_

float PFMETAlgorithmMVA::mvaOutputCovU2_
private

Definition at line 90 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), evaluateMVA(), getCovU2(), and print().

◆ mvaOutputDPhi_

float PFMETAlgorithmMVA::mvaOutputDPhi_
private

Definition at line 88 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), getDPhi(), and print().

◆ mvaOutputU_

float PFMETAlgorithmMVA::mvaOutputU_
private

Definition at line 87 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), getU(), and print().

◆ mvaReaderCovU1_

const GBRForest* PFMETAlgorithmMVA::mvaReaderCovU1_
private

Definition at line 108 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), initialize(), and ~PFMETAlgorithmMVA().

◆ mvaReaderCovU2_

const GBRForest* PFMETAlgorithmMVA::mvaReaderCovU2_
private

Definition at line 109 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), initialize(), and ~PFMETAlgorithmMVA().

◆ mvaReaderDPhi_

const GBRForest* PFMETAlgorithmMVA::mvaReaderDPhi_
private

Definition at line 107 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), initialize(), and ~PFMETAlgorithmMVA().

◆ mvaReaderU_

const GBRForest* PFMETAlgorithmMVA::mvaReaderU_
private

Definition at line 106 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), initialize(), and ~PFMETAlgorithmMVA().

◆ mvaType_

int PFMETAlgorithmMVA::mvaType_
private

Definition at line 73 of file PFMETAlgorithmMVA.h.

Referenced by PFMETAlgorithmMVA().

◆ sumLeptonPx_

double PFMETAlgorithmMVA::sumLeptonPx_
private

Definition at line 97 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), evaluateMVA(), print(), and setInput().

◆ sumLeptonPy_

double PFMETAlgorithmMVA::sumLeptonPy_
private

Definition at line 98 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), evaluateMVA(), print(), and setInput().

◆ utils_

MvaMEtUtilities PFMETAlgorithmMVA::utils_
private

Definition at line 66 of file PFMETAlgorithmMVA.h.

Referenced by setInput().

◆ var_

std::map<std::string, float> PFMETAlgorithmMVA::var_
private

Definition at line 80 of file PFMETAlgorithmMVA.h.

Referenced by computeMET(), createFloatVector(), evaluateMVA(), print(), and setInput().

◆ varForCovU1_

std::vector<std::string> PFMETAlgorithmMVA::varForCovU1_
private

Definition at line 94 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), and loadMVAfromFile().

◆ varForCovU2_

std::vector<std::string> PFMETAlgorithmMVA::varForCovU2_
private

Definition at line 95 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), and loadMVAfromFile().

◆ varForDPhi_

std::vector<std::string> PFMETAlgorithmMVA::varForDPhi_
private

Definition at line 93 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), and loadMVAfromFile().

◆ varForU_

std::vector<std::string> PFMETAlgorithmMVA::varForU_
private

Definition at line 92 of file PFMETAlgorithmMVA.h.

Referenced by evaluateMVA(), and loadMVAfromFile().

PFMETAlgorithmMVA::loadMVAfromDB
const GBRForest * loadMVAfromDB(const edm::EventSetup &es, const std::string &mvaName)
Definition: PFMETAlgorithmMVA.cc:115
CommonMETData::met
double met
Definition: CommonMETData.h:14
zmumugammaAnalyzer_cfi.pfCandidates
pfCandidates
Definition: zmumugammaAnalyzer_cfi.py:11
PFMETAlgorithmMVA::mvaOutputCovU1_
float mvaOutputCovU1_
Definition: PFMETAlgorithmMVA.h:89
Pi
const double Pi
Definition: PFMETAlgorithmMVA.cc:18
mps_fire.i
i
Definition: mps_fire.py:428
MvaMEtUtilities::leadJetP4
reco::Candidate::LorentzVector leadJetP4(const std::vector< reco::PUSubMETCandInfo > &)
Definition: MvaMEtUtilities.cc:106
input
static const std::string input
Definition: EdmProvDump.cc:48
HLT_FULL_cff.leptons
leptons
Definition: HLT_FULL_cff.py:26294
MvaMEtUtilities::kPF
Definition: MvaMEtUtilities.h:16
mps_splice.entry
entry
Definition: mps_splice.py:68
MvaMEtUtilities::kChHS
Definition: MvaMEtUtilities.h:16
PFMETAlgorithmMVA::varForCovU1_
std::vector< std::string > varForCovU1_
Definition: PFMETAlgorithmMVA.h:94
GBRForest
Definition: GBRForest.h:24
cms::cuda::stream
uint32_t const T *__restrict__ const uint32_t *__restrict__ int32_t int Histo::index_type cudaStream_t stream
Definition: HistoContainer.h:51
PFMETAlgorithmMVA::mvaOutputU_
float mvaOutputU_
Definition: PFMETAlgorithmMVA.h:87
PFMETAlgorithmMVA::varForDPhi_
std::vector< std::string > varForDPhi_
Definition: PFMETAlgorithmMVA.h:93
MvaMEtUtilities::kPU
Definition: MvaMEtUtilities.h:16
MvaMEtUtilities::subleadJetP4
reco::Candidate::LorentzVector subleadJetP4(const std::vector< reco::PUSubMETCandInfo > &)
Definition: MvaMEtUtilities.cc:110
MvaMEtUtilities::getLeptonsSumMEX
double getLeptonsSumMEX() const
Definition: MvaMEtUtilities.cc:296
PFMETAlgorithmMVA::varForCovU2_
std::vector< std::string > varForCovU2_
Definition: PFMETAlgorithmMVA.h:95
kBaseline
Definition: PFMETAlgorithmMVA.cc:16
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
CommonMETData
Structure containing data common to all types of MET.
Definition: CommonMETData.h:12
PFMETAlgorithmMVA::computeMET
void computeMET()
Definition: PFMETAlgorithmMVA.cc:260
beam_dqm_sourceclient-live_cfg.mva
mva
Definition: beam_dqm_sourceclient-live_cfg.py:127
PFMETAlgorithmMVA::createFloatVector
std::unique_ptr< float[]> createFloatVector(std::vector< std::string > variableNames)
Definition: PFMETAlgorithmMVA.cc:226
PFMETAlgorithmMVA::loadMVAfromFile
const GBRForest * loadMVAfromFile(const edm::FileInPath &inputFileName, const std::string &mvaName)
Definition: PFMETAlgorithmMVA.cc:78
PFMETAlgorithmMVA::varForU_
std::vector< std::string > varForU_
Definition: PFMETAlgorithmMVA.h:92
AlignmentTracksFromVertexSelector_cfi.vertices
vertices
Definition: AlignmentTracksFromVertexSelector_cfi.py:5
MvaMEtUtilities::kHS
Definition: MvaMEtUtilities.h:16
Phase1L1TJetProducer_cfi.cosPhi
cosPhi
Definition: Phase1L1TJetProducer_cfi.py:40
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PFMETAlgorithmMVA::mvaReaderDPhi_
const GBRForest * mvaReaderDPhi_
Definition: PFMETAlgorithmMVA.h:107
GBRForest::GetResponse
double GetResponse(const float *vector) const
Definition: GBRForest.h:48
edm::FileInPath
Definition: FileInPath.h:61
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
InefficientDoubleROC.inputFileName
inputFileName
Definition: InefficientDoubleROC.py:437
PFMETAlgorithmMVA::var_
std::map< std::string, float > var_
Definition: PFMETAlgorithmMVA.h:80
PFMETAlgorithmMVA::mvaNameDPhi_
std::string mvaNameDPhi_
Definition: PFMETAlgorithmMVA.h:69
PFMETAlgorithmMVA::hasPhotons_
bool hasPhotons_
Definition: PFMETAlgorithmMVA.h:74
Phase1L1TJetProducer_cfi.sinPhi
sinPhi
Definition: Phase1L1TJetProducer_cfi.py:39
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
PFMETAlgorithmMVA::mvaOutputCovU2_
float mvaOutputCovU2_
Definition: PFMETAlgorithmMVA.h:90
edm::ESHandle< GBRForest >
MvaMEtUtilities::getCleanedJets
const std::vector< reco::PUSubMETCandInfo > & getCleanedJets() const
Definition: MvaMEtUtilities.cc:304
PFMETAlgorithmMVA::utils_
MvaMEtUtilities utils_
Definition: PFMETAlgorithmMVA.h:66
taus_updatedMVAIds_cff.mvaName
mvaName
Definition: taus_updatedMVAIds_cff.py:18
VtxSmearedParameters_cfi.Phi
Phi
Definition: VtxSmearedParameters_cfi.py:112
PFMETAlgorithmMVA::sumLeptonPy_
double sumLeptonPy_
Definition: PFMETAlgorithmMVA.h:98
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
CommonMETData::sumet
double sumet
Definition: CommonMETData.h:18
MvaMEtUtilities::numJetsAboveThreshold
unsigned numJetsAboveThreshold(const std::vector< reco::PUSubMETCandInfo > &, double)
Definition: MvaMEtUtilities.cc:123
CommonMETData::phi
double phi
Definition: CommonMETData.h:19
PFMETAlgorithmMVA::sumLeptonPx_
double sumLeptonPx_
Definition: PFMETAlgorithmMVA.h:97
MvaMEtUtilities::computeRecoil
CommonMETData computeRecoil(int metType)
Definition: MvaMEtUtilities.cc:236
edm::ParameterSet
Definition: ParameterSet.h:47
PFMETAlgorithmMVA::updateVariableNames
const std::string updateVariableNames(std::string input)
Definition: PFMETAlgorithmMVA.cc:20
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
dtResolutionTest_cfi.inputFile
inputFile
Definition: dtResolutionTest_cfi.py:14
PFMETAlgorithmMVA::mvaReaderCovU1_
const GBRForest * mvaReaderCovU1_
Definition: PFMETAlgorithmMVA.h:108
PFMETAlgorithmMVA::chargedSumLeptonPy_
double chargedSumLeptonPy_
Definition: PFMETAlgorithmMVA.h:100
PFMETAlgorithmMVA::chargedSumLeptonPx_
double chargedSumLeptonPx_
Definition: PFMETAlgorithmMVA.h:99
PFMETAlgorithmMVA::mvaType_
int mvaType_
Definition: PFMETAlgorithmMVA.h:73
PFMETAlgorithmMVA::mvaNameCovU2_
std::string mvaNameCovU2_
Definition: PFMETAlgorithmMVA.h:71
get
#define get
PFMETAlgorithmMVA::mvaNameCovU1_
std::string mvaNameCovU1_
Definition: PFMETAlgorithmMVA.h:70
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
looper.cfg
cfg
Definition: looper.py:296
MvaMEtUtilities::getLeptonsChSumMEX
double getLeptonsChSumMEX() const
Definition: MvaMEtUtilities.cc:300
MvaMEtUtilities::computeAllSums
void computeAllSums(const std::vector< reco::PUSubMETCandInfo > &jets, const std::vector< reco::PUSubMETCandInfo > &leptons, const std::vector< reco::PUSubMETCandInfo > &pfCandidates)
Definition: MvaMEtUtilities.cc:282
PFMETAlgorithmMVA::mvaMEt_
reco::Candidate::LorentzVector mvaMEt_
Definition: PFMETAlgorithmMVA.h:102
edm::FileInPath::Unknown
Definition: FileInPath.h:63
Exception
Definition: hltDiff.cc:245
GBRWrapperRcd
Definition: GBRWrapperRcd.h:24
PFMETAlgorithmMVA::mvaReaderU_
const GBRForest * mvaReaderU_
Definition: PFMETAlgorithmMVA.h:106
PFMETAlgorithmMVA::mvaMEtCov_
reco::METCovMatrix mvaMEtCov_
Definition: PFMETAlgorithmMVA.h:104
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
mps_fire.result
result
Definition: mps_fire.py:311
cms::Exception
Definition: Exception.h:70
PFMETAlgorithmMVA::mvaOutputDPhi_
float mvaOutputDPhi_
Definition: PFMETAlgorithmMVA.h:88
MvaMEtUtilities::getLeptonsChSumMEY
double getLeptonsChSumMEY() const
Definition: MvaMEtUtilities.cc:302
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
PFMETAlgorithmMVA::mvaNameU_
std::string mvaNameU_
Definition: PFMETAlgorithmMVA.h:68
PFMETAlgorithmMVA::cfg_
edm::ParameterSet cfg_
Definition: PFMETAlgorithmMVA.h:113
MvaMEtUtilities::kHSMinusNeutralPU
Definition: MvaMEtUtilities.h:16
MvaMEtUtilities::getLeptonsSumMEY
double getLeptonsSumMEY() const
Definition: MvaMEtUtilities.cc:298
PFMETAlgorithmMVA::loadMVAfromDB_
bool loadMVAfromDB_
Definition: PFMETAlgorithmMVA.h:111
PFMETAlgorithmMVA::mvaReaderCovU2_
const GBRForest * mvaReaderCovU2_
Definition: PFMETAlgorithmMVA.h:109
PFMETAlgorithmMVA::GetResponse
const float GetResponse(const GBRForest *Reader, std::vector< std::string > &variableNames)
Definition: PFMETAlgorithmMVA.cc:280