11 using namespace L1TMuon;
15 bx_min(ps.getParameter<int>(
"BX_min")),
16 bx_max(ps.getParameter<int>(
"BX_max")) {
33 for(
int wheel = -2; wheel <= 2 ; ++wheel ) {
35 for(
int sector = 0; sector <= 11; ++sector ) {
38 std::unique_ptr<const L1MuDTChambPhDigi> phi_segm_1(
39 phiDigis->chPhiSegm1(wheel,
station,sector,bx)
41 std::unique_ptr<const L1MuDTChambPhDigi> phi_segm_2(
42 phiDigis->chPhiSegm2(wheel,
station,sector,bx)
44 std::unique_ptr<const L1MuDTChambThDigi> theta_segm(
45 thetaDigis->chThetaSegm(wheel,
station,sector,bx)
48 int bti_group_1=-1, bti_group_2=-1;
55 if( phi_segm_1 && bti_group_1 != -1 ) {
59 }
else if ( phi_segm_1 && bti_group_1 == -1 ) {
61 }
else if ( !phi_segm_1 && bti_group_1 != -1 ) {
66 if( phi_segm_2 && bti_group_2 != -1) {
70 }
else if ( phi_segm_2 && bti_group_2 == -1 ) {
72 }
else if ( !phi_segm_2 && bti_group_2 != -1 ) {
73 chamb_list.push_back(
processDigis(*phi_segm_2,bti_group_2));
81 temp =
_bxc->clean(chamb_list);
82 cleaned.insert(cleaned.end(),temp.begin(),temp.end());
84 cleaned.insert(cleaned.end(),chamb_list.begin(),chamb_list.end());
89 out.insert(out.end(),cleaned.begin(),cleaned.end());
93 const int &segment_number)
const {
99 const int bti_group)
const {
106 const int bti_group)
const {
113 const int pos)
const {
116 for(
int i = 0;
i < 7; ++
i ) {
T getParameter(std::string const &) const
DTCollector(const edm::ParameterSet &)
std::unique_ptr< DTBunchCrossingCleaner > _bxc
int findBTIGroupForThetaDigi(const L1MuDTChambThDigi &, const int position) const
TriggerPrimitive processDigis(const L1MuDTChambPhDigi &, const int &segment_number) const
int position(const int i) const
std::vector< TriggerPrimitive > TriggerPrimitiveCollection
virtual void extractPrimitives(const edm::Event &, const edm::EventSetup &, std::vector< TriggerPrimitive > &) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
ParameterSet const & getParameterSet(std::string const &) const
#define DEFINE_EDM_PLUGIN(factory, type, name)