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 32 of file PFMETBenchmark.h.

Constructor & Destructor Documentation

PFMETBenchmark::PFMETBenchmark ( )

Definition at line 30 of file PFMETBenchmark.cc.

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

Definition at line 32 of file PFMETBenchmark.cc.

References file_.

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

Member Function Documentation

void PFMETBenchmark::analyse ( )

Definition at line 429 of file PFMETBenchmark.cc.

Referenced by PFMETBenchmarkAnalyzer::endJob().

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

Definition at line 274 of file PFMETBenchmark.cc.

References funct::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().

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

References funct::abs(), calo_met, calo_mex, calo_mey, calo_phi, calo_set, gather_cfg::cout, debug_, eta(), i, benchmark_cfg::pdgId, reco::LeafCandidate::phi(), EnergyCorrector::pt, 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.

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  true_set = 0.0;;
344 
345  // for( genParticle = genParticleList.begin(); genParticle != genParticleList.end(); genParticle++ )
346  for( unsigned i = 0; i < genParticleList.size(); i++ ) {
347  if( genParticleList[i].status() == 1 && fabs(genParticleList[i].eta()) < 5.0 ) {
348  if( std::abs(genParticleList[i].pdgId()) == 12 ||
349  std::abs(genParticleList[i].pdgId()) == 14 ||
350  std::abs(genParticleList[i].pdgId()) == 16 ||
351  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  {
376  //std::cout << "caloJets[" << caloJetc << "].pt() = " << caloJets[caloJetc].pt() << std::endl;
377  //std::cout << "caloJets[" << caloJetc << "].phi() = " << caloJets[caloJetc].phi() << std::endl;
378  //std::cout << "caloJets[" << caloJetc << "].eta() = " << caloJets[caloJetc].eta() << std::endl;
379  //}
380  for(unsigned int corr_caloJetc=0;corr_caloJetc<corr_caloJets.size();++corr_caloJetc)
381  {
382  //std::cout << "corr_caloJets[" << corr_caloJetc << "].pt() = " << corr_caloJets[corr_caloJetc].pt() << std::endl;
383  //std::cout << "corr_caloJets[" << corr_caloJetc << "].phi() = " << corr_caloJets[corr_caloJetc].phi() << std::endl;
384  //std::cout << "corr_caloJets[" << corr_caloJetc << "].eta() = " << corr_caloJets[corr_caloJetc].eta() << std::endl;
385  //}
386  Float_t DeltaPhi = corr_caloJets[corr_caloJetc].phi() - caloJets[caloJetc].phi();
387  Float_t DeltaEta = corr_caloJets[corr_caloJetc].eta() - caloJets[caloJetc].eta();
388  Float_t DeltaR2 = DeltaPhi*DeltaPhi + DeltaEta*DeltaEta;
389  if( DeltaR2 < 0.0001 && caloJets[caloJetc].pt() > 20.0 )
390  {
391  caloJetCorPX += (corr_caloJets[corr_caloJetc].px() - caloJets[caloJetc].px());
392  caloJetCorPY += (corr_caloJets[corr_caloJetc].py() - caloJets[caloJetc].py());
393  }
394  }
395  }
396  double corr_calomet=sqrt((cm.px()-caloJetCorPX)*(cm.px()-caloJetCorPX)+(cm.py()-caloJetCorPY)*(cm.py()-caloJetCorPY));
397  calo_met = corr_calomet;
398  calo_mex = cm.px()-caloJetCorPX;
399  calo_mey = cm.py()-caloJetCorPY;
400  calo_phi = atan2((cm.py()-caloJetCorPY),(cm.px()-caloJetCorPX));
401  //calo_met = cm.pt();
402  //calo_mex = cm.px();
403  //calo_mey = cm.py();
404  //calo_phi = cm.phi();
405 
406  calo_set = cm.sumEt();
407  tc_met = tcm.pt();
408  tc_mex = tcm.px();
409  tc_mey = tcm.py();
410  tc_phi = tcm.phi();
411  tc_set = tcm.sumEt();
412 
413  if (debug_) {
414  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
415  cout << " =========trueMET " << true_met << ", " << true_phi << endl;
416  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
417  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
418  }
419 }
int i
Definition: DBlmapReader.cc:9
T eta() const
virtual double pt() const
transverse momentum
double sumEt() const
Definition: MET.h:56
Definition: MET.h:42
T sqrt(T t)
Definition: SSEVec.h:48
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual double px() const
x coordinate of momentum vector
tuple cout
Definition: gather_cfg.py:121
tuple status
Definition: ntuplemaker.py:245
virtual double phi() const
momentum azimuthal angle
virtual double py() const
y coordinate of momentum vector
float PFMETBenchmark::getCaloMET ( )
inline

Definition at line 68 of file PFMETBenchmark.h.

References calo_met.

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

Definition at line 69 of file PFMETBenchmark.h.

References calo_mex, and true_mex.

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

Definition at line 70 of file PFMETBenchmark.h.

References calo_mey, and true_mey.

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

Definition at line 71 of file PFMETBenchmark.h.

References calo_phi.

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

Definition at line 72 of file PFMETBenchmark.h.

References calo_set.

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

Definition at line 81 of file PFMETBenchmark.h.

References calo_met, and true_met.

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

Definition at line 82 of file PFMETBenchmark.h.

References calo_phi, mpi_pi(), and true_phi.

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

Definition at line 83 of file PFMETBenchmark.h.

References calo_set, and true_set.

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

Definition at line 78 of file PFMETBenchmark.h.

References rec_met, and true_met.

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

Definition at line 79 of file PFMETBenchmark.h.

References mpi_pi(), rec_phi, and true_phi.

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

Definition at line 80 of file PFMETBenchmark.h.

References rec_set, and true_set.

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

Definition at line 84 of file PFMETBenchmark.h.

References tc_met, and true_met.

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

Definition at line 85 of file PFMETBenchmark.h.

References mpi_pi(), tc_phi, and true_phi.

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

Definition at line 86 of file PFMETBenchmark.h.

References tc_set, and true_set.

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

Definition at line 63 of file PFMETBenchmark.h.

References rec_met.

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

Definition at line 64 of file PFMETBenchmark.h.

References rec_mex, and true_mex.

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

Definition at line 65 of file PFMETBenchmark.h.

References rec_mey, and true_mey.

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

Definition at line 66 of file PFMETBenchmark.h.

References rec_phi.

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

Definition at line 67 of file PFMETBenchmark.h.

References rec_set.

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

Definition at line 73 of file PFMETBenchmark.h.

References tc_met.

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

Definition at line 74 of file PFMETBenchmark.h.

References tc_mex, and true_mex.

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

Definition at line 75 of file PFMETBenchmark.h.

References tc_mey, and true_mey.

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

Definition at line 76 of file PFMETBenchmark.h.

References tc_phi.

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

Definition at line 77 of file PFMETBenchmark.h.

References tc_set.

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

Definition at line 60 of file PFMETBenchmark.h.

References true_met.

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

Definition at line 61 of file PFMETBenchmark.h.

References true_phi.

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

Definition at line 62 of file PFMETBenchmark.h.

References true_set.

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

Definition at line 623 of file PFMETBenchmark.cc.

References angle(), pi, and pi2.

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

623  {
624 
625  const double pi = 3.14159265358979323;
626  const double pi2 = pi*2.;
627  while(angle>pi) angle -= pi2;
628  while(angle<-pi) angle += pi2;
629  return angle;
630 
631 }
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 193 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_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_PATFILTER(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder::scheduleSequence().

196  {
197  calculateQuantities(pfMets, genParticleList, caloMets, tcMets);
198  if (debug_) {
199  cout << " =========PFMET " << rec_met << ", " << rec_phi << endl;
200  cout << " =========GenMET " << true_met << ", " << true_phi << endl;
201  cout << " =========CaloMET " << calo_met << ", " << calo_phi << endl;
202  cout << " =========TCMET " << tc_met << ", " << tc_phi << endl;
203  }
204  // fill histograms
205  hTrueMET->Fill(true_met);
206  // delta Pt or E quantities
207  // PF
208  hDeltaMET->Fill( rec_met - true_met );
209  hMEX->Fill( rec_mex );
210  hMEX->Fill( rec_mey );
211  hDeltaMEX->Fill( rec_mex - true_mex );
212  hDeltaMEX->Fill( rec_mey - true_mey );
213  hDeltaPhi->Fill( rec_phi - true_phi );
214  hDeltaSET->Fill( rec_set - true_set );
215  if( true_met > 5.0 ) hSETvsDeltaMET->Fill( rec_set, rec_met - true_met );
216  else hSETvsDeltaMET->Fill( rec_set, rec_mex - true_mex );
220 
224  hPFMET->Fill(rec_met);
225 
228 
229  // Calo
230  hDeltaCaloMET->Fill( calo_met - true_met );
231  hCaloMEX->Fill( calo_mex );
232  hCaloMEX->Fill( calo_mey );
233  hDeltaCaloMEX->Fill( calo_mex - true_mex);
234  hDeltaCaloMEX->Fill( calo_mey - true_mey);
235  hDeltaCaloPhi->Fill( calo_phi - true_phi );
236  hDeltaCaloSET->Fill( calo_set - true_set );
237  if( true_met > 5.0 ) hCaloSETvsDeltaCaloMET->Fill( calo_set, calo_met - true_met );
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 ) hTCSETvsDeltaTCMET->Fill( tc_set, tc_met - true_met );
261  else hTCSETvsDeltaTCMET->Fill( tc_set, tc_mex - true_mex);
265 
270  hTCMETvstrueMET->Fill( true_met, tc_met );
271 
272 }
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 53 of file PFMETBenchmark.cc.

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

Referenced by PFMETBenchmarkAnalyzer::PFMETBenchmarkAnalyzer().

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

Definition at line 36 of file PFMETBenchmark.cc.

References gather_cfg::cout, dbe_, file_, and outputFile_.

Referenced by PFMETBenchmarkAnalyzer::endJob().

36  {
37  // Store the DAQ Histograms
38  if (outputFile_.size() != 0) {
39  if (dbe_)
40  dbe_->save(outputFile_.c_str());
41  // use bare Root if no DQM (FWLite applications)
42  else if (file_) {
43  file_->Write(outputFile_.c_str());
44  cout << "Benchmark output written to file " << outputFile_.c_str() << endl;
45  file_->Close();
46  }
47  }
48  else
49  cout << "No output file specified ("<<outputFile_<<"). Results will not be saved!" << endl;
50 
51 }
std::string outputFile_
DQMStore * dbe_
tuple cout
Definition: gather_cfg.py:121

Member Data Documentation

PFBenchmarkAlgo* PFMETBenchmark::algo_
protected

Definition at line 178 of file PFMETBenchmark.h.

double PFMETBenchmark::calo_met
private

Definition at line 165 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_mex
private

Definition at line 166 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_mey
private

Definition at line 167 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_phi
private

Definition at line 168 of file PFMETBenchmark.h.

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

double PFMETBenchmark::calo_set
private

Definition at line 169 of file PFMETBenchmark.h.

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

DQMStore* PFMETBenchmark::dbe_
protected

Definition at line 181 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::debug_
protected

Definition at line 179 of file PFMETBenchmark.h.

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

TFile* PFMETBenchmark::file_
private

Definition at line 94 of file PFMETBenchmark.h.

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

TH1F* PFMETBenchmark::hCaloMET
private

Definition at line 117 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloMETvstrueMET
private

Definition at line 112 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hCaloMEX
private

Definition at line 127 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloMET
private

Definition at line 126 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hCaloSETvsDeltaCaloSET
private

Definition at line 125 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMET
private

Definition at line 129 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMETvstrueMET
private

Definition at line 109 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloMEX
private

Definition at line 128 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloMEXvstrueSET
private

Definition at line 114 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloPhi
private

Definition at line 130 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaCaloPhivstrueMET
private

Definition at line 111 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaCaloSET
private

Definition at line 131 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMET
private

Definition at line 104 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaMEX
private

Definition at line 103 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMETvstrueMET
private

Definition at line 108 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFMEXvstrueSET
private

Definition at line 115 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaPFPhivstrueMET
private

Definition at line 110 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaPhi
private

Definition at line 105 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaSET
private

Definition at line 106 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMET
private

Definition at line 139 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMETvstrueMET
private

Definition at line 120 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCMEX
private

Definition at line 138 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCMEXvstrueSET
private

Definition at line 143 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCPhi
private

Definition at line 140 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hDeltaTCPhivstrueMET
private

Definition at line 121 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hDeltaTCSET
private

Definition at line 141 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hMEX
private

Definition at line 102 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hPFMET
private

Definition at line 118 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hPFMETvstrueMET
private

Definition at line 113 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaMET
private

Definition at line 101 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hSETvsDeltaSET
private

Definition at line 100 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMET
private

Definition at line 119 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCMETvstrueMET
private

Definition at line 144 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTCMEX
private

Definition at line 137 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCMET
private

Definition at line 136 of file PFMETBenchmark.h.

Referenced by process().

TH2F* PFMETBenchmark::hTCSETvsDeltaTCSET
private

Definition at line 135 of file PFMETBenchmark.h.

Referenced by process().

TH1F* PFMETBenchmark::hTrueMET
private

Definition at line 116 of file PFMETBenchmark.h.

Referenced by process().

std::string PFMETBenchmark::outputFile_
private

Definition at line 153 of file PFMETBenchmark.h.

Referenced by setup(), and write().

bool PFMETBenchmark::plotAgainstReco_
protected

Definition at line 180 of file PFMETBenchmark.h.

Referenced by setup().

TProfile* PFMETBenchmark::profileCaloMETvsCaloMETresp
private

Definition at line 124 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileCaloSETvsCaloSETresp
private

Definition at line 123 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileMETvsMETresp
private

Definition at line 99 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileSETvsSETresp
private

Definition at line 98 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCMETvsTCMETresp
private

Definition at line 134 of file PFMETBenchmark.h.

Referenced by process(), and setup().

TProfile* PFMETBenchmark::profileTCSETvsTCSETresp
private

Definition at line 133 of file PFMETBenchmark.h.

Referenced by process(), and setup().

double PFMETBenchmark::rec_met
private

Definition at line 160 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_mex
private

Definition at line 161 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_mey
private

Definition at line 162 of file PFMETBenchmark.h.

Referenced by getPFMEY(), and process().

double PFMETBenchmark::rec_phi
private

Definition at line 163 of file PFMETBenchmark.h.

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

double PFMETBenchmark::rec_set
private

Definition at line 164 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_met
private

Definition at line 170 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_mex
private

Definition at line 171 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_mey
private

Definition at line 172 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_phi
private

Definition at line 173 of file PFMETBenchmark.h.

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

double PFMETBenchmark::tc_set
private

Definition at line 174 of file PFMETBenchmark.h.

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

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

Definition at line 157 of file PFMETBenchmark.h.

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

double PFMETBenchmark::true_mey
private

Definition at line 158 of file PFMETBenchmark.h.

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

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