CMS 3D CMS Logo

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 //
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 ConeAreaFunction : public ROOT::Math::ParamFunction<ROOT::Math::IParametricGradFunctionOneDim> {
34 public:
36  ConeAreaFunction(const ConeAreaFunction& bluePrint);
37  ~ConeAreaFunction() override;
38 
39  ConeAreaFunction& operator=(const ConeAreaFunction& bluePrint);
40 
41  void SetParameterTheta0(double theta0);
42  void SetParameterPhi0(double phi0);
43 
44  void SetAcceptanceLimit(double etaMax);
45 
46  ROOT::Math::IGenFunction* Clone() const override { return new ConeAreaFunction(*this); }
47 
48 protected:
49  void SetParameters(double const* param) override;
50  double DoEvalPar(double, const double*) const override;
51  double DoEval(double x) const override;
52  double DoDerivative(double x) const;
53  void DoParameterGradient(double x, double* paramGradient) const;
54  double DoParameterDerivative(double, const double*, unsigned int) const override;
55 
56  // !!! ONLY FOR TESTING
57  mutable double theta0_; // polar angle of cone axis
58  mutable double phi0_; // azimuth angle of cone axis
59 
60  mutable double
61  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)
62  // !!! ONLY FOR TESTING
63 
64 private:
65  /*
66  double theta0_; // polar angle of cone axis
67  double phi0_; // azimuth angle of cone axis
68 
69  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)
70 */
72  mutable ROOT::Math::Integrator* integrator_;
73 
74  static const unsigned int debugLevel_ = 0;
75 };
76 
77 #endif
ConeAreaFunction::SetParameterTheta0
void SetParameterTheta0(double theta0)
Definition: ConeAreaFunction.cc:86
DDAxes::x
ConeAreaFunction::theta0_
double theta0_
Definition: ConeAreaFunction.h:57
ConeAreaFunction::debugLevel_
static const unsigned int debugLevel_
Definition: ConeAreaFunction.h:74
ConeAreaFunction::DoDerivative
double DoDerivative(double x) const
Definition: ConeAreaFunction.cc:147
ConeAreaFunction
Definition: ConeAreaFunction.h:33
IntegrandThetaFunction
Definition: IntegrandThetaFunction.h:33
ConeAreaFunction::DoEval
double DoEval(double x) const override
Definition: ConeAreaFunction.cc:127
ConeAreaFunction::fTheta_
IntegrandThetaFunction * fTheta_
Definition: ConeAreaFunction.h:71
ConeAreaFunction::~ConeAreaFunction
~ConeAreaFunction() override
Definition: ConeAreaFunction.cc:61
ConeAreaFunction::DoParameterGradient
void DoParameterGradient(double x, double *paramGradient) const
Definition: ConeAreaFunction.cc:163
ConeAreaFunction::operator=
ConeAreaFunction & operator=(const ConeAreaFunction &bluePrint)
Definition: ConeAreaFunction.cc:70
ConeAreaFunction::ConeAreaFunction
ConeAreaFunction()
Definition: ConeAreaFunction.cc:40
ConeAreaFunction::SetParameterPhi0
void SetParameterPhi0(double phi0)
Definition: ConeAreaFunction.cc:88
ConeAreaFunction::phi0_
double phi0_
Definition: ConeAreaFunction.h:58
ConeAreaFunction::SetAcceptanceLimit
void SetAcceptanceLimit(double etaMax)
Definition: ConeAreaFunction.cc:103
ALCARECOTkAlBeamHalo_cff.etaMax
etaMax
Definition: ALCARECOTkAlBeamHalo_cff.py:33
ConeAreaFunction::etaMax_
double etaMax_
Definition: ConeAreaFunction.h:61
ConeAreaFunction::DoParameterDerivative
double DoParameterDerivative(double, const double *, unsigned int) const override
Definition: ConeAreaFunction.cc:155
ConeAreaFunction::Clone
ROOT::Math::IGenFunction * Clone() const override
Definition: ConeAreaFunction.h:46
ConeAreaFunction::integrator_
ROOT::Math::Integrator * integrator_
Definition: ConeAreaFunction.h:72
ConeAreaFunction::SetParameters
void SetParameters(double const *param) override
Definition: ConeAreaFunction.cc:92
ConeAreaFunction::DoEvalPar
double DoEvalPar(double, const double *) const override
Definition: ConeAreaFunction.cc:114