CMS 3D CMS Logo

MuonPathAnalyticAnalyzer.h
Go to the documentation of this file.
1 #ifndef L1Trigger_DTTriggerPhase2_MuonPathAnalyticAnalyzer_h
2 #define L1Trigger_DTTriggerPhase2_MuonPathAnalyticAnalyzer_h
3 
5 
6 // ===============================================================================
7 // Previous definitions and declarations
8 // ===============================================================================
9 
10 struct MAGNITUDE {
11  int add;
12  int coeff[4];
13  int mult;
14 };
15 
16 struct CONSTANTS {
21 };
22 
24  int latcomb;
26 };
27 
30  int valid[4];
31 };
32 
36 };
37 
38 // ===============================================================================
39 // Class declarations
40 // ===============================================================================
41 
43 public:
44  // Constructors and destructor
47  std::shared_ptr<GlobalCoordsObtainer> &globalcoordsobtainer);
48  ~MuonPathAnalyticAnalyzer() override;
49 
50  // Main methods
51  void initialise(const edm::EventSetup &iEventSetup) override;
52  void run(edm::Event &iEvent,
53  const edm::EventSetup &iEventSetup,
54  MuonPathPtrs &inMpath,
55  std::vector<cmsdt::metaPrimitive> &metaPrimitives) override;
57  const edm::EventSetup &iEventSetup,
58  MuonPathPtrs &inMpath,
59  MuonPathPtrs &outMPath) override{};
60 
61  void finish() override;
62 
63  // Other public methods
64 
65  bool hasPosRF(int wh, int sec) { return wh > 0 || (wh == 0 && sec % 4 > 1); };
66 
67  // Public attributes
68  DTGeometry const *dtGeo_;
70 
71  //shift
73  std::map<int, float> shiftinfo_;
74 
75  //shift theta
77  std::map<int, float> shiftthetainfo_;
78 
80 
81 private:
82  // Private methods
83  void analyze(MuonPathPtr &inMPath, std::vector<cmsdt::metaPrimitive> &metaPrimitives);
85  void segment_fitter(DTSuperLayerId MuonPathSLId,
86  int wires[4],
87  int t0s[4],
88  int valid[4],
89  int reduced_times[4],
90  int cell_horiz_layout[4],
91  LATCOMB_CONSTANTS latcomb_consts,
92  int xwire_mm[4],
93  int coarse_pos,
94  int coarse_offset,
95  std::vector<cmsdt::metaPrimitive> &metaPrimitives);
96  int compute_parameter(MAGNITUDE constants, int t0s[4], int DIV_SHR_BITS, int INCREASED_RES);
97  std::vector<int> getLateralityCombination(int latcomb);
98 
99  // Private attributes
100 
101  bool debug_;
102  double chi2Th_;
103  double tanPhiTh_;
108  double tanPhiThw0_;
111  std::vector<CELL_VALID_LAYOUT_CONSTANTS> LAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER;
112 
113  // global coordinates
114  std::shared_ptr<GlobalCoordsObtainer> globalcoordsobtainer_;
115 };
116 
117 #endif
DTGeometry
Definition: DTGeometry.h:28
DTSuperLayerId
Definition: DTSuperLayerId.h:12
MuonPathAnalyticAnalyzer::cellLayout_
int cellLayout_[cmsdt::NUM_LAYERS]
Definition: MuonPathAnalyticAnalyzer.h:109
MuonPathAnalyticAnalyzer::MuonPathAnalyticAnalyzer
MuonPathAnalyticAnalyzer(const edm::ParameterSet &pset, edm::ConsumesCollector &iC, std::shared_ptr< GlobalCoordsObtainer > &globalcoordsobtainer)
Definition: MuonPathAnalyticAnalyzer.cc:11
CONSTANTS::t0
MAGNITUDE t0
Definition: MuonPathAnalyticAnalyzer.h:20
MAGNITUDE
Definition: MuonPathAnalyticAnalyzer.h:10
MuonPathAnalyticAnalyzer::~MuonPathAnalyticAnalyzer
~MuonPathAnalyticAnalyzer() override
Definition: MuonPathAnalyticAnalyzer.cc:68
MuonPathAnalyticAnalyzer::shift_filename_
edm::FileInPath shift_filename_
Definition: MuonPathAnalyticAnalyzer.h:72
DigiDM_cff.wires
wires
Definition: DigiDM_cff.py:33
MuonPathAnalyticAnalyzer::shiftinfo_
std::map< int, float > shiftinfo_
Definition: MuonPathAnalyticAnalyzer.h:73
MuonPathAnalyticAnalyzer::run
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, std::vector< cmsdt::metaPrimitive > &metaPrimitives) override
Definition: MuonPathAnalyticAnalyzer.cc:85
MAGNITUDE::coeff
int coeff[4]
Definition: MuonPathAnalyticAnalyzer.h:12
MuonPathAnalyticAnalyzer::tanPhiThw1max_
double tanPhiThw1max_
Definition: MuonPathAnalyticAnalyzer.h:106
CELL_VALID_LAYOUT::cell_horiz_layout
int cell_horiz_layout[4]
Definition: MuonPathAnalyticAnalyzer.h:29
MuonPathAnalyticAnalyzer::tanPhiThw2min_
double tanPhiThw2min_
Definition: MuonPathAnalyticAnalyzer.h:105
constants
MuonPathAnalyticAnalyzer::shiftthetainfo_
std::map< int, float > shiftthetainfo_
Definition: MuonPathAnalyticAnalyzer.h:77
CONSTANTS::pos
MAGNITUDE pos
Definition: MuonPathAnalyticAnalyzer.h:17
MuonPathPtrs
std::vector< MuonPathPtr > MuonPathPtrs
Definition: MuonPath.h:128
MuonPathAnalyticAnalyzer::dtGeomH
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH
Definition: MuonPathAnalyticAnalyzer.h:69
edm::FileInPath
Definition: FileInPath.h:61
MuonPathAnalyticAnalyzer::finish
void finish() override
Definition: MuonPathAnalyticAnalyzer.cc:98
MuonPathAnalyticAnalyzer::tanPhiThw0_
double tanPhiThw0_
Definition: MuonPathAnalyticAnalyzer.h:108
MuonPathAnalyticAnalyzer::getLateralityCombination
std::vector< int > getLateralityCombination(int latcomb)
Definition: MuonPathAnalyticAnalyzer.cc:435
cmsdt::NUM_LAYERS
constexpr int NUM_LAYERS
Definition: constants.h:219
MuonPathAnalyticAnalyzer
Definition: MuonPathAnalyticAnalyzer.h:42
MuonPathAnalyticAnalyzer::compute_parameter
int compute_parameter(MAGNITUDE constants, int t0s[4], int DIV_SHR_BITS, int INCREASED_RES)
Definition: MuonPathAnalyticAnalyzer.cc:236
CONSTANTS
Definition: MuonPathAnalyticAnalyzer.h:16
MuonPathAnalyticAnalyzer::analyze
void analyze(MuonPathPtr &inMPath, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
Definition: MuonPathAnalyticAnalyzer.cc:107
MAGNITUDE::add
int add
Definition: MuonPathAnalyticAnalyzer.h:11
MuonPathAnalyticAnalyzer::hasPosRF
bool hasPosRF(int wh, int sec)
Definition: MuonPathAnalyticAnalyzer.h:65
LATCOMB_CONSTANTS::latcomb
int latcomb
Definition: MuonPathAnalyticAnalyzer.h:24
CELL_VALID_LAYOUT_CONSTANTS::latcomb_constants
LATCOMB_CONSTANTS latcomb_constants[6]
Definition: MuonPathAnalyticAnalyzer.h:35
edm::ParameterSet
Definition: ParameterSet.h:47
LATCOMB_CONSTANTS
Definition: MuonPathAnalyticAnalyzer.h:23
CONSTANTS::slope_xhh
MAGNITUDE slope_xhh
Definition: MuonPathAnalyticAnalyzer.h:19
iEvent
int iEvent
Definition: GenABIO.cc:224
MAGNITUDE::mult
int mult
Definition: MuonPathAnalyticAnalyzer.h:13
edm::EventSetup
Definition: EventSetup.h:58
MuonPathAnalyzer
Definition: MuonPathAnalyzer.h:38
MuonPathPtr
std::shared_ptr< MuonPath > MuonPathPtr
Definition: MuonPath.h:127
MuonPathAnalyticAnalyzer::shift_theta_filename_
edm::FileInPath shift_theta_filename_
Definition: MuonPathAnalyticAnalyzer.h:76
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:94
MuonPathAnalyticAnalyzer::LAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER
std::vector< CELL_VALID_LAYOUT_CONSTANTS > LAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER
Definition: MuonPathAnalyticAnalyzer.h:111
MuonPathAnalyticAnalyzer::tanPhiThw1min_
double tanPhiThw1min_
Definition: MuonPathAnalyticAnalyzer.h:107
LATCOMB_CONSTANTS::constants
CONSTANTS constants
Definition: MuonPathAnalyticAnalyzer.h:25
MuonPathAnalyticAnalyzer::debug_
bool debug_
Definition: MuonPathAnalyticAnalyzer.h:101
CELL_VALID_LAYOUT
Definition: MuonPathAnalyticAnalyzer.h:28
MuonPathAnalyticAnalyzer::initialise
void initialise(const edm::EventSetup &iEventSetup) override
Definition: MuonPathAnalyticAnalyzer.cc:76
CELL_VALID_LAYOUT_CONSTANTS
Definition: MuonPathAnalyticAnalyzer.h:33
MuonPathAnalyticAnalyzer::run
void run(edm::Event &iEvent, const edm::EventSetup &iEventSetup, MuonPathPtrs &inMpath, MuonPathPtrs &outMPath) override
Definition: MuonPathAnalyticAnalyzer.h:56
MuonPathAnalyticAnalyzer::segment_fitter
void segment_fitter(DTSuperLayerId MuonPathSLId, int wires[4], int t0s[4], int valid[4], int reduced_times[4], int cell_horiz_layout[4], LATCOMB_CONSTANTS latcomb_consts, int xwire_mm[4], int coarse_pos, int coarse_offset, std::vector< cmsdt::metaPrimitive > &metaPrimitives)
Definition: MuonPathAnalyticAnalyzer.cc:246
CELL_VALID_LAYOUT::valid
int valid[4]
Definition: MuonPathAnalyticAnalyzer.h:30
MuonPathAnalyticAnalyzer::globalcoordsobtainer_
std::shared_ptr< GlobalCoordsObtainer > globalcoordsobtainer_
Definition: MuonPathAnalyticAnalyzer.h:114
CONSTANTS::slope
MAGNITUDE slope
Definition: MuonPathAnalyticAnalyzer.h:18
MuonPathAnalyzer.h
MuonPathAnalyticAnalyzer::geometry_tag_
std::string geometry_tag_
Definition: MuonPathAnalyticAnalyzer.h:110
MuonPathAnalyticAnalyzer::fillLAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER
void fillLAYOUT_VALID_TO_LATCOMB_CONSTS_ENCODER()
Definition: MuonPathAnalyticAnalyzer.cc:449
RunInfoPI::valid
Definition: RunInfoPayloadInspectoHelper.h:16
MuonPathAnalyticAnalyzer::tanPhiTh_
double tanPhiTh_
Definition: MuonPathAnalyticAnalyzer.h:103
edm::Event
Definition: Event.h:73
MuonPathAnalyticAnalyzer::chi2Th_
double chi2Th_
Definition: MuonPathAnalyticAnalyzer.h:102
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
MuonPathAnalyticAnalyzer::tanPhiThw2max_
double tanPhiThw2max_
Definition: MuonPathAnalyticAnalyzer.h:104
MuonPathAnalyticAnalyzer::chosen_sl_
int chosen_sl_
Definition: MuonPathAnalyticAnalyzer.h:79
MuonPathAnalyticAnalyzer::dtGeo_
const DTGeometry * dtGeo_
Definition: MuonPathAnalyticAnalyzer.h:65
CELL_VALID_LAYOUT_CONSTANTS::cell_valid_layout
CELL_VALID_LAYOUT cell_valid_layout
Definition: MuonPathAnalyticAnalyzer.h:34
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27