18 for (L1CSCTrackCollection::const_iterator trk = csctfTrks->begin(); trk < csctfTrks->end(); trk++) {
23 csctf_.
trEndcap.push_back(trk->first.endcap() == 2 ? trk->first.endcap() - 3 : trk->first.endcap());
25 csctf_.
trSector.push_back(6 * (trk->first.endcap() - 1) + trk->first.sector());
44 ptadd thePtAddress(trk->first.ptLUTAddress());
55 ptdat thePtData = ptLUTs_->
Pt(thePtAddress);
58 if (thePtAddress.track_fr) {
96 lctOfTrks != lctsOfTracks.end();
103 lctTrk++, lctTrkId++) {
105 if ((*lctOfTrks).first.zendcap() > 0)
108 csctf_.
trLctSector[nTrk - 1][LctTrkId_] = 6 + (*lctOfTrks).first.triggerSector();
121 : (*lctOfTrks).first.station() + 1);
127 lctTrkId < 0 || lctTrkId > 1) {
128 edm::LogInfo(
"L1NtupleProducer") <<
" TRACK ERROR: CSC digi are out of range: ";
134 int endcap = (*lctOfTrks).first.zendcap();
138 int StationLctTrk = (*lctOfTrks).first.station();
139 int CscIdLctTrk = (*lctOfTrks).first.triggerCscId();
142 int FPGALctTrk = (SubSectorLctTrk ? SubSectorLctTrk - 1 : StationLctTrk);
150 lctTrk->getStrip(), lctTrk->getPattern(), lctTrk->getQuality(), lctTrk->getBend());
159 bzero(&lclPhi,
sizeof(lclPhi));
179 gblPhi = srLUTs_[FPGALctTrk][
endcap]->
globalPhiME(lclPhi.phi_local, lctTrk->getKeyWG(), CscIdLctTrk);
184 bzero(&gblPhi,
sizeof(gblPhi));
193 lclPhi.phi_bend_local, lclPhi.phi_local, lctTrk->getKeyWG(), CscIdLctTrk);
197 bzero(&gblEta,
sizeof(gblEta));
222 corrLct != corrlcts.
product()->end();
232 if ((*corrLct).first.zendcap() > 0)
251 lctId < 0 || lctId > 1) {
252 edm::LogInfo(
"L1NtupleProducer") <<
" LCT ERROR: CSC digi are out of range: ";
258 int endcap = (*corrLct).first.zendcap();
262 int StationLct = (*corrLct).first.station();
263 int CscIdLct = (*corrLct).first.triggerCscId();
266 int FPGALct = (SubSectorLct ? SubSectorLct - 1 : StationLct);
288 srLUTs_[FPGALct][
endcap]->
localPhi(lct->getStrip(), lct->getPattern(), lct->getQuality(), lct->getBend());
298 bzero(&lclPhi,
sizeof(lclPhi));
315 gblPhi = srLUTs_[FPGALct][
endcap]->
globalPhiME(lclPhi.phi_local, lct->getKeyWG(), CscIdLct);
319 bzero(&gblPhi,
sizeof(gblPhi));
328 srLUTs_[FPGALct][
endcap]->
globalEtaME(lclPhi.phi_bend_local, lclPhi.phi_local, lct->getKeyWG(), CscIdLct);
333 bzero(&gblEta,
sizeof(gblEta));
346 for (std::vector<L1CSCSPStatusDigi>::const_iterator
stat = status->second.begin();
stat != status->second.end();
349 if (
stat->VPs() != 0) {
366 std::vector<csctf::TrackStub> vstubs = dtStubs->get();
368 for (std::vector<csctf::TrackStub>::const_iterator stub = vstubs.begin(); stub != vstubs.end(); stub++) {
373 csctf_.
dtSector.push_back(6 * (stub->endcap() - 1) + stub->sector());
ptdat Pt(const ptadd &) const
lclphidat localPhi(int strip, int pattern, int quality, int lr, const bool gangedME1a=false) const
Geometry Lookup Tables.
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_
gblphidat globalPhiME(int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
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
std::pair< const_iterator, const_iterator > Range
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) ...
gbletadat globalEtaME(int phi_bend, int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
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
void SetDTStubs(const edm::Handle< CSCTriggerContainer< csctf::TrackStub > > dtStubs)
class global_eta_data gbletadat