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 }
float chi2_
chi-squared
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...
float time_err_
uncertainty on reconstructed time at forward detectors
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
float t() const
four-momentum transfer squared, in GeV^2
Geom::Theta< T > theta() const
float p() const
scalar norm of fitted track momentum
Definition: ForwardProton.h:61
CovarianceMatrix covariance_
5x5 covariance matrix
float chi2() const
chi-squared of the fit
Definition: ForwardProton.h:72
float thetaX() const
vertical scattering angle, in rad
Definition: ForwardProton.h:81
float xi_
fractional momentum loss (positive for diffractive protons)
const Vector & momentum() const
fitted track direction
Definition: ForwardProton.h:59
ForwardProton()
default constructor
Point vertex_
reconstructed vertex position at z/s = 0
T sqrt(T t)
Definition: SSEVec.h:19
unsigned int ndof_
number of degrees of freedom
float xi() const
longitudinal fractional momentum loss
Definition: ForwardProton.h:79
Vector momentum_
reconstructed momentum vector
float time_
reconstructed time at forward detectors
ReconstructionMethod method() const
reconstruction method for this track
ReconstructionMethod method_
type of reconstruction applied
double S(const TLorentzVector &, const TLorentzVector &)
Definition: Particle.cc:97
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
bool valid_fit_
fit validity flag
math::XYZVectorF Vector
spatial vector
Definition: ForwardProton.h:28
float thetaY() const
horizontal scattering angle, in rad
Definition: ForwardProton.h:83
CTPPSLocalTrackLiteRefVector contributing_local_tracks_
collection of references to tracks contributing to this object definition
static float massSquared_
proton mass squared, GeV^2
float time() const
time of proton arrival at forward stations
ReconstructionMethod
type of reconstruction applied for this track
Definition: ForwardProton.h:32
unsigned int ndof() const
number of degrees of freedom for the track fit
Definition: ForwardProton.h:74