28 s <<
"CP momentum, q, ID, & Event #: " <<
tp.p4() <<
" " <<
tp.charge() <<
" " <<
tp.pdgId() <<
" " 29 <<
tp.eventId().bunchCrossing() <<
"." <<
tp.eventId().event() << std::endl;
30 s <<
" Offset " <<
tp.trackIdOffset() <<
" " 31 <<
" LC time " <<
tp.simLCTime() <<
" LC energy " <<
tp.simLCEnergy() << std::endl;
34 s <<
" HepMC Track Momentum " << (*hepT)->momentum().rho() << std::endl;
38 s <<
" Geant Track Momentum " << g4T->momentum() << std::endl;
39 s <<
" Geant Track ID & type " << g4T->trackId() <<
" " << g4T->type() << std::endl;
40 if (g4T->type() !=
tp.pdgId()) {
41 s <<
" Mismatch b/t MtdSimLayerCluster and Geant types" << std::endl;
44 s <<
" # of cells = " <<
tp.mtdHits_.size()
45 <<
", effective cells = " << std::accumulate(
tp.fractions_.begin(),
tp.fractions_.end(), 0.f) << std::endl;
void addG4Track(const SimTrack &t)
std::vector< SimTrack >::const_iterator g4t_iterator
const math::XYZTLorentzVectorD & momentum() const
EncodedEventId eventId() const
unsigned int trackId() const
std::ostream & operator<<(std::ostream &s, MtdSimLayerCluster const &tp)
math::XYZTLorentzVectorF theMomentum_