CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/PhysicsTools/HepMCCandAlgos/interface/GenParticlesHelper.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_HepMCCandAlgos_GenParticlesHelper_h
00002 #define PhysicsTools_HepMCCandAlgos_GenParticlesHelper_h
00003 
00004 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00005 
00006 #include <iostream>
00007 
00008 namespace GenParticlesHelper {
00009   
00010   typedef reco::GenParticleCollection::const_iterator IG;
00011   typedef reco::GenParticleRefVector::const_iterator IGR;
00012 
00013 
00015   void findParticles(const reco::GenParticleCollection& sourceParticles,
00016                      reco::GenParticleRefVector& particleRefs, 
00017                      int pdgId, int status );
00018 
00020   void findDescendents(const reco::GenParticleRef& base, 
00021                        reco::GenParticleRefVector& descendents, 
00022                        int status, int pdgId=0 );
00023 
00025   void findSisters(const reco::GenParticleRef& baseSister, 
00026                    reco::GenParticleRefVector& sisterRefs);
00027 
00029   bool hasAncestor( const reco::GenParticle* particle,
00030                     int pdgId, int status );
00031 
00033   bool isDirect(const reco::GenParticleRef& particle);
00034 
00035   std::ostream& operator<<( std::ostream& out, 
00036                             const reco::GenParticleRef& genRef );
00037 
00038 }
00039 
00040 #endif