#ifndef ATLAS_AtlDstarDecayDPi
#include <AtlDstarDecayDPi.h>
#endif
#include <iostream>
using namespace std;
#ifndef __CINT__
ClassImp(AtlDstarDecayDPi);
#endif
AtlDstarDecayDPi::AtlDstarDecayDPi() {
}
AtlDstarDecayDPi::AtlDstarDecayDPi(Int_t Id, Float_t Px, Float_t Py, Float_t Pz,
Float_t E, AtlD0DecayKPi *D0, AtlIDTrack *Pion,
HepVertex *Vtx, HepVertex *PrimaryVtx,
HepParticle ReFitDaughter1, HepParticle ReFitDaughter2) :
Hep2BodyDecay(Id, Px, Py, Pz, E, D0, Pion, Vtx, PrimaryVtx, ReFitDaughter1, ReFitDaughter2) {
fPdgCode = 3122;
}
AtlDstarDecayDPi::~AtlDstarDecayDPi(){
}
void AtlDstarDecayDPi::Clear(Option_t *option) {
HepDecayParticle::Clear(option);
}
void AtlDstarDecayDPi::Print(Option_t *option) {
TString opt = option;
opt.ToLower();
if ( !opt.Contains("nohead") ) PrintHeader();
cout.setf(ios::showpoint | ios::fixed, ios::floatfield);
cout.precision(3);
cout.width(4); cout << fId;
cout.width(8); cout << GetDecayLength();
cout.width(8); cout << GetLifeTime();
cout.width(10); cout << Pmag();
cout.width(12); cout << M("rec");
cout.width(12); cout << Theta()*180/TMath::Pi();
cout.width(11); cout << Phi()*180/TMath::Pi();
cout.width(8); cout << Eta();
cout.width(5); cout << GetVtx()->GetId();
cout.width(5); cout << "-1";
cout.width(5); cout << GetPion()->GetId();
cout << endl;
if ( !opt.Contains("nohead") ) PrintFooter();
if ( opt.Contains("vtx") || opt.Contains("all") ) {
cout << endl << "D0 Decay vertex:" << endl;
GetVtx()->Print("daughters");
}
}
void AtlDstarDecayDPi::PrintHeader() {
cout << "----------------------------------------------------------------------------------------"
<< endl
<< " Id d (cm) t (ps) P (GeV) Mrec (GeV) Theta (deg) Phi (deg) Eta Vtx Pi+ Pi-"
<< endl
<< "----------------------------------------------------------------------------------------"
<< endl;
}
void AtlDstarDecayDPi::PrintFooter() {
cout << "----------------------------------------------------------------------------------------"
<< endl;
}