CMS 3D CMS Logo

MuonPathSLFitter.h
Go to the documentation of this file.
1 #ifndef L1Trigger_DTTriggerPhase2_MuonPathSLFitter_h
2 #define L1Trigger_DTTriggerPhase2_MuonPathSLFitter_h
3 
5 
6 // ===============================================================================
7 // Previous definitions and declarations
8 // ===============================================================================
9 
10 // ===============================================================================
11 // Class declarations
12 // ===============================================================================
13 
15 public:
16  // Constructors and destructor
19  std::shared_ptr<GlobalCoordsObtainer> &globalcoordsobtainer);
20  ~MuonPathSLFitter() override;
21 
22  // Main methods
23  void initialise(const edm::EventSetup &iEventSetup) override;
25  const edm::EventSetup &iEventSetup,
26  MuonPathPtrs &inMpath,
27  std::vector<cmsdt::metaPrimitive> &metaPrimitives) override {};
28  void run(edm::Event &iEvent,
29  const edm::EventSetup &iEventSetup,
30  MuonPathPtrs &inMpath,
31  std::vector<lat_vector> &lateralities,
32  std::vector<cmsdt::metaPrimitive> &metaPrimitives) override;
34  const edm::EventSetup &iEventSetup,
35  std::vector<cmsdt::metaPrimitive> &inMPaths,
36  std::vector<cmsdt::metaPrimitive> &outMPaths) override {};
38  const edm::EventSetup &iEventSetup,
39  MuonPathPtrs &inMpath,
40  MuonPathPtrs &outMPath) override {};
41 
42  void finish() override;
43 
44  // Other public methods
45 
46  //shift theta
48  std::map<int, float> shiftthetainfo_;
49 
50  // luts
54 
55 private:
56  // Private methods
57  void analyze(MuonPathPtr &inMPath, lat_vector lat_combs, std::vector<cmsdt::metaPrimitive> &metaPrimitives);
58  void fillLuts();
59  int get_rom_addr(MuonPathPtr &inMPath, latcomb lats);
60 
61  // Private attributes
62 
63  // double chi2Th_;
64  std::vector<std::vector<int>> lut_sl1;
65  std::vector<std::vector<int>> lut_sl2;
66  std::vector<std::vector<int>> lut_sl3;
67 };
68 
69 #endif
edm::FileInPath shift_theta_filename_
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, std::vector< cmsdt::metaPrimitive > &inMPaths, std::vector< cmsdt::metaPrimitive > &outMPaths) override
std::vector< MuonPathPtr > MuonPathPtrs
Definition: MuonPath.h:132
int get_rom_addr(MuonPathPtr &inMPath, latcomb lats)
std::vector< short > latcomb
~MuonPathSLFitter() override
int iEvent
Definition: GenABIO.cc:224
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, std::vector< cmsdt::metaPrimitive > &metaPrimitives) override
void initialise(const edm::EventSetup &iEventSetup) override
std::vector< std::vector< int > > lut_sl1
std::vector< std::vector< int > > lut_sl3
std::map< int, float > shiftthetainfo_
MuonPathSLFitter(const edm::ParameterSet &pset, edm::ConsumesCollector &iC, std::shared_ptr< GlobalCoordsObtainer > &globalcoordsobtainer)
std::vector< latcomb > lat_vector
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, MuonPathPtrs &outMPath) override
edm::FileInPath sl3_filename_
edm::FileInPath sl1_filename_
void finish() override
void analyze(MuonPathPtr &inMPath, lat_vector lat_combs, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
std::shared_ptr< MuonPath > MuonPathPtr
Definition: MuonPath.h:131
edm::FileInPath sl2_filename_
std::vector< std::vector< int > > lut_sl2