CMS 3D CMS Logo

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

#include <CachingVariable.h>

Inheritance diagram for VariablePower:
CachingVariable

Public Member Functions

CachingVariable::evalType eval (const edm::Event &iEvent) const override
 
 VariablePower (const CachingVariableFactoryArg &arg, edm::ConsumesCollector &iC)
 
 ~VariablePower () override
 
- Public Member Functions inherited from CachingVariable
void addDescriptionLine (const std::string &s)
 
 CachingVariable (std::string m, std::string n, const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
 
bool compute (const edm::Event &iEvent) const
 
const Descriptiondescription () const
 
const std::string & holderName () const
 
const std::string & method () const
 
const std::string & name () const
 
valueType operator() (const edm::Event &iEvent) const
 
void print () const
 
void setHolder (std::string hn) const
 
virtual ~CachingVariable ()
 

Private Attributes

double power_
 
std::string var_
 

Additional Inherited Members

- Public Types inherited from CachingVariable
typedef std::pair< bool, valueTypeevalType
 
typedef double valueType
 
typedef std::map< std::string, const CachingVariable * > vMap
 
- Protected Member Functions inherited from CachingVariable
evalTypebaseEval (const edm::Event &iEvent) const
 
bool notSeenThisEventAlready (const edm::Event &iEvent) const
 
void setCache (valueType &v) const
 
void setNotCompute () const
 
- Protected Attributes inherited from CachingVariable
evalType cache_
 
edm::ParameterSet conf_
 
Description d_
 
edm::Event::CacheIdentifier_t eventCacheID_ = 0
 
std::string holderName_
 
std::string method_
 
std::string name_
 

Detailed Description

Definition at line 528 of file CachingVariable.h.

Constructor & Destructor Documentation

◆ VariablePower()

VariablePower::VariablePower ( const CachingVariableFactoryArg arg,
edm::ConsumesCollector iC 
)
inline

Definition at line 530 of file CachingVariable.h.

References CachingVariable::addDescriptionLine(), power_, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, and var_.

531  : CachingVariable("Power", arg.n, arg.iConfig, iC) {
532  power_ = arg.iConfig.getParameter<double>("power");
533  var_ = arg.iConfig.getParameter<std::string>("var");
534  std::stringstream ss("Calculare X^Y, with X=");
535  ss << var_ << " and Y=" << power_;
536  addDescriptionLine(ss.str());
537  arg.m[arg.n] = this;
538  }
CachingVariable(std::string m, std::string n, const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
A arg
Definition: Factorize.h:31
void addDescriptionLine(const std::string &s)
std::string var_

◆ ~VariablePower()

VariablePower::~VariablePower ( )
inlineoverride

Definition at line 539 of file CachingVariable.h.

539 {}

Member Function Documentation

◆ eval()

CachingVariable::evalType VariablePower::eval ( const edm::Event iEvent) const
overridevirtual

Reimplemented from CachingVariable.

Definition at line 34 of file CachingVariable.cc.

References JetChargeProducer_cfi::exp, iEvent, CrabHelper::log, AlCaHLTBitMon_ParallelJobs::p, power_, findQualityFiles::v, ALCARECOEcalPhiSym_cff::var, and var_.

34  {
35  const CachingVariable* var = edm::Service<VariableHelperService>()->get().variable(var_);
36  if (!var->compute(iEvent))
37  return std::make_pair(false, 0);
38 
39  double v = (*var)(iEvent);
40  double p = exp(power_ * log(v));
41  return std::make_pair(true, p);
42 }
int iEvent
Definition: GenABIO.cc:224
std::string var_

Member Data Documentation

◆ power_

double VariablePower::power_
private

Definition at line 545 of file CachingVariable.h.

Referenced by eval(), and VariablePower().

◆ var_

std::string VariablePower::var_
private

Definition at line 546 of file CachingVariable.h.

Referenced by eval(), and VariablePower().