00001 #include "DataFormats/TrackReco/interface/Track.h" 00002 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00003 00004 #include "FWCore/Framework/interface/MakerMacros.h" 00005 00006 #include "PhysicsTools/UtilAlgos/interface/ObjectSelector.h" 00007 00008 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h" 00009 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h" 00010 00011 #include "SimTracker/TrackHistory/plugins/TrackParticleSelector.h" 00012 00013 #define DEFINE_TRACKPARTICLE_SELECTOR(Collection, Category) \ 00014 typedef ObjectSelector<TrackParticleSelector<Collection, TrackCategories::Category> > Category##Collection##Selector; \ 00015 DEFINE_FWK_MODULE( Category##Collection##Selector ) 00016 00017 00018 namespace reco 00019 { 00020 namespace modules 00021 { 00022 00023 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, SignalEvent); 00024 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Bottom); 00025 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Charm); 00026 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Light); 00027 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, BWeakDecay); 00028 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, CWeakDecay); 00029 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, TauDecay); 00030 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, KsDecay); 00031 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, LambdaDecay); 00032 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, LongLivedDecay); 00033 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Conversion); 00034 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Interaction); 00035 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, PrimaryVertex); 00036 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, SecondaryVertex); 00037 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, TierciaryVertex); 00038 DEFINE_TRACKPARTICLE_SELECTOR(TrackingParticleCollection, Unknown); 00039 00040 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Fake); 00041 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Bad); 00042 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, SignalEvent); 00043 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Bottom); 00044 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Charm); 00045 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Light); 00046 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, BWeakDecay); 00047 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, CWeakDecay); 00048 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, TauDecay); 00049 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, KsDecay); 00050 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, LambdaDecay); 00051 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, LongLivedDecay); 00052 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Conversion); 00053 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Interaction); 00054 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, PrimaryVertex); 00055 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, SecondaryVertex); 00056 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, TierciaryVertex); 00057 DEFINE_TRACKPARTICLE_SELECTOR(TrackCollection, Unknown); 00058 00059 } 00060 }