CMS 3D CMS Logo

IntegrandThetaFunction.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_IsolationUtils_IntegrandThetaFunction_h
2 #define PhysicsTools_IsolationUtils_IntegrandThetaFunction_h
3 
4 // -*- C++ -*-
5 //
6 // Package: IntegrandThetaFunction
7 // Class: IntegrandThetaFunction
8 //
17 //
18 // Original Author: Christian Veelken, UC Davis
19 // Created: Thu Nov 2 13:47:40 CST 2006
20 //
21 //
22 
23 // ROOT include files
24 #include <Math/ParamFunction.h>
25 #include <Math/Integrator.h>
26 
28 
29 //
30 // class declaration
31 //
32 
33 class IntegrandThetaFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim>
34 {
35  public:
38  ~IntegrandThetaFunction() override;
39 
41 
42  void SetParameterTheta0(double theta0);
43  void SetParameterPhi0(double phi0);
44  void SetParameterAlpha(double alpha);
45 
46  ROOT::Math::IGenFunction* Clone () const override { return new IntegrandThetaFunction(*this); }
47 
48  private:
49  void SetParameters(double const * param) override;
50 
51  double DoEval(double x) const override;
52  double DoEvalPar(double, const double*) const override;
53  double DoDerivative(double x) const;
54  double DoParameterDerivative(double, const double*, unsigned int) const override;
55  void DoParameterGradient(double x, double* paramGradient) const;
56 
57  mutable double theta0_; // polar angle of cone axis
58  mutable double phi0_; // azimuth angle of cone axis
59  mutable double alpha_; // opening angle of cone (measured from cone axis)
60 
62 
63  static const unsigned int debugLevel_ = 0;
64 };
65 
66 #endif
IntegralOverPhiFunction * fPhi_
float alpha
Definition: AMPTWrapper.h:95
static const unsigned int debugLevel_
double DoParameterDerivative(double, const double *, unsigned int) const override
IntegrandThetaFunction & operator=(const IntegrandThetaFunction &bluePrint)
ROOT::Math::IGenFunction * Clone() const override
double DoEval(double x) const override
double DoDerivative(double x) const
void SetParameterPhi0(double phi0)
void SetParameterAlpha(double alpha)
void SetParameters(double const *param) override
double DoEvalPar(double, const double *) const override
void SetParameterTheta0(double theta0)
void DoParameterGradient(double x, double *paramGradient) const