CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ConeAreaFunction.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_IsolationUtils_ConeAreaFunction_h
2 #define PhysicsTools_IsolationUtils_ConeAreaFunction_h
3 
4 // -*- C++ -*-
5 //
6 // Package: ConeAreaFunction
7 // Class: ConeAreaFunction
8 //
17 //
18 // Original Author: Christian Veelken, UC Davis
19 // Created: Thu Nov 2 13:47:40 CST 2006
20 // $Id: ConeAreaFunction.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 ConeAreaFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim>
35 {
36  public:
38  ConeAreaFunction(const ConeAreaFunction& bluePrint);
40 
41  ConeAreaFunction& operator=(const ConeAreaFunction& bluePrint);
42 
43  void SetParameterTheta0(double theta0);
44  void SetParameterPhi0(double phi0);
45 
46  void SetAcceptanceLimit(double etaMax);
47 
48  virtual ROOT::Math::IGenFunction* Clone () const { return new ConeAreaFunction(*this); }
49 
50  protected:
51  void SetParameters(double* param);
52  virtual double DoEvalPar(double , const double *) const;
53  double DoEval(double x) const;
54  double DoDerivative(double x) const;
55  void DoParameterGradient(double x, double* paramGradient) const;
56  virtual double DoParameterDerivative(double, const double*, unsigned int) const;
57 
58 // !!! ONLY FOR TESTING
59 mutable double theta0_; // polar angle of cone axis
60 mutable double phi0_; // azimuth angle of cone axis
61 
62 mutable double etaMax_; // maximum pseudo-rapidity at which particles used for tau cone isolation can be detected (etaMax = 2.5 for charged particles; etaMax ~ 4.0 for neutrals)
63 // !!! ONLY FOR TESTING
64 
65  private:
66 /*
67  double theta0_; // polar angle of cone axis
68  double phi0_; // azimuth angle of cone axis
69 
70  double etaMax_; // maximum pseudo-rapidity at which particles used for tau cone isolation can be detected (etaMax = 2.5 for charged particles; etaMax ~ 4.0 for neutrals)
71 */
73  mutable ROOT::Math::Integrator* integrator_;
74 
75  static const unsigned int debugLevel_ = 0;
76 };
77 
78 #endif
static const unsigned int debugLevel_
double DoDerivative(double x) const
void SetAcceptanceLimit(double etaMax)
void DoParameterGradient(double x, double *paramGradient) const
ROOT::Math::Integrator * integrator_
virtual double DoParameterDerivative(double, const double *, unsigned int) const
double DoEval(double x) const
void SetParameterPhi0(double phi0)
IntegrandThetaFunction * fTheta_
void SetParameterTheta0(double theta0)
void SetParameters(double *param)
x
Definition: VDTMath.h:216
ConeAreaFunction & operator=(const ConeAreaFunction &bluePrint)
virtual double DoEvalPar(double, const double *) const
virtual ROOT::Math::IGenFunction * Clone() const