CMS 3D CMS Logo

Public Member Functions | Private Attributes | Static Private Attributes

FixedAreaIsolationCone Class Reference

#include <PhysicsTools/IsolationUtils/src/FixedAreaIsolationCone.cc>

List of all members.

Public Member Functions

 FixedAreaIsolationCone ()
double operator() (double coneAxisTheta, double coneAxisPhi, double openingAngleSignalCone, double areaIsolationCone, int &error)
void setAcceptanceLimit (double etaMaxTrackingAcceptance)
 ~FixedAreaIsolationCone ()

Private Attributes

ConeAreaFunction areaFunctionSignalCone_
ROOT::Math::RootFinder areaRootFinderIsolationCone_
ConeAreaRootFunction areaRootFunctionIsolationCone_

Static Private Attributes

static const unsigned int debugLevel_ = 0

Detailed Description

Description: highest level class to compute size of isolation cone such that area weighted by particle density (proportional to dEta/dTheta = 1/sin(theta)) is constant

Implementation: imported into CMSSW on 05/18/2007

Definition at line 38 of file FixedAreaIsolationCone.h.


Constructor & Destructor Documentation

FixedAreaIsolationCone::FixedAreaIsolationCone ( )

Definition at line 34 of file FixedAreaIsolationCone.cc.

  : areaFunctionSignalCone_(), areaRootFunctionIsolationCone_()
{
//--- nothing to be done yet
//
//    WARNING: do NOT call ROOT::Math::RootFinder<ROOT::Math::Roots::Brent>::SetFunction here;
//             this will cause the function to be evaluated before all function parameters are set,
//             leading to an error message first and erroneous behaviour of the root-finding later on !!!
//
}
FixedAreaIsolationCone::~FixedAreaIsolationCone ( )

Definition at line 45 of file FixedAreaIsolationCone.cc.

{
//--- nothing to be done yet
}

Member Function Documentation

double FixedAreaIsolationCone::operator() ( double  coneAxisTheta,
double  coneAxisPhi,
double  openingAngleSignalCone,
double  areaIsolationCone,
int &  error 
)

Definition at line 56 of file FixedAreaIsolationCone.cc.

References areaFunctionSignalCone_, areaRootFinderIsolationCone_, areaRootFunctionIsolationCone_, category(), debugLevel_, Pi, ConeAreaRootFunction::SetParameterConeArea(), ConeAreaFunction::SetParameterPhi0(), and ConeAreaFunction::SetParameterTheta0().

{
  areaFunctionSignalCone_.SetParameterTheta0(coneAxisTheta);
  areaFunctionSignalCone_.SetParameterPhi0(coneAxisPhi);
  double areaSignalCone = areaFunctionSignalCone_(openingAngleSignalCone);

  areaRootFunctionIsolationCone_.SetParameterTheta0(coneAxisTheta);
  areaRootFunctionIsolationCone_.SetParameterPhi0(coneAxisPhi);
  areaRootFunctionIsolationCone_.SetParameterConeArea(areaIsolationCone + areaSignalCone);
  areaRootFinderIsolationCone_.SetFunction(areaRootFunctionIsolationCone_, 0. , TMath::Pi());
  int statusIsolationCone = areaRootFinderIsolationCone_.Solve();
  double openingAngleIsolationCone = areaRootFinderIsolationCone_.Root();

  if ( debugLevel_ > 0 ) {
    const std::string category = "FixedAreaIsolationCone::operator()";
    edm::LogVerbatim(category) << "openingAngleSignalCone = " << openingAngleSignalCone << std::endl;
    edm::LogVerbatim(category) << "areaSignalCone = " << areaSignalCone << std::endl;
    edm::LogVerbatim(category) << "areaIsolationCone = " << areaIsolationCone << std::endl;
    edm::LogVerbatim(category) << "openingAngleIsolationCone = " << openingAngleIsolationCone << std::endl;
    edm::LogVerbatim(category) << "statusIsolationCone = " << statusIsolationCone << std::endl;
  }

  if ( statusIsolationCone == 0 ) { 
    error = 0;
    return openingAngleIsolationCone;
  } else {
    error = 1;
    return 0.;
  }
}
void FixedAreaIsolationCone::setAcceptanceLimit ( double  etaMaxTrackingAcceptance)

Member Data Documentation

Definition at line 57 of file FixedAreaIsolationCone.h.

Referenced by operator()(), and setAcceptanceLimit().

ROOT::Math::RootFinder FixedAreaIsolationCone::areaRootFinderIsolationCone_ [private]

Definition at line 59 of file FixedAreaIsolationCone.h.

Referenced by operator()().

Definition at line 58 of file FixedAreaIsolationCone.h.

Referenced by operator()(), and setAcceptanceLimit().

const unsigned int FixedAreaIsolationCone::debugLevel_ = 0 [static, private]

Definition at line 61 of file FixedAreaIsolationCone.h.

Referenced by operator()().