CMS 3D CMS Logo

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

#include <VariableEventSelector.h>

Inheritance diagram for VariableFormulaEventSelector:
EventSelector

Public Member Functions

bool select (const edm::Event &e) const override
 decision of the selector module More...
 
 VariableFormulaEventSelector (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
 VariableFormulaEventSelector (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
- Public Member Functions inherited from EventSelector
const std::vector< std::string > & description ()
 
 EventSelector ()
 
 EventSelector (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 
 EventSelector (const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
 
const std::string & name () const
 name of the module (from configuration) More...
 
virtual ~EventSelector ()
 

Private Attributes

TFormula * formula_
 
double threshold_
 
std::set< std::string > vars_
 

Additional Inherited Members

- Protected Attributes inherited from EventSelector
std::vector< std::string > description_
 
std::string name_
 

Detailed Description

Definition at line 10 of file VariableEventSelector.h.

Constructor & Destructor Documentation

VariableFormulaEventSelector::VariableFormulaEventSelector ( const edm::ParameterSet pset,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 12 of file VariableEventSelector.h.

13  : VariableFormulaEventSelector(pset, iC) {}
VariableFormulaEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
VariableFormulaEventSelector::VariableFormulaEventSelector ( const edm::ParameterSet pset,
edm::ConsumesCollector iC 
)
inline

Definition at line 14 of file VariableEventSelector.h.

References formula_, edm::ParameterSet::getParameter(), EventSelector::name_, AlCaHLTBitMon_QueryRunRegistry::string, threshold_, and vars_.

14  : EventSelector(pset, iC) {
15  const std::string name_ = pset.getParameter<std::string>("fname");
16  TString ts(pset.getParameter<std::string>("formula"));
17  //find the variables. register and replace
18  int open = ts.Index("[");
19  int close = ts.Index("]");
20  while (open > 0) {
21  ++open;
22  TString sub(ts(open, close - open));
23  //std::cout<<"found:"<< sub <<std::endl;
24  vars_.insert(sub.Data());
25  //vars_.insert( ts(open,close-open));
26  open = ts.Index("[", open);
27  close = ts.Index("]", open);
28  }
29 
30  unsigned int v_i;
31  std::set<std::string>::iterator v_it;
32  for (v_i = 0, v_it = vars_.begin(); v_i != vars_.size(); ++v_i, ++v_it) {
33  ts.ReplaceAll(TString::Format("[%s]", v_it->c_str()), TString::Format("[%d]", v_i));
34  }
35 
36  //std::cout<<" formula found:"<< ts <<std::endl;
37  formula_ = new TFormula(name_.c_str(), ts);
38  //vars_ = pset.getParameter<std::vector<std::string>>("variables");
39  threshold_ = pset.getParameter<double>("threshold");
40  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string name_
Definition: EventSelector.h:32
std::set< std::string > vars_

Member Function Documentation

bool VariableFormulaEventSelector::select ( const edm::Event ) const
inlineoverridevirtual

decision of the selector module

Implements EventSelector.

Definition at line 42 of file VariableEventSelector.h.

References CachingVariable::compute(), alignCSCRings::e, formula_, threshold_, findQualityFiles::v, ALCARECOEcalPhiSym_cff::var, and vars_.

42  {
43  unsigned int v_i;
44  std::set<std::string>::iterator v_it;
45 
46  for (v_i = 0, v_it = vars_.begin(); v_i != vars_.size(); ++v_i, ++v_it) {
47  const CachingVariable* var = edm::Service<VariableHelperService>()->get().variable(*v_it);
48  if (!var->compute(e))
49  return false;
50  double v = (*var)(e);
51  formula_->SetParameter(v_i, v);
52  }
53 
54  //should be valuated 0. or 1. in double
55  return (formula_->Eval(0.) >= threshold_);
56  }
bool compute(const edm::Event &iEvent) const
std::set< std::string > vars_

Member Data Documentation

TFormula* VariableFormulaEventSelector::formula_
private

Definition at line 60 of file VariableEventSelector.h.

Referenced by select(), and VariableFormulaEventSelector().

double VariableFormulaEventSelector::threshold_
private

Definition at line 62 of file VariableEventSelector.h.

Referenced by select(), and VariableFormulaEventSelector().

std::set<std::string> VariableFormulaEventSelector::vars_
private

Definition at line 61 of file VariableEventSelector.h.

Referenced by select(), and VariableFormulaEventSelector().