CMS 3D CMS Logo

IntegralOverPhiFunction.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_IsolationUtils_IntegralOverPhiFunction_h
2 #define PhysicsTools_IsolationUtils_IntegralOverPhiFunction_h
3 
4 // -*- C++ -*-
5 //
6 // Package: IntegralOverPhiFunction
7 // Class: IntegralOverPhiFunction
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 
26 //
27 // class declaration
28 //
29 
30 class IntegralOverPhiFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim>
31 {
32  public:
34  ~IntegralOverPhiFunction() override;
35 
36  void SetParameterTheta0(double theta0);
37  void SetParameterPhi0(double phi0);
38  void SetParameterAlpha(double alpha);
39 
40  ROOT::Math::IGenFunction* Clone () const override { return new IntegralOverPhiFunction(*this); }
41 
42  private:
43  void SetParameters(double const * param) override;
44 
45  double DoEval(double x) const override;
46  double DoEvalPar(double x, const double* param) const override;
47  double DoDerivative(double x) const;
48  double DoParameterDerivative(double, const double*, unsigned int) const override;
49  void DoParameterGradient(double x, double* paramGradient) const;
50 
51  mutable double theta0_; // polar angle of cone axis
52  mutable double phi0_; // azimuth angle of cone axis
53  mutable double alpha_; // opening angle of cone (measured from cone axis)
54 
55 // !!! ONLY FOR TESTING
56  mutable unsigned int numSolutionMin1_;
57  mutable unsigned int numSolutionMax1_;
58  mutable unsigned int numSolutionMin2_;
59  mutable unsigned int numSolutionMax2_;
60  mutable unsigned int numSolutionMin3_;
61  mutable unsigned int numSolutionMax3_;
62  mutable unsigned int numSolutionMin4_;
63  mutable unsigned int numSolutionMax4_;
64 // FOR TESTING ONLY !!!
65 
66  static const unsigned int debugLevel_ = 0;
67 };
68 
69 #endif
void SetParameters(double const *param) override
float alpha
Definition: AMPTWrapper.h:95
void SetParameterAlpha(double alpha)
double DoDerivative(double x) const
double DoEvalPar(double x, const double *param) const override
static const unsigned int debugLevel_
double DoEval(double x) const override
void DoParameterGradient(double x, double *paramGradient) const
ROOT::Math::IGenFunction * Clone() const override
double DoParameterDerivative(double, const double *, unsigned int) const override
void SetParameterTheta0(double theta0)