CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes | Private Attributes
PFMETBenchmark Class Reference

#include <PFMETBenchmark.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

void analyse ()
 
void calculateQuantities (const reco::PFMETCollection &, const reco::GenParticleCollection &, const reco::CaloMETCollection &, const reco::METCollection &)
 
void calculateQuantities (const reco::PFMETCollection &, const reco::GenParticleCollection &, const reco::CaloMETCollection &, const reco::METCollection &, const std::vector< reco::CaloJet > &, const std::vector< reco::CaloJet > &)
 
float getCaloMET ()
 
float getCaloMEX ()
 
float getCaloMEY ()
 
float getCaloPhi ()
 
float getCaloSET ()
 
float getDeltaCaloMET ()
 
float getDeltaCaloPhi ()
 
float getDeltaCaloSET ()
 
float getDeltaPFMET ()
 
float getDeltaPFPhi ()
 
float getDeltaPFSET ()
 
float getDeltaTCMET ()
 
float getDeltaTCPhi ()
 
float getDeltaTCSET ()
 
float getPFMET ()
 
float getPFMEX ()
 
float getPFMEY ()
 
float getPFPhi ()
 
float getPFSET ()
 
float getTCMET ()
 
float getTCMEX ()
 
float getTCMEY ()
 
float getTCPhi ()
 
float getTCSET ()
 
float getTrueMET ()
 
float getTruePhi ()
 
float getTrueSET ()
 
double mpi_pi (double angle)
 
 PFMETBenchmark ()
 
void process (const reco::PFMETCollection &, const reco::GenParticleCollection &, const reco::CaloMETCollection &, const reco::METCollection &)
 
void setup (std::string Filename, bool debug, bool plotAgainstReco=false, std::string benchmarkLabel_="ParticleFlow", DQMStore *dbe_store=nullptr)
 
void write ()
 
virtual ~PFMETBenchmark ()
 

Protected Attributes

PFBenchmarkAlgoalgo_
 
DQMStoredbe_
 
bool debug_
 
bool plotAgainstReco_
 

Private Attributes

double calo_met
 
double calo_mex
 
double calo_mey
 
double calo_phi
 
double calo_set
 
TFile * file_
 
TH1F * hCaloMET
 
TH2F * hCaloMETvstrueMET
 
TH1F * hCaloMEX
 
TH2F * hCaloSETvsDeltaCaloMET
 
TH2F * hCaloSETvsDeltaCaloSET
 
TH1F * hDeltaCaloMET
 
TH2F * hDeltaCaloMETvstrueMET
 
TH1F * hDeltaCaloMEX
 
TH2F * hDeltaCaloMEXvstrueSET
 
TH1F * hDeltaCaloPhi
 
TH2F * hDeltaCaloPhivstrueMET
 
TH1F * hDeltaCaloSET
 
TH1F * hDeltaMET
 
TH1F * hDeltaMEX
 
TH2F * hDeltaPFMETvstrueMET
 
TH2F * hDeltaPFMEXvstrueSET
 
TH2F * hDeltaPFPhivstrueMET
 
TH1F * hDeltaPhi
 
TH1F * hDeltaSET
 
TH1F * hDeltaTCMET
 
TH2F * hDeltaTCMETvstrueMET
 
TH1F * hDeltaTCMEX
 
TH2F * hDeltaTCMEXvstrueSET
 
TH1F * hDeltaTCPhi
 
TH2F * hDeltaTCPhivstrueMET
 
TH1F * hDeltaTCSET
 
TH1F * hMEX
 
TH1F * hPFMET
 
TH2F * hPFMETvstrueMET
 
TH2F * hSETvsDeltaMET
 
TH2F * hSETvsDeltaSET
 
TH1F * hTCMET
 
TH2F * hTCMETvstrueMET
 
TH1F * hTCMEX
 
TH2F * hTCSETvsDeltaTCMET
 
TH2F * hTCSETvsDeltaTCSET
 
TH1F * hTrueMET
 
std::string outputFile_
 
TProfile * profileCaloMETvsCaloMETresp
 
TProfile * profileCaloSETvsCaloSETresp
 
TProfile * profileMETvsMETresp
 
TProfile * profileSETvsSETresp
 
TProfile * profileTCMETvsTCMETresp
 
TProfile * profileTCSETvsTCSETresp
 
double rec_met
 
double rec_mex
 
double rec_mey
 
double rec_phi
 
double rec_set
 
double tc_met
 
double tc_mex
 
double tc_mey
 
double tc_phi
 
double tc_set
 
double true_met
 
double true_mex
 
double true_mey
 
double true_phi
 
double true_set
 

Detailed Description

Definition at line 30 of file PFMETBenchmark.h.

Member Typedef Documentation

Definition at line 32 of file PFMETBenchmark.h.

Definition at line 33 of file PFMETBenchmark.h.

Constructor & Destructor Documentation

PFMETBenchmark::PFMETBenchmark ( )

Definition at line 28 of file PFMETBenchmark.cc.

28 : file_(nullptr) {}
PFMETBenchmark::~PFMETBenchmark ( )
virtual

Definition at line 30 of file PFMETBenchmark.cc.

References file_.

30  {
31  if (file_)
32  file_->Close();
33 }

Member Function Documentation

void PFMETBenchmark::analyse ( )

Definition at line 427 of file PFMETBenchmark.cc.

Referenced by PFMETBenchmarkAnalyzer::endJob().

427  {
428  //Define fit functions and histograms
429  //TF1* func1 = new TF1("fit1", fitf, 0, 40, 4);
430  //TF1* func2 = new TF1("fit2", fitf, 0, 40, 4);
431  //TF1* func3 = new TF1("fit3", fitf, 0, 40, 4);
432  //TF1* func4 = new TF1("fit4", fitf, 0, 40, 4);
433 
434  //fit gaussian to Delta MET corresponding to different slices in MET, store fit values (mean,sigma) in histos
439 
446 
447  // Make the MET resolution versus SET plot
448  /*
449  TCanvas* canvas_MetResVsRecoSet = new TCanvas("MetResVsRecoSet", "MET Sigma vs Reco SET", 500,500);
450  hsigmaPF->SetStats(0);
451  func1->SetLineColor(1);
452  func1->SetParNames("Noise", "Stochastic", "Constant", "Offset");
453  func1->SetParameters(10.0, 0.8, 0.1, 100.0);
454  hsigmaPF->Fit("fit1", "", "", 100.0, 900.0);
455  func2->SetLineColor(2);
456  func2->SetParNames("Noise", "Stochastic", "Constant", "Offset");
457  func2->SetParameters(10.0, 0.8, 0.1, 100.0);
458  hsigmaCalo->Fit("fit2", "", "", 100.0, 900.0);
459  func3->SetLineColor(4);
460  func3->SetParNames("Noise", "Stochastic", "Constant", "Offset");
461  func3->SetParameters(10.0, 0.8, 0.1, 100.0);
462  hrmsPF->Fit("fit3", "", "", 100.0, 900.0);
463  func4->SetLineColor(6);
464  func4->SetParNames("Noise", "Stochastic", "Constant", "Offset");
465  func4->SetParameters(10.0, 0.8, 0.1, 100.0);
466  hrmsCalo->Fit("fit4", "", "", 100.0, 900.0);
467  (hsigmaPF->GetYaxis())->SetRangeUser( 0.0, 50.0);
468  hsigmaPF->SetLineWidth(2);
469  hsigmaPF->SetLineColor(1);
470  hsigmaPF->Draw();
471  hsigmaCalo->SetLineWidth(2);
472  hsigmaCalo->SetLineColor(2);
473  hsigmaCalo->Draw("SAME");
474  hrmsPF->SetLineWidth(2);
475  hrmsPF->SetLineColor(4);
476  hrmsPF->Draw("SAME");
477  hrmsCalo->SetLineWidth(2);
478  hrmsCalo->SetLineColor(6);
479  hrmsCalo->Draw("SAME");
480  */
481 
482  // Make the SET response versus SET plot
483  /*
484  TCanvas* canvas_SetRespVsTrueSet = new TCanvas("SetRespVsTrueSet", "SET Response vs True SET", 500,500);
485  profileSETvsSETresp->SetStats(0);
486  profileSETvsSETresp->SetStats(0);
487  (profileSETvsSETresp->GetYaxis())->SetRangeUser(-1.0, 1.0);
488  profileSETvsSETresp->SetLineWidth(2);
489  profileSETvsSETresp->SetLineColor(4);
490  profileSETvsSETresp->Draw();
491  profileCaloSETvsCaloSETresp->SetLineWidth(2);
492  profileCaloSETvsCaloSETresp->SetLineColor(2);
493  profileCaloSETvsCaloSETresp->Draw("SAME");
494  */
495 
496  // Make the MET response versus MET plot
497  /*
498  TCanvas* canvas_MetRespVsTrueMet = new TCanvas("MetRespVsTrueMet", "MET Response vs True MET", 500,500);
499  profileMETvsMETresp->SetStats(0);
500  profileMETvsMETresp->SetStats(0);
501  (profileMETvsMETresp->GetYaxis())->SetRangeUser(-1.0, 1.0);
502  profileMETvsMETresp->SetLineWidth(2);
503  profileMETvsMETresp->SetLineColor(4);
504  profileMETvsMETresp->Draw();
505  profileCaloMETvsCaloMETresp->SetLineWidth(2);
506  profileCaloMETvsCaloMETresp->SetLineColor(2);
507  profileCaloMETvsCaloMETresp->Draw("SAME");
508  */
509 
510  //print the resulting plots to file
511  /*
512  canvas_MetResVsRecoSet->Print("MetResVsRecoSet.ps");
513  canvas_SetRespVsTrueSet->Print("SetRespVsTrueSet.ps");
514  canvas_MetRespVsTrueMet->Print("MetRespVsTrueMet.ps");
515  */
516 }
void PFMETBenchmark::calculateQuantities ( const reco::PFMETCollection pfMets,
const reco::GenParticleCollection genParticleList,
const reco::CaloMETCollection caloMets,
const reco::METCollection tcMets 
)

Definition at line 276 of file PFMETBenchmark.cc.

References funct::abs(), calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, PVValHelper::eta, mps_fire::i, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), rec_met, rec_mex, rec_phi, rec_set, mathSSE::sqrt(), mps_update::status, reco::MET::sumEt(), tc_met, tc_mex, tc_mey, tc_phi, tc_set, true_met, true_mex, true_mey, true_phi, and true_set.

Referenced by process().

279  {
280  const reco::PFMET& pfm = pfMets[0];
281  const reco::CaloMET& cm = caloMets[0];
282  const reco::MET& tcm = tcMets[0];
283 
284  double trueMEY = 0.0;
285  double trueMEX = 0.0;
286  ;
287  true_set = 0.0;
288  ;
289 
290  // for( genParticle = genParticleList.begin(); genParticle != genParticleList.end(); genParticle++ )
291  for (unsigned i = 0; i < genParticleList.size(); i++) {
292  if (genParticleList[i].status() == 1 && fabs(genParticleList[i].eta()) < 5.0) {
293  if (std::abs(genParticleList[i].pdgId()) == 12 || std::abs(genParticleList[i].pdgId()) == 14 ||
294  std::abs(genParticleList[i].pdgId()) == 16 || std::abs(genParticleList[i].pdgId()) < 7 ||
295  std::abs(genParticleList[i].pdgId()) == 21) {
296  trueMEX += genParticleList[i].px();
297  trueMEY += genParticleList[i].py();
298  } else {
299  true_set += genParticleList[i].pt();
300  }
301  }
302  }
303  true_mex = -trueMEX;
304  true_mey = -trueMEY;
305  true_met = sqrt(trueMEX * trueMEX + trueMEY * trueMEY);
306  true_phi = atan2(trueMEY, trueMEX);
307  rec_met = pfm.pt();
308  rec_mex = pfm.px();
309  rec_mex = pfm.py();
310  rec_phi = pfm.phi();
311  rec_set = pfm.sumEt();
312  calo_met = cm.pt();
313  calo_mex = cm.px();
314  calo_mey = cm.py();
315  calo_phi = cm.phi();
316  calo_set = cm.sumEt();
317  tc_met = tcm.pt();
318  tc_mex = tcm.px();
319  tc_mey = tcm.py();
320  tc_phi = tcm.phi();
321  tc_set = tcm.sumEt();
322 
323  if (debug_) {
324  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
325  cout << " =========trueMET " << true_met << ", " << true_phi << endl;
326  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
327  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
328  }
329 }
double pt() const final
transverse momentum
list status
Definition: mps_update.py:107
double px() const final
x coordinate of momentum vector
double sumEt() const
Definition: MET.h:56
Definition: MET.h:41
T sqrt(T t)
Definition: SSEVec.h:19
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double py() const final
y coordinate of momentum vector
tuple cout
Definition: gather_cfg.py:144
double phi() const final
momentum azimuthal angle
void PFMETBenchmark::calculateQuantities ( const reco::PFMETCollection pfMets,
const reco::GenParticleCollection genParticleList,
const reco::CaloMETCollection caloMets,
const reco::METCollection tcMets,
const std::vector< reco::CaloJet > &  caloJets,
const std::vector< reco::CaloJet > &  corr_caloJets 
)

Definition at line 331 of file PFMETBenchmark.cc.

References funct::abs(), calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, HLT_FULL_cff::DeltaEta, PVValHelper::eta, mps_fire::i, reco::LeafCandidate::phi(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), rec_met, rec_mex, rec_phi, rec_set, mathSSE::sqrt(), mps_update::status, reco::MET::sumEt(), tc_met, tc_mex, tc_mey, tc_phi, tc_set, true_met, true_mex, true_mey, true_phi, and true_set.

336  {
337  const reco::PFMET& pfm = pfMets[0];
338  const reco::CaloMET& cm = caloMets[0];
339  const reco::MET& tcm = tcMets[0];
340 
341  double trueMEY = 0.0;
342  double trueMEX = 0.0;
343  ;
344  true_set = 0.0;
345  ;
346 
347  // for( genParticle = genParticleList.begin(); genParticle != genParticleList.end(); genParticle++ )
348  for (unsigned i = 0; i < genParticleList.size(); i++) {
349  if (genParticleList[i].status() == 1 && fabs(genParticleList[i].eta()) < 5.0) {
350  if (std::abs(genParticleList[i].pdgId()) == 12 || std::abs(genParticleList[i].pdgId()) == 14 ||
351  std::abs(genParticleList[i].pdgId()) == 16 || std::abs(genParticleList[i].pdgId()) < 7 ||
352  std::abs(genParticleList[i].pdgId()) == 21) {
353  trueMEX += genParticleList[i].px();
354  trueMEY += genParticleList[i].py();
355  } else {
356  true_set += genParticleList[i].pt();
357  }
358  }
359  }
360  true_mex = -trueMEX;
361  true_mey = -trueMEY;
362  true_met = sqrt(trueMEX * trueMEX + trueMEY * trueMEY);
363  true_phi = atan2(trueMEY, trueMEX);
364  rec_met = pfm.pt();
365  rec_mex = pfm.px();
366  rec_mex = pfm.py();
367  rec_phi = pfm.phi();
368  rec_set = pfm.sumEt();
369 
370  // propagation of the JEC to the caloMET:
371  double caloJetCorPX = 0.0;
372  double caloJetCorPY = 0.0;
373 
374  for (unsigned int caloJetc = 0; caloJetc < caloJets.size(); ++caloJetc) {
375  //std::cout << "caloJets[" << caloJetc << "].pt() = " << caloJets[caloJetc].pt() << std::endl;
376  //std::cout << "caloJets[" << caloJetc << "].phi() = " << caloJets[caloJetc].phi() << std::endl;
377  //std::cout << "caloJets[" << caloJetc << "].eta() = " << caloJets[caloJetc].eta() << std::endl;
378  //}
379  for (unsigned int corr_caloJetc = 0; corr_caloJetc < corr_caloJets.size(); ++corr_caloJetc) {
380  //std::cout << "corr_caloJets[" << corr_caloJetc << "].pt() = " << corr_caloJets[corr_caloJetc].pt() << std::endl;
381  //std::cout << "corr_caloJets[" << corr_caloJetc << "].phi() = " << corr_caloJets[corr_caloJetc].phi() << std::endl;
382  //std::cout << "corr_caloJets[" << corr_caloJetc << "].eta() = " << corr_caloJets[corr_caloJetc].eta() << std::endl;
383  //}
384  Float_t DeltaPhi = corr_caloJets[corr_caloJetc].phi() - caloJets[caloJetc].phi();
385  Float_t DeltaEta = corr_caloJets[corr_caloJetc].eta() - caloJets[caloJetc].eta();
386  Float_t DeltaR2 = DeltaPhi * DeltaPhi + DeltaEta * DeltaEta;
387  if (DeltaR2 < 0.0001 && caloJets[caloJetc].pt() > 20.0) {
388  caloJetCorPX += (corr_caloJets[corr_caloJetc].px() - caloJets[caloJetc].px());
389  caloJetCorPY += (corr_caloJets[corr_caloJetc].py() - caloJets[caloJetc].py());
390  }
391  }
392  }
393  double corr_calomet =
394  sqrt((cm.px() - caloJetCorPX) * (cm.px() - caloJetCorPX) + (cm.py() - caloJetCorPY) * (cm.py() - caloJetCorPY));
395  calo_met = corr_calomet;
396  calo_mex = cm.px() - caloJetCorPX;
397  calo_mey = cm.py() - caloJetCorPY;
398  calo_phi = atan2((cm.py() - caloJetCorPY), (cm.px() - caloJetCorPX));
399  //calo_met = cm.pt();
400  //calo_mex = cm.px();
401  //calo_mey = cm.py();
402  //calo_phi = cm.phi();
403 
404  calo_set = cm.sumEt();
405  tc_met = tcm.pt();
406  tc_mex = tcm.px();
407  tc_mey = tcm.py();
408  tc_phi = tcm.phi();
409  tc_set = tcm.sumEt();
410 
411  if (debug_) {
412  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
413  cout << " =========trueMET " << true_met << ", " << true_phi << endl;
414  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
415  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
416  }
417 }
double pt() const final
transverse momentum
list status
Definition: mps_update.py:107
double px() const final
x coordinate of momentum vector
double sumEt() const
Definition: MET.h:56
Definition: MET.h:41
T sqrt(T t)
Definition: SSEVec.h:19
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double py() const final
y coordinate of momentum vector
tuple cout
Definition: gather_cfg.py:144
double phi() const final
momentum azimuthal angle
float PFMETBenchmark::getCaloMET ( )
inline

Definition at line 65 of file PFMETBenchmark.h.

References calo_met.

65 { return calo_met; }
float PFMETBenchmark::getCaloMEX ( )
inline

Definition at line 66 of file PFMETBenchmark.h.

References calo_mex, and true_mex.

66 { return calo_mex - true_mex; }
float PFMETBenchmark::getCaloMEY ( )
inline

Definition at line 67 of file PFMETBenchmark.h.

References calo_mey, and true_mey.

67 { return calo_mey - true_mey; }
float PFMETBenchmark::getCaloPhi ( )
inline

Definition at line 68 of file PFMETBenchmark.h.

References calo_phi.

68 { return calo_phi; }
float PFMETBenchmark::getCaloSET ( )
inline

Definition at line 69 of file PFMETBenchmark.h.

References calo_set.

69 { return calo_set; }
float PFMETBenchmark::getDeltaCaloMET ( )
inline

Definition at line 78 of file PFMETBenchmark.h.

References calo_met, and true_met.

78 { return calo_met - true_met; }
float PFMETBenchmark::getDeltaCaloPhi ( )
inline

Definition at line 79 of file PFMETBenchmark.h.

References calo_phi, mpi_pi(), and true_phi.

79 { return mpi_pi(calo_phi - true_phi); }
double mpi_pi(double angle)
float PFMETBenchmark::getDeltaCaloSET ( )
inline

Definition at line 80 of file PFMETBenchmark.h.

References calo_set, and true_set.

80 { return calo_set - true_set; }
float PFMETBenchmark::getDeltaPFMET ( )
inline

Definition at line 75 of file PFMETBenchmark.h.

References rec_met, and true_met.

75 { return rec_met - true_met; }
float PFMETBenchmark::getDeltaPFPhi ( )
inline

Definition at line 76 of file PFMETBenchmark.h.

References mpi_pi(), rec_phi, and true_phi.

76 { return mpi_pi(rec_phi - true_phi); }
double mpi_pi(double angle)
float PFMETBenchmark::getDeltaPFSET ( )
inline

Definition at line 77 of file PFMETBenchmark.h.

References rec_set, and true_set.

77 { return rec_set - true_set; }
float PFMETBenchmark::getDeltaTCMET ( )
inline

Definition at line 81 of file PFMETBenchmark.h.

References tc_met, and true_met.

81 { return tc_met - true_met; }
float PFMETBenchmark::getDeltaTCPhi ( )
inline

Definition at line 82 of file PFMETBenchmark.h.

References mpi_pi(), tc_phi, and true_phi.

82 { return mpi_pi(tc_phi - true_phi); }
double mpi_pi(double angle)
float PFMETBenchmark::getDeltaTCSET ( )
inline

Definition at line 83 of file PFMETBenchmark.h.

References tc_set, and true_set.

83 { return tc_set - true_set; }
float PFMETBenchmark::getPFMET ( )
inline

Definition at line 60 of file PFMETBenchmark.h.

References rec_met.

60 { return rec_met; }
float PFMETBenchmark::getPFMEX ( )
inline

Definition at line 61 of file PFMETBenchmark.h.

References rec_mex, and true_mex.

61 { return rec_mex - true_mex; }
float PFMETBenchmark::getPFMEY ( )
inline

Definition at line 62 of file PFMETBenchmark.h.

References rec_mey, and true_mey.

62 { return rec_mey - true_mey; }
float PFMETBenchmark::getPFPhi ( )
inline

Definition at line 63 of file PFMETBenchmark.h.

References rec_phi.

63 { return rec_phi; }
float PFMETBenchmark::getPFSET ( )
inline

Definition at line 64 of file PFMETBenchmark.h.

References rec_set.

64 { return rec_set; }
float PFMETBenchmark::getTCMET ( )
inline

Definition at line 70 of file PFMETBenchmark.h.

References tc_met.

70 { return tc_met; }
float PFMETBenchmark::getTCMEX ( )
inline

Definition at line 71 of file PFMETBenchmark.h.

References tc_mex, and true_mex.

71 { return tc_mex - true_mex; }
float PFMETBenchmark::getTCMEY ( )
inline

Definition at line 72 of file PFMETBenchmark.h.

References tc_mey, and true_mey.

72 { return tc_mey - true_mey; }
float PFMETBenchmark::getTCPhi ( )
inline

Definition at line 73 of file PFMETBenchmark.h.

References tc_phi.

73 { return tc_phi; }
float PFMETBenchmark::getTCSET ( )
inline

Definition at line 74 of file PFMETBenchmark.h.

References tc_set.

74 { return tc_set; }
float PFMETBenchmark::getTrueMET ( )
inline

Definition at line 57 of file PFMETBenchmark.h.

References true_met.

57 { return true_met; }
float PFMETBenchmark::getTruePhi ( )
inline

Definition at line 58 of file PFMETBenchmark.h.

References true_phi.

58 { return true_phi; }
float PFMETBenchmark::getTrueSET ( )
inline

Definition at line 59 of file PFMETBenchmark.h.

References true_set.

59 { return true_set; }
double PFMETBenchmark::mpi_pi ( double  angle)

Definition at line 619 of file PFMETBenchmark.cc.

References angle(), pi, and pi2.

Referenced by getDeltaCaloPhi(), getDeltaPFPhi(), and getDeltaTCPhi().

619  {
620  const double pi = 3.14159265358979323;
621  const double pi2 = pi * 2.;
622  while (angle > pi)
623  angle -= pi2;
624  while (angle < -pi)
625  angle += pi2;
626  return angle;
627 }
const double pi2
Definition: Thrust.cc:4
const Double_t pi
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
void PFMETBenchmark::process ( const reco::PFMETCollection pfMets,
const reco::GenParticleCollection genParticleList,
const reco::CaloMETCollection caloMets,
const reco::METCollection tcMets 
)

Definition at line 187 of file PFMETBenchmark.cc.

References calculateQuantities(), calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, hCaloMET, hCaloMETvstrueMET, hCaloMEX, hCaloSETvsDeltaCaloMET, hCaloSETvsDeltaCaloSET, hDeltaCaloMET, hDeltaCaloMETvstrueMET, hDeltaCaloMEX, hDeltaCaloMEXvstrueSET, hDeltaCaloPhi, hDeltaCaloPhivstrueMET, hDeltaCaloSET, hDeltaMET, hDeltaMEX, hDeltaPFMETvstrueMET, hDeltaPFMEXvstrueSET, hDeltaPFPhivstrueMET, hDeltaPhi, hDeltaSET, hDeltaTCMET, hDeltaTCMETvstrueMET, hDeltaTCMEX, hDeltaTCMEXvstrueSET, hDeltaTCPhi, hDeltaTCPhivstrueMET, hDeltaTCSET, hMEX, hPFMET, hPFMETvstrueMET, hSETvsDeltaMET, hSETvsDeltaSET, hTCMET, hTCMETvstrueMET, hTCMEX, hTCSETvsDeltaTCMET, hTCSETvsDeltaTCSET, hTrueMET, profileCaloMETvsCaloMETresp, profileCaloSETvsCaloSETresp, profileMETvsMETresp, profileSETvsSETresp, profileTCMETvsTCMETresp, profileTCSETvsTCSETresp, rec_met, rec_mex, rec_mey, rec_phi, rec_set, tc_met, tc_mex, tc_mey, tc_phi, tc_set, true_met, true_mex, true_mey, true_phi, and true_set.

Referenced by PFMETBenchmarkAnalyzer::analyze().

190  {
191  calculateQuantities(pfMets, genParticleList, caloMets, tcMets);
192  if (debug_) {
193  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
194  cout << " =========GenMET " << true_met << ", " << true_phi << endl;
195  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
196  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
197  }
198  // fill histograms
199  hTrueMET->Fill(true_met);
200  // delta Pt or E quantities
201  // PF
202  hDeltaMET->Fill(rec_met - true_met);
203  hMEX->Fill(rec_mex);
204  hMEX->Fill(rec_mey);
205  hDeltaMEX->Fill(rec_mex - true_mex);
206  hDeltaMEX->Fill(rec_mey - true_mey);
207  hDeltaPhi->Fill(rec_phi - true_phi);
208  hDeltaSET->Fill(rec_set - true_set);
209  if (true_met > 5.0)
211  else
214  if (true_met > 5.0)
217 
221  hPFMET->Fill(rec_met);
222 
225 
226  // Calo
228  hCaloMEX->Fill(calo_mex);
229  hCaloMEX->Fill(calo_mey);
234  if (true_met > 5.0)
236  else
239  if (true_met > 5.0)
242 
246  hCaloMET->Fill(calo_met);
247 
250 
251  // TC
252  hDeltaTCMET->Fill(tc_met - true_met);
253  hTCMET->Fill(tc_met);
254  hTCMEX->Fill(tc_mex);
255  hTCMEX->Fill(tc_mey);
256  hDeltaTCMEX->Fill(tc_mex - true_mex);
257  hDeltaTCMEX->Fill(tc_mey - true_mey);
258  hDeltaTCPhi->Fill(tc_phi - true_phi);
259  hDeltaTCSET->Fill(tc_set - true_set);
260  if (true_met > 5.0)
262  else
265  if (true_met > 5.0)
268 
274 }
TProfile * profileTCSETvsTCSETresp
TProfile * profileTCMETvsTCMETresp
TH2F * hCaloSETvsDeltaCaloSET
TH2F * hDeltaPFPhivstrueMET
TH2F * hDeltaTCPhivstrueMET
TH2F * hDeltaTCMETvstrueMET
TProfile * profileMETvsMETresp
TH2F * hDeltaCaloMETvstrueMET
TH2F * hCaloMETvstrueMET
void calculateQuantities(const reco::PFMETCollection &, const reco::GenParticleCollection &, const reco::CaloMETCollection &, const reco::METCollection &)
TH2F * hDeltaCaloPhivstrueMET
TProfile * profileSETvsSETresp
TH2F * hCaloSETvsDeltaCaloMET
TH2F * hSETvsDeltaMET
TH2F * hSETvsDeltaSET
TH2F * hDeltaPFMETvstrueMET
TH2F * hDeltaTCMEXvstrueSET
TH2F * hDeltaCaloMEXvstrueSET
TH2F * hDeltaPFMEXvstrueSET
TProfile * profileCaloSETvsCaloSETresp
TH2F * hTCSETvsDeltaTCSET
TH2F * hTCMETvstrueMET
tuple cout
Definition: gather_cfg.py:144
TProfile * profileCaloMETvsCaloMETresp
TH2F * hTCSETvsDeltaTCMET
TH2F * hPFMETvstrueMET
void PFMETBenchmark::setup ( std::string  Filename,
bool  debug,
bool  plotAgainstReco = false,
std::string  benchmarkLabel_ = "ParticleFlow",
DQMStore dbe_store = nullptr 
)

Definition at line 50 of file PFMETBenchmark.cc.

References BOOK1D, BOOK2D, gather_cfg::cout, dbe_, debug, debug_, file_, outputFile_, fed_dqm_sourceclient-live_cfg::path, plotAgainstReco, plotAgainstReco_, profileCaloMETvsCaloMETresp, profileCaloSETvsCaloSETresp, profileMETvsMETresp, profileSETvsSETresp, profileTCMETvsTCMETresp, profileTCSETvsTCSETresp, SETAXES, and dqm::implementation::DQMStore::setCurrentFolder().

Referenced by PFMETBenchmarkAnalyzer::PFMETBenchmarkAnalyzer().

51  {
52  debug_ = debug;
54  outputFile_ = Filename;
55  file_ = nullptr;
56  dbe_ = dbe_store;
57  // print parameters
58  //cout<< "PFMETBenchmark Setup parameters =============================================="<<endl;
59  cout << "Filename to write histograms " << Filename << endl;
60  cout << "PFMETBenchmark debug " << debug_ << endl;
61  cout << "plotAgainstReco " << plotAgainstReco_ << endl;
62  cout << "benchmarkLabel " << benchmarkLabel_ << endl;
63 
64  // Book histogram
65 
66  // Establish DQM Store
67  string path = "PFTask/Benchmarks/" + benchmarkLabel_ + "/";
68  if (plotAgainstReco)
69  path += "Reco";
70  else
71  path += "Gen";
72  if (dbe_) {
73  dbe_->setCurrentFolder(path);
74  } else {
75  file_ = new TFile(outputFile_.c_str(), "recreate");
76  // TTree * tr = new TTree("PFTast");
77  // tr->Branch("Benchmarks/ParticleFlow")
78  cout << "Info: DQM is not available to provide data storage service. Using TFile to save histograms. " << endl;
79  }
80 
81  // delta Pt or E quantities for Barrel
82  BOOK1D(MEX, "Particle Flow", 400, -200, 200);
83  BOOK1D(DeltaMEX, "Particle Flow", 400, -200, 200);
84  BOOK1D(DeltaMET, "Particle Flow", 400, -200, 200);
85  BOOK1D(DeltaPhi, "Particle Flow", 1000, -3.2, 3.2);
86  BOOK1D(DeltaSET, "Particle Flow", 400, -200, 200);
87  BOOK2D(SETvsDeltaMET, "Particle Flow", 200, 0.0, 1000.0, 400, -200.0, 200.0);
88  BOOK2D(SETvsDeltaSET, "Particle Flow", 200, 0.0, 1000.0, 400, -200.0, 200.0);
89  profileSETvsSETresp = new TProfile("#DeltaPFSET / trueSET vs trueSET", "", 200, 0.0, 1000.0, -1.0, 1.0);
90  profileMETvsMETresp = new TProfile("#DeltaPFMET / trueMET vs trueMET", "", 50, 0.0, 200.0, -1.0, 1.0);
91 
92  BOOK1D(CaloMEX, "Calorimeter", 400, -200, 200);
93  BOOK1D(DeltaCaloMEX, "Calorimeter", 400, -200, 200);
94  BOOK1D(DeltaCaloMET, "Calorimeter", 400, -200, 200);
95  BOOK1D(DeltaCaloPhi, "Calorimeter", 1000, -3.2, 3.2);
96  BOOK1D(DeltaCaloSET, "Calorimeter", 400, -200, 200);
97  BOOK2D(CaloSETvsDeltaCaloMET, "Calorimeter", 200, 0.0, 1000.0, 400, -200.0, 200.0);
98  BOOK2D(CaloSETvsDeltaCaloSET, "Calorimeter", 200, 0.0, 1000.0, 400, -200.0, 200.0);
99  profileCaloSETvsCaloSETresp = new TProfile("#DeltaCaloSET / trueSET vs trueSET", "", 200, 0.0, 1000.0, -1.0, 1.0);
100  profileCaloMETvsCaloMETresp = new TProfile("#DeltaCaloMET / trueMET vs trueMET", "", 200, 0.0, 200.0, -1.0, 1.0);
101 
102  BOOK2D(DeltaPFMETvstrueMET, "Particle Flow", 500, 0.0, 1000.0, 400, -200.0, 200.0);
103  BOOK2D(DeltaCaloMETvstrueMET, "Calorimeter", 500, 0.0, 1000.0, 400, -200.0, 200.0);
104  BOOK2D(DeltaPFPhivstrueMET, "Particle Flow", 500, 0.0, 1000.0, 400, -3.2, 3.2);
105  BOOK2D(DeltaCaloPhivstrueMET, "Calorimeter", 500, 0.0, 1000.0, 400, -3.2, 3.2);
106  BOOK2D(CaloMETvstrueMET, "Calorimeter", 500, 0.0, 1000.0, 500, 0.0, 1000.0);
107  BOOK2D(PFMETvstrueMET, "Particle Flow", 500, 0.0, 1000.0, 500, 0.0, 1000.0);
108 
109  BOOK2D(DeltaCaloMEXvstrueSET, "Calorimeter", 200, 0.0, 1000.0, 400, -200.0, 200.0);
110  BOOK2D(DeltaPFMEXvstrueSET, "Particle Flow", 200, 0.0, 1000.0, 400, -200.0, 200.0);
111 
112  BOOK1D(TrueMET, "MC truth", 500, 0.0, 1000.0);
113  BOOK1D(CaloMET, "Calorimeter", 500, 0.0, 1000.0);
114  BOOK1D(PFMET, "Particle Flow", 500, 0.0, 1000.0);
115 
116  BOOK1D(TCMEX, "Track Corrected", 400, -200, 200);
117  BOOK1D(DeltaTCMEX, "Track Corrected", 400, -200, 200);
118  BOOK1D(DeltaTCMET, "Track Corrected", 400, -200, 200);
119  BOOK1D(DeltaTCPhi, "Track Corrected", 1000, -3.2, 3.2);
120  BOOK1D(DeltaTCSET, "Track Corrected", 400, -200, 200);
121  BOOK2D(TCSETvsDeltaTCMET, "Track Corrected", 200, 0.0, 1000.0, 400, -200.0, 200.0);
122  BOOK2D(TCSETvsDeltaTCSET, "Track Corrected", 200, 0.0, 1000.0, 400, -200.0, 200.0);
123  profileTCSETvsTCSETresp = new TProfile("#DeltaTCSET / trueSET vs trueSET", "", 200, 0.0, 1000.0, -1.0, 1.0);
124  profileTCMETvsTCMETresp = new TProfile("#DeltaTCMET / trueMET vs trueMET", "", 200, 0.0, 200.0, -1.0, 1.0);
125 
126  BOOK1D(TCMET, "Track Corrected", 500, 0, 1000);
127  BOOK2D(DeltaTCMETvstrueMET, "Track Corrected", 500, 0.0, 1000.0, 400, -200.0, 200.0);
128  BOOK2D(DeltaTCPhivstrueMET, "Track Corrected", 500, 0.0, 1000.0, 400, -3.2, 3.2);
129 
130  BOOK2D(DeltaTCMEXvstrueSET, "Track Corrected", 200, 0.0, 1000.0, 400, -200.0, 200.0);
131  BOOK2D(TCMETvstrueMET, "Track Corrected", 200, 0.0, 1000.0, 500, 0.0, 1000.0);
132 
133  //BOOK1D(meanPF, "Mean PFMEX", 100, 0.0, 1600.0);
134  //BOOK1D(meanCalo, "Mean CaloMEX", 100, 0.0, 1600.0);
135  //BOOK1D(sigmaPF, "#sigma(PFMEX)", 100, 0.0, 1600.0);
136  //BOOK1D(sigmaCalo, "#sigma(CaloMEX)", 100, 0.0, 1600.0);
137  //BOOK1D(rmsPF, "RMS(PFMEX)", 100, 0.0, 1600.0);
138  //BOOK1D(rmsCalo, "RMS(CaloMEX)", 100, 0.0, 1600.0);
139 
140  // Set Axis Titles
141  // delta Pt or E quantities for Barrel and Endcap
142  SETAXES(MEX, "MEX", "Events");
143  SETAXES(DeltaMEX, "#DeltaMEX", "Events");
144  SETAXES(DeltaMET, "#DeltaMET", "Events");
145  SETAXES(DeltaPhi, "#Delta#phi", "Events");
146  SETAXES(DeltaSET, "#DeltaSET", "Events");
147  SETAXES(SETvsDeltaMET, "SET", "#DeltaMET");
148  SETAXES(SETvsDeltaSET, "SET", "#DeltaSET");
149 
150  SETAXES(DeltaPFMETvstrueMET, "trueMET", "#DeltaMET");
151  SETAXES(DeltaCaloMETvstrueMET, "trueMET", "#DeltaCaloMET");
152  SETAXES(DeltaPFPhivstrueMET, "trueMET", "#DeltaPFPhi");
153  SETAXES(DeltaCaloPhivstrueMET, "trueMET", "#DeltaCaloPhi");
154  SETAXES(CaloMETvstrueMET, "trueMET", "CaloMET");
155  SETAXES(PFMETvstrueMET, "trueMET", "PFMET");
156  SETAXES(DeltaCaloMEXvstrueSET, "trueSET", "#DeltaCaloMEX");
157  SETAXES(DeltaPFMEXvstrueSET, "trueSET", "#DeltaPFMEX");
158  SETAXES(TrueMET, "trueMET", "Events");
159  SETAXES(CaloMET, "CaloMET", "Events");
160  SETAXES(PFMET, "PFMET", "Events");
161  SETAXES(TCMET, "TCMET", "Events");
162 
163  SETAXES(CaloMEX, "MEX", "Events");
164  SETAXES(DeltaCaloMEX, "#DeltaMEX", "Events");
165  SETAXES(DeltaCaloMET, "#DeltaMET", "Events");
166  SETAXES(DeltaCaloPhi, "#Delta#phi", "Events");
167  SETAXES(DeltaCaloSET, "#DeltaSET", "Events");
168  SETAXES(CaloSETvsDeltaCaloMET, "SET", "#DeltaMET");
169  SETAXES(CaloSETvsDeltaCaloSET, "SET", "#DeltaSET");
170 
171  SETAXES(TCMEX, "MEX", "Events");
172  SETAXES(DeltaTCMEX, "#DeltaMEX", "Events");
173  SETAXES(DeltaTCMET, "#DeltaMET", "Events");
174  SETAXES(DeltaTCPhi, "#Delta#phi", "Events");
175  SETAXES(DeltaTCSET, "#DeltaSET", "Events");
176  SETAXES(TCSETvsDeltaTCMET, "SET", "#DeltaMET");
177  SETAXES(TCSETvsDeltaTCSET, "SET", "#DeltaSET");
178 
179  SETAXES(DeltaTCMETvstrueMET, "trueMET", "#DeltaTCMET");
180  SETAXES(DeltaTCPhivstrueMET, "trueMET", "#DeltaTCPhi");
181 
182  SETAXES(DeltaTCMEXvstrueSET, "trueSET", "#DeltaTCMEX");
183  SETAXES(TCMETvstrueMET, "trueMET", "TCMET");
184 }
TProfile * profileTCSETvsTCSETresp
TProfile * profileTCMETvsTCMETresp
TProfile * profileMETvsMETresp
#define BOOK1D(name, title, nbinsx, lowx, highx)
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
TProfile * profileSETvsSETresp
#define SETAXES(name, xtitle, ytitle)
std::string outputFile_
#define BOOK2D(name, title, nbinsx, lowx, highx, nbinsy, lowy, highy)
string benchmarkLabel_
TProfile * profileCaloSETvsCaloSETresp
bool plotAgainstReco
#define debug
Definition: HDRShower.cc:19
DQMStore * dbe_
tuple cout
Definition: gather_cfg.py:144
TProfile * profileCaloMETvsCaloMETresp
void PFMETBenchmark::write ( )

Definition at line 35 of file PFMETBenchmark.cc.

References gather_cfg::cout, dbe_, file_, outputFile_, and dqm::implementation::DQMStore::save().

Referenced by PFMETBenchmarkAnalyzer::endJob().

35  {
36  // Store the DAQ Histograms
37  if (!outputFile_.empty()) {
38  if (dbe_)
40  // use bare Root if no DQM (FWLite applications)
41  else if (file_) {
42  file_->Write(outputFile_.c_str());
43  cout << "Benchmark output written to file " << outputFile_.c_str() << endl;
44  file_->Close();
45  }
46  } else
47  cout << "No output file specified (" << outputFile_ << "). Results will not be saved!" << endl;
48 }
std::string outputFile_
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Definition: DQMStore.cc:784
DQMStore * dbe_
tuple cout
Definition: gather_cfg.py:144

Member Data Documentation

PFBenchmarkAlgo* PFMETBenchmark::algo_
protected

Definition at line 173 of file PFMETBenchmark.h.

double PFMETBenchmark::calo_met
private

Definition at line 161 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloMET(), getDeltaCaloMET(), and process().

double PFMETBenchmark::calo_mex
private

Definition at line 162 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloMEX(), and process().

double PFMETBenchmark::calo_mey
private

Definition at line 163 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloMEY(), and process().

double PFMETBenchmark::calo_phi
private

Definition at line 164 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloPhi(), getDeltaCaloPhi(), and process().

double PFMETBenchmark::calo_set
private

Definition at line 165 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloSET(), getDeltaCaloSET(), and process().

DQMStore* PFMETBenchmark::dbe_
protected

Definition at line 176 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::debug_
protected

Definition at line 174 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), process(), and setup().

TFile* PFMETBenchmark::file_
private

Definition at line 90 of file PFMETBenchmark.h.

Referenced by setup(), write(), and ~PFMETBenchmark().

TH1F* PFMETBenchmark::hCaloMET
private

Definition at line 113 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloMETvstrueMET
private

Definition at line 108 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hCaloMEX
private

Definition at line 123 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloMET
private

Definition at line 122 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloSET
private

Definition at line 121 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMET
private

Definition at line 125 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMETvstrueMET
private

Definition at line 105 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMEX
private

Definition at line 124 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMEXvstrueSET
private

Definition at line 110 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloPhi
private

Definition at line 126 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloPhivstrueMET
private

Definition at line 107 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloSET
private

Definition at line 127 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMET
private

Definition at line 100 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMEX
private

Definition at line 99 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMETvstrueMET
private

Definition at line 104 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMEXvstrueSET
private

Definition at line 111 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFPhivstrueMET
private

Definition at line 106 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaPhi
private

Definition at line 101 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaSET
private

Definition at line 102 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMET
private

Definition at line 135 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMETvstrueMET
private

Definition at line 116 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMEX
private

Definition at line 134 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMEXvstrueSET
private

Definition at line 139 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCPhi
private

Definition at line 136 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCPhivstrueMET
private

Definition at line 117 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCSET
private

Definition at line 137 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hMEX
private

Definition at line 98 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hPFMET
private

Definition at line 114 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hPFMETvstrueMET
private

Definition at line 109 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaMET
private

Definition at line 97 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaSET
private

Definition at line 96 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMET
private

Definition at line 115 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCMETvstrueMET
private

Definition at line 140 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMEX
private

Definition at line 133 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCMET
private

Definition at line 132 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCSET
private

Definition at line 131 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTrueMET
private

Definition at line 112 of file PFMETBenchmark.h.

Referenced by process().

std::string PFMETBenchmark::outputFile_
private

Definition at line 149 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::plotAgainstReco_
protected

Definition at line 175 of file PFMETBenchmark.h.

Referenced by setup().

TProfile* PFMETBenchmark::profileCaloMETvsCaloMETresp
private

Definition at line 120 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileCaloSETvsCaloSETresp
private

Definition at line 119 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileMETvsMETresp
private

Definition at line 95 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileSETvsSETresp
private

Definition at line 94 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCMETvsTCMETresp
private

Definition at line 130 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCSETvsTCSETresp
private

Definition at line 129 of file PFMETBenchmark.h.

Referenced by process(), and setup().

double PFMETBenchmark::rec_met
private

Definition at line 156 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaPFMET(), getPFMET(), and process().

double PFMETBenchmark::rec_mex
private

Definition at line 157 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getPFMEX(), and process().

double PFMETBenchmark::rec_mey
private

Definition at line 158 of file PFMETBenchmark.h.

Referenced by getPFMEY(), and process().

double PFMETBenchmark::rec_phi
private

Definition at line 159 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaPFPhi(), getPFPhi(), and process().

double PFMETBenchmark::rec_set
private

Definition at line 160 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaPFSET(), getPFSET(), and process().

double PFMETBenchmark::tc_met
private

Definition at line 166 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaTCMET(), getTCMET(), and process().

double PFMETBenchmark::tc_mex
private

Definition at line 167 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getTCMEX(), and process().

double PFMETBenchmark::tc_mey
private

Definition at line 168 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getTCMEY(), and process().

double PFMETBenchmark::tc_phi
private

Definition at line 169 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaTCPhi(), getTCPhi(), and process().

double PFMETBenchmark::tc_set
private

Definition at line 170 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getDeltaTCSET(), getTCSET(), and process().

double PFMETBenchmark::true_met
private
double PFMETBenchmark::true_mex
private

Definition at line 153 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloMEX(), getPFMEX(), getTCMEX(), and process().

double PFMETBenchmark::true_mey
private

Definition at line 154 of file PFMETBenchmark.h.

Referenced by calculateQuantities(), getCaloMEY(), getPFMEY(), getTCMEY(), and process().

double PFMETBenchmark::true_phi
private
double PFMETBenchmark::true_set
private