6 #include "AthLinks/ElementLink.h" 
    8 #include "GaudiKernel/MsgStream.h" 
    9 #include "GaudiKernel/DataSvc.h" 
   10 #include "GaudiKernel/PhysicalConstants.h" 
   30   xAODTruthReader::xAODTruthReader(
const string& 
name, ISvcLocator* svcLoc)
 
   42     return StatusCode::SUCCESS;
 
   51     if (xTruthEventContainer.
isValid()) {
 
   56       return StatusCode::FAILURE;
 
   59     ATH_MSG_INFO(
"Number of signal events in this Athena event: " << xTruthEventContainer->
size());
 
   69       if (vtx) 
ATH_MSG_INFO(
"Poistion = (" << vtx->
x() << 
", " << vtx->
y() << 
", " << vtx->
z() << 
")");
 
   97     return StatusCode::SUCCESS;
 
  104     cout << 
"--------------------------------------------------------------------------------\n";
 
  105     cout << 
"GenEvent: #" << 
"NNN" << 
"\n";
 
  106     cout << 
" Entries this event: " << 
event->nTruthVertices() << 
" vertices, " << 
event->nTruthParticles() << 
" particles.\n";
 
  107     cout << 
"                                    GenParticle Legend\n";
 
  108     if (do4momPtEtaPhi) cout << 
"        UniqueID   PDG ID      ( pt,      eta,      phi,     E ) Stat  DecayVtx\n";
 
  109     else                cout << 
"        UniqueID   PDG ID      ( Px,       Py,       Pz,     E ) Stat  DecayVtx\n";
 
  110     cout << 
"--------------------------------------------------------------------------------\n";
 
  111     for (
unsigned int iv = 0; iv < 
event->nTruthVertices(); ++iv) {
 
  114     cout << 
"--------------------------------------------------------------------------------\n";
 
  120     std::ios::fmtflags 
f( cout.flags() );
 
  122       cout << 
"TruthVertex:";
 
  133           cout.setf(ios::scientific, ios::floatfield);
 
  134           cout.setf(ios_base::showpos);
 
  135           cout << 
vertex->x() << 
",";
 
  138           cout << 
vertex->y() << 
",";
 
  141           cout << 
vertex->z() << 
",";
 
  145           cout.setf(ios::fmtflags(0), ios::floatfield);
 
  146           cout.unsetf(ios_base::showpos);
 
  154           cout << 
" (X,cT): 0";
 
  170           cout.setf(ios::scientific, ios::floatfield);
 
  171           cout.setf(ios_base::showpos);
 
  182           cout.setf(ios::fmtflags(0), ios::floatfield);
 
  183           cout.unsetf(ios_base::showpos);
 
  196       for (
unsigned int iPIn = 0; iPIn<
vertex->nIncomingParticles(); ++iPIn) {
 
  200           cout << 
vertex->nIncomingParticles();
 
  204       for (
unsigned int iPOut = 0; iPOut<
vertex->nOutgoingParticles(); ++iPOut) {
 
  208           cout << 
vertex->nOutgoingParticles();
 
  219     std::ios::fmtflags 
f( cout.flags() );
 
  228       cout.setf(ios::scientific, ios::floatfield);
 
  229       cout.setf(ios_base::showpos);
 
  230       if (do4momPtEtaPhi) cout << 
particle->pt() << 
",";
 
  234       if (do4momPtEtaPhi) cout << 
particle->eta() << 
",";
 
  238       if (do4momPtEtaPhi) cout << 
particle->phi() << 
",";
 
  243       cout.setf(ios::fmtflags(0), ios::floatfield);
 
  244       cout.unsetf(ios_base::showpos);