CMS 3D CMS Logo

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

#include <TagInfoPlotterFactory.h>

Public Member Functions

BaseTagInfoPlotterbuildPlotter (const std::string &dataFormatType, const std::string &tagName, const EtaPtBin &etaPtBin, const edm::ParameterSet &pSet, const std::string &folderName, const unsigned int &mc, const bool &wf, DQMStore::IBooker &ibook)
 

Detailed Description

Definition at line 9 of file TagInfoPlotterFactory.h.

Member Function Documentation

BaseTagInfoPlotter * TagInfoPlotterFactory::buildPlotter ( const std::string &  dataFormatType,
const std::string &  tagName,
const EtaPtBin etaPtBin,
const edm::ParameterSet pSet,
const std::string &  folderName,
const unsigned int &  mc,
const bool &  wf,
DQMStore::IBooker ibook 
)

Definition at line 17 of file TagInfoPlotterFactory.cc.

References Exception.

Referenced by BTagPerformanceAnalyzerOnData::bookHistograms(), BTagPerformanceAnalyzerMC::bookHistograms(), and BTagPerformanceHarvester::dqmEndJob().

21 {
22  if (dataFormatType == "TrackCounting") {
23  return new TrackCountingTagPlotter(folderName, etaPtBin, pSet, mc, wf, ibook);
24  } else if (dataFormatType == "TrackProbability") {
25  return new TrackProbabilityTagPlotter(folderName, etaPtBin, pSet, mc, wf, ibook);
26  } else if (dataFormatType == "SoftLepton") {
27  return new SoftLeptonTagPlotter(folderName, etaPtBin, pSet, mc, wf, ibook);
28  } else if (dataFormatType == "TrackIP") {
29  return new IPTagPlotter<reco::TrackRefVector,reco::JTATagInfo>(folderName, etaPtBin, pSet, mc, wf, ibook);
30  } else if (dataFormatType == "CandIP") {
31  return new IPTagPlotter<std::vector<reco::CandidatePtr>,reco::JetTagInfo>(folderName, etaPtBin, pSet, mc, wf, ibook);
32  } else if (dataFormatType == "TaggingVariable") {
33  return new TaggingVariablePlotter(folderName, etaPtBin, pSet, mc, wf, ibook);
34  } else if (dataFormatType == "GenericMVA") {
35  return new MVAJetTagPlotter(tagName, etaPtBin, pSet, folderName, mc, wf, ibook);
36  }
37  throw cms::Exception("Configuration")
38  << "BTagPerformanceAnalysis: Unknown ExtendedTagInfo " << dataFormatType << endl
39  << "Choose between TrackCounting, TrackProbability, SoftLepton, TrackIP, CandIP, TaggingVariable, GenericMVA\n";
40 }