File indexing completed on 2023-03-17 11:25:26
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <memory>
0020
0021
0022 #include "FWCore/Framework/interface/Event.h"
0023 #include "FWCore/Framework/interface/Frameworkfwd.h"
0024 #include "FWCore/Framework/interface/MakerMacros.h"
0025 #include "FWCore/Framework/interface/global/EDProducer.h"
0026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0027
0028 #include "MagneticField/Engine/interface/MagneticField.h"
0029 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0030
0031 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0032 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
0033 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
0034
0035 #include "TrackingTools/Records/interface/TransientRecHitRecord.h"
0036 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
0037 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0038 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
0039
0040 #include "DataFormats/TrackReco/interface/Track.h"
0041 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0042 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0043
0044
0045
0046
0047
0048 typedef math::Error<5>::type CovarianceMatrix;
0049
0050 class SeedToTrackProducer : public edm::global::EDProducer<> {
0051 public:
0052 explicit SeedToTrackProducer(const edm::ParameterSet &);
0053
0054 private:
0055 void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const final;
0056 TrajectoryStateOnSurface seedTransientState(const TrajectorySeed &,
0057 const MagneticField &,
0058 const GlobalTrackingGeometry &) const;
0059
0060
0061 edm::EDGetTokenT<TrajectorySeedCollection> L2seedsTagT_;
0062 edm::EDGetTokenT<edm::View<TrajectorySeed>> L2seedsTagS_;
0063
0064 const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theMGFieldToken;
0065 const edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> theTrackingGeometryToken;
0066 const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> theTopoToken;
0067 };