Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/AngularSmearing.cc

    rf298e48 rfd4b326  
    9898{
    9999  Candidate *candidate, *mother;
    100   Double_t pt, eta, phi, e;
     100  Double_t pt, eta, phi, e, m;
    101101
    102102  fItInputArray->Reset();
    103103  while((candidate = static_cast<Candidate *>(fItInputArray->Next())))
    104104  {
    105     const TLorentzVector &candidatePosition = candidate->Position;
    106105    const TLorentzVector &candidateMomentum = candidate->Momentum;
    107     eta = candidatePosition.Eta();
    108     phi = candidatePosition.Phi();
     106    eta = candidateMomentum.Eta();
     107    phi = candidateMomentum.Phi();
    109108    pt = candidateMomentum.Pt();
    110109    e = candidateMomentum.E();
     110    m = candidateMomentum.M();
    111111
    112112    // apply smearing formula for eta,phi
    113 
    114113    eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e, candidate));
    115114    phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e, candidate));
     
    119118    mother = candidate;
    120119    candidate = static_cast<Candidate *>(candidate->Clone());
    121     eta = candidateMomentum.Eta();
    122     phi = candidateMomentum.Phi();
    123     candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta));
     120    candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m);
    124121    candidate->AddCandidate(mother);
    125122
Note: See TracChangeset for help on using the changeset viewer.