Skip to content
Snippets Groups Projects

Charm CC + integrated DIS

Merged Oleksandr Zenaiev requested to merge charm-CC-XFITTER-70 into master
2 unresolved threads
Files
12
+ 41
0
#include <valarray>
// Class used by ReactionBaseDISNC and ReactionBaseDISCC for integrating DIS cross sections
// and providing them over Q2, y, x ranges.
// Method is based on legacy subroutine GetIntegratedDisXsection from dis_sigma.f
class IntegrateDIS
{
private:
// number of Q2, x subbins are hardcoded now
// in the future they could be specified optionally in data files and passed here from DIS reactions classes
const int _nsplit_x = 25;
const int _nsplit_q2 = 25;
//const int _nsplit_x = 100;
//const int _nsplit_q2 = 100;
//const int _nsplit_x = 5;
//const int _nsplit_q2 = 5;
std::valarray<int> _nSubBins;
std::valarray<double> _q2;
std::valarray<double> _x;
std::valarray<double> _y;
std::valarray<double> _deltaq2;
std::valarray<double> _deltax;
public:
//IntegrateDIS();
// initialise integrated cross section for one dataset, return number of subbins
int init(const double s,
std::valarray<double>* q2minp, std::valarray<double>* q2maxp,
std::valarray<double>* yminp, std::valarray<double>* ymaxp,
std::valarray<double>* xminp, std::valarray<double>* xmaxp);
// calculate integrated cross sections by integrating over subbins
std::valarray<double> compute(const std::valarray<double>& val);
// get bin values
std::valarray<double>* getBinValuesQ2() { return &_q2; }
std::valarray<double>* getBinValuesX() { return &_x; }
std::valarray<double>* getBinValuesY() { return &_y; }
};
Loading