File indexing completed on 2024-04-06 12:28:27
0001 #ifndef CD_NuclearSeedsEDProducer_H_
0002 #define CD_NuclearSeedsEDProducer_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <memory>
0023
0024
0025 #include "FWCore/Framework/interface/ESHandle.h"
0026
0027 #include "FWCore/Framework/interface/Frameworkfwd.h"
0028 #include "FWCore/Framework/interface/stream/EDProducer.h"
0029
0030 #include "FWCore/Framework/interface/Event.h"
0031 #include "FWCore/Framework/interface/MakerMacros.h"
0032
0033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0034
0035 #include "RecoTracker/NuclearSeedGenerator/interface/NuclearInteractionFinder.h"
0036
0037 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0038 #include "RecoTracker/NuclearSeedGenerator/interface/TrajectoryToSeedMap.h"
0039
0040 namespace reco {
0041 class TransientTrack;
0042 }
0043
0044 class Trajectory;
0045 class Chi2MeasurementEstimatorBase;
0046 class CkfComponentsRecord;
0047 class NavigationSchoolRecord;
0048
0049
0050
0051
0052
0053 class NuclearSeedsEDProducer : public edm::stream::EDProducer<> {
0054 public:
0055 explicit NuclearSeedsEDProducer(const edm::ParameterSet&);
0056 ~NuclearSeedsEDProducer() override;
0057
0058 private:
0059 void beginRun(edm::Run const& run, const edm::EventSetup&) override;
0060 void produce(edm::Event&, const edm::EventSetup&) override;
0061
0062
0063 NuclearInteractionFinder::Config config_;
0064 std::unique_ptr<NuclearInteractionFinder> theNuclearInteractionFinder;
0065
0066 bool improveSeeds;
0067 edm::EDGetTokenT<TrajectoryCollection> producer_;
0068 edm::EDGetTokenT<MeasurementTrackerEvent> mteToken_;
0069
0070 edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerGeomToken_;
0071 edm::ESGetToken<Propagator, TrackingComponentsRecord> propagatorToken_;
0072 edm::ESGetToken<Chi2MeasurementEstimatorBase, TrackingComponentsRecord> estimatorToken_;
0073 edm::ESGetToken<MeasurementTracker, CkfComponentsRecord> measurementTrackerToken_;
0074 edm::ESGetToken<GeometricSearchTracker, TrackerRecoGeometryRecord> geomSearchTrackerToken_;
0075 edm::ESGetToken<NavigationSchool, NavigationSchoolRecord> navigationToken_;
0076 };
0077 #endif