File indexing completed on 2024-09-07 04:36:45
0001 #ifndef Phase2L1Trigger_DTTrigger_MPCoincidenceFilter_h
0002 #define Phase2L1Trigger_DTTrigger_MPCoincidenceFilter_h
0003
0004 #include "L1Trigger/DTTriggerPhase2/interface/MPFilter.h"
0005
0006 #include <iostream>
0007 #include <fstream>
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 class MPCoincidenceFilter : public MPFilter {
0018 public:
0019
0020 MPCoincidenceFilter(const edm::ParameterSet &pset);
0021 ~MPCoincidenceFilter() override = default;
0022
0023
0024 void initialise(const edm::EventSetup &iEventSetup) override;
0025 void run(edm::Event &iEvent,
0026 const edm::EventSetup &iEventSetup,
0027 std::vector<cmsdt::metaPrimitive> &inMPath,
0028 std::vector<cmsdt::metaPrimitive> &outMPath) override {};
0029 void run(edm::Event &iEvent,
0030 const edm::EventSetup &iEventSetup,
0031 std::vector<cmsdt::metaPrimitive> &allMPaths,
0032 std::vector<cmsdt::metaPrimitive> &inMPaths,
0033 std::vector<cmsdt::metaPrimitive> &outMPaths) override;
0034 void run(edm::Event &iEvent,
0035 const edm::EventSetup &iEventSetup,
0036 MuonPathPtrs &inMPath,
0037 MuonPathPtrs &outMPath) override {};
0038
0039 void finish() override;
0040
0041
0042
0043
0044
0045 std::map<std::string, float> mphi_mean{{"wh-2ch1", 1.0}, {"wh-1ch1", 0.9}, {"wh0ch1", -0.3}, {"wh1ch1", 0.9},
0046 {"wh2ch1", 1.0}, {"wh-2ch2", 1.4}, {"wh-1ch2", -0.4}, {"wh0ch2", -0.3},
0047 {"wh1ch2", -0.4}, {"wh2ch2", 1.5}, {"wh-2ch3", -0.1}, {"wh-1ch3", -0.2},
0048 {"wh0ch3", -0.1}, {"wh1ch3", -0.3}, {"wh2ch3", -0.4}, {"wh-2ch4", -1.0},
0049 {"wh-1ch4", -1.1}, {"wh0ch4", -1.0}, {"wh1ch4", -1.1}, {"wh2ch4", -0.8}};
0050
0051 std::map<std::string, float> mphi_width{{"wh-2ch1", 7.2}, {"wh-1ch1", 7.0}, {"wh0ch1", 11.2}, {"wh1ch1", 7.4},
0052 {"wh2ch1", 7.1}, {"wh-2ch2", 6.6}, {"wh-1ch2", 8.5}, {"wh0ch2", 11.1},
0053 {"wh1ch2", 8.5}, {"wh2ch2", 6.5}, {"wh-2ch3", 8.0}, {"wh-1ch3", 9.2},
0054 {"wh0ch3", 11.2}, {"wh1ch3", 9.1}, {"wh2ch3", 7.8}, {"wh-2ch4", 8.0},
0055 {"wh-1ch4", 9.6}, {"wh0ch4", 11.8}, {"wh1ch4", 9.3}, {"wh2ch4", 7.7}};
0056
0057 std::map<std::string, float> mth_mean{{"wh-2ch1", -17.4}, {"wh-1ch1", -9.5}, {"wh0ch1", -0.8}, {"wh1ch1", -9.8},
0058 {"wh2ch1", -17.1}, {"wh-2ch2", -18.9}, {"wh-1ch2", -6.6}, {"wh0ch2", 0.5},
0059 {"wh1ch2", -6.8}, {"wh2ch2", -19.2}, {"wh-2ch3", -16.3}, {"wh-1ch3", -3.2},
0060 {"wh0ch3", 1.9}, {"wh1ch3", -3.6}, {"wh2ch3", -17.5}, {"wh-2ch4", 0.0},
0061 {"wh-1ch4", 0.0}, {"wh0ch4", 0.0}, {"wh1ch4", 0.0}, {"wh2ch4", 0.0}};
0062
0063 std::map<std::string, float> mth_width{{"wh-2ch1", 33.5}, {"wh-1ch1", 12.6}, {"wh0ch1", 10.1}, {"wh1ch1", 14.4},
0064 {"wh2ch1", 44.8}, {"wh-2ch2", 23.0}, {"wh-1ch2", 13.2}, {"wh0ch2", 11.6},
0065 {"wh1ch2", 14.0}, {"wh2ch2", 25.6}, {"wh-2ch3", 22.5}, {"wh-1ch3", 13.8},
0066 {"wh0ch3", 13.9}, {"wh1ch3", 14.2}, {"wh2ch3", 24.2}, {"wh-2ch4", 9.4},
0067 {"wh-1ch4", 9.4}, {"wh0ch4", 9.4}, {"wh1ch4", 9.4}, {"wh2ch4", 9.4}};
0068
0069 private:
0070
0071 std::vector<cmsdt::metaPrimitive> filter(std::vector<cmsdt::metaPrimitive> inMPs,
0072 std::vector<cmsdt::metaPrimitive> allMPs,
0073 int co_option,
0074 int co_quality,
0075 double shift_back);
0076
0077
0078 const bool debug_;
0079 int co_option_;
0080 int co_quality_;
0081 int scenario_;
0082 };
0083
0084 #endif