CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
TaggingVariablePlotter Class Reference

#include <TaggingVariablePlotter.h>

Inheritance diagram for TaggingVariablePlotter:
BaseTagInfoPlotter BaseBTagPlotter

Classes

struct  VariableConfig
 

Public Member Functions

void analyzeTag (const reco::BaseTagInfo *baseTagInfo, double jec, int jetFlavour, float w=1) override
 
void analyzeTag (const reco::TaggingVariableList &variables, int jetFlavour, float w=1)
 
void epsPlot (const std::string &name) override
 
void finalize (DQMStore::IBooker &ibook_, DQMStore::IGetter &igetter_) override
 
void psPlot (const std::string &name) override
 
 TaggingVariablePlotter (const std::string &tagName, const EtaPtBin &etaPtBin, const edm::ParameterSet &pSet, unsigned int mc, bool willFinalize, DQMStore::IBooker &ibook, const std::string &category=std::string())
 
 ~TaggingVariablePlotter () override
 
- Public Member Functions inherited from BaseTagInfoPlotter
virtual void analyzeTag (const std::vector< const reco::BaseTagInfo * > &tagInfos, double jec, int jetFlavour, float w=1)
 
 BaseTagInfoPlotter (const std::string &tagName, const EtaPtBin &etaPtBin)
 
virtual void setEventSetup (const edm::EventSetup &setup)
 
virtual std::vector< std::string > tagInfoRequirements () const
 
 ~BaseTagInfoPlotter () override
 
- Public Member Functions inherited from BaseBTagPlotter
 BaseBTagPlotter (const std::string &tagName, const EtaPtBin &etaPtBin)
 
const EtaPtBinetaPtBin ()
 
virtual ~BaseBTagPlotter ()
 

Private Attributes

unsigned int mcPlots_
 
std::vector< VariableConfigvariables
 

Additional Inherited Members

- Protected Attributes inherited from BaseBTagPlotter
const EtaPtBin etaPtBin_
 
const std::string tagName_
 
const std::string theExtensionString
 

Detailed Description

Definition at line 14 of file TaggingVariablePlotter.h.

Constructor & Destructor Documentation

TaggingVariablePlotter::TaggingVariablePlotter ( const std::string &  tagName,
const EtaPtBin etaPtBin,
const edm::ParameterSet pSet,
unsigned int  mc,
bool  willFinalize,
DQMStore::IBooker ibook,
const std::string &  category = std::string() 
)

Definition at line 44 of file TaggingVariablePlotter.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNames(), mcPlots_, AlCaHLTBitMon_QueryRunRegistry::string, BaseBTagPlotter::theExtensionString, JetChargeProducer_cfi::var, and variables.

47  : BaseTagInfoPlotter(tagName, etaPtBin), mcPlots_(mc)
48 {
49  const std::string tagVarDir(theExtensionString.substr(1));
50 
51  if (willFinalize) return;
52 
53  const vector<string>& pSets = pSet.getParameterNames();
54  for (const std::string& iter: pSets) {
55  VariableConfig var(iter,
56  pSet.getParameter<ParameterSet>(iter),
57  category,tagVarDir, mcPlots_, ibook);
58  variables.push_back(var);
59  }
60 }
T getParameter(std::string const &) const
std::vector< VariableConfig > variables
const std::string theExtensionString
std::vector< std::string > getParameterNames() const
BaseTagInfoPlotter(const std::string &tagName, const EtaPtBin &etaPtBin)
TaggingVariablePlotter::~TaggingVariablePlotter ( )
override

Definition at line 63 of file TaggingVariablePlotter.cc.

63 {}

Member Function Documentation

void TaggingVariablePlotter::analyzeTag ( const reco::BaseTagInfo baseTagInfo,
double  jec,
int  jetFlavour,
float  w = 1 
)
overridevirtual

Reimplemented from BaseTagInfoPlotter.

Definition at line 66 of file TaggingVariablePlotter.cc.

References reco::BaseTagInfo::taggingVariables(), and w.

67 {
68  analyzeTag(baseTagInfo->taggingVariables(), jetFlavour,w);
69 }
const double w
Definition: UKUtility.cc:23
virtual TaggingVariableList taggingVariables(void) const
returns a description of the extended informations in a TaggingVariableList
Definition: BaseTagInfo.h:39
void analyzeTag(const reco::BaseTagInfo *baseTagInfo, double jec, int jetFlavour, float w=1) override
void TaggingVariablePlotter::analyzeTag ( const reco::TaggingVariableList variables,
int  jetFlavour,
float  w = 1 
)

Definition at line 71 of file TaggingVariablePlotter.cc.

References looper::cfg, reco::TaggingVariableList::getList(), TaggingVariablePlotter::VariableConfig::Plot::histo, TaggingVariablePlotter::VariableConfig::Plot::index, plotFactory::plot, findQualityFiles::size, heppy_batch::val, MuonErrorMatrixValues_cff::values, and variables.

72 {
73  for (const VariableConfig& cfg: variables) {
74  const std::vector<TaggingValue> values(vars.getList(cfg.var, false));
75  if (values.empty())
76  continue;
77 
78  const unsigned int& size = values.size();
79 
80  for (const VariableConfig::Plot& plot: cfg.plots) {
81  if (plot.index == 0) {
82  for (const TaggingValue& val: values)
83  plot.histo->fill(jetFlavour, val, w);
84  } else if (plot.index - 1 < size)
85  plot.histo->fill(jetFlavour, values[plot.index - 1], w);
86  }
87  }
88 }
size
Write out results.
const double w
Definition: UKUtility.cc:23
float TaggingValue
vars
Definition: DeepTauId.cc:77
void TaggingVariablePlotter::epsPlot ( const std::string &  name)
inlineoverridevirtual

Implements BaseBTagPlotter.

Definition at line 31 of file TaggingVariablePlotter.h.

31 {}
void TaggingVariablePlotter::finalize ( DQMStore::IBooker ibook_,
DQMStore::IGetter igetter_ 
)
inlineoverridevirtual

Implements BaseBTagPlotter.

Definition at line 29 of file TaggingVariablePlotter.h.

29 {}
void TaggingVariablePlotter::psPlot ( const std::string &  name)
inlineoverridevirtual

Implements BaseBTagPlotter.

Definition at line 33 of file TaggingVariablePlotter.h.

33 {}

Member Data Documentation

unsigned int TaggingVariablePlotter::mcPlots_
private

Definition at line 37 of file TaggingVariablePlotter.h.

Referenced by TaggingVariablePlotter().

std::vector<VariableConfig> TaggingVariablePlotter::variables
private