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. ), time_err_( 0. ), xi_( 0. ), chi2_( 0. ), ndof_( 0 ),
15  valid_fit_( false ), method_( ReconstructionMethod::invalid )
16 {}
17 
18 ForwardProton::ForwardProton( double chi2, double ndof, const Point& vtx, const Vector& momentum, float xi,
20  const CTPPSLocalTrackLiteRefVector& local_tracks, bool valid,
21  const float time, const float time_err ) :
22  vertex_( vtx ), momentum_( momentum ),
23  time_( time ), time_err_( time_err ), xi_( xi ),
24  covariance_( cov ), chi2_( chi2 ), ndof_( ndof ),
25  valid_fit_( valid ), method_( method ), contributing_local_tracks_( local_tracks )
26 {}
27 
28 float
29 ForwardProton::calculateT( double beam_mom, double proton_mom, double theta )
30 {
31  const double t0 = 2.*( massSquared_+beam_mom*proton_mom-sqrt( ( massSquared_+beam_mom*beam_mom ) * ( massSquared_+proton_mom*proton_mom ) ) );
32  const double S = sin(theta/2.);
33  return t0 - 4. * beam_mom * proton_mom * S*S;
34 }
35 
36 float
38 {
39  const double beam_mom = p() / (1.-xi());
40  const double theta = std::hypot( thetaX(), thetaY() );
41  return calculateT( beam_mom, p(), theta );
42 }
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:56
CovarianceMatrix covariance_
5x5 covariance matrix
float chi2() const
chi-squared of the fit
Definition: ForwardProton.h:67
float thetaX() const
vertical scattering angle, in rad
Definition: ForwardProton.h:78
float xi_
fractional momentum loss (positive for diffractive protons)
const Vector & momentum() const
fitted track direction
Definition: ForwardProton.h:54
ForwardProton()
default constructor
Point vertex_
reconstructed vertex position at z/s = 0
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int ndof_
number of degrees of freedom
float xi() const
longitudinal fractional momentum loss
Definition: ForwardProton.h:76
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:99
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:55
bool valid_fit_
fit validity flag
math::XYZVectorF Vector
spatial vector
Definition: ForwardProton.h:30
float thetaY() const
horizontal scattering angle, in rad
Definition: ForwardProton.h:80
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:34
unsigned int ndof() const
number of degrees of freedom for the track fit
Definition: ForwardProton.h:69