3 #include <thrust/functional.h> 18 = {
"ptr_to_Eval",
"ptr_to_NLL",
"ptr_to_Prob",
"ptr_to_BinAvg",
"ptr_to_BinWithError",
"ptr_to_Chisq"};
29 extern __constant__
unsigned int paramIndices[
maxParams];
36 extern __device__
void *device_function_table[200];
37 extern void *host_function_table[200];
38 extern unsigned int num_device_functions;
39 extern std::map<void *, int> functionAddressToDeviceIndexMap;
42 __device__
int dev_powi(
int base,
int exp);
52 __device__ fptype
callFunction(fptype *eventAddress,
unsigned int functionIdx,
unsigned int paramIdx);
58 double calculateNLL()
const override;
65 __host__ std::vector<fptype> evaluateAtPoints(
Observable var);
68 __host__ fptype
normalize()
const override;
73 __host__
virtual fptype
integrate(fptype lo, fptype hi)
const {
return 0; }
78 __host__ std::vector<std::vector<fptype>> getCompProbsAtDataPoints();
83 __host__
void initialize(std::vector<unsigned int> pindices,
void *dev_functionPtr = host_fcn_ptr);
84 __host__
void scan(
Observable var, std::vector<fptype> &values);
85 __host__
void setFitControl(std::shared_ptr<FitControl> fc)
override;
86 __host__
virtual void setMetrics();
87 __host__
void setParameterConstantness(
bool constant =
true);
89 __host__
virtual void transformGrid(fptype *host_output);
90 static __host__
int findFunctionIdx(
void *dev_functionPtr);
91 __host__
void setDebugMask(
int mask,
bool setSpecific =
true)
const;
94 __host__ TH1D *plotToROOT(
Observable var,
double normFactor = 1, std::string name =
"");
99 __host__
virtual double sumOfNll(
int numVars)
const;
constexpr const char * evalfunc_to_string(EvalFunc val)
void normalize(TH1F *dat)
constexpr const char * evalfunc_vals[]
__host__ fptype normalise() const
Just in case you are British and the previous spelling is offensive.
Special class for observables. Used in DataSets.
fptype(* device_function_ptr)(fptype *, fptype *, unsigned int *)
Pass event, parameters, index into parameters.
__host__ bool hasAnalyticIntegral() const override
fptype(* device_metric_ptr)(fptype, fptype *, unsigned int)
PdfBase(std::string n, Args... args)
virtual __host__ fptype integrate(fptype lo, fptype hi) const
std::shared_ptr< MetricTaker > logger
void * getMetricPointer(std::string name)
__device__ fptype callFunction(fptype *eventAddress, unsigned int functionIdx, unsigned int paramIdx)
__device__ int dev_powi(int base, int exp)