RecoMuon
Navigation
src
MuonEtaRange.cc
Go to the documentation of this file.
1
12
#include "
RecoMuon/Navigation/interface/MuonEtaRange.h
"
13
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
14
#include <iostream>
15
16
MuonEtaRange::MuonEtaRange
() : theMin(0), theMax(0) {}
17
18
MuonEtaRange::MuonEtaRange
(
float
max
,
float
min
) {
19
if
(
max
<
min
) {
20
edm::LogWarning
(
"MuonEtaRange"
) <<
"Warning MuonEtaRange:: max < min!! correcting"
<< std::endl;
21
float
tmp
(
min
);
22
min
=
max
;
23
max
=
tmp
;
24
}
25
theMax
=
max
;
26
theMin
=
min
;
27
}
28
29
MuonEtaRange::MuonEtaRange
(
const
MuonEtaRange
&
range
) : theMin(
range
.theMin), theMax(
range
.theMax) {}
31
MuonEtaRange
&
MuonEtaRange::operator=
(
const
MuonEtaRange
&
range
) {
32
if
(
this
!= &
range
) {
33
theMin
=
range
.theMin;
34
theMax
=
range
.theMax;
35
}
36
return
*
this
;
37
}
38
39
bool
MuonEtaRange::isInside
(
float
eta
,
float
error
)
const
{
40
if
((
eta
+
error
) >
max
() || (
eta
-
error
) <
min
())
41
return
false
;
42
return
true
;
43
}
45
bool
MuonEtaRange::isInside
(
const
MuonEtaRange
&
range
)
const
{
46
if
(
min
() >
range
.min() &&
max
() <
range
.max())
47
return
true
;
48
return
false
;
49
}
51
bool
MuonEtaRange::isCompatible
(
const
MuonEtaRange
&
range
)
const
{
52
if
(
range
.min() >
max
() ||
range
.max() <
min
())
53
return
false
;
54
return
true
;
55
}
57
MuonEtaRange
MuonEtaRange::add
(
const
MuonEtaRange
&
range
)
const
{
58
float
max
= (
theMax
>
range
.theMax) ?
theMax
:
range
.theMax;
59
float
min
= (
theMin
<
range
.theMin) ?
theMin
:
range
.theMin;
60
return
MuonEtaRange
(
max
,
min
);
61
}
63
MuonEtaRange
MuonEtaRange::subtract
(
const
MuonEtaRange
&
range
)
const
{
64
if
(
range
.isInside(*
this
)) {
65
edm::LogInfo
(
"MuonEtaRange"
) <<
"MuonEtaRange: range is inside!"
<< std::endl;
66
return
*
this
;
67
}
68
if
(!
range
.isCompatible(*
this
)) {
69
edm::LogInfo
(
"MuonEtaRange"
) <<
"MuonEtaRange: no overlap between ranges"
<< std::endl;
70
return
*
this
;
71
}
72
73
float
max
=
isInside
(
range
.theMin) ?
range
.theMin :
theMax
;
74
float
min
=
isInside
(
range
.theMax) ?
range
.theMax :
theMin
;
75
return
MuonEtaRange
(
max
,
min
);
76
}
FastTimerService_cff.range
range
Definition:
FastTimerService_cff.py:34
MuonEtaRange::MuonEtaRange
MuonEtaRange()
Definition:
MuonEtaRange.cc:16
MessageLogger.h
min
T min(T a, T b)
Definition:
MathUtil.h:58
MuonEtaRange::isInside
bool isInside(float eta, float error=0.) const
Definition:
MuonEtaRange.cc:39
edm::LogInfo
Definition:
MessageLogger.h:254
MuonEtaRange::operator=
MuonEtaRange & operator=(const MuonEtaRange &)
Assignment operator.
Definition:
MuonEtaRange.cc:31
createJobs.tmp
tmp
align.sh
Definition:
createJobs.py:716
relativeConstraints.error
error
Definition:
relativeConstraints.py:53
MuonEtaRange::subtract
MuonEtaRange subtract(const MuonEtaRange &) const
create new range of size this minus range
Definition:
MuonEtaRange.cc:63
MuonEtaRange::theMin
float theMin
Definition:
MuonEtaRange.h:32
MuonEtaRange.h
MuonEtaRange::max
float max() const
Definition:
MuonEtaRange.h:23
MuonEtaRange
Definition:
MuonEtaRange.h:15
PVValHelper::eta
Definition:
PVValidationHelpers.h:69
edm::LogWarning
Definition:
MessageLogger.h:141
SiStripPI::max
Definition:
SiStripPayloadInspectorHelper.h:169
MuonEtaRange::theMax
float theMax
Definition:
MuonEtaRange.h:33
MuonEtaRange::add
MuonEtaRange add(const MuonEtaRange &) const
create maximum of ranges
Definition:
MuonEtaRange.cc:57
MuonEtaRange::min
float min() const
Definition:
MuonEtaRange.h:22
MuonEtaRange::isCompatible
bool isCompatible(const MuonEtaRange &range) const
true if this overlaps with range
Definition:
MuonEtaRange.cc:51
Generated for CMSSW Reference Manual by
1.8.16