1 #ifndef _VariableEventSelector_H
2 #define _VariableEventSelector_H
18 int open = ts.Index(
"[");
19 int close = ts.Index(
"]");
22 TString sub(ts(open, close - open));
24 vars_.insert(sub.Data());
26 open = ts.Index(
"[", open);
27 close = ts.Index(
"]", open);
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));
37 formula_ =
new TFormula(name_.c_str(), ts);
44 std::set<std::string>::iterator v_it;
46 for (v_i = 0, v_it =
vars_.begin(); v_i !=
vars_.size(); ++v_i, ++v_it) {
78 ss <<
"event selector based on VariableHelper variable: " <<
var_;
82 ss <<
"with minimum boundary: " <<
min_;
87 ss <<
"with maximum boundary: " <<
max_;
bool exists(std::string const ¶meterName) const
checks if a parameter exists
VariableEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
list var
if using global norm cols_to_minmax = ['t_delta', 't_hmaxNearP','t_emaxNearP', 't_hAnnular', 't_eAnnular','t_pt','t_nVtx','t_ieta','t_eHcal10', 't_eHcal30','t_rhoh','t_eHcal'] df[cols_to_minmax] = df[cols_to_minmax].apply(lambda x: (x - x.min()) / (x.max() - x.min()) if (x.max() - x.min() > 0) else 1.0/200.0)
T getParameter(std::string const &) const
bool compute(const edm::Event &iEvent) const
std::vector< std::string > description_
VariableEventSelector(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
bool select(const edm::Event &e) const override
decision of the selector module