27 for(L1CSCTrackCollection::const_iterator trk=csctfTrks->begin();
28 trk<csctfTrks->end(); trk++){
34 csctf_.
trEndcap.push_back(trk->first.endcap()==2 ? trk->first.endcap()-3 : trk->first.endcap());
36 csctf_.
trSector.push_back(6* (trk->first.endcap()-1) + trk->first.sector());
55 ptadd thePtAddress(trk->first.ptLUTAddress());
67 ptdat thePtData = ptLUTs_->
Pt(thePtAddress);
70 if (thePtAddress.track_fr) {
109 lctOfTrks != lctsOfTracks.end() ; lctOfTrks++){
114 lctsOfTracks.get((*lctOfTrks).first);
117 lctTrk = lctRange.first ;
118 lctTrk != lctRange.second; lctTrk++, lctTrkId++){
122 if ((*lctOfTrks).first.zendcap() > 0)
142 lctTrkId < 0 || lctTrkId > 1 ){
144 edm::LogInfo(
"L1NtupleProducer")<<
" TRACK ERROR: CSC digi are out of range: ";
150 int endcap = (*lctOfTrks).first.zendcap();
151 if (endcap < 0) endcap = 0;
153 int StationLctTrk = (*lctOfTrks).first.station();
154 int CscIdLctTrk = (*lctOfTrks).first.triggerCscId();
155 int SubSectorLctTrk =
159 ( SubSectorLctTrk ? SubSectorLctTrk-1 : StationLctTrk );
168 lclPhi = srLUTs_[FPGALctTrk][
endcap] -> localPhi(lctTrk->getStrip(),
169 lctTrk->getPattern(),
170 lctTrk->getQuality(),
181 bzero(&lclPhi,
sizeof(lclPhi));
204 gblPhi = srLUTs_[FPGALctTrk][
endcap] -> globalPhiME(lclPhi.phi_local ,
211 bzero(&gblPhi,
sizeof(gblPhi));
219 gblEta = srLUTs_[FPGALctTrk][
endcap] -> globalEtaME(lclPhi.phi_bend_local,
227 bzero(&gblEta,
sizeof(gblEta));
255 corrLct = corrlcts.
product()->begin();
256 corrLct != corrlcts.
product()->end() ; corrLct++){
263 corrlcts.
product()->get((*corrLct).first);
266 lct = lctRange.first ;
267 lct != lctRange.second; lct++, lctId++){
270 if ((*corrLct).first.zendcap() > 0)
290 lctId < 0 || lctId > 1 ){
292 edm::LogInfo(
"L1NtupleProducer")<<
" LCT ERROR: CSC digi are out of range: ";
298 int endcap = (*corrLct).first.zendcap();
299 if (endcap < 0) endcap = 0;
301 int StationLct = (*corrLct).first.station();
302 int CscIdLct = (*corrLct).first.triggerCscId();
306 int FPGALct = ( SubSectorLct ? SubSectorLct-1 : StationLct );
329 lclPhi = srLUTs_[FPGALct][
endcap] -> localPhi(lct->getStrip(),
343 bzero(&lclPhi,
sizeof(lclPhi));
361 gblPhi = srLUTs_[FPGALct][
endcap] -> globalPhiME(lclPhi.phi_local ,
368 bzero(&gblPhi,
sizeof(gblPhi));
376 gblEta = srLUTs_[FPGALct][
endcap] -> globalEtaME(lclPhi.phi_bend_local,
385 bzero(&gblEta,
sizeof(gblEta));
401 for(std::vector<L1CSCSPStatusDigi>::const_iterator
stat=status->second.begin();
402 stat!=status->second.end();
stat++){
405 if (
stat->VPs() != 0) {
423 std::vector<csctf::TrackStub> vstubs = dtStubs->get();
425 for (std::vector<csctf::TrackStub>::const_iterator stub = vstubs.begin();
426 stub != vstubs.end(); stub++) {
431 csctf_.
dtSector.push_back( 6*(stub->endcap()-1) + stub->sector() );
ptdat Pt(const ptadd &) const
const L1MuScale * getPtScale() const
get the Pt scale
void SetStatus(const edm::Handle< L1CSCStatusDigiCollection > status)
virtual float getCenter(unsigned packed) const =0
get the center of bin represented by packed
L1AnalysisCSCTFDataFormat csctf_
U second(std::pair< T, U > const &p)
void SetTracks(const edm::Handle< L1CSCTrackCollection > csctfTrks, const L1MuTriggerScales *ts, const L1MuTriggerPtScale *tpts, CSCSectorReceiverLUT *srLUTs_[5][2], CSCTFPtLUT *ptLUTs_)
const L1MuScale * getPhiScale() const
get the phi scale
T const * product() const
class global_phi_data gblphidat
class local_phi_address lclphiadd
std::vector< DigiType >::const_iterator const_iterator
class local_phi_data lclphidat
Data Types.
static int triggerSubSectorFromLabels(int station, int chamber)
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
void SetLCTs(const edm::Handle< CSCCorrelatedLCTDigiCollection > corrlcts, CSCSectorReceiverLUT *srLUTs_[5][2])
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
std::pair< const_iterator, const_iterator > Range
void SetDTStubs(const edm::Handle< CSCTriggerContainer< csctf::TrackStub > > dtStubs)
class global_eta_data gbletadat