CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TagInfoPlotterFactory.cc
Go to the documentation of this file.
9 
10 using namespace std;
11 
12 BaseTagInfoPlotter* TagInfoPlotterFactory::buildPlotter(const string& dataFormatType, const std::string & tagName,
13  const EtaPtBin & etaPtBin, const edm::ParameterSet& pSet,
14  const std::string& folderName, const bool& update, const bool& mc,
15  const bool& wf)
16 {
17  if (dataFormatType == "TrackCounting") {
18  return new TrackCountingTagPlotter(folderName, etaPtBin, pSet, update, mc, wf);
19  } else if (dataFormatType == "TrackProbability") {
20  return new TrackProbabilityTagPlotter(folderName, etaPtBin, pSet, update, mc, wf);
21  } else if (dataFormatType == "SoftLepton") {
22  return new SoftLeptonTagPlotter(folderName, etaPtBin, pSet, mc, update);
23  } else if (dataFormatType == "TrackIP") {
24  return new TrackIPTagPlotter(folderName, etaPtBin, pSet, update, mc,wf);
25  } else if (dataFormatType == "TaggingVariable") {
26  return new TaggingVariablePlotter(folderName, etaPtBin, pSet, update, mc);
27  } else if (dataFormatType == "GenericMVA") {
28  return new MVAJetTagPlotter(tagName, etaPtBin, pSet, folderName, update, mc);
29  }
30  throw cms::Exception("Configuration")
31  << "BTagPerformanceAnalysis: Unknown ExtendedTagInfo " << dataFormatType << endl
32  << "Choose between TrackCounting, TrackProbability, SoftLepton, TrackIP, TaggingVariable, GenericMVA\n";
33 }
BaseTagInfoPlotter * buildPlotter(const std::string &dataFormatType, const std::string &tagName, const EtaPtBin &etaPtBin, const edm::ParameterSet &pSet, const std::string &folderName, const bool &update, const bool &mc, const bool &wf)
#define update(a, b)