Fork me on GitHub

Changes in / [f9aeea6:97ef971] in git


Ignore:
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • classes/DelphesClasses.cc

    rf9aeea6 r97ef971  
    139139  PositionError(0.0, 0.0, 0.0, 0.0),
    140140  Area(0.0, 0.0, 0.0, 0.0),
    141   TrackCovarianceACTS(6),
     141  TrackCovariance(5),
    142142  L(0),
    143143  D0(0), ErrorD0(0),
    144144  DZ(0), ErrorDZ(0),
    145145  P(0), ErrorP(0),
     146  C(0), ErrorC(0),
    146147  PT(0), ErrorPT(0),
    147148  CtgTheta(0), ErrorCtgTheta(0),
     
    313314  object.P = P;
    314315  object.ErrorP = ErrorP;
     316  object.C = C;
     317  object.ErrorC = ErrorC;
    315318  object.PT = PT;
    316319  object.ErrorPT = ErrorPT;
     
    377380  object.SoftDroppedSubJet1 = SoftDroppedSubJet1;
    378381  object.SoftDroppedSubJet2 = SoftDroppedSubJet2;
    379   object.TrackCovarianceACTS = TrackCovarianceACTS;
     382  object.TrackCovariance = TrackCovariance;
    380383  object.fFactory = fFactory;
    381384  object.fArray = 0;
     
    434437  InitialPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    435438  Area.SetXYZT(0.0, 0.0, 0.0, 0.0);
    436   TrackCovarianceACTS.Zero();
     439  TrackCovariance.Zero();
    437440  L = 0.0;
    438441  ErrorT = 0.0;
     
    443446  P = 0.0;
    444447  ErrorP = 0.0;
     448  C = 0.0;
     449  ErrorC = 0.0;
    445450  PT = 0.0;
    446451  ErrorPT = 0.0;
  • classes/DelphesClasses.h

    rf9aeea6 r97ef971  
    651651
    652652  Float_t L; // path length
     653  Float_t DZ;
     654  Float_t ErrorDZ;
    653655  Float_t ErrorT; // path length
    654656  Float_t D0;
    655657  Float_t ErrorD0;
    656   Float_t DZ;
    657   Float_t ErrorDZ;
     658  Float_t C;
     659  Float_t ErrorC;
    658660  Float_t P;
    659661  Float_t ErrorP;
     
    700702  Float_t SumPt;
    701703
    702   // ACTS compliant 6x6 track covariance (D, z0, phi0, theta, q/p, time)
    703 
    704   TMatrixDSym TrackCovarianceACTS;
     704  // ACTS compliant 6x6 track covariance (D0, phi, Curvature, dz, ctg(theta))
     705
     706  TMatrixDSym TrackCovariance;
    705707
    706708  // vertex variables
  • external/TrackCovariance/ObsTrk.cc

    rf9aeea6 r97ef971  
    2020        fGenPar.ResizeTo(5);
    2121        fGenParACTS.ResizeTo(6);
     22        fGenParILC.ResizeTo(5);
    2223        fObsPar.ResizeTo(5);
    2324        fObsParACTS.ResizeTo(6);
     25        fObsParILC.ResizeTo(5);
    2426        fCov.ResizeTo(5, 5);
    2527        fCovACTS.ResizeTo(6, 6);
     28        fCovILC.ResizeTo(5, 5);
    2629        fGenPar = XPtoPar(x,p,Q);
    2730        fGenParACTS = ParToACTS(fGenPar);
     31        fGenParILC = ParToILC(fGenPar);
    2832        /*
    2933        std::cout << "ObsTrk::ObsTrk: fGenPar";
     
    3337        fObsPar = GenToObsPar(fGenPar, fGC);
    3438        fObsParACTS = ParToACTS(fObsPar);
     39        fObsParILC = ParToILC(fObsPar);
    3540        fObsX = ParToX(fObsPar);
    3641        fObsP = ParToP(fObsPar);
    3742        fObsQ = ParToQ(fObsPar);
    3843        fCovACTS = CovToACTS(fCov);
     44        fCovILC = CovToILC(fCov);
    3945}
    4046//
     
    206212}
    207213
     214// Parameter conversion to ILC format
     215TVectorD 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
     228TMatrixDSym 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
    208250
    209251
  • external/TrackCovariance/ObsTrk.h

    rf9aeea6 r97ef971  
    2929        TVector3 fObsP;                                 // Observed  track momentum @ track minimum approach
    3030        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))
    3233        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))
    3436        TMatrixDSym fCov;                               // INterpolated covariance of track parameters
    3537        TMatrixDSym fCovACTS;                   // Covariance of track parameters in ACTS format
    3638                                                                        // (D, z0, phi0, theta, q/p, time)
     39        TMatrixDSym fCovILC;                            // Covariance of track parameters in ILC format
     40                                                                        // (d0, phi0, w, z0, tan(lambda))
    3741        //
    3842        // Conversion to ACTS parametrization
    3943        //
    4044        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
    4251        //
    4352public:
     
    6877        // D, z0, phi0, theta, q/p, time
    6978        TVectorD GetGenParACTS()        { return fGenParACTS; }
     79        // d0, phi0, w, z0, tan(lambda)
     80        TVectorD GetGenParILC() { return fGenParILC; }
    7081        // Observed level X, P, Q
    7182        Double_t GetObsQ()      { return fObsQ; }
     
    7687        // D, z0, phi0, theta, q/p, time
    7788        TVectorD GetObsParACTS()        { return fObsParACTS; }
     89        // d0, phi0, w, z0, tan(lambda)
     90        TVectorD GetObsParILC() { return fObsParILC; }
    7891        // Covariances
    7992        TMatrixDSym GetCov(){ return fCov; }
    80         TMatrixDSym GetCovACTS(){ return fCovACTS; };
     93        TMatrixDSym GetCovACTS(){ return fCovACTS; }
     94        TMatrixDSym GetCovILC(){ return fCovILC; }
    8195};
    8296
  • modules/TrackCovariance.cc

    rf9aeea6 r97ef971  
    9696  Candidate *candidate, *mother;
    9797  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;
    9999 
    100100
     
    115115    candidate->InitialPosition.SetXYZT(track.GetObsX().X(),track.GetObsX().Y(),track.GetObsX().Z(),candidatePosition.T());
    116116   
    117     // save full ACTS friendly covariance matrix internally (6x6: D, z0, phi0, theta, q/p, time)
    118     candidate->TrackCovarianceACTS = track.GetCovACTS();
     117    // save full covariance 5x5 matrix internally (D0, phi, Curvature, dz, ctg(theta))
     118    candidate->TrackCovariance = track.GetCov();
    119119
    120120    pt = candidate->Momentum.Pt();
     
    128128   
    129129    candidate->D0 = track.GetObsPar()[0];
     130    candidate->Phi = track.GetObsPar()[1];
     131    candidate->C = track.GetObsPar()[2];
    130132    candidate->DZ = track.GetObsPar()[3];
     133    candidate->CtgTheta = track.GetObsPar()[4];
    131134    candidate->P  = track.GetObsP().Mag();
    132     candidate->CtgTheta = track.GetObsPar()[4];
    133     candidate->Phi = track.GetObsPar()[1];
    134 
    135135    candidate->PT = pt;
    136136    candidate->Charge = q;
     
    142142    dpt       = 2 * TMath::Sqrt( track.GetCov()(2, 2))*pt*pt / (0.2998*fBz);
    143143    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));
    144145
    145146    candidate->ErrorD0 = dd0;
    146147    candidate->ErrorDZ = ddz;
    147148    candidate->ErrorP = dp;
     149    candidate->ErrorC = dC;
    148150    candidate->ErrorCtgTheta = dct;
    149151    candidate->ErrorPhi = dphi;
Note: See TracChangeset for help on using the changeset viewer.