Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:01

0001 #include "FWCore/Framework/interface/stream/EDProducer.h"
0002 #include "FWCore/Utilities/interface/InputTag.h"
0003 #include "FWCore/Utilities/interface/Exception.h"
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/Utilities/interface/Visibility.h"
0006 
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "DataFormats/Common/interface/Handle.h"
0009 #include "FWCore/Framework/interface/EventSetup.h"
0010 #include "FWCore/Framework/interface/ESHandle.h"
0011 
0012 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0013 #include "PhotonConversionTrajectorySeedProducerFromSingleLegAlgo.h"
0014 //#include "UserUtilities/TimingPerformance/interface/TimeReport.h"
0015 
0016 class dso_hidden PhotonConversionTrajectorySeedProducerFromSingleLeg final : public edm::stream::EDProducer<> {
0017 public:
0018   PhotonConversionTrajectorySeedProducerFromSingleLeg(const edm::ParameterSet&);
0019   ~PhotonConversionTrajectorySeedProducerFromSingleLeg() override { delete _theFinder; }
0020   PhotonConversionTrajectorySeedProducerFromSingleLeg(const PhotonConversionTrajectorySeedProducerFromSingleLeg&) =
0021       delete;
0022   PhotonConversionTrajectorySeedProducerFromSingleLeg& operator=(
0023       const PhotonConversionTrajectorySeedProducerFromSingleLeg&) = delete;
0024   void produce(edm::Event&, const edm::EventSetup&) override;
0025 
0026 private:
0027   std::string _newSeedCandidates;
0028   PhotonConversionTrajectorySeedProducerFromSingleLegAlgo* _theFinder;
0029 };
0030 
0031 PhotonConversionTrajectorySeedProducerFromSingleLeg::PhotonConversionTrajectorySeedProducerFromSingleLeg(
0032     const edm::ParameterSet& conf)
0033     : _newSeedCandidates(conf.getParameter<std::string>("newSeedCandidates")) {
0034   _theFinder = new PhotonConversionTrajectorySeedProducerFromSingleLegAlgo(conf, consumesCollector());
0035   produces<TrajectorySeedCollection>(_newSeedCandidates);
0036 }
0037 
0038 void PhotonConversionTrajectorySeedProducerFromSingleLeg::produce(edm::Event& ev, const edm::EventSetup& es) {
0039   auto result = std::make_unique<TrajectorySeedCollection>();
0040 
0041   _theFinder->find(ev, es, *result);
0042   result->shrink_to_fit();
0043   ev.put(std::move(result), _newSeedCandidates);
0044 }
0045 
0046 #include "FWCore/Framework/interface/MakerMacros.h"
0047 DEFINE_FWK_MODULE(PhotonConversionTrajectorySeedProducerFromSingleLeg);