CMS 3D CMS Logo

TotemRPLocalTrackFitterAlgorithm.h
Go to the documentation of this file.
1 /****************************************************************************
2 *
3 * This is a part of TOTEM offline software.
4 * Authors:
5 * Hubert Niewiadomski
6 * Jan Kašpar (jan.kaspar@gmail.com)
7 *
8 ****************************************************************************/
9 
10 #ifndef RecoPPS_Local_TotemRPLocalTrackFitterAlgorithm
11 #define RecoPPS_Local_TotemRPLocalTrackFitterAlgorithm
12 
14 
18 
21 
22 #include "TVector3.h"
23 #include "TVector2.h"
24 
25 #include <unordered_map>
26 
27 //----------------------------------------------------------------------------------------------------
28 
33 public:
35 
38  double z_0,
39  const CTPPSGeometry &tot_geom,
40  TotemRPLocalTrack &fitted_track);
41 
43  void reset();
44 
45 private:
46  struct RPDetCoordinateAlgebraObjs {
48  double rec_u_0_;
49  TVector2 readout_direction_;
50  bool available_;
51  };
52 
54  std::unordered_map<unsigned int, RPDetCoordinateAlgebraObjs> det_data_map_;
55 
57 
60  RPDetCoordinateAlgebraObjs *getDetAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom);
61 
63  RPDetCoordinateAlgebraObjs prepareReconstAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom);
64 
66  void multiplyByDiagonalInPlace(TMatrixD &mt, const TVectorD &diag);
67 
68  static TVector3 convert3vector(const CTPPSGeometry::Vector &v) { return TVector3(v.x(), v.y(), v.z()); }
69 };
70 
71 #endif
edm::DetSetVector< TotemRPRecHit >
TotemRPLocalTrackFitterAlgorithm::multiplyByDiagonalInPlace
void multiplyByDiagonalInPlace(TMatrixD &mt, const TVectorD &diag)
A matrix multiplication shorthand.
Definition: TotemRPLocalTrackFitterAlgorithm.cc:164
CTPPSGeometry
The manager class for TOTEM RP geometry.
Definition: CTPPSGeometry.h:29
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
TotemRPLocalTrackFitterAlgorithm::RPDetCoordinateAlgebraObjs::rec_u_0_
double rec_u_0_
in mm, position of det. centre projected on readout direction
Definition: TotemRPLocalTrackFitterAlgorithm.h:53
TotemRPLocalTrackFitterAlgorithm::fitTrack
bool fitTrack(const edm::DetSetVector< TotemRPRecHit > &hits, double z_0, const CTPPSGeometry &tot_geom, TotemRPLocalTrack &fitted_track)
performs the track fit, returns true if successful
Definition: TotemRPLocalTrackFitterAlgorithm.cc:63
TotemRPLocalTrackFitterAlgorithm
Algorithm for fitting tracks through a single RP.
Definition: TotemRPLocalTrackFitterAlgorithm.h:31
TotemRPRecHit.h
findQualityFiles.v
v
Definition: findQualityFiles.py:179
TotemRPLocalTrackFitterAlgorithm::det_data_map_
std::unordered_map< unsigned int, RPDetCoordinateAlgebraObjs > det_data_map_
A cache of reconstruction data. Must be reset every time the geometry chagnges.
Definition: TotemRPLocalTrackFitterAlgorithm.h:59
CTPPSGeometry.h
TotemRPLocalTrackFitterAlgorithm::rp_topology_
RPTopology rp_topology_
Definition: TotemRPLocalTrackFitterAlgorithm.h:61
TotemRPLocalTrackFitterAlgorithm::reset
void reset()
Resets the reconstruction-data cache.
Definition: TotemRPLocalTrackFitterAlgorithm.cc:26
RPTopology
Geometrical and topological information on RP silicon detector. Uses coordinate a frame with origin i...
Definition: RPTopology.h:18
edm::ParameterSet
Definition: ParameterSet.h:36
TotemRPLocalTrackFitterAlgorithm::getDetAlgebraData
RPDetCoordinateAlgebraObjs * getDetAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom)
Definition: TotemRPLocalTrackFitterAlgorithm.cc:50
TotemRPLocalTrackFitterAlgorithm::RPDetCoordinateAlgebraObjs::readout_direction_
TVector2 readout_direction_
non paralell projection and rot_cor included
Definition: TotemRPLocalTrackFitterAlgorithm.h:54
DetSetVector.h
TotemRPLocalTrackFitterAlgorithm::convert3vector
static TVector3 convert3vector(const CTPPSGeometry::Vector &v)
Definition: TotemRPLocalTrackFitterAlgorithm.h:73
TotemRPLocalTrack
A track fit through a single RP.
Definition: TotemRPLocalTrack.h:31
TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData
RPDetCoordinateAlgebraObjs prepareReconstAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom)
Build the reconstruction data.
Definition: TotemRPLocalTrackFitterAlgorithm.cc:31
TtSemiLepEvtBuilder_cfi.mt
mt
Definition: TtSemiLepEvtBuilder_cfi.py:47
RPTopology.h
ParameterSet.h
TotemRPLocalTrack.h
TotemRPLocalTrackFitterAlgorithm::TotemRPLocalTrackFitterAlgorithm
TotemRPLocalTrackFitterAlgorithm(const edm::ParameterSet &conf)
Definition: TotemRPLocalTrackFitterAlgorithm.cc:22
TotemRPLocalTrackFitterAlgorithm::RPDetCoordinateAlgebraObjs
Definition: TotemRPLocalTrackFitterAlgorithm.h:51
TotemRPLocalTrackFitterAlgorithm::RPDetCoordinateAlgebraObjs::available_
bool available_
if det should be included in the reconstruction
Definition: TotemRPLocalTrackFitterAlgorithm.h:55
TotemRPLocalTrackFitterAlgorithm::RPDetCoordinateAlgebraObjs::centre_of_det_global_position_
TVector3 centre_of_det_global_position_
Definition: TotemRPLocalTrackFitterAlgorithm.h:52
CTPPSGeometry::Vector
DetGeomDesc::Translation Vector
Definition: CTPPSGeometry.h:39