JHUGen MELA
v2.4.1
Matrix element calculations as used in JHUGen. MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website https://spin.pha.jhu.edu/ and papers cited there for more details, and kindly cite those papers when using this code.
|
Go to the documentation of this file. 1 #ifndef MELANCSPLINECORE
2 #define MELANCSPLINECORE
8 #include "RooAbsReal.h"
9 #include "RooRealVar.h"
10 #include "RooRealProxy.h"
11 #include "RooListProxy.h"
12 #include "RooConstVar.h"
13 #include "RooArgList.h"
14 #include "RooMsgService.h"
47 const std::vector<T>& inXList,
48 Bool_t inUseFloor=
true,
53 virtual TObject*
clone(
const char* newname)
const = 0;
61 virtual void setRangeValidity(
const T valmin,
const T valmax,
const Int_t whichDirection) = 0;
63 virtual Int_t
getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars,
const char* rangeName=0)
const = 0;
86 virtual Int_t
getWhichBin(
const T& val,
const Int_t whichDirection)
const = 0;
87 virtual void getKappas(std::vector<T>& kappas,
const Int_t whichDirection) = 0;
88 virtual T getTVar(
const std::vector<T>& kappas,
const T& val,
const Int_t& bin,
const Int_t whichDirection)
const = 0;
94 virtual Double_t
evaluate()
const = 0;
99 virtual std::vector<T>
getCoefficients(
const TVector_t& S,
const std::vector<T>& kappas,
const std::vector<T>& fcnList,
const Int_t& bin)
const;
101 virtual T evalSplineSegment(
const std::vector<T>& coefs,
const T&
kappa,
const T& tup,
const T& tdn, Bool_t doIntegrate=
false)
const;
virtual Bool_t testRangeValidity(const T &val, const Int_t whichDirection) const =0
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const =0
void getLeafDependents(RooRealProxy &proxy, RooArgSet &set)
virtual Int_t getWhichBin(const T &val, const Int_t whichDirection) const =0
virtual ~MELANCSplineCore()
virtual TObject * clone(const char *newname) const =0
virtual void emptyFcnList()=0
@ bcQuadraticWithNullSlope
virtual void setVerbosity(VerbosityLevel flag)
set(CMAKE_MACOSX_RPATH 1) set(CMAKE_CACHEFILE_DIR CMakeFiles/) cmake_minimum_required(VERSION 2.8) project(collier) enable_language(Fortran) get_filename_component(Fortran_COMPILER_NAME $
virtual T getTVar(const std::vector< T > &kappas, const T &val, const Int_t &bin, const Int_t whichDirection) const =0
virtual T evalSplineSegment(const std::vector< T > &coefs, const T &kappa, const T &tup, const T &tdn, Bool_t doIntegrate=false) const
virtual void setRangeValidity(const T valmin, const T valmax, const Int_t whichDirection)=0
virtual std::vector< std::vector< T > > getCoefficientsAlongDirection(const std::vector< T > &kappas, const TMatrix_t &Ainv, const std::vector< T > &fcnList, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd, const Int_t pickBin) const
virtual Double_t evaluate() const =0
virtual void cropValueForRange(T &val, const Int_t whichDirection) const =0
unsigned int npointsX() const
virtual T interpolateFcn(Int_t code, const char *rangeName=0) const =0
virtual void getKappas(std::vector< T > &kappas, const Int_t whichDirection)=0
void doFloor(Bool_t flag)
void addLeafDependents(RooArgSet &set)
virtual void getBArray(const std::vector< T > &kappas, const std::vector< T > &fcnList, std::vector< T > &BArray, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd) const
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const =0
virtual void getAArray(const std::vector< T > &kappas, std::vector< std::vector< T >> &AArray, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd) const
@ bcApproximatedSecondDerivative
virtual std::vector< T > getCoefficients(const TVector_t &S, const std::vector< T > &kappas, const std::vector< T > &fcnList, const Int_t &bin) const
RooListProxy leafDepsList