CMS 3D CMS Logo

MuonPathAssociator.h
Go to the documentation of this file.
1 #ifndef Phase2L1Trigger_DTTrigger_MuonPathAssociator_h
2 #define Phase2L1Trigger_DTTrigger_MuonPathAssociator_h
3 
9 
15 
19 
23 
24 #include <iostream>
25 #include <fstream>
26 
27 // ===============================================================================
28 // Previous definitions and declarations
29 // ===============================================================================
30 
31 // ===============================================================================
32 // Class declarations
33 // ===============================================================================
34 
36 public:
37  // Constructors and destructor
40  std::shared_ptr<GlobalCoordsObtainer> &globalcoordsobtainer);
42 
43  // Main methods
44  void initialise(const edm::EventSetup &iEventSetup);
45  void run(edm::Event &iEvent,
46  const edm::EventSetup &iEventSetup,
48  std::vector<cmsdt::metaPrimitive> &inMPaths,
49  std::vector<cmsdt::metaPrimitive> &outMPaths);
50 
51  void finish();
52 
53  // Other public methods
54 
57  void removeSharingFits(std::vector<cmsdt::metaPrimitive> &chamberMPaths,
58  std::vector<cmsdt::metaPrimitive> &allMPaths);
59  void removeSharingHits(std::vector<cmsdt::metaPrimitive> &firstMPaths,
60  std::vector<cmsdt::metaPrimitive> &secondMPaths,
61  std::vector<cmsdt::metaPrimitive> &allMPaths);
63 
64  // Public attributes
67 
68 private:
69  // Private methods
71  std::vector<cmsdt::metaPrimitive> &inMPaths,
72  std::vector<cmsdt::metaPrimitive> &outMPaths);
73 
74  bool hasPosRF(int wh, int sec) { return wh > 0 || (wh == 0 && sec % 4 > 1); }
75 
76  // Private attributes
77  const bool debug_;
85  double chi2corTh_;
86 
87  //shift
89  std::map<int, float> shiftinfo_;
90 
91  // global coordinates
92  std::shared_ptr<GlobalCoordsObtainer> globalcoordsobtainer_;
93 };
94 
95 #endif
bool isNotAPrimo(cmsdt::metaPrimitive first, cmsdt::metaPrimitive second)
void correlateMPaths(edm::Handle< DTDigiCollection > digis, std::vector< cmsdt::metaPrimitive > &inMPaths, std::vector< cmsdt::metaPrimitive > &outMPaths)
std::map< int, float > shiftinfo_
edm::FileInPath shift_filename_
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, edm::Handle< DTDigiCollection > digis, std::vector< cmsdt::metaPrimitive > &inMPaths, std::vector< cmsdt::metaPrimitive > &outMPaths)
std::shared_ptr< GlobalCoordsObtainer > globalcoordsobtainer_
U second(std::pair< T, U > const &p)
int iEvent
Definition: GenABIO.cc:224
void removeSharingHits(std::vector< cmsdt::metaPrimitive > &firstMPaths, std::vector< cmsdt::metaPrimitive > &secondMPaths, std::vector< cmsdt::metaPrimitive > &allMPaths)
void printmPC(cmsdt::metaPrimitive mP)
bool shareFit(cmsdt::metaPrimitive first, cmsdt::metaPrimitive second)
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH_
void initialise(const edm::EventSetup &iEventSetup)
bool hasPosRF(int wh, int sec)
DTGeometry const * dtGeo_
void removeSharingFits(std::vector< cmsdt::metaPrimitive > &chamberMPaths, std::vector< cmsdt::metaPrimitive > &allMPaths)
MuonPathAssociator(const edm::ParameterSet &pset, edm::ConsumesCollector &iC, std::shared_ptr< GlobalCoordsObtainer > &globalcoordsobtainer)