test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
RecoEgamma
EgammaElectronAlgos
src
FTSFromVertexToPointFactory.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: EgammaElectronAlgos
4
// Class: FTSFromVertexToPointFactory
5
//
13
//
14
// Original Author: Ursula Berthon, Claude Charlot
15
// Created: Mon Mar 27 13:22:06 CEST 2006
16
//
17
//
18
#include "
RecoEgamma/EgammaElectronAlgos/interface/FTSFromVertexToPointFactory.h
"
19
#include "
MagneticField/Engine/interface/MagneticField.h
"
20
21
22
FreeTrajectoryState
FTSFromVertexToPointFactory::get
(
MagneticField
const
& magField,
23
GlobalPoint
const
& xmeas,
24
GlobalPoint
const
& xvert,
25
float
momentum,
26
TrackCharge
charge
)
27
{
28
auto
BInTesla = magField.
inTesla
(xmeas).
z
();
29
GlobalVector
xdiff = xmeas - xvert;
30
auto
mom = momentum*xdiff.
unit
();
31
auto
pt
= mom.perp();
32
auto
pz = mom.z();
33
auto
pxOld = mom.x();
34
auto
pyOld = mom.y();
35
36
37
auto
curv = (BInTesla*0.29979f*0.01f)/
pt
;
38
39
// stays as doc...
40
// auto alpha = std::asin(0.5f*xdiff.perp()*curv);
41
// auto ca = std::cos(float(charge)*alpha);
42
// auto sa = std::sin(float(charge)*alpha);
43
44
auto
sa = 0.5f*xdiff.
perp
()*curv*float(charge);
45
auto
ca =
sqrt
(1.
f
-sa*sa);
46
47
auto
pxNew = ca*pxOld + sa*pyOld;
48
auto
pyNew = -sa*pxOld + ca*pyOld;
49
GlobalVector
pNew(pxNew, pyNew, pz);
50
51
GlobalTrajectoryParameters
gp(xmeas, pNew, charge, & magField);
52
53
return
FreeTrajectoryState
(gp);
54
}
FTSFromVertexToPointFactory::get
static FreeTrajectoryState get(MagneticField const &magField, GlobalPoint const &xmeas, GlobalPoint const &xvert, float momentum, TrackCharge charge)
Definition:
FTSFromVertexToPointFactory.cc:22
PV3DBase::perp
T perp() const
Definition:
PV3DBase.h:72
Vector3DBase< float, GlobalTag >
MagneticField::inTesla
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
GlobalTrajectoryParameters
Definition:
GlobalTrajectoryParameters.h:15
MagneticField
Definition:
MagneticField.h:17
MagneticField.h
TrackCharge
int TrackCharge
Definition:
TrackCharge.h:4
FreeTrajectoryState
Definition:
FreeTrajectoryState.h:29
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:18
PV3DBase::z
T z() const
Definition:
PV3DBase.h:64
FTSFromVertexToPointFactory.h
f
double f[11][100]
Definition:
MuScleFitUtils.cc:78
EnergyCorrector.pt
int pt
Definition:
EnergyCorrector.py:45
Vector3DBase::unit
Vector3DBase unit() const
Definition:
Vector3DBase.h:57
Point3DBase< float, GlobalTag >
RecoTauCleanerPlugins.charge
tuple charge
Definition:
RecoTauCleanerPlugins.py:33
Generated for CMSSW Reference Manual by
1.8.5