RecoMuon
L3TrackFinder
src
EtaPhiEstimator.h
Go to the documentation of this file.
1
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
2
#include "
TrackingTools/KalmanUpdators/interface/Chi2MeasurementEstimatorBase.h
"
3
#include "
TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h
"
4
#include "
DataFormats/TrackingRecHit/interface/TrackingRecHit.h
"
5
#include "
DataFormats/Math/interface/deltaPhi.h
"
6
#include "
DataFormats/Math/interface/deltaR.h
"
7
8
class
EtaPhiEstimator
:
public
Chi2MeasurementEstimatorBase
{
9
public
:
15
explicit
EtaPhiEstimator
(
double
eta
,
double
phi
,
const
Chi2MeasurementEstimatorBase
*
estimator
)
16
:
Chi2MeasurementEstimatorBase
(
estimator
->
chiSquaredCut
(),
estimator
->
nSigmaCut
()),
17
estimator_
(
estimator
),
18
thedEta
(
eta
),
19
thedPhi
(
phi
),
20
thedEta2
(
eta
*
eta
),
21
thedPhi2
(
phi
*
phi
) {}
22
23
std::pair<bool, double>
estimate
(
const
TrajectoryStateOnSurface
& tsos,
const
TrackingRecHit
& aRecHit)
const override
{
24
std::pair<bool, double> primaryResult =
estimator_
->
estimate
(tsos, aRecHit);
25
26
double
dEta
= fabs(tsos.
globalPosition
().
eta
() - aRecHit.
globalPosition
().
eta
());
27
double
dPhi
= deltaPhi<double>(tsos.
globalPosition
().
phi
(), aRecHit.
globalPosition
().
phi
());
28
29
double
check
= (
dEta
*
dEta
) / (
thedEta2
) + (
dPhi
*
dPhi
) / (
thedPhi2
);
30
31
LogDebug
(
"EtaPhiMeasurementEstimator"
) <<
" The state to compare with is \n"
32
<< tsos <<
" The hit position is:\n"
33
<< aRecHit.
globalPosition
() <<
" deta: "
<<
dEta
<<
" dPhi: "
<<
dPhi
34
<<
" check: "
<<
check
<<
" primaryly: "
<< primaryResult.second;
35
36
if
(
check
<= 1)
37
// if (dEta < thedEta && dPhi <thedPhi)
38
return
std::make_pair(
true
, primaryResult.second);
39
else
40
return
std::make_pair(
false
, primaryResult.second);
41
}
42
43
EtaPhiEstimator
*
clone
()
const override
{
return
new
EtaPhiEstimator
(*
this
); }
44
45
private
:
46
const
Chi2MeasurementEstimatorBase
*
estimator_
;
47
double
thedEta
,
thedPhi
,
thedEta2
,
thedPhi2
;
48
};
Chi2MeasurementEstimatorBase.h
TrajectoryStateOnSurface.h
MessageLogger.h
Chi2MeasurementEstimatorBase::nSigmaCut
double nSigmaCut() const
Definition:
Chi2MeasurementEstimatorBase.h:37
deltaPhi.h
Chi2MeasurementEstimatorBase::estimate
std::pair< bool, double > estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &) const override=0
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition:
TrajectoryStateOnSurface.h:65
EtaPhiEstimator::thedEta
double thedEta
Definition:
EtaPhiEstimator.h:47
HLT_FULL_cff.dPhi
dPhi
Definition:
HLT_FULL_cff.py:13703
EtaPhiEstimator::estimate
std::pair< bool, double > estimate(const TrajectoryStateOnSurface &tsos, const TrackingRecHit &aRecHit) const override
Definition:
EtaPhiEstimator.h:23
TrajectoryStateOnSurface
Definition:
TrajectoryStateOnSurface.h:16
RPCNoise_example.check
check
Definition:
RPCNoise_example.py:71
TrackingRecHit.h
PVValHelper::estimator
estimator
Definition:
PVValidationHelpers.h:45
PVValHelper::eta
Definition:
PVValidationHelpers.h:70
LogDebug
#define LogDebug(id)
Definition:
MessageLogger.h:233
EtaPhiEstimator::clone
EtaPhiEstimator * clone() const override
Definition:
EtaPhiEstimator.h:43
deltaR.h
PV3DBase::eta
T eta() const
Definition:
PV3DBase.h:73
TrackingRecHit::globalPosition
virtual GlobalPoint globalPosition() const
Definition:
TrackingRecHit.cc:31
Chi2MeasurementEstimatorBase
Definition:
Chi2MeasurementEstimatorBase.h:14
EtaPhiEstimator::EtaPhiEstimator
EtaPhiEstimator(double eta, double phi, const Chi2MeasurementEstimatorBase *estimator)
Definition:
EtaPhiEstimator.h:15
TrackingRecHit
Definition:
TrackingRecHit.h:21
DDAxes::phi
EtaPhiEstimator::thedPhi2
double thedPhi2
Definition:
EtaPhiEstimator.h:47
HLT_FULL_cff.dEta
dEta
Definition:
HLT_FULL_cff.py:13702
Chi2MeasurementEstimatorBase::chiSquaredCut
double chiSquaredCut() const
Definition:
Chi2MeasurementEstimatorBase.h:36
EtaPhiEstimator::estimator_
const Chi2MeasurementEstimatorBase * estimator_
Definition:
EtaPhiEstimator.h:46
EtaPhiEstimator
Definition:
EtaPhiEstimator.h:8
PV3DBase::phi
Geom::Phi< T > phi() const
Definition:
PV3DBase.h:66
EtaPhiEstimator::thedPhi
double thedPhi
Definition:
EtaPhiEstimator.h:47
EtaPhiEstimator::thedEta2
double thedEta2
Definition:
EtaPhiEstimator.h:47
Generated for CMSSW Reference Manual by
1.8.16