CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: IntegralOverPhiFunction.h,v 1.1 2007/05/23 20:23:08 veelken Exp $
21 //
22 //
23 
24 // ROOT include files
25 #include <Math/ParamFunction.h>
26 
27 //
28 // class declaration
29 //
30 
31 class IntegralOverPhiFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim>
32 {
33  public:
36 
37  void SetParameterTheta0(double theta0);
38  void SetParameterPhi0(double phi0);
39  void SetParameterAlpha(double alpha);
40 
41  virtual ROOT::Math::IGenFunction* Clone () const { return new IntegralOverPhiFunction(*this); }
42 
43  private:
44  void SetParameters(double* param);
45 
46  double DoEval(double x) const;
47  virtual double DoEvalPar(double x, const double* param) const;
48  double DoDerivative(double x) const;
49  virtual double DoParameterDerivative(double, const double*, unsigned int) const;
50  void DoParameterGradient(double x, double* paramGradient) const;
51 
52  mutable double theta0_; // polar angle of cone axis
53  mutable double phi0_; // azimuth angle of cone axis
54  mutable double alpha_; // opening angle of cone (measured from cone axis)
55 
56 // !!! ONLY FOR TESTING
57  mutable unsigned int numSolutionMin1_;
58  mutable unsigned int numSolutionMax1_;
59  mutable unsigned int numSolutionMin2_;
60  mutable unsigned int numSolutionMax2_;
61  mutable unsigned int numSolutionMin3_;
62  mutable unsigned int numSolutionMax3_;
63  mutable unsigned int numSolutionMin4_;
64  mutable unsigned int numSolutionMax4_;
65 // FOR TESTING ONLY !!!
66 
67  static const unsigned int debugLevel_ = 0;
68 };
69 
70 #endif
virtual ROOT::Math::IGenFunction * Clone() const
float alpha
Definition: AMPTWrapper.h:95
virtual double DoParameterDerivative(double, const double *, unsigned int) const
virtual double DoEvalPar(double x, const double *param) const
void SetParameterAlpha(double alpha)
double DoEval(double x) const
double DoDerivative(double x) const
static const unsigned int debugLevel_
void DoParameterGradient(double x, double *paramGradient) const
Definition: DDAxes.h:10
void SetParameterTheta0(double theta0)