Changes in / [f9aeea6:97ef971] in git
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
classes/DelphesClasses.cc
rf9aeea6 r97ef971 139 139 PositionError(0.0, 0.0, 0.0, 0.0), 140 140 Area(0.0, 0.0, 0.0, 0.0), 141 TrackCovariance ACTS(6),141 TrackCovariance(5), 142 142 L(0), 143 143 D0(0), ErrorD0(0), 144 144 DZ(0), ErrorDZ(0), 145 145 P(0), ErrorP(0), 146 C(0), ErrorC(0), 146 147 PT(0), ErrorPT(0), 147 148 CtgTheta(0), ErrorCtgTheta(0), … … 313 314 object.P = P; 314 315 object.ErrorP = ErrorP; 316 object.C = C; 317 object.ErrorC = ErrorC; 315 318 object.PT = PT; 316 319 object.ErrorPT = ErrorPT; … … 377 380 object.SoftDroppedSubJet1 = SoftDroppedSubJet1; 378 381 object.SoftDroppedSubJet2 = SoftDroppedSubJet2; 379 object.TrackCovariance ACTS = TrackCovarianceACTS;382 object.TrackCovariance = TrackCovariance; 380 383 object.fFactory = fFactory; 381 384 object.fArray = 0; … … 434 437 InitialPosition.SetXYZT(0.0, 0.0, 0.0, 0.0); 435 438 Area.SetXYZT(0.0, 0.0, 0.0, 0.0); 436 TrackCovariance ACTS.Zero();439 TrackCovariance.Zero(); 437 440 L = 0.0; 438 441 ErrorT = 0.0; … … 443 446 P = 0.0; 444 447 ErrorP = 0.0; 448 C = 0.0; 449 ErrorC = 0.0; 445 450 PT = 0.0; 446 451 ErrorPT = 0.0; -
classes/DelphesClasses.h
rf9aeea6 r97ef971 651 651 652 652 Float_t L; // path length 653 Float_t DZ; 654 Float_t ErrorDZ; 653 655 Float_t ErrorT; // path length 654 656 Float_t D0; 655 657 Float_t ErrorD0; 656 Float_t DZ;657 Float_t Error DZ;658 Float_t C; 659 Float_t ErrorC; 658 660 Float_t P; 659 661 Float_t ErrorP; … … 700 702 Float_t SumPt; 701 703 702 // ACTS compliant 6x6 track covariance (D , z0, phi0, theta, q/p, time)703 704 TMatrixDSym TrackCovariance ACTS;704 // ACTS compliant 6x6 track covariance (D0, phi, Curvature, dz, ctg(theta)) 705 706 TMatrixDSym TrackCovariance; 705 707 706 708 // vertex variables -
external/TrackCovariance/ObsTrk.cc
rf9aeea6 r97ef971 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
rf9aeea6 r97ef971 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 -
modules/TrackCovariance.cc
rf9aeea6 r97ef971 96 96 Candidate *candidate, *mother; 97 97 Double_t mass, p, pt, q, ct; 98 Double_t dd0, ddz, dphi, dct, dp, dpt ;98 Double_t dd0, ddz, dphi, dct, dp, dpt, dC; 99 99 100 100 … … 115 115 candidate->InitialPosition.SetXYZT(track.GetObsX().X(),track.GetObsX().Y(),track.GetObsX().Z(),candidatePosition.T()); 116 116 117 // save full ACTS friendly covariance matrix internally (6x6: D, z0, phi0, theta, q/p, time)118 candidate->TrackCovariance ACTS = track.GetCovACTS();117 // save full covariance 5x5 matrix internally (D0, phi, Curvature, dz, ctg(theta)) 118 candidate->TrackCovariance = track.GetCov(); 119 119 120 120 pt = candidate->Momentum.Pt(); … … 128 128 129 129 candidate->D0 = track.GetObsPar()[0]; 130 candidate->Phi = track.GetObsPar()[1]; 131 candidate->C = track.GetObsPar()[2]; 130 132 candidate->DZ = track.GetObsPar()[3]; 133 candidate->CtgTheta = track.GetObsPar()[4]; 131 134 candidate->P = track.GetObsP().Mag(); 132 candidate->CtgTheta = track.GetObsPar()[4];133 candidate->Phi = track.GetObsPar()[1];134 135 135 candidate->PT = pt; 136 136 candidate->Charge = q; … … 142 142 dpt = 2 * TMath::Sqrt( track.GetCov()(2, 2))*pt*pt / (0.2998*fBz); 143 143 dp = TMath::Sqrt((1.+ct*ct)*dpt*dpt + 4*pt*pt*ct*ct*dct*dct/(1.+ct*ct)/(1.+ct*ct)); 144 dC = TMath::Sqrt(track.GetCov()(2, 2)); 144 145 145 146 candidate->ErrorD0 = dd0; 146 147 candidate->ErrorDZ = ddz; 147 148 candidate->ErrorP = dp; 149 candidate->ErrorC = dC; 148 150 candidate->ErrorCtgTheta = dct; 149 151 candidate->ErrorPhi = dphi;
Note:
See TracChangeset
for help on using the changeset viewer.