CMS 3D CMS Logo

TMTrackProducer.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_TMTrackProducer_h
2 #define L1Trigger_TrackFindingTMTT_TMTrackProducer_h
3 
12 
28 //#include "L1Trigger/TrackTrigger/interface/TTStubAlgorithm.h"
29 
30 #include <vector>
31 #include <list>
32 #include <string>
33 #include <memory>
34 
35 namespace tmtt {
36 
38 
41 
42  class TMTrackProducer : public edm::stream::EDProducer<edm::GlobalCache<GlobalCacheTMTT>> {
43  public:
44  explicit TMTrackProducer(const edm::ParameterSet &, GlobalCacheTMTT const *globalCacheTMTT);
45  ~TMTrackProducer() override {}
46 
47  static std::unique_ptr<GlobalCacheTMTT> initializeGlobalCache(edm::ParameterSet const &iConfig);
48 
49  static void globalEndJob(GlobalCacheTMTT *globalCacheTMTT);
50 
51  private:
52  typedef std::vector<TTTrack<Ref_Phase2TrackerDigi_>> TTTrackCollection;
53 
54  void beginRun(const edm::Run &, const edm::EventSetup &) override;
55 
56  void produce(edm::Event &, const edm::EventSetup &) override;
57 
58  private:
59  // ES tokens
64  // ED tokens
70 
71  // Info about tracker geometry
74  std::list<TrackerModule> listTrackerModule_;
75 
76  // Configuration parameters
78  std::vector<std::string> trackFitters_;
79  std::vector<std::string> useRZfilter_;
81 
82  // Stub window sizes used by FE electronics.
84  std::unique_ptr<StubFEWindows> stubFEWindows_;
86  std::unique_ptr<DegradeBend> degradeBend_;
87 
90 
91  std::map<std::string, std::unique_ptr<TrackFitGeneric>> fitterWorkerMap_;
92 
93  bool debug_;
94  };
95 
96 } // namespace tmtt
97 
98 #endif
Class for "official" algorithm to be used in TTStubBuilder.
const StubAlgorithmOfficial * stubAlgo_
static std::unique_ptr< GlobalCacheTMTT > initializeGlobalCache(edm::ParameterSet const &iConfig)
HTrphi::ErrorMonitor & htRphiErrMon_
Base class for any algorithm to be used in TTStubBuilder.
std::unique_ptr< DegradeBend > degradeBend_
const TrackerTopology * trackerTopology_
std::unique_ptr< StubFEWindows > stubFEWindows_
TTStubAlgorithm< Ref_Phase2TrackerDigi_ > StubAlgorithm
std::map< std::string, std::unique_ptr< TrackFitGeneric > > fitterWorkerMap_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
edm::EDGetTokenT< TrackingParticleCollection > tpToken_
edm::EDGetTokenT< TTClusterAssMap > clusterTruthToken_
edm::EDGetTokenT< TTStubAssMap > stubTruthToken_
static void globalEndJob(GlobalCacheTMTT *globalCacheTMTT)
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< std::string > trackFitters_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
const TrackerGeometry * trackerGeometry_
edm::ESGetToken< StubAlgorithm, TTStubAlgorithmRecord > ttStubAlgoToken_
std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > TTTrackCollection
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
void beginRun(const edm::Run &, const edm::EventSetup &) override
std::list< TrackerModule > listTrackerModule_
TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ > StubAlgorithmOfficial
TMTrackProducer(const edm::ParameterSet &, GlobalCacheTMTT const *globalCacheTMTT)
StubWindowSuggest & stubWindowSuggest_
edm::EDGetTokenT< TTStubDetSetVec > stubToken_
edm::EDGetTokenT< reco::GenJetCollection > genJetToken_
Definition: Run.h:45
std::vector< std::string > useRZfilter_