CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
DTLowQMatching Class Reference

#include <DTLowQMatching.h>

Public Member Functions

 DTLowQMatching (L1MuDTChambPhContainer const *, L1MuDTChambPhContainer const &)
 
void run (const edm::EventSetup &c)
 

Static Public Member Functions

static int noRPCHits (L1MuDTChambPhContainer inCon, int bx, int wh, int sec, int st)
 

Public Attributes

edm::ESHandle< L1TTwinMuxParamstmParamsHandle
 

Private Member Functions

int deltaPhi (int dt_phi, int rpc_strip)
 
void Matching (int track_seg)
 

Private Attributes

int m_DphiWindow
 
L1MuDTChambPhContainer const * m_phiDTDigis
 
L1MuDTChambPhContainer const & m_phiRPCDigis
 

Detailed Description

Definition at line 32 of file DTLowQMatching.h.

Constructor & Destructor Documentation

◆ DTLowQMatching()

DTLowQMatching::DTLowQMatching ( L1MuDTChambPhContainer const *  inphiDTDigis,
L1MuDTChambPhContainer const &  inphiRPCDigis 
)

Definition at line 22 of file DTLowQMatching.cc.

23  : m_phiDTDigis(inphiDTDigis),
24  m_phiRPCDigis(inphiRPCDigis){
25  // m_phiDTDigis=inphiDTDigis;
26  // m_phiRPCDigis=inphiRPCDigis;
27  };

Member Function Documentation

◆ deltaPhi()

int DTLowQMatching::deltaPhi ( int  dt_phi,
int  rpc_strip 
)
private

◆ Matching()

void DTLowQMatching::Matching ( int  track_seg)
private

Definition at line 40 of file DTLowQMatching.cc.

40  {
41  L1MuDTChambPhDigi* dtts = nullptr;
42  L1MuDTChambPhDigi* rpcts1 = nullptr;
43  L1MuTMChambPhContainer m_phiRPCDigis_tm;
44  const std::vector<L1MuDTChambPhDigi>* phiChambVector;
45  phiChambVector = m_phiRPCDigis.getContainer();
46  m_phiRPCDigis_tm.setContainer(*phiChambVector);
47 
48  L1MuTMChambPhContainer m_phiDTDigis_tm;
49  const std::vector<L1MuDTChambPhDigi>* phiChambVectorDT;
50  phiChambVectorDT = m_phiDTDigis->getContainer();
51  m_phiDTDigis_tm.setContainer(*phiChambVectorDT);
52 
53  int bx = 0, wheel = 0, sector = 0, station = 1;
54  //cout<<"LowQ Matching "<<track_seg<<endl;
55  for (wheel = -2; wheel <= 2; wheel++) {
56  for (sector = 0; sector < 12; sector++) {
57  for (station = 1; station <= 4; station++) {
58  for (bx = -3; bx <= 3; bx++) {
59  int matched = 0;
60  for (int rpcbx = bx - 1; rpcbx <= bx + 1; rpcbx++) {
61  dtts = nullptr;
62  rpcts1 = nullptr;
63  dtts = m_phiDTDigis_tm.chPhiSegm(wheel, station, sector, bx, track_seg);
64  if (!dtts || dtts->code() >= 2)
65  continue;
66  int nhits = 0;
68  for (int hit = 0; hit < nhits; hit++) {
69  rpcts1 = m_phiRPCDigis_tm.chPhiSegm(wheel, station, sector, rpcbx, hit);
70  //If DT primitives with q<2 match with rpc hits do nothing else
71  //'remove' the primitive by setting is quality to 7
72  if (rpcts1 && DTRPCBxCorrection::deltaPhi(dtts->phi(), rpcts1->phi()) < m_DphiWindow) {
73  matched++;
74  continue;
75  }
76  }
77  } //end of rpc bx
78  if (matched == 0 && dtts && dtts->code() < 2) { //dtts->setCode(7);
79  // int bx=dtts->bxNum(); cout<<bx<<endl;
80  L1MuDTChambPhDigi dtts2(dtts->bxNum(),
81  dtts->whNum(),
82  dtts->scNum(),
83  dtts->stNum(),
84  dtts->phi(),
85  dtts->phiB(),
86  7,
87  dtts->Ts2Tag(),
88  dtts->BxCnt(),
89  dtts->RpcBit());
90  *dtts = dtts2;
91  }
92  } //end of dt bx
93  } //end of station
94  } //end of sc
95  } //end of wheel
96 }

References l1GtPatternGenerator_cfi::bx, L1MuDTChambPhDigi::BxCnt(), L1MuDTChambPhDigi::bxNum(), L1MuTMChambPhContainer::chPhiSegm(), L1MuDTChambPhDigi::code(), DTRPCBxCorrection::deltaPhi(), L1MuDTChambPhContainer::getContainer(), m_DphiWindow, m_phiDTDigis, m_phiRPCDigis, muonTagProbeFilters_cff::matched, nhits, DTRPCBxCorrection::nRPCHits(), L1MuDTChambPhDigi::phi(), L1MuDTChambPhDigi::phiB(), L1MuDTChambPhDigi::RpcBit(), L1MuDTChambPhDigi::scNum(), L1MuTMChambPhContainer::setContainer(), relativeConstraints::station, L1MuDTChambPhDigi::stNum(), L1MuDTChambPhDigi::Ts2Tag(), makeMuonMisalignmentScenario::wheel, and L1MuDTChambPhDigi::whNum().

Referenced by run().

◆ noRPCHits()

static int DTLowQMatching::noRPCHits ( L1MuDTChambPhContainer  inCon,
int  bx,
int  wh,
int  sec,
int  st 
)
static

◆ run()

void DTLowQMatching::run ( const edm::EventSetup c)

Member Data Documentation

◆ m_DphiWindow

int DTLowQMatching::m_DphiWindow
private

Definition at line 51 of file DTLowQMatching.h.

Referenced by Matching(), and run().

◆ m_phiDTDigis

L1MuDTChambPhContainer const* DTLowQMatching::m_phiDTDigis
private

Definition at line 47 of file DTLowQMatching.h.

Referenced by Matching().

◆ m_phiRPCDigis

L1MuDTChambPhContainer const& DTLowQMatching::m_phiRPCDigis
private

Definition at line 48 of file DTLowQMatching.h.

Referenced by Matching().

◆ tmParamsHandle

edm::ESHandle<L1TTwinMuxParams> DTLowQMatching::tmParamsHandle

Definition at line 38 of file DTLowQMatching.h.

Referenced by run().

muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
DTLowQMatching::m_DphiWindow
int m_DphiWindow
Definition: DTLowQMatching.h:51
L1MuDTChambPhDigi::stNum
int stNum() const
Definition: L1MuDTChambPhDigi.cc:72
L1MuTMChambPhContainer::setContainer
void setContainer(const Phi_Container &inputSegments)
Definition: L1MuTMChambPhContainer.cc:44
relativeConstraints.station
station
Definition: relativeConstraints.py:67
L1MuDTChambPhDigi::RpcBit
int RpcBit() const
Definition: L1MuDTChambPhDigi.cc:84
L1MuDTChambPhDigi::whNum
int whNum() const
Definition: L1MuDTChambPhDigi.cc:70
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1MuDTChambPhDigi::phiB
int phiB() const
Definition: L1MuDTChambPhDigi.cc:76
L1MuDTChambPhContainer::getContainer
Phi_Container const * getContainer() const
Definition: L1MuDTChambPhContainer.cc:41
DTLowQMatching::Matching
void Matching(int track_seg)
Definition: DTLowQMatching.cc:40
L1MuDTChambPhDigi::BxCnt
int BxCnt() const
Definition: L1MuDTChambPhDigi.cc:82
L1TTwinMuxParams::get_DphiWindowBxShift
int get_DphiWindowBxShift() const
Definition: L1TTwinMuxParams.h:75
L1MuDTChambPhDigi::phi
int phi() const
Definition: L1MuDTChambPhDigi.cc:74
nhits
Definition: HIMultiTrackSelector.h:42
L1MuTMChambPhContainer
Definition: L1MuTMChambPhContainer.h:33
L1MuDTChambPhDigi::bxNum
int bxNum() const
Definition: L1MuDTChambPhDigi.cc:68
DTLowQMatching::m_phiRPCDigis
L1MuDTChambPhContainer const & m_phiRPCDigis
Definition: DTLowQMatching.h:48
DTRPCBxCorrection::nRPCHits
static int nRPCHits(L1MuTMChambPhContainer inCon, int bx, int wh, int sec, int st)
Definition: DTRPCBxCorrection.cc:208
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
DTRPCBxCorrection::deltaPhi
static int deltaPhi(int dt_phi, int rpc_strip)
Definition: DTRPCBxCorrection.cc:195
L1TTwinMuxParamsRcd
Definition: L1TTwinMuxParamsRcd.h:14
L1MuDTChambPhDigi::scNum
int scNum() const
Definition: L1MuDTChambPhDigi.cc:71
DTLowQMatching::m_phiDTDigis
L1MuDTChambPhContainer const * m_phiDTDigis
Definition: DTLowQMatching.h:47
L1MuTMChambPhContainer::chPhiSegm
L1MuDTChambPhDigi * chPhiSegm(int wheel, int stat, int sect, int bx, int ts2tag)
Definition: L1MuTMChambPhContainer.cc:92
edm::eventsetup::EventSetupRecordImplementation::get
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
Definition: EventSetupRecordImplementation.h:74
L1MuDTChambPhDigi::Ts2Tag
int Ts2Tag() const
Definition: L1MuDTChambPhDigi.cc:80
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
DTLowQMatching::tmParamsHandle
edm::ESHandle< L1TTwinMuxParams > tmParamsHandle
Definition: DTLowQMatching.h:38
L1MuDTChambPhDigi::code
int code() const
Definition: L1MuDTChambPhDigi.cc:78
hit
Definition: SiStripHitEffFromCalibTree.cc:88
L1MuDTChambPhDigi
Definition: L1MuDTChambPhDigi.h:31
L1TTwinMuxParams
Definition: L1TTwinMuxParams.h:19