17 const unsigned& sector,
35 if( m_maxBX-m_minBX >= 7 )
edm::LogWarning(
"CSCTFTrackBuilder::ctor")<<
" BX window width >= 7BX. Resetting m_maxBX="<<(m_maxBX=m_minBX+6);
119 for(
int i = 1;
i <= 4; ++
i)
122 for(
int j = 0;
j < 2;
j++)
133 if(initializeFromPSet){
139 LogDebug(
"CSCTFSectorProcessor") <<
"Looking for PT LUT in EventSetup for endcap="<<
m_endcap<<
", sector="<<
m_sector;
152 firmSP_Map.insert(std::pair<int,int>(20100210,20100122));
153 firmSP_Map.insert(std::pair<int,int>(20100617,20100122));
154 firmSP_Map.insert(std::pair<int,int>(20100629,20100122));
156 firmSP_Map.insert(std::pair<int,int>(20100728,20100728));
158 firmSP_Map.insert(std::pair<int,int>(20100901,20100901));
161 firmSP_Map.insert(std::pair<int,int>(20101011,20101011));
162 firmSP_Map.insert(std::pair<int,int>(20101210,20101210));
163 firmSP_Map.insert(std::pair<int,int>(20110204,20110118));
164 firmSP_Map.insert(std::pair<int,int>(20110322,20110118));
166 firmSP_Map.insert(std::pair<int,int>(20120131,20120131));
167 firmSP_Map.insert(std::pair<int,int>(20120227,20120131));
169 firmSP_Map.insert(std::pair<int,int>(20120313,20120313));
170 firmSP_Map.insert(std::pair<int,int>(20120319,20120313));
179 LogDebug(
"CSCTFSectorProcessor") <<
"Initializing pT LUT from EventSetup";
193 LogDebug(
"CSCTFSectorProcessor") <<
"\n !!! CSCTF EMULATOR CONFIGURATION !!!"
194 <<
"\n\nCORE CONFIGURATION"
195 <<
"\n Coincidence Trigger? " <<
run_core
204 <<
"\n BX Analyzer depth: assemble coinc. track with stubs in +/-" <<
m_bxa_depth <<
" Bxs"
205 <<
"\n Is Wide Phi Extrapolation (DeltaPhi valid up to ~15 degrees, otherwise ~7.67 degrees)? " <<
m_widePhi
211 <<
"\n\nVARIOUS CONFIGURATION PARAMETERS"
215 <<
"\nQualityEnableME1a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1a
216 <<
"\nQualityEnableME1b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1b
217 <<
"\nQualityEnableME1c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1c
218 <<
"\nQualityEnableME1d (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1d
219 <<
"\nQualityEnableME1e (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1e
220 <<
"\nQualityEnableME1f (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1f
221 <<
"\nQualityEnableME2a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2a
222 <<
"\nQualityEnableME2b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2b
223 <<
"\nQualityEnableME2c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2c
224 <<
"\nQualityEnableME3a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3a
225 <<
"\nQualityEnableME3b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3b
226 <<
"\nQualityEnableME3c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3c
227 <<
"\nQualityEnableME4a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4a
228 <<
"\nQualityEnableME4b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4b
229 <<
"\nQualityEnableME4c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4c
237 <<
"\n\nDAT_ETA REGISTERS"
238 <<
"\nMinimum eta difference for track cancellation logic=" <<
m_mindetap
239 <<
"\nMinimum eta difference for halo track cancellation logic=" <<
m_mindetap_halo
241 <<
"\nMinimum eta for ME1-ME2 collision tracks=" <<
m_etamin[0]
242 <<
"\nMinimum eta for ME1-ME3 collision tracks=" <<
m_etamin[1]
243 <<
"\nMinimum eta for ME2-ME3 collision tracks=" <<
m_etamin[2]
244 <<
"\nMinimum eta for ME2-ME4 collision tracks=" <<
m_etamin[3]
245 <<
"\nMinimum eta for ME3-ME4 collision tracks=" <<
m_etamin[4]
246 <<
"\nMinimum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamin[5]
247 <<
"\nMinimum eta for ME2-MB1 collision tracks=" <<
m_etamin[6]
248 <<
"\nMinimum eta for ME1-ME4 collision tracks=" <<
m_etamin[7]
250 <<
"\nMinimum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_mindeta12_accp
251 <<
"\nMinimum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_mindeta13_accp
255 <<
"\nMaximum eta for ME1-ME2 collision tracks=" <<
m_etamax[0]
256 <<
"\nMaximum eta for ME1-ME3 collision tracks=" <<
m_etamax[1]
257 <<
"\nMaximum eta for ME2-ME3 collision tracks=" <<
m_etamax[2]
258 <<
"\nMaximum eta for ME2-ME4 collision tracks=" <<
m_etamax[3]
259 <<
"\nMaximum eta for ME3-ME4 collision tracks=" <<
m_etamax[4]
260 <<
"\nMaximum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamax[5]
261 <<
"\nMaximum eta for ME2-MB1 collision tracks=" <<
m_etamax[6]
262 <<
"\nMaximum eta for ME1-ME4 collision tracks=" <<
m_etamax[7]
264 <<
"\nMaximum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdeta12_accp
265 <<
"\nMaximum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdeta13_accp
269 <<
"\nEta window for ME1-ME2 collision tracks=" <<
m_etawin[0]
270 <<
"\nEta window for ME1-ME3 collision tracks=" <<
m_etawin[1]
271 <<
"\nEta window for ME2-ME3 collision tracks=" <<
m_etawin[2]
272 <<
"\nEta window for ME2-ME4 collision tracks=" <<
m_etawin[3]
273 <<
"\nEta window for ME3-ME4 collision tracks=" <<
m_etawin[4]
274 <<
"\nEta window for ME1-ME2 collision tracks in overlap region=" <<
m_etawin[5]
275 <<
"\nEta window for ME1-ME4 collision tracks=" <<
m_etawin[6]
277 <<
"\nMaximum phi difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdphi12_accp
278 <<
"\nMaximum phi difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdphi13_accp
282 <<
"\nMinimum phi difference for track cancellation logic=" <<
m_mindphip
283 <<
"\nMinimum phi difference for halo track cancellation logic=" <<
m_mindphip_halo
285 <<
"\nParameter for the correction of misaligned 1-2-3-4 straight tracks =" <<
m_straightp
286 <<
"\nParameter for the correction of misaligned 1-2-3-4 curved tracks=" <<
m_curvedp
290 <<
"\nFirmware SP year+month+day:" <<
m_firmSP
291 <<
"\nFirmware FA year+month+day:" <<
m_firmFA
292 <<
"\nFirmware DD year+month+day:" <<
m_firmDD
293 <<
"\nFirmware VM year+month+day:" <<
m_firmVM;
307 core_ -> SetCoreFirmwareVersion (firmVersCore);
308 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\nCore Firmware is set to " <<
core_ -> GetCoreFirmwareVersion();
460 edm::LogError(
"CSCTFTrackBuilder")<<
"kill_fiber parameter left uninitialized";
465 edm::LogError(
"CSCTFTrackBuilder")<<
"run_core parameter left uninitialized";
470 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_ME1a parameter left uninitialized";
475 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_ME1b parameter left uninitialized";
480 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_ME2 parameter left uninitialized";
485 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_ME3 parameter left uninitialized";
490 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_ME4 parameter left uninitialized";
495 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_MB1a parameter left uninitialized";
500 edm::LogError(
"CSCTFTrackBuilder")<<
"trigger_on_MB1d parameter left uninitialized";
508 edm::LogError(
"CSCTFTrackBuilder")<<
"singlesTrackOutput parameter left uninitialized";
513 edm::LogError(
"CSCTFTrackBuilder")<<
"rescaleSinglesPhi parameter left uninitialized";
519 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1a parameter left uninitialized";
524 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1b parameter left uninitialized";
529 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1c parameter left uninitialized";
534 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1d parameter left uninitialized";
539 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1e parameter left uninitialized";
544 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME1f parameter left uninitialized";
549 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME2a parameter left uninitialized";
554 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME2b parameter left uninitialized";
559 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME2c parameter left uninitialized";
564 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME3a parameter left uninitialized";
569 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME3b parameter left uninitialized";
574 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME3c parameter left uninitialized";
579 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME4a parameter left uninitialized";
584 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME4b parameter left uninitialized";
589 edm::LogError(
"CSCTFTrackBuilder")<<
"QualityEnableME4c parameter left uninitialized";
595 edm::LogError(
"CSCTFSectorProcessor")<<
" firmwareSP parameter left uninitialized!!!\n";
600 edm::LogError(
"CSCTFSectorProcessor")<<
" firmwareFA parameter left uninitialized!!!\n";
605 edm::LogError(
"CSCTFSectorProcessor")<<
" firmwareDD parameter left uninitialized!!!\n";
610 edm::LogError(
"CSCTFSectorProcessor")<<
" firmwareVM parameter left uninitialized!!!\n";
619 <<
" firmwareDD (=" <<
m_firmDD <<
"), "
620 <<
" firmwareVM (=" << m_firmVM <<
") are NOT identical: it shoultd NOT happen!\n";
631 std::vector<unsigned>::const_iterator iter;
633 std::vector<unsigned> etawins = pset.
getParameter<std::vector<unsigned> >(
"EtaWindows");
634 for(iter=etawins.begin(),index=0; iter!=etawins.end()&&index<7; iter++,index++)
m_etawin[index] = *iter;
635 std::vector<unsigned> etamins = pset.
getParameter<std::vector<unsigned> >(
"EtaMin");
636 for(iter=etamins.begin(),index=0; iter!=etamins.end()&&index<8; iter++,index++)
m_etamin[index] = *iter;
637 std::vector<unsigned> etamaxs = pset.
getParameter<std::vector<unsigned> >(
"EtaMax");
638 for(iter=etamaxs.begin(),index=0; iter!=etamaxs.end()&&index<8; iter++,index++)
m_etamax[index] = *iter;
698 for(
int i = 0;
i < 5; ++
i)
720 edm::LogError(
"CSCTFSectorProcessor::run()") <<
"No CSCTF PTLUTs: Initialize CSC TF LUTs first (missed call to CSCTFTrackProducer::beginJob?\n";
729 std::vector<csctf::TrackStub> stub_vec = stubs.
get();
734 for(std::vector<csctf::TrackStub>::const_iterator itr=stub_vec.begin(); itr!=stub_vec.end(); itr++)
735 switch( itr->station() ){
738 switch( itr->getMPCLink() ){
742 default:
edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"No MPC sorting for LCT: link="<<itr->getMPCLink()<<
"\n";
746 switch( itr->getMPCLink() ){
750 default:
edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"No MPC sorting for LCT: link="<<itr->getMPCLink()<<
"\n";
754 switch( itr->getMPCLink() ){
758 default:
edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"No MPC sorting for LCT: link="<<itr->getMPCLink()<<
"\n";
769 default:
edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"No MPC sorting for LCT: link="<<itr->getMPCLink()<<
"\n";
772 default:
edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"Invalid station # encountered: "<<itr->station()<<
"\n";
785 if(itr->station() != 5)
792 lclPhi =
srLUTs_[
FPGAs[fpga]]->localPhi(itr->getStrip(), itr->getPattern(), itr->getQuality(), itr->getBend());
794 bzero(&lclPhi,
sizeof(lclPhi));
795 edm::LogWarning(
"CSCTFSectorProcessor:run()") <<
"Exception from LocalPhi LUT in " <<
FPGAs[fpga]
796 <<
"(strip="<<itr->getStrip()<<
",pattern="<<itr->getPattern()<<
",quality="<<itr->getQuality()<<
",bend="<<itr->getBend()<<
")" <<std::endl;
801 unsigned csc_id = itr->cscid();
803 gblPhi =
srLUTs_[
FPGAs[fpga]]->globalPhiME(lclPhi.phi_local, itr->getKeyWG(), csc_id);
806 bzero(&gblPhi,
sizeof(gblPhi));
807 edm::LogWarning(
"CSCTFSectorProcessor:run()") <<
"Exception from GlobalPhi LUT in " <<
FPGAs[fpga]
808 <<
"(phi_local="<<lclPhi.phi_local<<
",KeyWG="<<itr->getKeyWG()<<
",csc="<<itr->cscid()<<
")"<<std::endl;
813 gblEta =
srLUTs_[
FPGAs[fpga]]->globalEtaME(lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), itr->cscid());
815 bzero(&gblEta,
sizeof(gblEta));
816 edm::LogWarning(
"CSCTFSectorProcessor:run()") <<
"Exception from GlobalEta LUT in " <<
FPGAs[fpga]
817 <<
"(phi_bend_local="<<lclPhi.phi_bend_local<<
",phi_local="<<lclPhi.phi_local<<
",KeyWG="<<itr->getKeyWG()<<
",csc="<<itr->cscid()<<
")"<<std::endl;
822 gblPhiDT =
srLUTs_[
FPGAs[fpga]]->globalPhiMB(lclPhi.phi_local, itr->getKeyWG(), itr->cscid());
824 bzero(&gblPhiDT,
sizeof(gblPhiDT));
825 edm::LogWarning(
"CSCTFSectorProcessor:run()") <<
"Exception from GlobalPhi DT LUT in " <<
FPGAs[fpga]
826 <<
"(phi_local="<<lclPhi.phi_local<<
",KeyWG="<<itr->getKeyWG()<<
",csc="<<itr->cscid()<<
")"<<std::endl;
829 itr->setEtaPacked(gblEta.global_eta);
831 if(itr->station() == 1 ) {
833 itr->setPhiPacked(gblPhiDT.global_phi);
840 itr->setPhiPacked(gblPhi.global_phi);
842 LogDebug(
"CSCTFSectorProcessor:run()") <<
"LCT found, processed by FPGA: " <<
FPGAs[fpga] << std::endl
843 <<
" LCT now has (eta, phi) of: (" << itr->etaValue() <<
"," << itr->phiValue() <<
")\n";
855 std::vector<csc::L1Track> tftks;
887 std::vector<csc::L1Track>::iterator titr = tftks.begin();
889 for(; titr != tftks.end(); titr++)
891 ptadd thePtAddress(titr->ptLUTAddress());
894 if(thePtAddress.track_fr)
896 titr->setRank(thePtData.front_rank);
897 titr->setChargeValidPacked(thePtData.charge_valid_front);
901 titr->setRank(thePtData.rear_rank);
902 titr->setChargeValidPacked(thePtData.charge_valid_rear);
905 if( ((titr->ptLUTAddress()>>16)&0xf)==15 )
907 int unmodBx = titr->bx();
908 titr->setBx(unmodBx+2);
921 int station = itr->station()-1;
924 int mpc = ( subSector ? subSector-1 : station+1 );
929 int bx = itr->getBX() -
m_minBX;
930 if( bx<0 || bx>=7 )
edm::LogWarning(
"CSCTFTrackBuilder::buildTracks()") <<
" LCT BX is out of ["<<
m_minBX<<
","<<
m_maxBX<<
") range: "<<itr->getBX();
932 if( itr->isValid() ) myStubContainer[bx].push_back(*itr);
944 for(
int bx=0; bx<7; bx++)
945 if( myStubContainer[bx].
get().size() ){
946 bool coreTrackExists =
false;
949 for(std::vector<csc::L1Track>::iterator trk=tracks.begin(); trk<tracks.end(); trk++)
951 || (((trk->ptLUTAddress()>>16)&0xf)==15 && trk->BX()-2 == bx-
shift) ){
952 coreTrackExists =
true;
955 if( coreTrackExists ==
false ){
958 track.
setBx(bx-shift);
961 std::vector<csctf::TrackStub> stubs = myStubContainer[bx].
get();
963 int qualityME=0, qualityMB=0,
ME=100,
MB=100, linkME=7;
964 std::vector<csctf::TrackStub>::const_iterator bestStub=stubs.end();
965 for(std::vector<csctf::TrackStub>::const_iterator st_iter=stubs.begin(); st_iter!=stubs.end(); st_iter++){
966 int station = st_iter->station()-1;
968 int mpc = ( subSector ? subSector-1 : station+1 );
970 if( mpc==5 && (st_iter->getQuality()>qualityMB || (st_iter->getQuality()==qualityMB&&subSector<
MB)) ){
971 qualityMB = st_iter->getQuality();
973 if(
ME>4) bestStub = st_iter;
976 if( mpc<5 && (st_iter->getQuality()> qualityME
977 || (st_iter->getQuality()==qualityME && mpc<
ME)
978 || (st_iter->getQuality()==qualityME && mpc==
ME && st_iter->getMPCLink()<linkME))) {
979 qualityME = st_iter->getQuality();
981 linkME = st_iter->getMPCLink();
985 unsigned rescaled_phi = 999;
990 rescaled_phi = unsigned(24*(bestStub->phiPacked()&0x7f)/128.);
994 rescaled_phi = unsigned(24*(bestStub->phiPacked()>>5)/128.);
997 unsigned unscaled_phi = bestStub->phiPacked()>>7 ;
1000 switch( bestStub->station() ){
1001 case 1: track.
setStationIds(bestStub->getMPCLink(),0,0,0,0);
break;
1002 case 2: track.
setStationIds(0,bestStub->getMPCLink(),0,0,0);
break;
1003 case 3: track.
setStationIds(0,0,bestStub->getMPCLink(),0,0);
break;
1004 case 4: track.
setStationIds(0,0,0,bestStub->getMPCLink(),0);
break;
1005 case 5: track.
setStationIds(0,0,0,0,bestStub->getMPCLink());
break;
1006 default:
edm::LogError(
"CSCTFSectorProcessor::run()") <<
"Illegal LCT link="<<bestStub->station()<<
"\n";
break;
1010 track.
setPtLUTAddress( (1<<16) | ((bestStub->etaPacked()<<9)&0xf000) );
1013 if( thePtAddress.track_fr ){
1014 track.
setRank(thePtData.front_rank);
1017 track.
setRank(thePtData.rear_rank);
1023 std::vector<csc::L1Track> single_tracks = tracksFromSingles.
get();
1034 <<
"******************************* \n"
1035 <<
"*** DISCLAIMER *** \n"
1036 <<
"******************************* \n"
1037 <<
"\n Firmware SP version (year+month+day)=" << firmSP
1038 <<
"\n Firmware FA/VM/DD version (year+month+day)=" << firmFA;
1039 if (firmSP==20100210)
1040 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
" -> KNOWN BUGS IN THE FIRMWARE:\n"
1041 <<
"\t * Wrong phi assignment for singles\n"
1042 <<
"\t * Wrapper passes to the core only even quality DT stubs\n"
1043 <<
"\n -> BUGS ARE GOING TO BE EMULATED BY THE SOFTWARE\n\n";
1046 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t * Correct phi assignment for singles\n";
1048 if (firmSP==20100629){
1049 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t * Correct MB quality masking in the wrapper\n"
1050 <<
"\t * Core is 20100122\n";
1053 if (firmSP==20100728)
1054 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t * Inverted MB clocks\n";
1056 if (firmSP==20100901)
1057 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t * Inverted charge bit\n";
1059 if (firmSP==20101011)
1060 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1061 <<
"\t * Added CSC-DT assembling tracks ME1-MB2/1 \n";
1062 if (firmSP==20101210)
1063 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1064 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n"
1065 <<
"\t Sharing at Least One LCT\n";
1067 if (firmSP==20110118)
1068 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1069 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n"
1070 <<
"\t Sharing at Least One LCT\n"
1071 <<
"\t * Passing CLCT and PhiBend for PT LUTs\n";
1072 if (firmSP==20120131)
1073 edm::LogInfo(
"CSCTFSectorProcessor" ) <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1074 <<
"\t * non-linear dphi12 dphi23, use deta for PTLUTs \n";
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void setLocalPhi(const unsigned &lphi)
std::vector< T > get() const
ptdat Pt(const ptadd &) const
CSCTriggerContainer< csctf::TrackStub > dt_stubs
void readParameters(const edm::ParameterSet &pset)
std::vector< csctf::TrackStub > stub_vec_filtered
void initialize(const edm::EventSetup &c)
KK.
void push_back(const T data)
void setPtLUTAddress(const unsigned &adr)
void printDisclaimer(int firmSP, int firmFA)
static const std::string FPGAs[5]
void setChargeValidPacked(unsigned valid)
Set Charge Valid.
unsigned int singlesTrackOutput
void push_many(const std::vector< T > data)
MB
Load tools to build workspace.
int run(const CSCTriggerContainer< csctf::TrackStub > &)
void setRank(const unsigned &rank)
void setBx(int bx)
Set Bunch Crossing.
bool run(const unsigned &endcap, const unsigned §or, const unsigned &latency, const unsigned &etamin1, const unsigned &etamin2, const unsigned &etamin3, const unsigned &etamin4, const unsigned &etamin5, const unsigned &etamin6, const unsigned &etamin7, const unsigned &etamin8, const unsigned &etamax1, const unsigned &etamax2, const unsigned &etamax3, const unsigned &etamax4, const unsigned &etamax5, const unsigned &etamax6, const unsigned &etamax7, const unsigned &etamax8, const unsigned &etawin1, const unsigned &etawin2, const unsigned &etawin3, const unsigned &etawin4, const unsigned &etawin5, const unsigned &etawin6, const unsigned &etawin7, const unsigned &mindphip, const unsigned &mindetap, const unsigned &mindeta12_accp, const unsigned &maxdeta12_accp, const unsigned &maxdphi12_accp, const unsigned &mindeta13_accp, const unsigned &maxdeta13_accp, const unsigned &maxdphi13_accp, const unsigned &mindeta112_accp, const unsigned &maxdeta112_accp, const unsigned &maxdphi112_accp, const unsigned &mindeta113_accp, const unsigned &maxdeta113_accp, const unsigned &maxdphi113_accp, const unsigned &mindphip_halo, const unsigned &mindetap_halo, const unsigned &straightp, const unsigned &curvedp, const unsigned &mbaPhiOff, const unsigned &mbbPhiOff, const unsigned &m_extend_length, const unsigned &m_allowALCTonly, const unsigned &m_allowCLCTonly, const unsigned &m_preTrigger, const unsigned &m_widePhi, const int &minBX, const int &maxBX)
unsigned ptLUTAddress() const
CSCTriggerContainer< csc::L1Track > l1_tracks
std::map< std::string, CSCSectorReceiverLUT * > srLUTs_
CSCTFSectorProcessor(const unsigned &endcap, const unsigned §or, const edm::ParameterSet &pset, bool tmb07, const L1MuTriggerScales *scales, const L1MuTriggerPtScale *ptScale)
class global_phi_data gblphidat
void setOutputLink(unsigned oPL)
T const * product() const
class local_phi_data lclphidat
Data Types.
static int triggerSubSectorFromLabels(int station, int chamber)
CSCTriggerContainer< csc::L1Track > tracks() const
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
static unsigned int const shift
void setStationIds(const unsigned &me1, const unsigned &me2, const unsigned &me3, const unsigned &me4, const unsigned &mb1)
void loadData(const CSCTriggerContainer< csctf::TrackStub > &, const unsigned &endcap, const unsigned §or, const int &minBX, const int &maxBX)
CSCTriggerContainer< csc::L1Track > tracks()
class global_eta_data gbletadat
std::map< int, int > firmSP_Map