~durga/maus/rel709

« back to all changes in this revision

Viewing changes to tests/cpp_unit/Recon/Kalman/KalmanHelicalPropagatorTest.cc

  • Committer: Adam Dobbs
  • Date: 2014-12-11 13:26:05 UTC
  • mfrom: (659.1.96 release-candidate)
  • Revision ID: phuccj@gmail.com-20141211132605-6g6j2927elggi2q6
Tags: MAUS-v0.9.2
MAUS-v0.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    double x0 = 0.;
34
34
    double y0 = 5.;
35
35
    double z0 = 0.;
36
 
    double mx0 = 15.*fabs(kappa);
37
 
    double my0 = 15.*fabs(kappa);
 
36
    double px0 = 15.;
 
37
    double py0 = 15.;
38
38
 
39
39
    // double x1 = 29.614;
40
40
    // double y1 = -3.0019;
48
48
 
49
49
    TMatrixD a(5, 1);
50
50
    a(0, 0) = x0;
51
 
    a(1, 0) = mx0;
 
51
    a(1, 0) = px0;
52
52
    a(2, 0) = y0;
53
 
    a(3, 0) = my0;
 
53
    a(3, 0) = py0;
54
54
    a(4, 0) = kappa;
55
55
    old_site.set_a(a, MAUS::KalmanState::Filtered);
56
56
 
69
69
  static const double _Bz = -0.004;
70
70
  static const double _tracker0_Bz = -0.0039815;
71
71
  static const double _tracker1_Bz = -0.00400066;
72
 
  static const double err = 1.e-3;
 
72
  static const double err = 1.e-4;
73
73
};
74
74
 
75
75
TEST_F(KalmanHelicalPropagatorTest, test_propagation_using_MC_tracker1) {
86
86
  double px0 = 5.04953;
87
87
  double py0 = -50.4535;
88
88
  double pz0 = 212.641;
89
 
  double mx0 = px0/pz0;
90
 
  double my0 = py0/pz0;
 
89
  // double mx0 = px0/pz0;
 
90
  // double my0 = py0/pz0;
91
91
  double charge = 1.;
92
92
  double kappa  = charge/pz0;
93
93
 
94
94
  double x15  = 98.65861;
95
95
  double y15  = -9.12456;
96
96
  double z15  = 16472.6;
97
 
  double px15 = 24.22770;
98
 
  double py15 = 44.5266;
99
 
  double pz15 = 212.686;
100
 
  double mx15 = px15/pz15;
101
 
  double my15 = py15/pz15;
 
97
  double px15 = 24.22264;
 
98
  double py15 = 44.54567;
 
99
  // double pz15 = 212.686;
 
100
  // double mx15 = px15/pz15;
 
101
  // double my15 = py15/pz15;
102
102
 
103
103
  state_0.set_z(z0);
104
104
  state_15.set_z(z15);
106
106
 
107
107
  TMatrixD a(5, 1);
108
108
  a(0, 0) = x0;
109
 
  a(1, 0) = mx0;
 
109
  a(1, 0) = px0;
110
110
  a(2, 0) = y0;
111
 
  a(3, 0) = my0;
 
111
  a(3, 0) = py0;
112
112
  a(4, 0) = kappa;
113
113
  state_0.set_a(a, MAUS::KalmanState::Filtered);
114
114
 
117
117
  a_projected = state_15.a(MAUS::KalmanState::Projected);
118
118
 
119
119
  EXPECT_NEAR(x15,    a_projected(0, 0), err);
120
 
  EXPECT_NEAR(mx15,   a_projected(1, 0), err);
 
120
  EXPECT_NEAR(px15,   a_projected(1, 0), err);
121
121
  EXPECT_NEAR(y15,    a_projected(2, 0), err);
122
 
  EXPECT_NEAR(my15,   a_projected(3, 0), err);
 
122
  EXPECT_NEAR(py15,   a_projected(3, 0), err);
123
123
  EXPECT_NEAR(kappa, a_projected(4, 0), err);
124
124
 
125
125
  delete propagator;
155
155
  //
156
156
  // MCS increases matrix elements.
157
157
  //
158
 
  propagator->CalculateSystemNoise(&old_site, &new_site);
159
158
  propagator->CalculateCovariance(&old_site, &new_site);
160
159
  for ( int j = 0; j < 5; j++ ) {
161
160
    for ( int k = 0; k < 5; k++ ) {
175
174
 
176
175
  TMatrixD a(5, 1);
177
176
  a(0, 0) = 0.;
178
 
  a(1, 0) = px/pz;
 
177
  a(1, 0) = px;
179
178
  a(2, 0) = 0.;
180
 
  a(3, 0) = py/pz;
 
179
  a(3, 0) = py;
181
180
  a(4, 0) = 1./pz;
182
181
 
183
182
  MAUS::KalmanState state;