Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef PhysicsTools_PatAlgos_PATObjectSelector_h
00006 #define PhysicsTools_PatAlgos_PATObjectSelector_h
00007
00008 #include "DataFormats/Common/interface/RefVector.h"
00009
00010 #include "CommonTools/UtilAlgos/interface/StringCutObjectSelector.h"
00011 #include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h"
00012 #include "CommonTools/UtilAlgos/interface/ObjectSelector.h"
00013 #include "CommonTools/UtilAlgos/interface/SingleElementCollectionSelector.h"
00014
00015 #include "DataFormats/PatCandidates/interface/Electron.h"
00016 #include "DataFormats/PatCandidates/interface/Muon.h"
00017 #include "DataFormats/PatCandidates/interface/Tau.h"
00018 #include "DataFormats/PatCandidates/interface/Photon.h"
00019 #include "DataFormats/PatCandidates/interface/Jet.h"
00020 #include "DataFormats/PatCandidates/interface/MET.h"
00021 #include "DataFormats/PatCandidates/interface/PFParticle.h"
00022 #include "DataFormats/PatCandidates/interface/GenericParticle.h"
00023 #include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h"
00024 #include "DataFormats/PatCandidates/interface/CompositeCandidate.h"
00025
00026 #include "PhysicsTools/PatAlgos/plugins/PATJetSelector.h"
00027
00028 #include <vector>
00029
00030
00031 namespace pat {
00032
00033
00034 typedef SingleObjectSelector<
00035 std::vector<Electron>,
00036 StringCutObjectSelector<Electron>
00037 > PATElectronSelector;
00038 typedef SingleObjectSelector<
00039 std::vector<Muon>,
00040 StringCutObjectSelector<Muon>
00041 > PATMuonSelector;
00042 typedef SingleObjectSelector<
00043 std::vector<Tau>,
00044 StringCutObjectSelector<Tau>
00045 > PATTauSelector;
00046 typedef SingleObjectSelector<
00047 std::vector<Photon>,
00048 StringCutObjectSelector<Photon>
00049 > PATPhotonSelector;
00050
00051
00052
00053
00054 typedef SingleObjectSelector<
00055 std::vector<MET>,
00056 StringCutObjectSelector<MET>
00057 > PATMETSelector;
00058 typedef SingleObjectSelector<
00059 std::vector<PFParticle>,
00060 StringCutObjectSelector<PFParticle>
00061 > PATPFParticleSelector;
00062 typedef SingleObjectSelector<
00063 std::vector<CompositeCandidate>,
00064 StringCutObjectSelector<CompositeCandidate, true>
00065 > PATCompositeCandidateSelector;
00066 typedef SingleObjectSelector<
00067 std::vector<TriggerObjectStandAlone>,
00068 StringCutObjectSelector<TriggerObjectStandAlone>
00069 > PATTriggerObjectStandAloneSelector;
00070 typedef SingleObjectSelector<
00071 std::vector<GenericParticle>,
00072 StringCutObjectSelector<GenericParticle>
00073 > PATGenericParticleSelector;
00074
00075 typedef SingleObjectSelector<
00076 std::vector<Electron>,
00077 StringCutObjectSelector<Electron>,
00078 edm::RefVector<std::vector<Electron> >
00079 > PATElectronRefSelector;
00080 typedef SingleObjectSelector<
00081 std::vector<Muon>,
00082 StringCutObjectSelector<Muon>,
00083 edm::RefVector<std::vector<Muon> >
00084 > PATMuonRefSelector;
00085 typedef SingleObjectSelector<
00086 std::vector<Tau>,
00087 StringCutObjectSelector<Tau>,
00088 edm::RefVector<std::vector<Tau> >
00089 > PATTauRefSelector;
00090 typedef SingleObjectSelector<
00091 std::vector<Photon>,
00092 StringCutObjectSelector<Photon>,
00093 edm::RefVector<std::vector<Photon> >
00094 > PATPhotonRefSelector;
00095 typedef SingleObjectSelector<
00096 std::vector<Jet>,
00097 StringCutObjectSelector<Jet>,
00098 edm::RefVector<std::vector<Jet> >
00099 > PATJetRefSelector;
00100 typedef SingleObjectSelector<
00101 std::vector<MET>,
00102 StringCutObjectSelector<MET>,
00103 edm::RefVector<std::vector<MET> >
00104 > PATMETRefSelector;
00105 typedef SingleObjectSelector<
00106 std::vector<PFParticle>,
00107 StringCutObjectSelector<PFParticle>,
00108 edm::RefVector<std::vector<PFParticle> >
00109 > PATPFParticleRefSelector;
00110 typedef SingleObjectSelector<
00111 std::vector<GenericParticle>,
00112 StringCutObjectSelector<GenericParticle>,
00113 edm::RefVector<std::vector<GenericParticle> >
00114 > PATGenericParticleRefSelector;
00115 typedef SingleObjectSelector<
00116 std::vector<CompositeCandidate>,
00117 StringCutObjectSelector<CompositeCandidate, true>,
00118 edm::RefVector<std::vector<CompositeCandidate> >
00119 > PATCompositeCandidateRefSelector;
00120
00121
00122
00123 }
00124
00125 #endif