CMS 3D CMS Logo

List of all members | Public Member Functions
JME::JetResolutionVsPt Class Reference
Inheritance diagram for JME::JetResolutionVsPt:
cond::payloadInspector::Histogram1< AxisType, PayloadType, IOV_M > cond::payloadInspector::Plot2D< PayloadType, AxisType, AxisType, IOV_M, 1 > cond::payloadInspector::PlotImpl< IOV_M, NTAGS > cond::payloadInspector::PlotBase

Public Member Functions

bool fill () override
 
 JetResolutionVsPt ()
 
- Public Member Functions inherited from cond::payloadInspector::Histogram1< AxisType, PayloadType, IOV_M >
bool fill () override
 
void fillWithBinAndValue (size_t bin, AxisType weight=1)
 
void fillWithValue (AxisType value, AxisType weight=1)
 
virtual AxisType getFromPayload (PayloadType &payload)
 
 Histogram1 (const std::string &title, const std::string &xLabel, size_t nbins, float min, float max, const std::string &yLabel="entries")
 
void init () override
 
- Public Member Functions inherited from cond::payloadInspector::Plot2D< PayloadType, AxisType, AxisType, IOV_M, 1 >
std::shared_ptr< PayloadType > fetchPayload (const cond::Hash &payloadHash)
 
 Plot2D (const std::string &type, const std::string &title, const std::string xLabel, const std::string &yLabel)
 
std::string serializeData () override
 
 ~Plot2D () override=default
 
- Public Member Functions inherited from cond::payloadInspector::PlotImpl< IOV_M, NTAGS >
 PlotImpl (const std::string &type, const std::string &title)
 
std::string processData () override
 
 ~PlotImpl () override=default
 
- Public Member Functions inherited from cond::payloadInspector::PlotBase
void addInputParam (const std::string &paramName)
 
cond::persistency::Session dbSession ()
 
template<typename PayloadType >
std::shared_ptr< PayloadType > fetchPayload (const cond::Hash &payloadHash)
 
template<int index>
TagReference getTag ()
 
cond::Tag_t getTagInfo (const std::string &tag)
 
const std::map< std::string, std::string > & inputParamValues () const
 
bool isSingleIov () const
 
bool isTwoTags () const
 
unsigned int ntags () const
 
std::string payloadType () const
 
 PlotBase ()
 
std::string title () const
 
std::string type () const
 
virtual ~PlotBase ()=default
 

Additional Inherited Members

- Public Types inherited from cond::payloadInspector::Histogram1< AxisType, PayloadType, IOV_M >
typedef Plot2D< PayloadType, AxisType, AxisType, IOV_M, 1 > Base
 
- Public Types inherited from cond::payloadInspector::Plot2D< PayloadType, AxisType, AxisType, IOV_M, 1 >
typedef PlotImpl< IOV_M, NTAGS > Base
 
- Protected Attributes inherited from cond::payloadInspector::Plot2D< PayloadType, AxisType, AxisType, IOV_M, 1 >
std::vector< std::tuple< AxisType, AxisType > > m_plotData
 
- Protected Attributes inherited from cond::payloadInspector::PlotBase
std::set< std::string > m_inputParams
 
std::map< std::string, std::string > m_inputParamValues
 
PlotAnnotations m_plotAnnotations
 
std::vector< std::pair< cond::Time_t, cond::Time_t > > m_tagBoundaries
 
std::vector< std::vector< std::tuple< cond::Time_t, cond::Hash > > > m_tagIovs
 
std::vector< std::string > m_tagNames
 

Detailed Description

Definition at line 96 of file JetResolution_PayloadInspector.cc.

Constructor & Destructor Documentation

◆ JetResolutionVsPt()

JME::JetResolutionVsPt::JetResolutionVsPt ( )
inline

Member Function Documentation

◆ fill()

bool JME::JetResolutionVsPt::fill ( )
inlineoverridevirtual

Implements cond::payloadInspector::PlotImpl< IOV_M, NTAGS >.

Definition at line 102 of file JetResolution_PayloadInspector.cc.

References f, mps_fire::i, heavyIonCSV_trainingSettings::idx, MAX_PT, MIN_PT, NBIN_PT, jetsAK4_Puppi_cff::payload, AlCaHarvesting_cff::record, makeGlobalPositionRcd_cfg::tag, and trigObjTnPSource_cfi::var.

102  {
103  auto tag = PlotBase::getTag<0>();
104  for (auto const& iov : tag.iovs) {
105  std::shared_ptr<JetResolutionObject> payload = Base::fetchPayload(std::get<1>(iov));
106  if (payload.get()) {
107  if (!payload->getRecords().empty() && // No formula for SF
108  payload->getDefinition().getFormulaString().compare("") == 0)
109  return false;
110 
111  for (const auto& record : payload->getRecords()) {
112  // Check Eta & Rho
113  if (!record.getBinsRange().empty() && payload->getDefinition().getBinName(0) == "JetEta" &&
114  record.getBinsRange()[0].is_inside(2.30)) {
115  if (record.getBinsRange().size() > 1 && payload->getDefinition().getBinName(1) == "Rho" &&
116  record.getBinsRange()[1].is_inside(15.)) {
117  if (!record.getVariablesRange().empty() && payload->getDefinition().getVariableName(0) == "JetPt") {
118  reco::FormulaEvaluator f(payload->getDefinition().getFormulaString());
119 
120  for (size_t idx = 0; idx <= NBIN_PT; idx++) {
121  double x_axis = (idx + 0.5) * (MAX_PT - MIN_PT) / NBIN_PT + MIN_PT;
122  if (record.getVariablesRange()[0].is_inside(x_axis)) {
123  std::vector<double> var = {x_axis};
124  std::vector<double> param;
125  for (size_t i = 0; i < record.getParametersValues().size(); i++) {
126  double par = record.getParametersValues()[i];
127  param.push_back(par);
128  }
129  float res = f.evaluate(var, param);
131  }
132  }
133  }
134  }
135  }
136  }
137  return true;
138  }
139  }
140  return false;
141  }
Definition: Electron.h:6
double f[11][100]
std::shared_ptr< PayloadType > fetchPayload(const cond::Hash &payloadHash)
void fillWithBinAndValue(size_t bin, AxisType weight=1)