#ifndef ATLAS_AtlWDecayLNu
#include <AtlWDecayLNu.h>
#endif
#include <iostream>
using namespace std;
#ifndef __CINT__
ClassImp(AtlWDecayLNu);
#endif
AtlWDecayLNu::AtlWDecayLNu() {
fChargedLepton = new HepParticle;
}
AtlWDecayLNu::AtlWDecayLNu(Int_t Id, Float_t Px_W, Float_t Py_W,
Float_t Pz_W, Float_t E_W, HepParticle *lepton_orig,
Float_t Px_lep, Float_t Py_lep, Float_t Pz_lep,
Float_t E_lep, HepParticle *neutrino,
ProductionMode mode) :
HepWDecay(Id, Px_W, Py_W, Pz_W, E_W, (TObject*)lepton_orig, (TObject*)neutrino,
mode) {
fChargedLepton = new HepParticle(1, Px_lep, Py_lep, Pz_lep,
E_lep, lepton_orig->GetPdgCode());
}
AtlWDecayLNu::~AtlWDecayLNu() {
delete fChargedLepton;
}
void AtlWDecayLNu::Clear(Option_t *option) {
HepWDecay::Clear(option);
fChargedLepton->Clear(option);
}
void AtlWDecayLNu::Print(Option_t *option) {
cout << endl << endl
<< "Leptonic W-boson decay #" << fId << endl
<< "============================" << endl
<< "Kinematic fit result: chi^2/NDoF = "
<< fChi2 << " / " << fNDoF << " Prob = " << fProb << endl << endl
<< "Reconstructed W-boson:" << endl;
HepParticle::Print();
cout << endl
<< "Outgoing (original) charged lepton:" << endl;
GetChargedLeptonOrig()->Print();
cout << "Improved charged lepton 4-momentum: ";
HepParticle::PrintLorentzVector(GetChargedLepton()->P());
cout << endl
<< "Outgoing reconstructed neutrino:" << endl;
GetNeutrino()->Print();
cout << endl;
}