CMS 3D CMS Logo

PFJetBenchmark Class Reference

#include <RecoParticleFlow/Benchmark/interface/PFJetBenchmark.h>

List of all members.

Public Member Functions

void gettrue (const reco::GenJet *truth, double &true_ChargedHadEnergy, double &true_NeutralHadEnergy, double &true_NeutralEmEnergy)
 PFJetBenchmark ()
void printGenJet (const reco::GenJet *)
void printPFJet (const reco::PFJet *)
void process (const reco::PFJetCollection &, const reco::GenJetCollection &)
double resChargedHadEnergyMax () const
double resNeutralEmEnergyMax () const
double resNeutralHadEnergyMax () const
double resPtMax () const
void setup (std::string Filename, bool debug, bool plotAgainstReco=0, bool onlyTwoJets=1, double deltaRMax=0.1, std::string benchmarkLabel_="ParticleFlow", double recPt=-1, double maxEta=-1, DQMStore *dbe_store=NULL)
void write ()
virtual ~PFJetBenchmark ()

Protected Attributes

PFBenchmarkAlgoalgo_
DQMStoredbe_
bool debug_
double deltaRMax_
double maxEta_cut
bool onlyTwoJets_
bool plotAgainstReco_
double recPt_cut
double resChargedHadEnergyMax_
double resNeutralEmEnergyMax_
double resNeutralHadEnergyMax_
double resPtMax_

Private Attributes

TFile * file_
TH1F * hBRCHE
TH2F * hBRCHEvsPt
TH1F * hBRNEE
TH2F * hBRNEEvsPt
TH1F * hBRneut
TH2F * hBRneutvsPt
TH1F * hBRNHE
TH2F * hBRNHEvsPt
TH1F * hBRPt
TH1F * hBRPt100_150
TH1F * hBRPt150_200
TH1F * hBRPt200_250
TH1F * hBRPt20_40
TH1F * hBRPt250_300
TH1F * hBRPt300_400
TH1F * hBRPt400_500
TH1F * hBRPt40_60
TH1F * hBRPt500_750
TH1F * hBRPt60_80
TH1F * hBRPt80_100
TH2F * hBRPtvsPt
TH1F * hERCHE
TH2F * hERCHEvsPt
TH1F * hERNEE
TH2F * hERNEEvsPt
TH1F * hERneut
TH2F * hERneutvsPt
TH1F * hERNHE
TH2F * hERNHEvsPt
TH1F * hERPt
TH1F * hERPt100_150
TH1F * hERPt150_200
TH1F * hERPt200_250
TH1F * hERPt20_40
TH1F * hERPt250_300
TH1F * hERPt300_400
TH1F * hERPt400_500
TH1F * hERPt40_60
TH1F * hERPt500_750
TH1F * hERPt60_80
TH1F * hERPt80_100
TH2F * hERPtvsPt
TH1F * hjetsEta
TH1F * hjetsPt
TH1F * hNjets
std::string outputFile_


Detailed Description

Definition at line 37 of file PFJetBenchmark.h.


Constructor & Destructor Documentation

PFJetBenchmark::PFJetBenchmark (  ) 

Definition at line 39 of file PFJetBenchmark.cc.

00039 : file_(0) {}

PFJetBenchmark::~PFJetBenchmark (  )  [virtual]

Definition at line 41 of file PFJetBenchmark.cc.

References file_.

00041                                 {
00042   if(file_) file_->Close();
00043 }


Member Function Documentation

void PFJetBenchmark::gettrue ( const reco::GenJet truth,
double &  true_ChargedHadEnergy,
double &  true_NeutralHadEnergy,
double &  true_NeutralEmEnergy 
)

Definition at line 361 of file PFJetBenchmark.cc.

References funct::abs(), e, reco::Particle::energy(), reco::GenJet::getGenConstituents(), i, and reco::Particle::pdgId().

Referenced by process().

00362                                                                                           {
00363   std::vector <const GenParticle*> mcparts = truth->getGenConstituents ();
00364   true_NeutralEmEnergy = 0.;
00365   true_ChargedHadEnergy = 0.;
00366   true_NeutralHadEnergy = 0.;
00367   // for each MC particle in turn  
00368   for (unsigned i = 0; i < mcparts.size (); i++) {
00369     const GenParticle* mcpart = mcparts[i];
00370     int PDG = abs( mcpart->pdgId());
00371     double e = mcpart->energy(); 
00372     switch(PDG){  // start PDG switch
00373     case 22: // photon
00374       true_NeutralEmEnergy += e;
00375       break;
00376     case 211: // pi
00377     case 321: // K
00378     case 2212: // p
00379     case 11: //electrons (until recognised)
00380       true_ChargedHadEnergy += e;
00381       break;
00382     case 310: // K_S0
00383     case 130: // K_L0
00384     case 3122: // Lambda0
00385     case 2112: // n0
00386       true_NeutralHadEnergy += e;
00387     default:
00388       break;
00389     }  // end PDG switch                
00390   }  // end loop on constituents.
00391 }

void PFJetBenchmark::printGenJet ( const reco::GenJet truth  ) 

Definition at line 424 of file PFJetBenchmark.cc.

References GenMuonPlsPt100GeV_cfg::cout, reco::Particle::eta(), reco::GenJet::getGenConstituents(), i, reco::Particle::p(), reco::Particle::pdgId(), reco::Particle::phi(), reco::Particle::pt(), reco::Particle::px(), reco::Particle::py(), and reco::Particle::pz().

Referenced by process().

00424                                                         {
00425   std::vector <const GenParticle*> mcparts = truth->getGenConstituents ();
00426   cout << "GenJet p/px/py/pz/pt: " << truth->p() << '/' << truth->px () 
00427        << '/' << truth->py() << '/' << truth->pz() << '/' << truth->pt() << endl
00428        << "    eta/phi: " << truth->eta () << '/' << truth->phi () << endl
00429        << "    # of constituents: " << mcparts.size() << endl;
00430   cout << "    constituents:" << endl;
00431   for (unsigned i = 0; i < mcparts.size (); i++) {
00432     const GenParticle* mcpart = mcparts[i];
00433     cout << "      #" << i << "  PDG code:" << mcpart->pdgId() 
00434          << ", p/pt/eta/phi: " << mcpart->p() << '/' << mcpart->pt() 
00435          << '/' << mcpart->eta() << '/' << mcpart->phi() << endl;       
00436   }    
00437 }

void PFJetBenchmark::printPFJet ( const reco::PFJet pfj  ) 

Definition at line 393 of file PFJetBenchmark.cc.

References reco::PFJet::chargedEmEnergy(), reco::PFJet::chargedHadronEnergy(), reco::PFJet::chargedMuEnergy(), reco::PFJet::chargedMultiplicity(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), reco::Particle::eta(), reco::PFJet::neutralEmEnergy(), reco::PFJet::neutralHadronEnergy(), reco::PFJet::neutralMultiplicity(), reco::Particle::p(), reco::Particle::phi(), reco::Particle::pt(), reco::Particle::px(), reco::Particle::py(), and reco::Particle::pz().

Referenced by process().

00393                                                    {
00394   cout<<setiosflags(ios::right);
00395   cout<<setiosflags(ios::fixed);
00396   cout<<setprecision(3);
00397 
00398 //formerly read out all the constituents, but now there is an error ??????
00399 //std::vector <const reco::PFCandidate*> pfCandidates = pfj->getPFConstituents ();
00400 
00401   cout << "PFJet  p/px/py/pz/pt: " << pfj->p() << "/" << pfj->px () 
00402        << "/" << pfj->py() << "/" << pfj->pz() << "/" << pfj->pt() << endl
00403        << "    eta/phi: " << pfj->eta () << "/" << pfj->phi () << endl                  
00404        << "    PFJet specific:" << std::endl
00405        << "      charged/neutral hadrons energy: " << pfj->chargedHadronEnergy () << '/' << pfj->neutralHadronEnergy () << endl
00406        << "      charged/neutral em energy: " << pfj->chargedEmEnergy () << '/' << pfj->neutralEmEnergy () << endl
00407        << "      charged muon energy: " << pfj->chargedMuEnergy () << '/' << endl
00408        << "      charged/neutral multiplicity: " << pfj->chargedMultiplicity () << '/' << pfj->neutralMultiplicity () << endl;
00409 /* cout  << "    # of pfCandidates: " << pfCandidates.size() << endl;
00410 
00411 //  vector <PFBlockRef> PFBRef;
00412 // print PFCandidates constituents of the jet
00413   for(unsigned i=0; i<pfCandidates.size(); i++) {
00414     const PFCandidate* pfCand = pfCandidates[i];
00415     cout<<i <<" " << *pfCand << endl;
00416   } // end loop on i (PFCandidates)
00417 */
00418   // print blocks associated to the jet (to be done with new format PFCandiates)
00419         
00420   cout<<resetiosflags(ios::right|ios::fixed);
00421 }

void PFJetBenchmark::process ( const reco::PFJetCollection pfJets,
const reco::GenJetCollection genJets 
)

Definition at line 171 of file PFJetBenchmark.cc.

References funct::abs(), algo_, and, reco::PFJet::chargedHadronEnergy(), GenMuonPlsPt100GeV_cfg::cout, debug_, deltaR(), PFBenchmarkAlgo::deltaR(), deltaRMax_, reco::Particle::eta(), gettrue(), hBRCHE, hBRCHEvsPt, hBRNEE, hBRNEEvsPt, hBRneut, hBRneutvsPt, hBRNHE, hBRNHEvsPt, hBRPt, hBRPt100_150, hBRPt150_200, hBRPt200_250, hBRPt20_40, hBRPt250_300, hBRPt300_400, hBRPt400_500, hBRPt40_60, hBRPt500_750, hBRPt60_80, hBRPt80_100, hBRPtvsPt, hERCHE, hERCHEvsPt, hERNEE, hERNEEvsPt, hERneut, hERneutvsPt, hERNHE, hERNHEvsPt, hERPt, hERPt100_150, hERPt150_200, hERPt200_250, hERPt20_40, hERPt250_300, hERPt300_400, hERPt400_500, hERPt40_60, hERPt500_750, hERPt60_80, hERPt80_100, hERPtvsPt, hjetsEta, hjetsPt, hNjets, i, j, PFBenchmarkAlgo::matchByDeltaR(), maxEta_cut, reco::PFJet::neutralEmEnergy(), reco::PFJet::neutralHadronEnergy(), onlyTwoJets_, reco::Particle::phi(), plotAgainstReco_, printGenJet(), printPFJet(), reco::Particle::pt(), recPt_cut, resChargedHadEnergyMax_, resNeutralEmEnergyMax_, resNeutralHadEnergyMax_, and resPtMax_.

Referenced by PFJetBenchmarkAnalyzer::analyze(), and PFRootEventManager::processEntry().

00171                                                                                                    {
00172   // loop over reco  pf  jets
00173   resPtMax_ = 0.;
00174   resChargedHadEnergyMax_ = 0.;
00175   resNeutralHadEnergyMax_ = 0.;
00176   resNeutralEmEnergyMax_ = 0.; 
00177   int NPFJets = 0;
00178         
00179   for(unsigned i=0; i<pfJets.size(); i++) {   
00180 
00181     // Count the number of jets with a larger energy
00182     unsigned highJets = 0;
00183     for(unsigned j=0; j<pfJets.size(); j++) { 
00184       if ( j != i && pfJets[j].pt() > pfJets[i].pt() ) highJets++;
00185     }
00186     if ( onlyTwoJets_ && highJets > 1 ) continue;
00187                 
00188                 
00189     const reco::PFJet& pfj = pfJets[i];
00190     double rec_pt = pfj.pt();
00191     double rec_eta = pfj.eta();
00192     double rec_phi = pfj.phi();
00193     // skip PFjets with pt < recPt_cut GeV
00194     if (rec_pt<recPt_cut and recPt_cut != -1.) continue;
00195     // skip PFjets with eta > maxEta_cut
00196     if (fabs(rec_eta)>maxEta_cut and maxEta_cut != -1.) continue;
00197 
00198     NPFJets++;
00199                 
00200     // fill inclusive PFjet distribution pt > 20 GeV
00201     hNjets->Fill(NPFJets);
00202     hjetsPt->Fill(rec_pt);
00203     hjetsEta->Fill(rec_eta);
00204 
00205     // separate Barrel PFJets from Endcap PFJets
00206     bool Barrel = false;
00207     bool Endcap = false;
00208     if (abs(rec_eta) < 1.4 ) Barrel = true;
00209     if (abs (rec_eta) > 1.6 && abs (rec_eta) < 3. ) Endcap = true;
00210 
00211     // do only barrel for now
00212     //  if(!Barrel) continue;
00213 
00214     // look for the closets gen Jet : truth
00215     const GenJet *truth = algo_->matchByDeltaR(&pfj,&genJets);
00216     if(!truth) continue;   
00217     double deltaR = algo_->deltaR(&pfj, truth);
00218     // check deltaR is small enough
00219     if(deltaR < deltaRMax_ || deltaRMax_ == -1.0 ) {//start case deltaR < deltaRMax
00220       // generate histograms comparing the reco and truth candidate (truth = closest in delta-R) 
00221       // get the quantities to place on the denominator and/or divide by
00222       double pt_denom;
00223       double true_pt = truth->pt();
00224       if (plotAgainstReco_) {pt_denom = rec_pt;}
00225       else {pt_denom = true_pt;}
00226       // get true specific quantities
00227       double true_ChargedHadEnergy;
00228       double true_NeutralHadEnergy;
00229       double true_NeutralEmEnergy;
00230       gettrue (truth, true_ChargedHadEnergy, true_NeutralHadEnergy, true_NeutralEmEnergy);
00231       double true_NeutralEnergy = true_NeutralHadEnergy + true_NeutralEmEnergy;
00232       double rec_ChargedHadEnergy = pfj.chargedHadronEnergy();
00233       double rec_NeutralHadEnergy = pfj.neutralHadronEnergy();
00234       double rec_NeutralEmEnergy = pfj.neutralEmEnergy();
00235       double rec_NeutralEnergy = rec_NeutralHadEnergy + rec_NeutralEmEnergy;
00236       bool plot1 = false;
00237       bool plot2 = false;
00238       bool plot3 = false;
00239       bool plot4 = false;
00240       bool plot5 = false;
00241       double cut1 = 0.0001;
00242       double cut2 = 0.0001;
00243       double cut3 = 0.0001;
00244       double cut4 = 0.0001;
00245       double cut5 = 0.0001;
00246       double resPt =0.;
00247       double resChargedHadEnergy= 0.;
00248       double resNeutralHadEnergy= 0.;
00249       double resNeutralEmEnergy= 0.;
00250       double resNeutralEnergy= 0.;
00251       // get relative delta quantities (protect against division by zero!)
00252       if (true_pt > 0.0001){
00253         resPt = (rec_pt -true_pt)/true_pt ; 
00254         plot1 = true;}
00255       if (true_ChargedHadEnergy > cut1){
00256         resChargedHadEnergy = (rec_ChargedHadEnergy- true_ChargedHadEnergy)/true_ChargedHadEnergy;
00257         plot2 = true;}
00258       if (true_NeutralHadEnergy > cut2){
00259         resNeutralHadEnergy = (rec_NeutralHadEnergy- true_NeutralHadEnergy)/true_NeutralHadEnergy;
00260         plot3 = true;}
00261       else 
00262         if (rec_NeutralHadEnergy > cut3){
00263           resNeutralHadEnergy = (rec_NeutralHadEnergy- true_NeutralHadEnergy)/rec_NeutralHadEnergy;
00264           plot3 = true;}
00265       if (true_NeutralEmEnergy > cut4){
00266         resNeutralEmEnergy = (rec_NeutralEmEnergy- true_NeutralEmEnergy)/true_NeutralEmEnergy;
00267         plot4 = true;}
00268       if (true_NeutralEnergy > cut5){
00269         resNeutralEnergy = (rec_NeutralEnergy- true_NeutralEnergy)/true_NeutralEnergy;
00270         plot5 = true;}
00271       
00272       //double deltaEta = algo_->deltaEta(&pfj, truth);
00273       //double deltaPhi = algo_->deltaPhi(&pfj, truth);
00274       if(abs(resPt) > abs(resPtMax_)) resPtMax_ = resPt;
00275       if(abs(resChargedHadEnergy) > abs(resChargedHadEnergyMax_) ) resChargedHadEnergyMax_ = resChargedHadEnergy;
00276       if(abs(resNeutralHadEnergy) > abs(resNeutralHadEnergyMax_) ) resNeutralHadEnergyMax_ = resNeutralHadEnergy;
00277       if(abs(resNeutralEmEnergy) > abs(resNeutralEmEnergyMax_) ) resNeutralEmEnergyMax_ = resNeutralEmEnergy;
00278       if (debug_) {
00279         cout << i <<"  =========PFJet Pt "<< rec_pt
00280              << " eta " << rec_eta
00281              << " phi " << rec_phi
00282              << " Charged Had Energy " << rec_ChargedHadEnergy
00283              << " Neutral Had Energy " << rec_NeutralHadEnergy
00284              << " Neutral elm Energy " << rec_NeutralEmEnergy << endl;
00285         cout << " matching Gen Jet Pt " << true_pt
00286              << " eta " << truth->eta()
00287              << " phi " << truth->phi()
00288              << " Charged Had Energy " << true_ChargedHadEnergy
00289              << " Neutral Had Energy " << true_NeutralHadEnergy
00290              << " Neutral elm Energy " << true_NeutralEmEnergy << endl;
00291         printPFJet(&pfj);
00292         //      cout<<pfj.print()<<endl;
00293         printGenJet(truth);
00294         //cout <<truth->print()<<endl;
00295                                 
00296         cout << "==============deltaR " << deltaR << "  resPt " << resPt
00297              << " resChargedHadEnergy " << resChargedHadEnergy
00298              << " resNeutralHadEnergy " << resNeutralHadEnergy
00299              << " resNeutralEmEnergy " << resNeutralEmEnergy
00300              << endl;
00301       }
00302                         
00303       // fill histograms for relative delta quantitites of matched jets
00304       // delta Pt or E quantities for Barrel
00305       if (Barrel){
00306         if(plot1) { 
00307           hBRPt->Fill (resPt);
00308           if ( pt_denom >  20. && pt_denom <  40. ) hBRPt20_40->Fill (resPt);
00309           if ( pt_denom >  40. && pt_denom <  60. ) hBRPt40_60->Fill (resPt);
00310           if ( pt_denom >  60. && pt_denom <  80. ) hBRPt60_80->Fill (resPt);
00311           if ( pt_denom >  80. && pt_denom < 100. ) hBRPt80_100->Fill (resPt);
00312           if ( pt_denom > 100. && pt_denom < 150. ) hBRPt100_150->Fill (resPt);
00313           if ( pt_denom > 150. && pt_denom < 200. ) hBRPt150_200->Fill (resPt);
00314           if ( pt_denom > 200. && pt_denom < 250. ) hBRPt200_250->Fill (resPt);
00315           if ( pt_denom > 250. && pt_denom < 300. ) hBRPt250_300->Fill (resPt);
00316           if ( pt_denom > 300. && pt_denom < 400. ) hBRPt300_400->Fill (resPt);
00317           if ( pt_denom > 400. && pt_denom < 500. ) hBRPt400_500->Fill (resPt);
00318           if ( pt_denom > 500. && pt_denom < 750. ) hBRPt500_750->Fill (resPt);
00319         }
00320         if(plot2)hBRCHE->Fill(resChargedHadEnergy);
00321         if(plot3)hBRNHE->Fill(resNeutralHadEnergy);
00322         if(plot4)hBRNEE->Fill(resNeutralEmEnergy);
00323         if(plot5)hBRneut->Fill(resNeutralEnergy);
00324         if(plot1)hBRPtvsPt->Fill(pt_denom, resPt);
00325         if(plot2)hBRCHEvsPt->Fill(pt_denom, resChargedHadEnergy);
00326         if(plot3)hBRNHEvsPt->Fill(pt_denom, resNeutralHadEnergy);
00327         if(plot4)hBRNEEvsPt->Fill(pt_denom, resNeutralEmEnergy);
00328         if(plot5)hBRneutvsPt->Fill(pt_denom, resNeutralEnergy);
00329       }
00330       // delta Pt or E quantities for Endcap
00331       if (Endcap){
00332         if(plot1) {
00333           hERPt->Fill (resPt);
00334           if ( pt_denom >  20. && pt_denom <  40. ) hERPt20_40->Fill (resPt);
00335           if ( pt_denom >  40. && pt_denom <  60. ) hERPt40_60->Fill (resPt);
00336           if ( pt_denom >  60. && pt_denom <  80. ) hERPt60_80->Fill (resPt);
00337           if ( pt_denom >  80. && pt_denom < 100. ) hERPt80_100->Fill (resPt);
00338           if ( pt_denom > 100. && pt_denom < 150. ) hERPt100_150->Fill (resPt);
00339           if ( pt_denom > 150. && pt_denom < 200. ) hERPt150_200->Fill (resPt);
00340           if ( pt_denom > 200. && pt_denom < 250. ) hERPt200_250->Fill (resPt);
00341           if ( pt_denom > 250. && pt_denom < 300. ) hERPt250_300->Fill (resPt);
00342           if ( pt_denom > 300. && pt_denom < 400. ) hERPt300_400->Fill (resPt);
00343           if ( pt_denom > 400. && pt_denom < 500. ) hERPt400_500->Fill (resPt);
00344           if ( pt_denom > 500. && pt_denom < 750. ) hERPt500_750->Fill (resPt);
00345         }
00346         if(plot2)hERCHE->Fill(resChargedHadEnergy);
00347         if(plot3)hERNHE->Fill(resNeutralHadEnergy);
00348         if(plot4)hERNEE->Fill(resNeutralEmEnergy);
00349         if(plot5)hERneut->Fill(resNeutralEnergy);
00350         if(plot1)hERPtvsPt->Fill(pt_denom, resPt);
00351         if(plot2)hERCHEvsPt->Fill(pt_denom, resChargedHadEnergy);
00352         if(plot3)hERNHEvsPt->Fill(pt_denom, resNeutralHadEnergy);
00353         if(plot4)hERNEEvsPt->Fill(pt_denom, resNeutralEmEnergy);
00354         if(plot5)hERneutvsPt->Fill(pt_denom, resNeutralEnergy);
00355       }                                         
00356     } // end case deltaR < deltaRMax
00357                 
00358   } // i loop on pf Jets        
00359 }

double PFJetBenchmark::resChargedHadEnergyMax (  )  const [inline]

Definition at line 61 of file PFJetBenchmark.h.

References resChargedHadEnergyMax_.

Referenced by PFRootEventManager::processEntry().

00061 {return resChargedHadEnergyMax_;};

double PFJetBenchmark::resNeutralEmEnergyMax (  )  const [inline]

Definition at line 63 of file PFJetBenchmark.h.

References resNeutralEmEnergyMax_.

Referenced by PFRootEventManager::processEntry().

00063 {return resNeutralEmEnergyMax_;};

double PFJetBenchmark::resNeutralHadEnergyMax (  )  const [inline]

Definition at line 62 of file PFJetBenchmark.h.

References resNeutralHadEnergyMax_.

Referenced by PFRootEventManager::processEntry().

00062 {return resNeutralHadEnergyMax_;};

double PFJetBenchmark::resPtMax (  )  const [inline]

Definition at line 60 of file PFJetBenchmark.h.

References resPtMax_.

Referenced by PFRootEventManager::processEntry().

00060 {return resPtMax_;};

void PFJetBenchmark::setup ( std::string  Filename,
bool  debug,
bool  plotAgainstReco = 0,
bool  onlyTwoJets = 1,
double  deltaRMax = 0.1,
std::string  benchmarkLabel_ = "ParticleFlow",
double  recPt = -1,
double  maxEta = -1,
DQMStore dbe_store = NULL 
)

Referenced by PFJetBenchmarkAnalyzer::PFJetBenchmarkAnalyzer(), and PFRootEventManager::readOptions().

void PFJetBenchmark::write ( void   ) 

Definition at line 45 of file PFJetBenchmark.cc.

References GenMuonPlsPt100GeV_cfg::cout, dbe_, lat::endl(), file_, outputFile_, and DQMStore::save().

Referenced by PFJetBenchmarkAnalyzer::endJob(), and PFRootEventManager::write().

00045                            {
00046    // Store the DAQ Histograms 
00047   if (outputFile_.size() != 0) {
00048     if (dbe_)
00049           dbe_->save(outputFile_.c_str());
00050     // use bare Root if no DQM (FWLite applications)
00051     else if (file_) {
00052        file_->Write(outputFile_.c_str());
00053        cout << "Benchmark output written to file " << outputFile_.c_str() << endl;
00054        file_->Close();
00055        }
00056   }
00057   else 
00058     cout << "No output file specified ("<<outputFile_<<"). Results will not be saved!" << endl;
00059     
00060 } 


Member Data Documentation

PFBenchmarkAlgo* PFJetBenchmark::algo_ [protected]

Definition at line 126 of file PFJetBenchmark.h.

Referenced by process().

DQMStore* PFJetBenchmark::dbe_ [protected]

Definition at line 137 of file PFJetBenchmark.h.

Referenced by write().

bool PFJetBenchmark::debug_ [protected]

Definition at line 127 of file PFJetBenchmark.h.

Referenced by process().

double PFJetBenchmark::deltaRMax_ [protected]

Definition at line 130 of file PFJetBenchmark.h.

Referenced by process().

TFile* PFJetBenchmark::file_ [private]

Definition at line 69 of file PFJetBenchmark.h.

Referenced by write(), and ~PFJetBenchmark().

TH1F* PFJetBenchmark::hBRCHE [private]

Definition at line 90 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hBRCHEvsPt [private]

Definition at line 95 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRNEE [private]

Definition at line 92 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hBRNEEvsPt [private]

Definition at line 97 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRneut [private]

Definition at line 93 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hBRneutvsPt [private]

Definition at line 98 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRNHE [private]

Definition at line 91 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hBRNHEvsPt [private]

Definition at line 96 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt [private]

Definition at line 78 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt100_150 [private]

Definition at line 83 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt150_200 [private]

Definition at line 84 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt200_250 [private]

Definition at line 85 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt20_40 [private]

Definition at line 79 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt250_300 [private]

Definition at line 86 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt300_400 [private]

Definition at line 87 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt400_500 [private]

Definition at line 88 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt40_60 [private]

Definition at line 80 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt500_750 [private]

Definition at line 89 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt60_80 [private]

Definition at line 81 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hBRPt80_100 [private]

Definition at line 82 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hBRPtvsPt [private]

Definition at line 94 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERCHE [private]

Definition at line 113 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hERCHEvsPt [private]

Definition at line 118 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERNEE [private]

Definition at line 115 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hERNEEvsPt [private]

Definition at line 120 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERneut [private]

Definition at line 116 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hERneutvsPt [private]

Definition at line 121 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERNHE [private]

Definition at line 114 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hERNHEvsPt [private]

Definition at line 119 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt [private]

Definition at line 101 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt100_150 [private]

Definition at line 106 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt150_200 [private]

Definition at line 107 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt200_250 [private]

Definition at line 108 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt20_40 [private]

Definition at line 102 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt250_300 [private]

Definition at line 109 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt300_400 [private]

Definition at line 110 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt400_500 [private]

Definition at line 111 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt40_60 [private]

Definition at line 103 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt500_750 [private]

Definition at line 112 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt60_80 [private]

Definition at line 104 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hERPt80_100 [private]

Definition at line 105 of file PFJetBenchmark.h.

Referenced by process().

TH2F* PFJetBenchmark::hERPtvsPt [private]

Definition at line 117 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hjetsEta [private]

Definition at line 75 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hjetsPt [private]

Definition at line 74 of file PFJetBenchmark.h.

Referenced by process().

TH1F* PFJetBenchmark::hNjets [private]

Definition at line 73 of file PFJetBenchmark.h.

Referenced by process().

double PFJetBenchmark::maxEta_cut [protected]

Definition at line 136 of file PFJetBenchmark.h.

Referenced by process().

bool PFJetBenchmark::onlyTwoJets_ [protected]

Definition at line 129 of file PFJetBenchmark.h.

Referenced by process().

std::string PFJetBenchmark::outputFile_ [private]

Definition at line 123 of file PFJetBenchmark.h.

Referenced by write().

bool PFJetBenchmark::plotAgainstReco_ [protected]

Definition at line 128 of file PFJetBenchmark.h.

Referenced by process().

double PFJetBenchmark::recPt_cut [protected]

Definition at line 135 of file PFJetBenchmark.h.

Referenced by process().

double PFJetBenchmark::resChargedHadEnergyMax_ [protected]

Definition at line 132 of file PFJetBenchmark.h.

Referenced by process(), and resChargedHadEnergyMax().

double PFJetBenchmark::resNeutralEmEnergyMax_ [protected]

Definition at line 134 of file PFJetBenchmark.h.

Referenced by process(), and resNeutralEmEnergyMax().

double PFJetBenchmark::resNeutralHadEnergyMax_ [protected]

Definition at line 133 of file PFJetBenchmark.h.

Referenced by process(), and resNeutralHadEnergyMax().

double PFJetBenchmark::resPtMax_ [protected]

Definition at line 131 of file PFJetBenchmark.h.

Referenced by process(), and resPtMax().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:44 2009 for CMSSW by  doxygen 1.5.4