21 dttf_.phSize = PhContainer->size();
24 for( L1MuDTChambPhContainer::Phi_Container::const_iterator
25 DTPhDigiItr = PhContainer->begin() ;
26 DTPhDigiItr != PhContainer->end() ;
29 if((
unsigned int) iphtr>maxDTPH-1)
continue;
30 dttf_.phBx.push_back ( DTPhDigiItr->bxNum() - DTPhDigiItr->Ts2Tag()+1 );
31 dttf_.phWh.push_back ( DTPhDigiItr->whNum() );
32 dttf_.phSe.push_back ( DTPhDigiItr->scNum() );
33 dttf_.phSt.push_back ( DTPhDigiItr->stNum() );
34 dttf_.phAng.push_back ( DTPhDigiItr->phi() );
35 dttf_.phBandAng.push_back( DTPhDigiItr->phiB() );
36 double locphi = (((double)DTPhDigiItr->phi())/4096.0);
37 double newphi = locphi+(DTPhDigiItr->scNum()*(pig/6.));
38 if (newphi>2*pig) newphi-=2*pig;
39 if (newphi<0 ) newphi+=2*pig;
40 dttf_.phGlobPhi.push_back( newphi );
41 dttf_.phCode.push_back ( DTPhDigiItr->code() );
42 dttf_.phX.push_back ( DTPhDigiItr->scNum() );
43 dttf_.phY.push_back ( DTPhDigiItr->stNum()+4*(DTPhDigiItr->whNum()+2) );
57 dttf_.thSize = ThContainer->size();
58 dttf_.thTheta.ResizeTo(dttf_.thSize,7);
59 dttf_.thCode.ResizeTo(dttf_.thSize,7);
62 for( L1MuDTChambThContainer::The_Container::const_iterator
63 DTThDigiItr = ThContainer->begin() ;
64 DTThDigiItr != ThContainer->end() ;
68 if((
unsigned int) ithtr>maxDTTH-1)
continue;
69 dttf_.thBx.push_back( DTThDigiItr->bxNum() + 1 );
70 dttf_.thWh.push_back( DTThDigiItr->whNum() );
71 dttf_.thSe.push_back( DTThDigiItr->scNum() );
72 dttf_.thSt.push_back( DTThDigiItr->stNum() );
73 dttf_.thX.push_back( DTThDigiItr->stNum()+4*(DTThDigiItr->whNum()+2) );
75 dttf_.thY.push_back( DTThDigiItr->scNum() );
78 for (
unsigned int j = 0;
j < 7;
j++)
80 dttf_.thTheta[ithtr][
j] = DTThDigiItr->position(
j);
81 dttf_.thCode[ithtr][
j] = DTThDigiItr->code(
j);
95 dttf_.trSize = tr->size();
96 for ( L1MuDTTrackContainer::TrackContainer::const_iterator
i
97 = tr->begin();
i != tr->end(); ++
i ) {
98 if((
unsigned int)idttr>maxDTTR-1)
continue;
99 dttf_.trBx.push_back(
i->bx()+1 );
100 dttf_.trTag.push_back(
i->TrkTag() );
101 dttf_.trQual.push_back(
i->quality_packed() );
102 dttf_.trPtPck.push_back(
i->pt_packed() );
103 dttf_.trPtVal.push_back(
i->ptValue() );
104 dttf_.trPhiPck.push_back(
i->phi_packed() );
105 dttf_.trPhiVal.push_back(
i->phiValue() );
106 dttf_.trEtaPck.push_back(
i->eta_packed() );
107 dttf_.trEtaVal.push_back(
i->etaValue() );
109 int phi_local =
i->phi_packed();
110 if(phi_local > 15) phi_local -= 32;
111 double phi_global = (phi_local*(pig/72.))+((pig/6.)*
i->scNum());
112 if(phi_global < 0) phi_global+=2*pig;
113 if(phi_global > 2*pig) phi_global-=2*pig;
114 dttf_.trPhiGlob.push_back( phi_global );
115 dttf_.trChPck.push_back(
i->charge_packed() );
116 dttf_.trWh.push_back(
i->whNum() );
117 dttf_.trSc.push_back(
i->scNum() );
118 unsigned int addresses=0;
119 for (
int KK = 0; KK<4; KK++){
120 addresses|=((
unsigned int)(
i->stNum(KK+1))<<(KK*4));
122 dttf_.trAddress.push_back(addresses);
void SetDTPH(const edm::Handle< L1MuDTChambPhContainer > L1MuDTChambPhContainer, unsigned int maxDTPH)
std::vector< L1MuDTTrackCand > TrackContainer
std::vector< L1MuDTChambPhDigi > Phi_Container
std::vector< L1MuDTChambThDigi > The_Container
void SetDTTR(const edm::Handle< L1MuDTTrackContainer > L1MuDTTrackContainer, unsigned int maxDTTR)
void SetDTTH(const edm::Handle< L1MuDTChambThContainer > L1MuDTChambThContainer, unsigned int maxDTTH)