Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:59

0001 #ifndef CkfTrajectoryMaker_h
0002 #define CkfTrajectoryMaker_h
0003 
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 
0010 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h"
0011 
0012 #include "MagneticField/Engine/interface/MagneticField.h"
0013 #include "TrackingTools/DetLayers/interface/NavigationSchool.h"
0014 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
0015 
0016 #include "RecoTracker/CkfPattern/interface/RedundantSeedCleaner.h"
0017 #include "RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h"
0018 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
0019 #include "DataFormats/TrackReco/interface/SeedStopInfo.h"
0020 
0021 class TransientInitialStateEstimator;
0022 
0023 namespace cms {
0024   class dso_internal CkfTrajectoryMaker : public edm::stream::EDProducer<>, public CkfTrackCandidateMakerBase {
0025   public:
0026     typedef std::vector<Trajectory> TrajectoryCollection;
0027 
0028     explicit CkfTrajectoryMaker(const edm::ParameterSet& conf) : CkfTrackCandidateMakerBase(conf, consumesCollector()) {
0029       theTrackCandidateOutput = conf.getParameter<bool>("trackCandidateAlso");
0030       theTrajectoryOutput = true;
0031       if (theTrackCandidateOutput)
0032         produces<TrackCandidateCollection>();
0033       produces<TrajectoryCollection>();
0034       produces<std::vector<SeedStopInfo> >();
0035     }
0036 
0037     ~CkfTrajectoryMaker() override { ; }
0038 
0039     static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0040       edm::ParameterSetDescription desc;
0041       desc.setComment("Make CKF trajectories");
0042       desc.add<bool>("trackCandidateAlso", false);
0043       CkfTrackCandidateMakerBase::fillPSetDescription(desc);
0044       descriptions.addWithDefaultLabel(desc);
0045     }
0046 
0047     void beginRun(edm::Run const& run, edm::EventSetup const& es) override { beginRunBase(run, es); }
0048 
0049     void produce(edm::Event& e, const edm::EventSetup& es) override { produceBase(e, es); }
0050   };
0051 }  // namespace cms
0052 
0053 #endif