#ifndef ATLAS_AtlPhotonConv
#include <AtlPhotonConv.h>
#endif
#include <iostream>
using namespace std;
#ifndef __CINT__
ClassImp(AtlPhotonConv);
#endif
AtlPhotonConv::AtlPhotonConv() {
}
AtlPhotonConv::AtlPhotonConv(Int_t Id, Float_t Px, Float_t Py, Float_t Pz,
Float_t E, AtlIDTrack *ePlus, AtlIDTrack *eMinus,
HepVertex *DecayVtx, HepVertex *PrimaryVtx,
HepParticle ReFitePlus, HepParticle ReFiteMinus) :
Hep2BodyDecay(Id, Px, Py, Pz, E, (TObject*)ePlus, (TObject*)eMinus,
DecayVtx, PrimaryVtx, ReFitePlus, ReFiteMinus) {
fPdgCode = 22;
}
AtlPhotonConv::~AtlPhotonConv(){
}
void AtlPhotonConv::Clear(Option_t *option) {
Hep2BodyDecay::Clear(option);
}
void AtlPhotonConv::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 << GetePlus()->GetId();
cout.width(5); cout << GeteMinus()->GetId();
cout << endl;
if ( !opt.Contains("nohead") ) PrintFooter();
if ( opt.Contains("vtx") || opt.Contains("all") ) {
cout << endl << "Conversion vertex:" << endl;
GetVtx()->Print("daughters");
}
if ( opt.Contains("refit") || opt.Contains("all") ) {
cout << endl << "Refitted daughters:" << endl;
HepParticle::PrintHeader();
fReFitDaughter1.Print("nohead");
fReFitDaughter2.Print("nohead");
HepParticle::PrintFooter();
}
}
void AtlPhotonConv::PrintHeader() {
cout << "----------------------------------------------------------------------------------------"
<< endl
<< " Id d (cm) t (ps) P (GeV) Mrec (GeV) Theta (deg) Phi (deg) Eta Vtx Pi+ Pi-"
<< endl
<< "----------------------------------------------------------------------------------------"
<< endl;
}
void AtlPhotonConv::PrintFooter() {
cout << "----------------------------------------------------------------------------------------"
<< endl;
}