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 32 of file AlignTrackSegments.h.

Constructor & Destructor Documentation

AlignTrackSegments::AlignTrackSegments ( L1MuDTChambPhContainer  inphiDigis)

Definition at line 20 of file AlignTrackSegments.cc.

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

Definition at line 35 of file AlignTrackSegments.h.

References EnergyCorrector::c, and run().

35 {};

Member Function Documentation

const L1MuDTChambPhContainer& AlignTrackSegments::getDTContainer ( )
inline

Return Output PhContainer.

Definition at line 40 of file AlignTrackSegments.h.

References m_dt_tsshifted.

40 { 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 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 
27  std::vector<L1MuDTChambPhDigi> l1ttma_out;
28 
29  for(int bx=-3; bx<=3; bx++){
30  for (int wheel=-3;wheel<=3; wheel++ ){
31  for (int sector=0;sector<12; sector++ ){
32  for (int station=1; station<=4; station++){
34  L1MuDTChambPhDigi const* ts1 = m_phiDigis.chPhiSegm1(wheel,station,sector,bx);
36  L1MuDTChambPhDigi const* ts2 = m_phiDigis.chPhiSegm2(wheel,station,sector,bx);
38  if(ts1!=nullptr && ts1->code()!=7) {
39  l1ttma_out.emplace_back(bx , ts1->whNum(), ts1->scNum(), ts1->stNum(),ts1->phi(), ts1->phiB(), ts1->code(), ts1->Ts2Tag(), ts1->BxCnt(),0);
40 
41  }
42  if((ts1==nullptr || ts1->code()==7 ) && ts2 && ts2->code()!=7) {
43  l1ttma_out.emplace_back(ts2->bxNum() , ts2->whNum(), ts2->scNum(), ts2->stNum(),ts2->phi(), ts2->phiB(), ts2->code(), ts2->Ts2Tag(), ts2->BxCnt(),0);
44  }
46  if(ts1!=nullptr && ts1->code()!=7 && ts2 && ts2->code()!=7) {
47  l1ttma_out.emplace_back(ts2->bxNum() - ts2->Ts2Tag() , ts2->whNum(), ts2->scNum(), ts2->stNum(),ts2->phi(), ts2->phiB(), ts2->code(), ts2->Ts2Tag(), ts2->BxCnt(),0);
48  }
49 
50 
51 
52  }}}}
53 
54  m_dt_tsshifted.setContainer(l1ttma_out);
55 }
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.
L1MuDTChambPhContainer m_phiDigis
void setContainer(const Phi_Container &inputSegments)

Member Data Documentation

L1MuDTChambPhContainer AlignTrackSegments::m_dt_tsshifted
private

Output PhContainer.

Definition at line 45 of file AlignTrackSegments.h.

Referenced by getDTContainer(), and run().

L1MuDTChambPhContainer AlignTrackSegments::m_phiDigis
private

Definition at line 46 of file AlignTrackSegments.h.

Referenced by run().