- Timestamp:
- Jul 13, 2020, 5:20:43 PM (4 years ago)
- Branches:
- master
- Children:
- 97ef971, d192152
- Parents:
- 3051ea17
- Location:
- external/TrackCovariance
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
external/TrackCovariance/ObsTrk.cc
r3051ea17 ra0f5d71 20 20 fGenPar.ResizeTo(5); 21 21 fGenParACTS.ResizeTo(6); 22 fGenParILC.ResizeTo(5); 22 23 fObsPar.ResizeTo(5); 23 24 fObsParACTS.ResizeTo(6); 25 fObsParILC.ResizeTo(5); 24 26 fCov.ResizeTo(5, 5); 25 27 fCovACTS.ResizeTo(6, 6); 28 fCovILC.ResizeTo(5, 5); 26 29 fGenPar = XPtoPar(x,p,Q); 27 30 fGenParACTS = ParToACTS(fGenPar); 31 fGenParILC = ParToILC(fGenPar); 28 32 /* 29 33 std::cout << "ObsTrk::ObsTrk: fGenPar"; … … 33 37 fObsPar = GenToObsPar(fGenPar, fGC); 34 38 fObsParACTS = ParToACTS(fObsPar); 39 fObsParILC = ParToILC(fObsPar); 35 40 fObsX = ParToX(fObsPar); 36 41 fObsP = ParToP(fObsPar); 37 42 fObsQ = ParToQ(fObsPar); 38 43 fCovACTS = CovToACTS(fCov); 44 fCovILC = CovToILC(fCov); 39 45 } 40 46 // … … 206 212 } 207 213 214 // Parameter conversion to ILC format 215 TVectorD ObsTrk::ParToILC(TVectorD Par) 216 { 217 TVectorD pILC(5); // Return vector 218 // 219 pILC(0) = Par(0)*1.0e3; // d0 in mm 220 pILC(1) = Par(1); // phi0 is unchanged 221 pILC(2) = -2 * Par(2)*1.0e-3; // w in mm^-1 222 pILC(3) = Par(3)*1.0e3; // z0 in mm 223 pILC(4) = Par(4); // tan(lambda) = cot(theta) 224 // 225 return pILC; 226 } 227 // Covariance conversion to ILC format 228 TMatrixDSym ObsTrk::CovToILC(TMatrixDSym Cov) 229 { 230 TMatrixDSym cILC(5); cILC.Zero(); 231 // 232 // Fill derivative matrix 233 TMatrixD A(5, 5); A.Zero(); 234 // 235 A(0, 0) = 1.0e3; // D-d0 in mm 236 A(1, 1) = 1.0; // phi0-phi0 237 A(2, 2) = -2.0e-3; // w-C 238 A(3, 3) = 1.0e3; // z0-z0 conversion to mm 239 A(4, 4) = 1.0; // tan(lambda) - cot(theta) 240 // 241 TMatrixDSym Cv = Cov; 242 TMatrixD At(5, 5); 243 At.Transpose(A); 244 Cv.Similarity(At); 245 cILC = Cv; 246 // 247 return cILC; 248 } 249 208 250 209 251 -
external/TrackCovariance/ObsTrk.h
r3051ea17 ra0f5d71 29 29 TVector3 fObsP; // Observed track momentum @ track minimum approach 30 30 TVectorD fGenPar; // Generated helix track parameters (D, phi0, C, z0, cot(th)) 31 TVectorD fGenParACTS; // Generated helix track parameters (D, z0, phi0, th, q/p, time) 31 TVectorD fGenParACTS; // Generated helix track parameters (D, z0, phi0, th, q/p, time 32 TVectorD fGenParILC; // Generated helix track parameters (w, phi0, d0, z0, tan(lambda)) 32 33 TVectorD fObsPar; // Observed helix track parameters (D, phi0, C, z0, cot(th)) 33 TVectorD fObsParACTS; // Observed helix track parameters (D, z0, phi0, th, q/p, time) 34 TVectorD fObsParACTS; // Observed helix track parameters (D, z0, phi0, th, q/p, time 35 TVectorD fObsParILC; // Observed helix track parameters (d0, phi0, w, z0, tan(lambda)) 34 36 TMatrixDSym fCov; // INterpolated covariance of track parameters 35 37 TMatrixDSym fCovACTS; // Covariance of track parameters in ACTS format 36 38 // (D, z0, phi0, theta, q/p, time) 39 TMatrixDSym fCovILC; // Covariance of track parameters in ILC format 40 // (d0, phi0, w, z0, tan(lambda)) 37 41 // 38 42 // Conversion to ACTS parametrization 39 43 // 40 44 TVectorD ParToACTS(TVectorD Par); // Parameter conversion 41 TMatrixDSym CovToACTS(TMatrixDSym Cov); // Covariance conversion 45 TMatrixDSym CovToACTS(TMatrixDSym Cov); // Covariance 46 // 47 // Conversion to ILC parametrization 48 // 49 TVectorD ParToILC(TVectorD Par); // Parameter conversion 50 TMatrixDSym CovToILC(TMatrixDSym Cov); // Covariance conversion 42 51 // 43 52 public: … … 68 77 // D, z0, phi0, theta, q/p, time 69 78 TVectorD GetGenParACTS() { return fGenParACTS; } 79 // d0, phi0, w, z0, tan(lambda) 80 TVectorD GetGenParILC() { return fGenParILC; } 70 81 // Observed level X, P, Q 71 82 Double_t GetObsQ() { return fObsQ; } … … 76 87 // D, z0, phi0, theta, q/p, time 77 88 TVectorD GetObsParACTS() { return fObsParACTS; } 89 // d0, phi0, w, z0, tan(lambda) 90 TVectorD GetObsParILC() { return fObsParILC; } 78 91 // Covariances 79 92 TMatrixDSym GetCov(){ return fCov; } 80 TMatrixDSym GetCovACTS(){ return fCovACTS; }; 93 TMatrixDSym GetCovACTS(){ return fCovACTS; } 94 TMatrixDSym GetCovILC(){ return fCovILC; } 81 95 }; 82 96
Note:
See TracChangeset
for help on using the changeset viewer.