Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/AngularSmearing.cc

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