CMS 3D CMS Logo

ForwardProton.cc
Go to the documentation of this file.
1 /****************************************************************************
2  * Authors:
3  * Jan Kašpar
4  * Laurent Forthomme
5  ****************************************************************************/
6 
8 
9 #include <set>
10 
11 using namespace reco;
12 
14  : time_(0.),
15  time_err_(0.),
16  xi_(0.),
17  chi2_(0.),
18  ndof_(0),
19  valid_fit_(false),
20  method_(ReconstructionMethod::invalid) {}
21 
23  double ndof,
24  const Point& vtx,
25  const Vector& momentum,
26  float xi,
27  const CovarianceMatrix& cov,
29  const CTPPSLocalTrackLiteRefVector& local_tracks,
30  bool valid,
31  const float time,
32  const float time_err)
33  : vertex_(vtx),
34  momentum_(momentum),
35  time_(time),
36  time_err_(time_err),
37  xi_(xi),
38  covariance_(cov),
39  chi2_(chi2),
40  ndof_(ndof),
41  valid_fit_(valid),
42  method_(method),
43  contributing_local_tracks_(local_tracks) {}
44 
45 float ForwardProton::calculateT(double beam_mom, double proton_mom, double theta) {
46  const double t0 = 2. * (massSquared_ + beam_mom * proton_mom -
47  sqrt((massSquared_ + beam_mom * beam_mom) * (massSquared_ + proton_mom * proton_mom)));
48  const double S = sin(theta / 2.);
49  return t0 - 4. * beam_mom * proton_mom * S * S;
50 }
51 
52 float ForwardProton::t() const {
53  const double beam_mom = p() / (1. - xi());
54  const double theta = std::hypot(thetaX(), thetaY());
55  return calculateT(beam_mom, p(), theta);
56 }
funct::false
false
Definition: Factorize.h:34
reco::ForwardProton::thetaY
float thetaY() const
horizontal scattering angle, in rad
Definition: ForwardProton.h:89
AlcaSiPixelAliHarvester0T_cff.method
method
Definition: AlcaSiPixelAliHarvester0T_cff.py:41
hybridSuperClusters_cfi.xi
xi
Definition: hybridSuperClusters_cfi.py:10
CovarianceMatrix
Definition: CovarianceMatrix.h:27
edm::RefVector< CTPPSLocalTrackLiteCollection >
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
CTPPSpixelLocalTrackReconstructionInfo::invalid
validateGeometry_cfg.valid
valid
Definition: validateGeometry_cfg.py:21
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
ndof
Definition: HIMultiTrackSelector.h:49
reco::ForwardProton::ForwardProton
ForwardProton()
default constructor
Definition: ForwardProton.cc:12
FrontierCondition_GT_autoExpress_cfi.t0
t0
Definition: FrontierCondition_GT_autoExpress_cfi.py:148
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
S
double S(const TLorentzVector &, const TLorentzVector &)
Definition: Particle.cc:97
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::ForwardProton::ReconstructionMethod
ReconstructionMethod
type of reconstruction applied for this track
Definition: ForwardProton.h:38
ForwardProton.h
reco::ForwardProton::xi
float xi() const
longitudinal fractional momentum loss
Definition: ForwardProton.h:85
reco::ForwardProton::calculateT
static float calculateT(double beam_mom, double proton_mom, double theta)
compute the squared four-momentum transfer from incident and scattered momenta, and angular informati...
Definition: ForwardProton.cc:44
reco::ForwardProton::thetaX
float thetaX() const
vertical scattering angle, in rad
Definition: ForwardProton.h:87
S
Definition: CSCDBL1TPParametersExtended.h:16
reco::ForwardProton::p
float p() const
scalar norm of fitted track momentum
Definition: ForwardProton.h:67
reco::ForwardProton::Vector
math::XYZVectorF Vector
spatial vector
Definition: ForwardProton.h:34
reco::ForwardProton::t
float t() const
four-momentum transfer squared, in GeV^2
Definition: ForwardProton.cc:51
ntuplemaker.time
time
Definition: ntuplemaker.py:310
reco::ForwardProton::massSquared_
static constexpr float massSquared_
proton mass squared, GeV^2
Definition: ForwardProton.h:151