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
TTStubAlgorithmRecord.h
tmtt::TMTrackProducer::stubWindowSuggest_
StubWindowSuggest & stubWindowSuggest_
Definition: TMTrackProducer.h:85
TTStubAlgorithm
Base class for any algorithm to be used in TTStubBuilder.
Definition: TTStubAlgorithm.h:29
tmtt::TMTrackProducer::degradeBend_
std::unique_ptr< DegradeBend > degradeBend_
Definition: TMTrackProducer.h:86
tmtt::TMTrackProducer::genJetToken_
edm::EDGetTokenT< reco::GenJetCollection > genJetToken_
Definition: TMTrackProducer.h:69
tmtt::TMTrackProducer::stubFEWindows_
std::unique_ptr< StubFEWindows > stubFEWindows_
Definition: TMTrackProducer.h:84
TTTypes.h
edm::Run
Definition: Run.h:45
Stub.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
tmtt::TMTrackProducer::useRZfilter_
std::vector< std::string > useRZfilter_
Definition: TMTrackProducer.h:79
TrackerTopology
Definition: TrackerTopology.h:16
tmtt::TMTrackProducer::htRphiErrMon_
HTrphi::ErrorMonitor & htRphiErrMon_
Definition: TMTrackProducer.h:89
tmtt::TMTrackProducer::fitterWorkerMap_
std::map< std::string, std::unique_ptr< TrackFitGeneric > > fitterWorkerMap_
Definition: TMTrackProducer.h:91
tmtt::TMTrackProducer::tpToken_
edm::EDGetTokenT< TrackingParticleCollection > tpToken_
Definition: TMTrackProducer.h:66
EDProducer.h
tmtt::TMTrackProducer::initializeGlobalCache
static std::unique_ptr< GlobalCacheTMTT > initializeGlobalCache(edm::ParameterSet const &iConfig)
Definition: TMTrackProducer.cc:35
L1track3D.h
TTStubAlgorithm_official
Class for "official" algorithm to be used in TTStubBuilder.
Definition: TTStubAlgorithm_official.h:37
tmtt::TMTrackProducer::trackerGeometryToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
Definition: TMTrackProducer.h:61
tmtt::TMTrackProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: TMTrackProducer.cc:154
TTClusterAssociationMap.h
tmtt::StubAlgorithmOfficial
TTStubAlgorithm_official< Ref_Phase2TrackerDigi_ > StubAlgorithmOfficial
Definition: TMTrackProducer.h:40
tmtt::StubWindowSuggest
Definition: StubWindowSuggest.h:28
tmtt::Histos
Definition: Histos.h:35
Histos.h
tmtt::TMTrackProducer::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TMTrackProducer.h:73
tmtt::TMTrackProducer
Definition: TMTrackProducer.h:42
MakerMacros.h
tmtt::TMTrackProducer::globalEndJob
static void globalEndJob(GlobalCacheTMTT *globalCacheTMTT)
Definition: TMTrackProducer.cc:403
tmtt::TMTrackProducer::runRZfilter_
bool runRZfilter_
Definition: TMTrackProducer.h:80
tmtt::TrackFitGeneric
Definition: TrackFitGeneric.h:18
tmtt::TMTrackProducer::trackFitters_
std::vector< std::string > trackFitters_
Definition: TMTrackProducer.h:78
tmtt::TMTrackProducer::settings_
Settings settings_
Definition: TMTrackProducer.h:77
tmtt::TMTrackProducer::trackerGeometry_
const TrackerGeometry * trackerGeometry_
Definition: TMTrackProducer.h:72
IdealMagneticFieldRecord.h
tmtt::TMTrackProducer::clusterTruthToken_
edm::EDGetTokenT< TTClusterAssMap > clusterTruthToken_
Definition: TMTrackProducer.h:68
tmtt::TMTrackProducer::stubTruthToken_
edm::EDGetTokenT< TTStubAssMap > stubTruthToken_
Definition: TMTrackProducer.h:67
TrackerModule.h
StubWindowSuggest.h
TrackerDigiGeometryRecord.h
Phase2TrackerDigi.h
tmtt::TMTrackProducer::hists_
Histos & hists_
Definition: TMTrackProducer.h:88
edm::ParameterSet
Definition: ParameterSet.h:47
tmtt::TMTrackProducer::trackerTopologyToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
Definition: TMTrackProducer.h:62
Event.h
tmtt::TMTrackProducer::~TMTrackProducer
~TMTrackProducer() override
Definition: TMTrackProducer.h:45
GlobalCacheTMTT.h
tmtt::Settings
Definition: Settings.h:17
TTStubAssociationMap.h
edm::stream::EDProducer
Definition: EDProducer.h:38
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
tmtt::HTrphi::ErrorMonitor
Definition: HTrphi.h:29
tmtt::GlobalCacheTMTT
Definition: GlobalCacheTMTT.h:21
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord >
tmtt::TMTrackProducer::magneticFieldToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
Definition: TMTrackProducer.h:60
TrackingParticle.h
StubFEWindows.h
tmtt::TMTrackProducer::ttStubAlgoToken_
edm::ESGetToken< StubAlgorithm, TTStubAlgorithmRecord > ttStubAlgoToken_
Definition: TMTrackProducer.h:63
tmtt::TMTrackProducer::debug_
bool debug_
Definition: TMTrackProducer.h:93
Settings.h
tmtt::TMTrackProducer::TTTrackCollection
std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > TTTrackCollection
Definition: TMTrackProducer.h:52
EventSetup.h
tmtt::TMTrackProducer::beginRun
void beginRun(const edm::Run &, const edm::EventSetup &) override
Definition: TMTrackProducer.cc:98
tmtt::TMTrackProducer::stubAlgo_
const StubAlgorithmOfficial * stubAlgo_
Definition: TMTrackProducer.h:83
ParameterSet.h
tmtt::TMTrackProducer::listTrackerModule_
std::list< TrackerModule > listTrackerModule_
Definition: TMTrackProducer.h:74
edm::Event
Definition: Event.h:73
tmtt::StubAlgorithm
TTStubAlgorithm< Ref_Phase2TrackerDigi_ > StubAlgorithm
Definition: TMTrackProducer.h:37
tmtt
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
tmtt::TMTrackProducer::stubToken_
edm::EDGetTokenT< TTStubDetSetVec > stubToken_
Definition: TMTrackProducer.h:65
TTStubAlgorithm_official.h
TrackerGeometry
Definition: TrackerGeometry.h:14
tmtt::TMTrackProducer::TMTrackProducer
TMTrackProducer(const edm::ParameterSet &, GlobalCacheTMTT const *globalCacheTMTT)
Definition: TMTrackProducer.cc:39