CMS 3D CMS Logo

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

#include <AlignTrackSegments.h>

Public Member Functions

 AlignTrackSegments (L1MuDTChambPhContainer inphiDigis)
 
const L1MuDTChambPhContainergetDTContainer ()
 Return Output PhContainer. More...
 
void run (const edm::EventSetup &c)
 
 ~AlignTrackSegments ()
 

Private Attributes

L1MuDTChambPhContainer m_dt_tsshifted
 Output PhContainer. More...
 
L1MuDTChambPhContainer m_phiDigis
 

Detailed Description

Definition at line 31 of file AlignTrackSegments.h.

Constructor & Destructor Documentation

AlignTrackSegments::AlignTrackSegments ( L1MuDTChambPhContainer  inphiDigis)

Definition at line 20 of file AlignTrackSegments.cc.

21  : m_phiDigis(inm_phiDigis){
22  // m_phiDigis = inm_phiDigis;
23  };
L1MuDTChambPhContainer m_phiDigis
AlignTrackSegments::~AlignTrackSegments ( )
inline

Definition at line 34 of file AlignTrackSegments.h.

References HltBtagPostValidation_cff::c, and run().

34 {};

Member Function Documentation

const L1MuDTChambPhContainer& AlignTrackSegments::getDTContainer ( )
inline

Return Output PhContainer.

Definition at line 39 of file AlignTrackSegments.h.

References m_dt_tsshifted.

39 { return m_dt_tsshifted; }
L1MuDTChambPhContainer m_dt_tsshifted
Output PhContainer.
void AlignTrackSegments::run ( const edm::EventSetup c)

chPhiSegm1 reads the first ts from bx

chPhiSegm2 reads the second ts from bx-1

Code = 7 NULL primitive

if the second ts (bx-1) co-exist with ts1 shift it to the correct bx

Definition at line 25 of file AlignTrackSegments.cc.

References l1GtPatternGenerator_cfi::bx, L1MuDTChambPhDigi::BxCnt(), L1MuDTChambPhDigi::bxNum(), L1MuDTChambPhContainer::chPhiSegm1(), L1MuDTChambPhContainer::chPhiSegm2(), L1MuDTChambPhDigi::code(), m_dt_tsshifted, m_phiDigis, L1MuDTChambPhDigi::phi(), L1MuDTChambPhDigi::phiB(), L1MuDTChambPhDigi::scNum(), L1MuDTChambPhContainer::setContainer(), relativeConstraints::station, L1MuDTChambPhDigi::stNum(), L1MuDTChambPhDigi::Ts2Tag(), makeMuonMisalignmentScenario::wheel, and L1MuDTChambPhDigi::whNum().

Referenced by ~AlignTrackSegments().

25  {
26  std::vector<L1MuDTChambPhDigi> l1ttma_out;
27 
28  for (int bx = -3; bx <= 3; bx++) {
29  for (int wheel = -3; wheel <= 3; wheel++) {
30  for (int sector = 0; sector < 12; sector++) {
31  for (int station = 1; station <= 4; station++) {
33  L1MuDTChambPhDigi const* ts1 = m_phiDigis.chPhiSegm1(wheel, station, sector, bx);
35  L1MuDTChambPhDigi const* ts2 = m_phiDigis.chPhiSegm2(wheel, station, sector, bx);
37  if (ts1 != nullptr && ts1->code() != 7) {
38  l1ttma_out.emplace_back(bx,
39  ts1->whNum(),
40  ts1->scNum(),
41  ts1->stNum(),
42  ts1->phi(),
43  ts1->phiB(),
44  ts1->code(),
45  ts1->Ts2Tag(),
46  ts1->BxCnt(),
47  0);
48  }
49  if ((ts1 == nullptr || ts1->code() == 7) && ts2 && ts2->code() != 7) {
50  l1ttma_out.emplace_back(ts2->bxNum(),
51  ts2->whNum(),
52  ts2->scNum(),
53  ts2->stNum(),
54  ts2->phi(),
55  ts2->phiB(),
56  ts2->code(),
57  ts2->Ts2Tag(),
58  ts2->BxCnt(),
59  0);
60  }
62  if (ts1 != nullptr && ts1->code() != 7 && ts2 && ts2->code() != 7) {
63  l1ttma_out.emplace_back(ts2->bxNum() - ts2->Ts2Tag(),
64  ts2->whNum(),
65  ts2->scNum(),
66  ts2->stNum(),
67  ts2->phi(),
68  ts2->phiB(),
69  ts2->code(),
70  ts2->Ts2Tag(),
71  ts2->BxCnt(),
72  0);
73  }
74  }
75  }
76  }
77  }
78 
79  m_dt_tsshifted.setContainer(l1ttma_out);
80 }
L1MuDTChambPhDigi const * chPhiSegm1(int wheel, int stat, int sect, int bx) const
L1MuDTChambPhDigi const * chPhiSegm2(int wheel, int stat, int sect, int bx) const
L1MuDTChambPhContainer m_dt_tsshifted
Output PhContainer.
void setContainer(Phi_Container inputSegments)
L1MuDTChambPhContainer m_phiDigis

Member Data Documentation

L1MuDTChambPhContainer AlignTrackSegments::m_dt_tsshifted
private

Output PhContainer.

Definition at line 43 of file AlignTrackSegments.h.

Referenced by getDTContainer(), and run().

L1MuDTChambPhContainer AlignTrackSegments::m_phiDigis
private

Definition at line 44 of file AlignTrackSegments.h.

Referenced by run().