#include <GenericBenchmarkAnalyzer.h>
Public Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
virtual void | endJob () |
GenericBenchmarkAnalyzer (const edm::ParameterSet &) | |
virtual | ~GenericBenchmarkAnalyzer () |
Private Attributes | |
std::string | benchmarkLabel_ |
double | deltaR_cut |
bool | doMetPlots_ |
edm::InputTag | inputRecoLabel_ |
edm::InputTag | inputTruthLabel_ |
float | maxDeltaEt_ |
float | maxDeltaPhi_ |
double | maxEta_cut |
float | minDeltaEt_ |
float | minDeltaPhi_ |
double | minEta_cut |
bool | onlyTwoJets_ |
std::string | outputFile_ |
bool | plotAgainstRecoQuantities_ |
double | recPt_cut |
bool | startFromGen_ |
Definition at line 16 of file GenericBenchmarkAnalyzer.h.
GenericBenchmarkAnalyzer::GenericBenchmarkAnalyzer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 38 of file GenericBenchmarkAnalyzer.cc.
References benchmarkLabel_, edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().
{ inputTruthLabel_ = iConfig.getParameter<edm::InputTag>("InputTruthLabel"); inputRecoLabel_ = iConfig.getParameter<edm::InputTag>("InputRecoLabel"); outputFile_ = iConfig.getUntrackedParameter<std::string>("OutputFile"); benchmarkLabel_ = iConfig.getParameter<std::string>("BenchmarkLabel"); startFromGen_ = iConfig.getParameter<bool>("StartFromGen"); plotAgainstRecoQuantities_ = iConfig.getParameter<bool>("PlotAgainstRecoQuantities"); onlyTwoJets_ = iConfig.getParameter<bool>("OnlyTwoJets"); recPt_cut = iConfig.getParameter<double>("recPt"); minEta_cut = iConfig.getParameter<double>("minEta"); maxEta_cut = iConfig.getParameter<double>("maxEta"); deltaR_cut = iConfig.getParameter<double>("deltaRMax"); minDeltaEt_ = iConfig.getParameter<double>("minDeltaEt"); maxDeltaEt_ = iConfig.getParameter<double>("maxDeltaEt"); minDeltaPhi_ = iConfig.getParameter<double>("minDeltaPhi"); maxDeltaPhi_ = iConfig.getParameter<double>("maxDeltaPhi"); doMetPlots_ = iConfig.getParameter<bool>("doMetPlots"); if (outputFile_.size() > 0) edm::LogInfo("OutputInfo") << " ParticleFLow Task histograms will be saved to '" << outputFile_.c_str()<< "'"; else edm::LogInfo("OutputInfo") << " ParticleFlow Task histograms will NOT be saved"; }
GenericBenchmarkAnalyzer::~GenericBenchmarkAnalyzer | ( | ) | [virtual] |
Definition at line 65 of file GenericBenchmarkAnalyzer.cc.
{ }
void GenericBenchmarkAnalyzer::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 86 of file GenericBenchmarkAnalyzer.cc.
References gather_cfg::cout, edm::Event::getByLabel(), and edm::Handle< T >::product().
{ // Typedefs to use views typedef edm::View<reco::Candidate> candidateCollection ; typedef edm::View<reco::Candidate> candidateCollection ; const candidateCollection *truth_candidates; const candidateCollection *reco_candidates; // ========================================================== // Retrieve! // ========================================================== { // Get Truth Candidates (GenCandidates, GenJets, etc.) Handle<candidateCollection> truth_hnd; bool isGen = iEvent.getByLabel(inputTruthLabel_, truth_hnd); if ( !isGen ) { std::cout << "Warning : no Gen jets in input !" << std::endl; return; } truth_candidates = truth_hnd.product(); // Get Reco Candidates (PFlow, CaloJet, etc.) Handle<candidateCollection> reco_hnd; bool isReco = iEvent.getByLabel(inputRecoLabel_, reco_hnd); if ( !isReco ) { std::cout << "Warning : no Reco jets in input !" << std::endl; return; } reco_candidates = reco_hnd.product(); // no longer needed with template-ized Benchmark //const PFCandidateCollection *pf_candidates = reco_hnd.product(); //static CandidateCollection reco_storage = algo_->makeCandidateCollection(pf_candidates); //reco_candidates = &reco_storage; } if (!truth_candidates || !reco_candidates) { edm::LogInfo("OutputInfo") << " failed to retrieve data required by ParticleFlow Task"; edm::LogInfo("OutputInfo") << " ParticleFlow Task cannot continue...!"; return; } // ========================================================== // Analyze! // ========================================================== fill(reco_candidates,truth_candidates, startFromGen_, plotAgainstRecoQuantities_, onlyTwoJets_, recPt_cut, minEta_cut, maxEta_cut, deltaR_cut); }
void GenericBenchmarkAnalyzer::beginJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 68 of file GenericBenchmarkAnalyzer.cc.
References benchmarkLabel_, dbe_, cmsCodeRules::cppFunctionSkipper::operator, path(), DQMStore::setCurrentFolder(), and HcalObjRepresent::setup().
{ // get ahold of back-end interface dbe_ = edm::Service<DQMStore>().operator->(); if (dbe_) { //dbe_->setVerbose(1); string path = "PFTask/Benchmarks/" + benchmarkLabel_ + "/"; if (plotAgainstRecoQuantities_) path += "Reco"; else path += "Gen"; dbe_->setCurrentFolder(path.c_str()); setup(dbe_, plotAgainstRecoQuantities_, minDeltaEt_, maxDeltaEt_, minDeltaPhi_, maxDeltaPhi_, doMetPlots_); } }
void GenericBenchmarkAnalyzer::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 144 of file GenericBenchmarkAnalyzer.cc.
References dbe_, and DQMStore::save().
{ // Store the DAQ Histograms if (outputFile_.size() != 0) dbe_->save(outputFile_); }
std::string GenericBenchmarkAnalyzer::benchmarkLabel_ [private] |
Definition at line 32 of file GenericBenchmarkAnalyzer.h.
double GenericBenchmarkAnalyzer::deltaR_cut [private] |
Definition at line 39 of file GenericBenchmarkAnalyzer.h.
bool GenericBenchmarkAnalyzer::doMetPlots_ [private] |
Reimplemented from GenericBenchmark.
Definition at line 44 of file GenericBenchmarkAnalyzer.h.
Definition at line 31 of file GenericBenchmarkAnalyzer.h.
Definition at line 30 of file GenericBenchmarkAnalyzer.h.
float GenericBenchmarkAnalyzer::maxDeltaEt_ [private] |
Definition at line 41 of file GenericBenchmarkAnalyzer.h.
float GenericBenchmarkAnalyzer::maxDeltaPhi_ [private] |
Definition at line 43 of file GenericBenchmarkAnalyzer.h.
double GenericBenchmarkAnalyzer::maxEta_cut [private] |
Definition at line 38 of file GenericBenchmarkAnalyzer.h.
float GenericBenchmarkAnalyzer::minDeltaEt_ [private] |
Definition at line 40 of file GenericBenchmarkAnalyzer.h.
float GenericBenchmarkAnalyzer::minDeltaPhi_ [private] |
Definition at line 42 of file GenericBenchmarkAnalyzer.h.
double GenericBenchmarkAnalyzer::minEta_cut [private] |
Definition at line 37 of file GenericBenchmarkAnalyzer.h.
bool GenericBenchmarkAnalyzer::onlyTwoJets_ [private] |
Definition at line 35 of file GenericBenchmarkAnalyzer.h.
std::string GenericBenchmarkAnalyzer::outputFile_ [private] |
Definition at line 29 of file GenericBenchmarkAnalyzer.h.
bool GenericBenchmarkAnalyzer::plotAgainstRecoQuantities_ [private] |
Definition at line 34 of file GenericBenchmarkAnalyzer.h.
double GenericBenchmarkAnalyzer::recPt_cut [private] |
Definition at line 36 of file GenericBenchmarkAnalyzer.h.
bool GenericBenchmarkAnalyzer::startFromGen_ [private] |
Definition at line 33 of file GenericBenchmarkAnalyzer.h.