Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • classes/DelphesClasses.cc

    ra5af1df r61dccd3  
    2828
    2929#include "classes/DelphesClasses.h"
    30 
    3130#include "classes/DelphesFactory.h"
    3231#include "classes/SortableObject.h"
     
    3635CompBase *Electron::fgCompare = CompPT<Electron>::Instance();
    3736CompBase *Muon::fgCompare = CompPT<Muon>::Instance();
    38 
    3937CompBase *Jet::fgCompare = CompPT<Jet>::Instance();
    4038CompBase *Track::fgCompare = CompPT<Track>::Instance();
    4139CompBase *Tower::fgCompare = CompE<Tower>::Instance();
     40CompBase *ParticleFlowCandidate::fgCompare = CompE<ParticleFlowCandidate>::Instance();
    4241CompBase *HectorHit::fgCompare = CompE<HectorHit>::Instance();
    4342CompBase *Vertex::fgCompare = CompSumPT2<Vertex>::Instance();
    4443CompBase *Candidate::fgCompare = CompMomentumPt<Candidate>::Instance();
    45 CompBase *CscCluster::fgCompare = CompE<CscCluster>::Instance();
    4644
    4745//------------------------------------------------------------------------------
     
    104102{
    105103  TLorentzVector vec;
    106   vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0);
    107   return vec;
    108 }
     104  vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
     105  return vec;
     106}
     107
     108//------------------------------------------------------------------------------
     109
     110TMatrixDSym Track::CovarianceMatrix() const
     111{
     112  TMatrixDSym Cv;
     113  Cv.ResizeTo(5, 5);
     114
     115  // convert diagonal term to original units
     116  Cv(0, 0)=TMath::Power(ErrorD0, 2.);
     117  Cv(1, 1)=TMath::Power(ErrorPhi, 2.);
     118  Cv(2, 2)=TMath::Power(ErrorC, 2.);
     119  Cv(3, 3)=TMath::Power(ErrorDZ, 2.);
     120  Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);
     121
     122  // off diagonal terms
     123  Cv(0, 1)=ErrorD0Phi;
     124  Cv(0, 2)=ErrorD0C;
     125  Cv(0, 3)=ErrorD0DZ;
     126  Cv(0, 4)=ErrorD0CtgTheta;
     127  Cv(1, 2)=ErrorPhiC;
     128  Cv(1, 3)=ErrorPhiDZ;
     129  Cv(1, 4)=ErrorPhiCtgTheta;
     130  Cv(2, 3)=ErrorCDZ;
     131  Cv(2, 4)=ErrorCCtgTheta;
     132  Cv(3, 4)=ErrorDZCtgTheta;
     133
     134  Cv(1, 0)=Cv(0, 1);
     135  Cv(2, 0)=Cv(0, 2);
     136  Cv(3, 0)=Cv(0, 3);
     137  Cv(4, 0)=Cv(0, 4);
     138  Cv(2, 1)=Cv(1, 2);
     139  Cv(3, 1)=Cv(1, 3);
     140  Cv(4, 1)=Cv(1, 4);
     141  Cv(3, 2)=Cv(2, 3);
     142  Cv(4, 2)=Cv(2, 4);
     143  Cv(4, 3)=Cv(3, 4);
     144
     145  return Cv;
     146}
     147
    109148
    110149//------------------------------------------------------------------------------
     
    115154  vec.SetPtEtaPhiM(ET, Eta, Phi, 0.0);
    116155  return vec;
     156}
     157
     158//------------------------------------------------------------------------------
     159
     160TLorentzVector ParticleFlowCandidate::P4() const
     161{
     162  TLorentzVector vec;
     163  vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
     164  return vec;
     165}
     166
     167//------------------------------------------------------------------------------
     168
     169TMatrixDSym ParticleFlowCandidate::CovarianceMatrix() const
     170{
     171  TMatrixDSym Cv;
     172  Cv.ResizeTo(5, 5);
     173
     174  // convert diagonal term to original units
     175  Cv(0, 0)=TMath::Power(ErrorD0, 2.);
     176  Cv(1, 1)=TMath::Power(ErrorPhi, 2.);
     177  Cv(2, 2)=TMath::Power(ErrorC, 2.);
     178  Cv(3, 3)=TMath::Power(ErrorDZ, 2.);
     179  Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);
     180
     181  // off diagonal terms
     182  Cv(0, 1)=ErrorD0Phi;
     183  Cv(0, 2)=ErrorD0C;
     184  Cv(0, 3)=ErrorD0DZ;
     185  Cv(0, 4)=ErrorD0CtgTheta;
     186  Cv(1, 2)=ErrorPhiC;
     187  Cv(1, 3)=ErrorPhiDZ;
     188  Cv(1, 4)=ErrorPhiCtgTheta;
     189  Cv(2, 3)=ErrorCDZ;
     190  Cv(2, 4)=ErrorCCtgTheta;
     191  Cv(3, 4)=ErrorDZCtgTheta;
     192
     193  Cv(1, 0)=Cv(0, 1);
     194  Cv(2, 0)=Cv(0, 2);
     195  Cv(3, 0)=Cv(0, 3);
     196  Cv(4, 0)=Cv(0, 4);
     197  Cv(2, 1)=Cv(1, 2);
     198  Cv(3, 1)=Cv(1, 3);
     199  Cv(4, 1)=Cv(1, 4);
     200  Cv(3, 2)=Cv(2, 3);
     201  Cv(4, 2)=Cv(2, 4);
     202  Cv(4, 3)=Cv(3, 4);
     203
     204  return Cv;
    117205}
    118206
     
    125213  Flavor(0), FlavorAlgo(0), FlavorPhys(0),
    126214  BTag(0), BTagAlgo(0), BTagPhys(0),
    127   TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0),
     215  TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), Etrk(0.0),
    128216  DeltaEta(0.0), DeltaPhi(0.0),
    129217  Momentum(0.0, 0.0, 0.0, 0.0),
    130218  Position(0.0, 0.0, 0.0, 0.0),
    131219  InitialPosition(0.0, 0.0, 0.0, 0.0),
    132   DecayPosition(0.0, 0.0, 0.0, 0.0),
    133220  PositionError(0.0, 0.0, 0.0, 0.0),
    134221  Area(0.0, 0.0, 0.0, 0.0),
     222  TrackCovariance(5),
    135223  L(0),
    136224  D0(0), ErrorD0(0),
    137225  DZ(0), ErrorDZ(0),
    138226  P(0), ErrorP(0),
     227  C(0), ErrorC(0),
    139228  PT(0), ErrorPT(0),
    140229  CtgTheta(0), ErrorCtgTheta(0),
    141230  Phi(0), ErrorPhi(0),
    142231  Xd(0), Yd(0), Zd(0),
     232  Nclusters(0.0),
     233  dNdx(0.0),
    143234  TrackResolution(0),
    144235  NCharged(0),
    145236  NNeutrals(0),
     237  NeutralEnergyFraction(0),  // charged energy fraction
     238  ChargedEnergyFraction(0),  // neutral energy fraction
    146239  Beta(0),
    147240  BetaStar(0),
     
    163256  ExclYmerge45(0),
    164257  ExclYmerge56(0),
     258  ParticleDensity(0),
    165259  fFactory(0),
    166260  fArray(0)
     
    284378  object.Eem = Eem;
    285379  object.Ehad = Ehad;
     380  object.Etrk = Etrk;
    286381  object.Edges[0] = Edges[0];
    287382  object.Edges[1] = Edges[1];
     
    293388  object.Position = Position;
    294389  object.InitialPosition = InitialPosition;
    295   object.DecayPosition = DecayPosition;
    296390  object.PositionError = PositionError;
    297391  object.Area = Area;
     
    304398  object.P = P;
    305399  object.ErrorP = ErrorP;
     400  object.C = C;
     401  object.ErrorC = ErrorC;
    306402  object.PT = PT;
    307403  object.ErrorPT = ErrorPT;
     
    313409  object.Yd = Yd;
    314410  object.Zd = Zd;
     411  object.Nclusters = Nclusters;
     412  object.dNdx = dNdx;
    315413  object.TrackResolution = TrackResolution;
    316414  object.NCharged = NCharged;
    317415  object.NNeutrals = NNeutrals;
     416  object.NeutralEnergyFraction = NeutralEnergyFraction;
     417  object.ChargedEnergyFraction = ChargedEnergyFraction;
    318418  object.Beta = Beta;
    319419  object.BetaStar = BetaStar;
     
    366466  object.SoftDroppedSubJet1 = SoftDroppedSubJet1;
    367467  object.SoftDroppedSubJet2 = SoftDroppedSubJet2;
    368 
     468  object.TrackCovariance = TrackCovariance;
    369469  object.fFactory = fFactory;
    370470  object.fArray = 0;
     
    413513  Eem = 0.0;
    414514  Ehad = 0.0;
     515  Etrk = 0.0;
    415516  Edges[0] = 0.0;
    416517  Edges[1] = 0.0;
     
    422523  Position.SetXYZT(0.0, 0.0, 0.0, 0.0);
    423524  InitialPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    424   DecayPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    425525  Area.SetXYZT(0.0, 0.0, 0.0, 0.0);
     526  TrackCovariance.Zero();
    426527  L = 0.0;
    427528  ErrorT = 0.0;
     
    432533  P = 0.0;
    433534  ErrorP = 0.0;
     535  C = 0.0;
     536  ErrorC = 0.0;
    434537  PT = 0.0;
    435538  ErrorPT = 0.0;
     
    441544  Yd = 0.0;
    442545  Zd = 0.0;
     546  Nclusters = 0.0;
     547  dNdx = 0.0;
    443548  TrackResolution = 0.0;
    444549  NCharged = 0;
Note: See TracChangeset for help on using the changeset viewer.