Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
RecoTracker
TkTrackingRegions
src
OuterHitPhiPrediction.cc
Go to the documentation of this file.
1
#include "
OuterHitPhiPrediction.h
"
2
#include "
DataFormats/Math/interface/approx_asin.h
"
3
4
OuterHitPhiPrediction::Range
OuterHitPhiPrediction::sym
(
float
radius
)
const
{
5
auto
arc = radius *
theCurvature
.
max
() * 0.5f +
theOriginRBound
/
radius
;
6
7
auto
Phi_r = unsafe_asin07<5>(arc);
8
return
Range
(
thePhiAtVertex
.
min
() - Phi_r -
theTolerance
,
thePhiAtVertex
.
max
() + Phi_r +
theTolerance
);
9
}
10
11
// in case somebody comes with a RELEVANT use case...
12
OuterHitPhiPrediction::Range
OuterHitPhiPrediction::asym
(
float
radius
)
const
{
13
auto
invr = 1.f /
radius
;
14
if
(
std::max
(
std::abs
(
theCurvature
.
min
()),
std::abs
(
theCurvature
.
max
())) > invr)
15
return
Range
(-
M_PI
,
M_PI
);
16
17
float
Phi_r = std::asin(radius *
theCurvature
.
max
() * 0.5f +
theOriginRBound
* invr);
18
19
if
(
theCurvature
.
max
() == -
theCurvature
.
min
())
20
return
Range
(
thePhiAtVertex
.
min
() - Phi_r -
theTolerance
,
thePhiAtVertex
.
max
() + Phi_r +
theTolerance
);
21
22
float
curv0 =
theCurvature
.
mean
();
23
float
Phi_0 = std::asin(radius * curv0 * 0.5
f
);
24
float
Phi_m = std::asin(radius *
theCurvature
.
min
() * 0.5f -
theOriginRBound
* invr);
25
return
Range
(
thePhiAtVertex
.
min
() + Phi_0 + Phi_m -
theTolerance
,
26
thePhiAtVertex
.
max
() + Phi_0 + Phi_r +
theTolerance
);
27
}
OuterHitPhiPrediction::theCurvature
Range theCurvature
Definition:
OuterHitPhiPrediction.h:31
OuterHitPhiPrediction::sym
Range sym(float radius) const
Definition:
OuterHitPhiPrediction.cc:4
PixelRecoRange::max
T max() const
Definition:
PixelRecoRange.h:26
PixelRecoRange< float >
OuterHitPhiPrediction::theTolerance
float theTolerance
Definition:
OuterHitPhiPrediction.h:33
OuterHitPhiPrediction.h
OuterHitPhiPrediction::theOriginRBound
float theOriginRBound
Definition:
OuterHitPhiPrediction.h:32
PixelRecoRange::min
T min() const
Definition:
PixelRecoRange.h:25
OuterHitPhiPrediction::thePhiAtVertex
Range thePhiAtVertex
Definition:
OuterHitPhiPrediction.h:30
OuterHitPhiPrediction::asym
Range asym(float radius) const
Definition:
OuterHitPhiPrediction.cc:12
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
SiStripPI::max
Definition:
SiStripPayloadInspectorHelper.h:169
M_PI
#define M_PI
Definition:
BXVectorInputProducer.cc:49
approx_asin.h
PixelRecoRange::mean
T mean() const
Definition:
PixelRecoRange.h:27
OuterHitPhiPrediction::Range
PixelRecoRange< float > Range
Definition:
OuterHitPhiPrediction.h:14
CosmicsPD_Skims.radius
tuple radius
Definition:
CosmicsPD_Skims.py:135
validate-o2o-wbm.f
tuple f
Definition:
validate-o2o-wbm.py:27
Generated for CMSSW Reference Manual by
1.8.5