CMS 3D CMS Logo

Typedefs | Functions

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h File Reference

#include <vector>
#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/Common/interface/RefVector.h"
#include "DataFormats/Common/interface/RefProd.h"

Go to the source code of this file.

Typedefs

typedef std::vector
< TrackingParticle
TrackingParticleCollection
typedef edm::RefVector
< TrackingParticleCollection
TrackingParticleContainer
typedef edm::Ref
< TrackingParticleCollection
TrackingParticleRef
typedef edm::RefProd
< TrackingParticleCollection
TrackingParticleRefProd
typedef edm::RefVector
< TrackingParticleCollection
TrackingParticleRefVector

Functions

std::ostream & operator<< (std::ostream &s, TrackingParticle const &tp)

Typedef Documentation

Definition at line 8 of file TrackingParticleFwd.h.

Definition at line 13 of file TrackingParticleFwd.h.

Definition at line 10 of file TrackingParticleFwd.h.

Definition at line 12 of file TrackingParticleFwd.h.

Definition at line 11 of file TrackingParticleFwd.h.


Function Documentation

std::ostream& operator<< ( std::ostream &  s,
TrackingParticle const &  tp 
)

Concrete TrackingParticle. All track parameters are passed in the constructor and stored internally.

Definition at line 12 of file TrackingDataPrint.h.

References EncodedEventId::bunchCrossing(), TrackingParticle::charge(), TrackingParticle::decayVertices(), TrackingParticle::decayVertices_begin(), TrackingParticle::decayVertices_end(), EncodedEventId::event(), TrackingParticle::eventId(), TrackingParticle::g4Track_begin(), TrackingParticle::g4Track_end(), TrackingParticle::genParticle_begin(), TrackingParticle::genParticle_end(), TrackingParticle::momentum(), TrackingParticle::p4(), TrackingParticle::parentVertex(), TrackingParticle::pdgId(), alignCSCRings::s, edm::RefVector< C, T, F >::size(), and TrackingParticle::vertex().

{

    // Compare momenta from sources
    s << "T.P.   Track Momentum, q , ID, & Event # "
    << tp.p4()    << " " << tp.charge() << " "
    << tp.pdgId() << " "
    << tp.eventId().bunchCrossing() << "." << tp.eventId().event()
    << std::endl;
    s << " Hits for this track: " << tp.trackPSimHit().size()
    << std::endl;

    for (TrackingParticle::genp_iterator hepT = tp.genParticle_begin();
            hepT !=  tp.genParticle_end(); ++hepT)
    {
        s << " HepMC Track Momentum " << (*hepT)->momentum().mag() << std::endl;
    }
    for (TrackingParticle::g4t_iterator g4T = tp.g4Track_begin();
            g4T !=  tp.g4Track_end(); ++g4T)
    {
        s << " Geant Track Momentum  " << g4T->momentum() << std::endl;
        s << " Geant Track ID & type " << g4T->trackId() << " "
        << g4T->type() << std::endl;
        if (g4T->type() !=  tp.pdgId())
        {
            s << " Mismatch b/t TrackingParticle and Geant types"
            << std::endl;
        }
    }
    return s;
}