CMS 3D CMS Logo

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

#include <PFMETBenchmark.h>

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=0, std::string benchmarkLabel_="ParticleFlow", DQMStore *dbe_store=NULL)
 
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 40 of file PFMETBenchmark.h.

Constructor & Destructor Documentation

PFMETBenchmark::PFMETBenchmark ( )

Definition at line 34 of file PFMETBenchmark.cc.

34 : file_(0) {}
PFMETBenchmark::~PFMETBenchmark ( )
virtual

Definition at line 36 of file PFMETBenchmark.cc.

References file_.

36  {
37  if(file_) file_->Close();
38 }

Member Function Documentation

void PFMETBenchmark::analyse ( )

Definition at line 433 of file PFMETBenchmark.cc.

Referenced by PFMETBenchmarkAnalyzer::endJob().

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

Definition at line 278 of file PFMETBenchmark.cc.

References abs, calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, eta(), i, benchmark_cfg::pdgId, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), rec_met, rec_mex, rec_phi, rec_set, mathSSE::sqrt(), ntuplemaker::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().

282 {
283  const reco::PFMET& pfm = pfMets[0];
284  const reco::CaloMET& cm = caloMets[0];
285  const reco::MET& tcm = tcMets[0];
286 
287  double trueMEY = 0.0;
288  double trueMEX = 0.0;;
289  true_set = 0.0;;
290 
291  // for( genParticle = genParticleList.begin(); genParticle != genParticleList.end(); genParticle++ )
292  for( unsigned i = 0; i < genParticleList.size(); i++ ) {
293  if( genParticleList[i].status() == 1 && fabs(genParticleList[i].eta()) < 5.0 ) {
294  if( std::abs(genParticleList[i].pdgId()) == 12 ||
295  std::abs(genParticleList[i].pdgId()) == 14 ||
296  std::abs(genParticleList[i].pdgId()) == 16 ||
297  std::abs(genParticleList[i].pdgId()) < 7 ||
298  std::abs(genParticleList[i].pdgId()) == 21 ) {
299  trueMEX += genParticleList[i].px();
300  trueMEY += genParticleList[i].py();
301  } else {
302  true_set += genParticleList[i].pt();
303  }
304  }
305  }
306  true_mex = -trueMEX;
307  true_mey = -trueMEY;
308  true_met = sqrt( trueMEX*trueMEX + trueMEY*trueMEY );
309  true_phi = atan2(trueMEY,trueMEX);
310  rec_met = pfm.pt();
311  rec_mex = pfm.px();
312  rec_mex = pfm.py();
313  rec_phi = pfm.phi();
314  rec_set = pfm.sumEt();
315  calo_met = cm.pt();
316  calo_mex = cm.px();
317  calo_mey = cm.py();
318  calo_phi = cm.phi();
319  calo_set = cm.sumEt();
320  tc_met = tcm.pt();
321  tc_mex = tcm.px();
322  tc_mey = tcm.py();
323  tc_phi = tcm.phi();
324  tc_set = tcm.sumEt();
325 
326  if (debug_) {
327  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
328  cout << " =========trueMET " << true_met << ", " << true_phi << endl;
329  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
330  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
331  }
332 }
int i
Definition: DBlmapReader.cc:9
#define abs(x)
Definition: mlp_lapack.h:159
T eta() const
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
double sumEt() const
Definition: MET.h:48
Definition: MET.h:32
T sqrt(T t)
Definition: SSEVec.h:48
virtual double px() const GCC11_FINAL
x coordinate of momentum vector
tuple cout
Definition: gather_cfg.py:121
tuple status
Definition: ntuplemaker.py:245
virtual float pt() const GCC11_FINAL
transverse momentum
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 334 of file PFMETBenchmark.cc.

References abs, calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, eta(), i, benchmark_cfg::pdgId, reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), rec_met, rec_mex, rec_phi, rec_set, mathSSE::sqrt(), ntuplemaker::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.

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

Definition at line 76 of file PFMETBenchmark.h.

References calo_met.

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

Definition at line 77 of file PFMETBenchmark.h.

References calo_mex, and true_mex.

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

Definition at line 78 of file PFMETBenchmark.h.

References calo_mey, and true_mey.

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

Definition at line 79 of file PFMETBenchmark.h.

References calo_phi.

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

Definition at line 80 of file PFMETBenchmark.h.

References calo_set.

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

Definition at line 89 of file PFMETBenchmark.h.

References calo_met, and true_met.

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

Definition at line 90 of file PFMETBenchmark.h.

References calo_phi, mpi_pi(), and true_phi.

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

Definition at line 91 of file PFMETBenchmark.h.

References calo_set, and true_set.

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

Definition at line 86 of file PFMETBenchmark.h.

References rec_met, and true_met.

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

Definition at line 87 of file PFMETBenchmark.h.

References mpi_pi(), rec_phi, and true_phi.

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

Definition at line 88 of file PFMETBenchmark.h.

References rec_set, and true_set.

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

Definition at line 92 of file PFMETBenchmark.h.

References tc_met, and true_met.

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

Definition at line 93 of file PFMETBenchmark.h.

References mpi_pi(), tc_phi, and true_phi.

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

Definition at line 94 of file PFMETBenchmark.h.

References tc_set, and true_set.

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

Definition at line 71 of file PFMETBenchmark.h.

References rec_met.

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

Definition at line 72 of file PFMETBenchmark.h.

References rec_mex, and true_mex.

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

Definition at line 73 of file PFMETBenchmark.h.

References rec_mey, and true_mey.

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

Definition at line 74 of file PFMETBenchmark.h.

References rec_phi.

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

Definition at line 75 of file PFMETBenchmark.h.

References rec_set.

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

Definition at line 81 of file PFMETBenchmark.h.

References tc_met.

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

Definition at line 82 of file PFMETBenchmark.h.

References tc_mex, and true_mex.

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

Definition at line 83 of file PFMETBenchmark.h.

References tc_mey, and true_mey.

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

Definition at line 84 of file PFMETBenchmark.h.

References tc_phi.

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

Definition at line 85 of file PFMETBenchmark.h.

References tc_set.

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

Definition at line 68 of file PFMETBenchmark.h.

References true_met.

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

Definition at line 69 of file PFMETBenchmark.h.

References true_phi.

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

Definition at line 70 of file PFMETBenchmark.h.

References true_set.

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

Definition at line 627 of file PFMETBenchmark.cc.

References angle(), pi, and pi2.

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

627  {
628 
629  const double pi = 3.14159265358979323;
630  const double pi2 = pi*2.;
631  while(angle>pi) angle -= pi2;
632  while(angle<-pi) angle += pi2;
633  return angle;
634 
635 }
const double pi2
Definition: Thrust.cc:5
double 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 197 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 ConfigBuilder.ConfigBuilder::addExtraStream(), PFMETBenchmarkAnalyzer::analyze(), ConfigBuilder.ConfigBuilder::completeInputCommand(), ConfigBuilder.ConfigBuilder::doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), ConfigBuilder.ConfigBuilder::prepare_FASTSIM(), ConfigBuilder.ConfigBuilder::prepare_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder::scheduleSequence().

200  {
201  calculateQuantities(pfMets, genParticleList, caloMets, tcMets);
202  if (debug_) {
203  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
204  cout << " =========GenMET " << true_met << ", " << true_phi << endl;
205  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
206  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
207  }
208  // fill histograms
209  hTrueMET->Fill(true_met);
210  // delta Pt or E quantities
211  // PF
212  hDeltaMET->Fill( rec_met - true_met );
213  hMEX->Fill( rec_mex );
214  hMEX->Fill( rec_mey );
215  hDeltaMEX->Fill( rec_mex - true_mex );
216  hDeltaMEX->Fill( rec_mey - true_mey );
217  hDeltaPhi->Fill( rec_phi - true_phi );
218  hDeltaSET->Fill( rec_set - true_set );
219  if( true_met > 5.0 ) hSETvsDeltaMET->Fill( rec_set, rec_met - true_met );
220  else hSETvsDeltaMET->Fill( rec_set, rec_mex - true_mex );
224 
228  hPFMET->Fill(rec_met);
229 
232 
233  // Calo
234  hDeltaCaloMET->Fill( calo_met - true_met );
235  hCaloMEX->Fill( calo_mex );
236  hCaloMEX->Fill( calo_mey );
237  hDeltaCaloMEX->Fill( calo_mex - true_mex);
238  hDeltaCaloMEX->Fill( calo_mey - true_mey);
239  hDeltaCaloPhi->Fill( calo_phi - true_phi );
240  hDeltaCaloSET->Fill( calo_set - true_set );
241  if( true_met > 5.0 ) hCaloSETvsDeltaCaloMET->Fill( calo_set, calo_met - true_met );
246 
250  hCaloMET->Fill(calo_met);
251 
254 
255  // TC
256  hDeltaTCMET->Fill( tc_met - true_met );
257  hTCMET->Fill( tc_met );
258  hTCMEX->Fill( tc_mex );
259  hTCMEX->Fill( tc_mey );
260  hDeltaTCMEX->Fill( tc_mex - true_mex);
261  hDeltaTCMEX->Fill( tc_mey - true_mey);
262  hDeltaTCPhi->Fill( tc_phi - true_phi );
263  hDeltaTCSET->Fill( tc_set - true_set );
264  if( true_met > 5.0 ) hTCSETvsDeltaTCMET->Fill( tc_set, tc_met - true_met );
265  else hTCSETvsDeltaTCMET->Fill( tc_set, tc_mex - true_mex);
269 
274  hTCMETvstrueMET->Fill( true_met, tc_met );
275 
276 }
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 * hDeltaPFMETvstrueMET
TH2F * hDeltaTCMEXvstrueSET
TH2F * hDeltaCaloMEXvstrueSET
TH2F * hDeltaPFMEXvstrueSET
TProfile * profileCaloSETvsCaloSETresp
TH2F * hTCSETvsDeltaTCSET
TH2F * hTCMETvstrueMET
tuple cout
Definition: gather_cfg.py:121
TProfile * profileCaloMETvsCaloMETresp
TH2F * hTCSETvsDeltaTCMET
TH2F * hPFMETvstrueMET
void PFMETBenchmark::setup ( std::string  Filename,
bool  debug,
bool  plotAgainstReco = 0,
std::string  benchmarkLabel_ = "ParticleFlow",
DQMStore dbe_store = NULL 
)

Definition at line 57 of file PFMETBenchmark.cc.

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

Referenced by PFMETBenchmarkAnalyzer::PFMETBenchmarkAnalyzer().

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

Definition at line 40 of file PFMETBenchmark.cc.

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

Referenced by PFMETBenchmarkAnalyzer::endJob().

40  {
41  // Store the DAQ Histograms
42  if (outputFile_.size() != 0) {
43  if (dbe_)
44  dbe_->save(outputFile_.c_str());
45  // use bare Root if no DQM (FWLite applications)
46  else if (file_) {
47  file_->Write(outputFile_.c_str());
48  cout << "Benchmark output written to file " << outputFile_.c_str() << endl;
49  file_->Close();
50  }
51  }
52  else
53  cout << "No output file specified ("<<outputFile_<<"). Results will not be saved!" << endl;
54 
55 }
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
std::string outputFile_
DQMStore * dbe_
tuple cout
Definition: gather_cfg.py:121

Member Data Documentation

PFBenchmarkAlgo* PFMETBenchmark::algo_
protected

Definition at line 186 of file PFMETBenchmark.h.

double PFMETBenchmark::calo_met
private

Definition at line 173 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_mex
private

Definition at line 174 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_mey
private

Definition at line 175 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_phi
private

Definition at line 176 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_set
private

Definition at line 177 of file PFMETBenchmark.h.

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

DQMStore* PFMETBenchmark::dbe_
protected

Definition at line 189 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::debug_
protected

Definition at line 187 of file PFMETBenchmark.h.

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

TFile* PFMETBenchmark::file_
private

Definition at line 102 of file PFMETBenchmark.h.

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

TH1F* PFMETBenchmark::hCaloMET
private

Definition at line 125 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloMETvstrueMET
private

Definition at line 120 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hCaloMEX
private

Definition at line 135 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloMET
private

Definition at line 134 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloSET
private

Definition at line 133 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMET
private

Definition at line 137 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMETvstrueMET
private

Definition at line 117 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMEX
private

Definition at line 136 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMEXvstrueSET
private

Definition at line 122 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloPhi
private

Definition at line 138 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloPhivstrueMET
private

Definition at line 119 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloSET
private

Definition at line 139 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMET
private

Definition at line 112 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMEX
private

Definition at line 111 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMETvstrueMET
private

Definition at line 116 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMEXvstrueSET
private

Definition at line 123 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFPhivstrueMET
private

Definition at line 118 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaPhi
private

Definition at line 113 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaSET
private

Definition at line 114 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMET
private

Definition at line 147 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMETvstrueMET
private

Definition at line 128 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMEX
private

Definition at line 146 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMEXvstrueSET
private

Definition at line 151 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCPhi
private

Definition at line 148 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCPhivstrueMET
private

Definition at line 129 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCSET
private

Definition at line 149 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hMEX
private

Definition at line 110 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hPFMET
private

Definition at line 126 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hPFMETvstrueMET
private

Definition at line 121 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaMET
private

Definition at line 109 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaSET
private

Definition at line 108 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMET
private

Definition at line 127 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCMETvstrueMET
private

Definition at line 152 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMEX
private

Definition at line 145 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCMET
private

Definition at line 144 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCSET
private

Definition at line 143 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTrueMET
private

Definition at line 124 of file PFMETBenchmark.h.

Referenced by process().

std::string PFMETBenchmark::outputFile_
private

Definition at line 161 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::plotAgainstReco_
protected

Definition at line 188 of file PFMETBenchmark.h.

Referenced by setup().

TProfile* PFMETBenchmark::profileCaloMETvsCaloMETresp
private

Definition at line 132 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileCaloSETvsCaloSETresp
private

Definition at line 131 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileMETvsMETresp
private

Definition at line 107 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileSETvsSETresp
private

Definition at line 106 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCMETvsTCMETresp
private

Definition at line 142 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCSETvsTCSETresp
private

Definition at line 141 of file PFMETBenchmark.h.

Referenced by process(), and setup().

double PFMETBenchmark::rec_met
private

Definition at line 168 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_mex
private

Definition at line 169 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_mey
private

Definition at line 170 of file PFMETBenchmark.h.

Referenced by getPFMEY(), and process().

double PFMETBenchmark::rec_phi
private

Definition at line 171 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_set
private

Definition at line 172 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_met
private

Definition at line 178 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_mex
private

Definition at line 179 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_mey
private

Definition at line 180 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_phi
private

Definition at line 181 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_set
private

Definition at line 182 of file PFMETBenchmark.h.

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

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

Definition at line 165 of file PFMETBenchmark.h.

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

double PFMETBenchmark::true_mey
private

Definition at line 166 of file PFMETBenchmark.h.

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

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