Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:32

0001 #ifndef PhysicsTools_IsolationUtils_ConeAreaRootFunction_h
0002 #define PhysicsTools_IsolationUtils_ConeAreaRootFunction_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:    ConeAreaRootFunction
0007 // Class:      ConeAreaRootFunction
0008 //
0009 /**\class ConeAreaRootFunction ConeAreaRootFunction.cc PhysicsTools/IsolationUtils/src/ConeAreaRootFunction.cc
0010 
0011  Description: low level class to compute three-dimensional opening angle of isolation cone
0012               corresponding to area given as function argument
0013 
0014  Implementation:
0015      imported into CMSSW on 05/18/2007
0016 */
0017 //
0018 // Original Author:  Christian Veelken, UC Davis
0019 //         Created:  Thu Nov  2 13:47:40 CST 2006
0020 //
0021 //
0022 
0023 #include "PhysicsTools/IsolationUtils/interface/ConeAreaFunction.h"
0024 
0025 //
0026 // class declaration
0027 //
0028 
0029 class ConeAreaRootFunction : public ConeAreaFunction {
0030 public:
0031   ConeAreaRootFunction();
0032   ConeAreaRootFunction(const ConeAreaRootFunction& bluePrint);
0033   ~ConeAreaRootFunction() override;
0034 
0035   ConeAreaRootFunction& operator=(const ConeAreaRootFunction& bluePrint);
0036 
0037   void SetParameterConeArea(double coneArea);
0038 
0039   ROOT::Math::IGenFunction* Clone() const override { return new ConeAreaRootFunction(*this); }
0040 
0041 private:
0042   void SetParameters(const double* param) override;
0043 
0044   double DoEval(double x) const override;
0045 
0046   double coneArea_;  // area covered by cone
0047 
0048   static const unsigned int debugLevel_ = 0;
0049 };
0050 
0051 #endif