PhysicsTools
IsolationUtils
src
FixedAreaIsolationCone.cc
Go to the documentation of this file.
1
#include "
PhysicsTools/IsolationUtils/interface/FixedAreaIsolationCone.h
"
2
3
// -*- C++ -*-
4
//
5
// Package:
6
// Class: FixedAreaIsolationCone
7
//
18
//
19
// Original Author: Christian Veelken, UC Davis
20
// Created: Wed May 16 13:47:40 CST 2007
21
//
22
//
23
24
// C++ standard library include files
25
#include <string>
26
27
// ROOT include files
28
#include <TMath.h>
29
30
// CMSSW include files
31
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
32
33
FixedAreaIsolationCone::FixedAreaIsolationCone
() : areaFunctionSignalCone_(), areaRootFunctionIsolationCone_() {
34
//--- nothing to be done yet
35
//
36
// WARNING: do NOT call ROOT::Math::RootFinder<ROOT::Math::Roots::Brent>::SetFunction here;
37
// this will cause the function to be evaluated before all function parameters are set,
38
// leading to an error message first and erroneous behaviour of the root-finding later on !!!
39
//
40
}
41
42
FixedAreaIsolationCone::~FixedAreaIsolationCone
() {
43
//--- nothing to be done yet
44
}
45
46
void
FixedAreaIsolationCone::setAcceptanceLimit
(
double
etaMaxTrackingAcceptance) {
47
areaFunctionSignalCone_
.
SetAcceptanceLimit
(etaMaxTrackingAcceptance);
48
areaRootFunctionIsolationCone_
.
SetAcceptanceLimit
(etaMaxTrackingAcceptance);
49
}
50
51
double
FixedAreaIsolationCone::operator()
(
52
double
coneAxisTheta,
double
coneAxisPhi,
double
openingAngleSignalCone,
double
areaIsolationCone,
int
&
error
) {
53
areaFunctionSignalCone_
.
SetParameterTheta0
(coneAxisTheta);
54
areaFunctionSignalCone_
.
SetParameterPhi0
(coneAxisPhi);
55
double
areaSignalCone =
areaFunctionSignalCone_
(openingAngleSignalCone);
56
57
areaRootFunctionIsolationCone_
.
SetParameterTheta0
(coneAxisTheta);
58
areaRootFunctionIsolationCone_
.
SetParameterPhi0
(coneAxisPhi);
59
areaRootFunctionIsolationCone_
.
SetParameterConeArea
(areaIsolationCone + areaSignalCone);
60
areaRootFinderIsolationCone_
.SetFunction(
areaRootFunctionIsolationCone_
, 0.,
TMath::Pi
());
61
int
statusIsolationCone =
areaRootFinderIsolationCone_
.Solve();
62
double
openingAngleIsolationCone =
areaRootFinderIsolationCone_
.Root();
63
64
if
(
debugLevel_
> 0) {
65
const
std::string
category
=
"FixedAreaIsolationCone::operator()"
;
66
edm::LogVerbatim
(
category
) <<
"openingAngleSignalCone = "
<< openingAngleSignalCone << std::endl;
67
edm::LogVerbatim
(
category
) <<
"areaSignalCone = "
<< areaSignalCone << std::endl;
68
edm::LogVerbatim
(
category
) <<
"areaIsolationCone = "
<< areaIsolationCone << std::endl;
69
edm::LogVerbatim
(
category
) <<
"openingAngleIsolationCone = "
<< openingAngleIsolationCone << std::endl;
70
edm::LogVerbatim
(
category
) <<
"statusIsolationCone = "
<< statusIsolationCone << std::endl;
71
}
72
73
if
(statusIsolationCone == 0) {
74
error
= 0;
75
return
openingAngleIsolationCone;
76
}
else
{
77
error
= 1;
78
return
0.;
79
}
80
}
taus_updatedMVAIds_cff.category
category
Definition:
taus_updatedMVAIds_cff.py:30
FixedAreaIsolationCone::areaRootFunctionIsolationCone_
ConeAreaRootFunction areaRootFunctionIsolationCone_
Definition:
FixedAreaIsolationCone.h:56
MessageLogger.h
ConeAreaFunction::SetParameterTheta0
void SetParameterTheta0(double theta0)
Definition:
ConeAreaFunction.cc:86
FixedAreaIsolationCone::areaFunctionSignalCone_
ConeAreaFunction areaFunctionSignalCone_
Definition:
FixedAreaIsolationCone.h:55
FixedAreaIsolationCone::setAcceptanceLimit
void setAcceptanceLimit(double etaMaxTrackingAcceptance)
Definition:
FixedAreaIsolationCone.cc:46
relativeConstraints.error
error
Definition:
relativeConstraints.py:53
FixedAreaIsolationCone.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
FixedAreaIsolationCone::areaRootFinderIsolationCone_
ROOT::Math::RootFinder areaRootFinderIsolationCone_
Definition:
FixedAreaIsolationCone.h:57
FixedAreaIsolationCone::operator()
double operator()(double coneAxisTheta, double coneAxisPhi, double openingAngleSignalCone, double areaIsolationCone, int &error)
Definition:
FixedAreaIsolationCone.cc:51
ConeAreaFunction::SetParameterPhi0
void SetParameterPhi0(double phi0)
Definition:
ConeAreaFunction.cc:88
edm::LogVerbatim
Definition:
MessageLogger.h:297
FixedAreaIsolationCone::~FixedAreaIsolationCone
~FixedAreaIsolationCone()
Definition:
FixedAreaIsolationCone.cc:42
ConeAreaFunction::SetAcceptanceLimit
void SetAcceptanceLimit(double etaMax)
Definition:
ConeAreaFunction.cc:103
FixedAreaIsolationCone::debugLevel_
static const unsigned int debugLevel_
Definition:
FixedAreaIsolationCone.h:59
Pi
const double Pi
Definition:
CosmicMuonParameters.h:18
ConeAreaRootFunction::SetParameterConeArea
void SetParameterConeArea(double coneArea)
Definition:
ConeAreaRootFunction.cc:63
FixedAreaIsolationCone::FixedAreaIsolationCone
FixedAreaIsolationCone()
Definition:
FixedAreaIsolationCone.cc:33
Generated for CMSSW Reference Manual by
1.8.16