19 _bxc = std::make_unique<DTBunchCrossingCleaner>(bxccfg);
31 ev.getByLabel(
_src, phiDigis);
32 ev.getByLabel(
_src, thetaDigis);
35 for (
int sector = 0; sector <= 11; ++sector) {
42 int bti_group_1 = -1, bti_group_2 = -1;
49 if (phi_segm_1 && bti_group_1 != -1) {
50 chamb_list.push_back(
processDigis(*phi_segm_1, *theta_segm, bti_group_1));
51 }
else if (phi_segm_1 && bti_group_1 == -1) {
53 }
else if (!phi_segm_1 && bti_group_1 != -1) {
54 chamb_list.push_back(
processDigis(*theta_segm, bti_group_1));
57 if (phi_segm_2 && bti_group_2 != -1) {
58 chamb_list.push_back(
processDigis(*phi_segm_2, *theta_segm, bti_group_2));
59 }
else if (phi_segm_2 && bti_group_2 == -1) {
61 }
else if (!phi_segm_2 && bti_group_2 != -1) {
62 chamb_list.push_back(
processDigis(*phi_segm_2, bti_group_2));
71 cleaned.insert(cleaned.end(),
temp.begin(),
temp.end());
73 cleaned.insert(cleaned.end(), chamb_list.begin(), chamb_list.end());
78 out.insert(
out.end(), cleaned.begin(), cleaned.end());
93 const int bti_group)
const {
101 for (
int i = 0;
i < 7; ++
i) {
void extractPrimitives(const edm::Event &, const edm::EventSetup &, std::vector< TriggerPrimitive > &) const override
T getParameter(std::string const &) const
L1MuDTChambThDigi const * chThetaSegm(int wheel, int stat, int sect, int bx) const
int findBTIGroupForThetaDigi(const L1MuDTChambThDigi &, const int position) const
DTCollector(const edm::ParameterSet &)
ParameterSet const & getParameterSet(std::string const &) const
int position(const int i) const
std::unique_ptr< DTBunchCrossingCleaner > _bxc
TriggerPrimitive processDigis(const L1MuDTChambPhDigi &, const int &segment_number) const
std::vector< TriggerPrimitive > TriggerPrimitiveCollection
L1TMuon::TriggerPrimitive TriggerPrimitive
L1MuDTChambPhDigi const * chPhiSegm2(int wheel, int stat, int sect, int bx) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
L1MuDTChambPhDigi const * chPhiSegm1(int wheel, int stat, int sect, int bx) const