CMS 3D CMS Logo

GlobalCacheTMTT.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_GlobalCacheTMTT_h
2 #define L1Trigger_TrackFindingTMTT_GlobalCacheTMTT_h
3 
4 // Data shared across all streams by TMTT L1 tracking.
5 //
6 // Provides the python configuration parameters
7 // & optional histogramming/debugging.
8 
15 
16 #include <list>
17 #include <memory>
18 
19 namespace tmtt {
20 
22  public:
24  : settings_(iConfig), // Python configuration params
25  htRphiErrMon_(), // rphi HT error monitoring
26  stubWindowSuggest_(&settings_), // Recommend FE stub window sizes.
27  hists_(&settings_) // Histograms
28  {
29  hists_.book();
30  }
31 
32  // Get functions
33  const Settings& settings() const { return settings_; }
36  const std::list<TrackerModule>& listTrackerModule() const { return listTrackerModule_; }
37  Histos& hists() const { return hists_; }
38 
39  // Set functions
40  void setListTrackerModule(const std::list<TrackerModule>& list) const {
41  // Allow only one thread to run this function at a time
42  static std::mutex myMutex;
43  std::lock_guard<std::mutex> myGuard(myMutex);
44 
45  // Only need one copy of tracker geometry for histogramming.
46  if (listTrackerModule_.empty())
47  listTrackerModule_ = list;
48  }
49 
50  private:
54  mutable std::list<TrackerModule> listTrackerModule_;
55  mutable Histos hists_;
56  };
57 
58 } // namespace tmtt
59 
60 #endif
tmtt::GlobalCacheTMTT::htRphiErrMon
HTrphi::ErrorMonitor & htRphiErrMon() const
Definition: GlobalCacheTMTT.h:34
tmtt::GlobalCacheTMTT::stubWindowSuggest
StubWindowSuggest & stubWindowSuggest() const
Definition: GlobalCacheTMTT.h:35
tmtt::GlobalCacheTMTT::listTrackerModule
const std::list< TrackerModule > & listTrackerModule() const
Definition: GlobalCacheTMTT.h:36
tmtt::GlobalCacheTMTT::stubWindowSuggest_
StubWindowSuggest stubWindowSuggest_
Definition: GlobalCacheTMTT.h:53
tmtt::GlobalCacheTMTT::setListTrackerModule
void setListTrackerModule(const std::list< TrackerModule > &list) const
Definition: GlobalCacheTMTT.h:40
tmtt::GlobalCacheTMTT::hists
Histos & hists() const
Definition: GlobalCacheTMTT.h:37
tmtt::StubWindowSuggest
Definition: StubWindowSuggest.h:28
tmtt::Histos::book
virtual void book()
Definition: Histos.cc:55
tmtt::Histos
Definition: Histos.h:35
tmtt::GlobalCacheTMTT::htRphiErrMon_
HTrphi::ErrorMonitor htRphiErrMon_
Definition: GlobalCacheTMTT.h:52
Histos.h
HTrphi.h
TrackerModule.h
StubWindowSuggest.h
tmtt::GlobalCacheTMTT::hists_
Histos hists_
Definition: GlobalCacheTMTT.h:55
edm::ParameterSet
Definition: ParameterSet.h:47
tmtt::GlobalCacheTMTT::GlobalCacheTMTT
GlobalCacheTMTT(const edm::ParameterSet &iConfig)
Definition: GlobalCacheTMTT.h:23
tmtt::GlobalCacheTMTT::settings_
Settings settings_
Definition: GlobalCacheTMTT.h:51
tmtt::Settings
Definition: Settings.h:17
mutex
static std::mutex mutex
Definition: Proxy.cc:8
tmtt::GlobalCacheTMTT::listTrackerModule_
std::list< TrackerModule > listTrackerModule_
Definition: GlobalCacheTMTT.h:54
tmtt::HTrphi::ErrorMonitor
Definition: HTrphi.h:29
tmtt::GlobalCacheTMTT
Definition: GlobalCacheTMTT.h:21
Settings.h
ParameterSet.h
tmtt
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
tmtt::GlobalCacheTMTT::settings
const Settings & settings() const
Definition: GlobalCacheTMTT.h:33