Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef PhysicsTools_IsolationUtils_FixedAreaIsolationCone_h
0002 #define PhysicsTools_IsolationUtils_FixedAreaIsolationCone_h
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:
0007 // Class:      FixedAreaIsolationCone
0008 //
0009 /**\class FixedAreaIsolationCone FixedAreaIsolationCone.cc PhysicsTools/IsolationUtils/src/FixedAreaIsolationCone.cc
0010 
0011  Description: highest level class to compute size of isolation cone 
0012               such that area weighted by particle density 
0013               (proportional to dEta/dTheta = 1/sin(theta)) 
0014               is constant
0015 
0016  Implementation:
0017      imported into CMSSW on 05/18/2007
0018 */
0019 //
0020 // Original Author: Christian Veelken, UC Davis
0021 //         Created: Wed May 16 13:47:40 CST 2007
0022 //
0023 //
0024 
0025 // ROOT include files
0026 #include <Math/RootFinder.h>
0027 #include <Math/RootFinderAlgorithms.h>
0028 
0029 // CMSSW include files
0030 #include "PhysicsTools/IsolationUtils/interface/ConeAreaFunction.h"
0031 #include "PhysicsTools/IsolationUtils/interface/ConeAreaRootFunction.h"
0032 
0033 //
0034 // class declaration
0035 //
0036 
0037 class FixedAreaIsolationCone {
0038 public:
0039   // default constructor
0040   FixedAreaIsolationCone();
0041 
0042   // destructor
0043   ~FixedAreaIsolationCone();
0044 
0045   // set acceptance limit for particle reconstruction
0046   // (this will enlarge the isolation cone near the acceptance boundary
0047   //  such that the area in the region where particles can be reconstructed is constant;
0048   //  i.e. guarantees flat efficiency near the acceptance boundary)
0049   void setAcceptanceLimit(double etaMaxTrackingAcceptance);
0050 
0051   double operator()(
0052       double coneAxisTheta, double coneAxisPhi, double openingAngleSignalCone, double areaIsolationCone, int& error);
0053 
0054 private:
0055   ConeAreaFunction areaFunctionSignalCone_;
0056   ConeAreaRootFunction areaRootFunctionIsolationCone_;
0057   ROOT::Math::RootFinder areaRootFinderIsolationCone_;
0058 
0059   static const unsigned int debugLevel_ = 0;
0060 };
0061 
0062 #endif