1 #include "KVEventClassifier.h"
7 int KVEventClassifier::calc_where()
const
10 if (fWithExpression) {
12 for (
auto& p : fValues) {
13 fFormula->SetParameter(nval, fVar->
GetValue(
p.c_str()));
16 value_to_test = fFormula->Eval(0);
19 value_to_test = fVar->
GetValue(fVal);
24 if (fIntegerVariable) {
27 std::vector<double>::const_iterator
result = std::find_if(fCuts.begin(), fCuts.end(),
28 [value_to_test](
double x) {
29 return x > value_to_test;
32 return std::distance(fCuts.begin(), result);
48 fIntegerVariable =
false;
49 fWithExpression =
false;
50 std::sort(fCuts.begin(), fCuts.end());
51 if (fWithVal && !fVar->
HasValue(fVal)) {
56 fValues.push_back(std::string(
p.
GetName()));
62 fFormula.reset(
new TFormula(
"EC_formula", fVal));
63 fWithExpression =
kTRUE;
66 KVError::Error(
this,
"Init()",
"Tried to make event classifier for variable %s using expression: %s", fVar->
GetName(), fVal.
Data());
69 if (!fWithExpression) {
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Simple class for sorting events according to global variables.
const KVNameValueList & GetValueNameList() const
Double_t GetValue(void) const
Bool_t HasValue(const Char_t *name) const
Int_t GetNameIndex(const Char_t *name) const
virtual Char_t GetValueType(Int_t) const
const char * GetName() const override
virtual const char * GetName() const
virtual Double_t Uniform(Double_t x1, Double_t x2)
const char * Data() const
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
TString & ReplaceAll(const char *s1, const char *s2)
void Error(UserClass p, const char *location, const char *va_(fmt),...)