CMS 3D CMS Logo

ConeAreaFunction.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_IsolationUtils_ConeAreaFunction_h
00002 #define PhysicsTools_IsolationUtils_ConeAreaFunction_h
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    ConeAreaFunction
00007 // Class:      ConeAreaFunction
00008 // 
00017 //
00018 // Original Author:  Christian Veelken, UC Davis
00019 //         Created:  Thu Nov  2 13:47:40 CST 2006
00020 // $Id: ConeAreaFunction.h,v 1.1 2007/05/23 20:23:08 veelken Exp $
00021 //
00022 //
00023 
00024 // ROOT include files
00025 #include <Math/ParamFunction.h>
00026 #include <Math/Integrator.h>
00027 
00028 class IntegrandThetaFunction;
00029 
00030 //
00031 // class declaration
00032 //
00033 
00034 class ConeAreaFunction : public ROOT::Math::ParamFunction
00035 {
00036  public:
00037   ConeAreaFunction();
00038   ConeAreaFunction(const ConeAreaFunction& bluePrint);
00039   ~ConeAreaFunction();
00040 
00041   ConeAreaFunction& operator=(const ConeAreaFunction& bluePrint);
00042 
00043   void SetParameterTheta0(double theta0);
00044   void SetParameterPhi0(double phi0);
00045 
00046   void SetAcceptanceLimit(double etaMax);
00047 
00048   ROOT::Math::IGenFunction* Clone () const { return new ConeAreaFunction(*this); }
00049 
00050  protected:
00051   void SetParameters(double* param);
00052 
00053   double DoEval(double x) const;
00054   double DoDerivative(double x) const;
00055   void DoParameterGradient(double x, double* paramGradient) const;
00056 
00057 // !!! ONLY FOR TESTING
00058 double theta0_; // polar angle of cone axis
00059 double phi0_; // azimuth angle of cone axis
00060 
00061 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)
00062 // !!! ONLY FOR TESTING
00063 
00064  private:
00065 /*
00066   double theta0_; // polar angle of cone axis
00067   double phi0_; // azimuth angle of cone axis
00068 
00069   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)
00070 */
00071   mutable IntegrandThetaFunction* fTheta_;
00072   mutable ROOT::Math::Integrator* integrator_;
00073 
00074   static const unsigned int debugLevel_ = 0;
00075 };
00076 
00077 #endif

Generated on Tue Jun 9 17:41:11 2009 for CMSSW by  doxygen 1.5.4