CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: IntegrandThetaFunction.h,v 1.2 2009/01/14 10:53:14 hegner Exp $
21 //
22 //
23 
24 // ROOT include files
25 #include <Math/ParamFunction.h>
26 #include <Math/Integrator.h>
27 
29 
30 //
31 // class declaration
32 //
33 
34 class IntegrandThetaFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim>
35 {
36  public:
40 
42 
43  void SetParameterTheta0(double theta0);
44  void SetParameterPhi0(double phi0);
45  void SetParameterAlpha(double alpha);
46 
47  virtual ROOT::Math::IGenFunction* Clone () const { return new IntegrandThetaFunction(*this); }
48 
49  private:
50  void SetParameters(double* param);
51 
52  double DoEval(double x) const;
53  virtual double DoEvalPar(double, const double*) const;
54  double DoDerivative(double x) const;
55  virtual double DoParameterDerivative(double, const double*, unsigned int) const;
56  void DoParameterGradient(double x, double* paramGradient) const;
57 
58  mutable double theta0_; // polar angle of cone axis
59  mutable double phi0_; // azimuth angle of cone axis
60  mutable double alpha_; // opening angle of cone (measured from cone axis)
61 
63 
64  static const unsigned int debugLevel_ = 0;
65 };
66 
67 #endif
IntegralOverPhiFunction * fPhi_
float alpha
Definition: AMPTWrapper.h:95
virtual double DoEvalPar(double, const double *) const
static const unsigned int debugLevel_
virtual ROOT::Math::IGenFunction * Clone() const
IntegrandThetaFunction & operator=(const IntegrandThetaFunction &bluePrint)
double DoDerivative(double x) const
void SetParameterPhi0(double phi0)
void SetParameterAlpha(double alpha)
double DoEval(double x) const
void SetParameterTheta0(double theta0)
virtual double DoParameterDerivative(double, const double *, unsigned int) const
void SetParameters(double *param)
x
Definition: VDTMath.h:216
void DoParameterGradient(double x, double *paramGradient) const