CMS 3D CMS Logo

PATGenericParticleProducer.h

Go to the documentation of this file.
00001 //
00002 // $Id: PATGenericParticleProducer.h,v 1.6.4.1 2009/04/28 14:29:39 gpetrucc Exp $
00003 //
00004 
00005 #ifndef PhysicsTools_PatAlgos_PATGenericParticleProducer_h
00006 #define PhysicsTools_PatAlgos_PATGenericParticleProducer_h
00007 
00020 #include "FWCore/Framework/interface/EDProducer.h"
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 
00024 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00025 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
00026 #include "DataFormats/Common/interface/Association.h"
00027 #include "DataFormats/Common/interface/ValueMap.h"
00028 
00029 #include "PhysicsTools/Utilities/interface/EtComparator.h"
00030 
00031 #include "DataFormats/PatCandidates/interface/GenericParticle.h"
00032 
00033 #include "PhysicsTools/PatAlgos/interface/MultiIsolator.h"
00034 #include "PhysicsTools/PatAlgos/interface/EfficiencyLoader.h"
00035 #include "PhysicsTools/PatAlgos/interface/VertexingHelper.h"
00036 
00037 #include "DataFormats/PatCandidates/interface/UserData.h"
00038 #include "PhysicsTools/PatAlgos/interface/PATUserDataHelper.h"
00039 
00040 namespace pat {
00041 
00042   class PATGenericParticleProducer : public edm::EDProducer {
00043 
00044     public:
00045 
00046       explicit PATGenericParticleProducer(const edm::ParameterSet & iConfig);
00047       ~PATGenericParticleProducer();
00048 
00049       virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup);
00050 
00051     private:
00052 
00053       // configurables
00054       edm::InputTag src_;
00055 
00056       // embed RECo objects
00057       bool embedSuperCluster_, embedTrack_, embedTracks_, embedGsfTrack_, embedCaloTower_, embedStandalone_, embedCombined_;
00058 
00059       bool addQuality_;
00060       edm::InputTag qualitySrc_;
00061 
00062       bool addGenMatch_;
00063       bool embedGenMatch_;
00064       std::vector<edm::InputTag> genMatchSrc_;
00065 
00066       bool addTrigMatch_;
00067       std::vector<edm::InputTag> trigPrimSrc_;
00068 
00069       // tools
00070       GreaterByEt<GenericParticle> eTComparator_;
00071 
00072       pat::helper::MultiIsolator isolator_; 
00073       pat::helper::MultiIsolator::IsolationValuePairs isolatorTmpStorage_; // better here than recreate at each event
00074       std::vector<std::pair<pat::IsolationKeys,edm::InputTag> > isoDepositLabels_;
00075 
00076       bool addEfficiencies_;
00077       pat::helper::EfficiencyLoader efficiencyLoader_;
00078 
00079       pat::helper::VertexingHelper vertexingHelper_;
00080 
00081       bool useUserData_;
00082       pat::PATUserDataHelper<pat::GenericParticle> userDataHelper_;
00083 
00084   };
00085 
00086 
00087 }
00088 
00089 #endif

Generated on Tue Jun 9 17:41:39 2009 for CMSSW by  doxygen 1.5.4