17 const unsigned& sector,
34 if (m_maxBX - m_minBX >= 7)
36 <<
" BX window width >= 7BX. Resetting m_maxBX=" << (m_maxBX = m_minBX + 6);
118 if (initializeFromPSet)
123 for (
int i = 1;
i <= 4; ++
i) {
125 for (
int j = 0;
j < 2;
j++) {
135 if (initializeFromPSet) {
141 LogDebug(
"CSCTFSectorProcessor") <<
"Looking for PT LUT in EventSetup for endcap=" <<
m_endcap 155 firmSP_Map.insert(std::pair<int, int>(20100210, 20100122));
156 firmSP_Map.insert(std::pair<int, int>(20100617, 20100122));
157 firmSP_Map.insert(std::pair<int, int>(20100629, 20100122));
159 firmSP_Map.insert(std::pair<int, int>(20100728, 20100728));
161 firmSP_Map.insert(std::pair<int, int>(20100901, 20100901));
164 firmSP_Map.insert(std::pair<int, int>(20101011, 20101011));
165 firmSP_Map.insert(std::pair<int, int>(20101210, 20101210));
166 firmSP_Map.insert(std::pair<int, int>(20110204, 20110118));
167 firmSP_Map.insert(std::pair<int, int>(20110322, 20110118));
169 firmSP_Map.insert(std::pair<int, int>(20120131, 20120131));
170 firmSP_Map.insert(std::pair<int, int>(20120227, 20120131));
172 firmSP_Map.insert(std::pair<int, int>(20120313, 20120313));
173 firmSP_Map.insert(std::pair<int, int>(20120319, 20120313));
175 firmSP_Map.insert(std::pair<int, int>(20120730, 20120730));
177 firmSP_Map.insert(std::pair<int, int>(20140424, 20140424));
179 firmSP_Map.insert(std::pair<int, int>(20140515, 20140515));
188 LogDebug(
"CSCTFSectorProcessor") <<
"Initializing pT LUT from EventSetup";
203 <<
"\n !!! CSCTF EMULATOR CONFIGURATION !!!" 204 <<
"\n\nCORE CONFIGURATION" 205 <<
"\n Coincidence Trigger? " <<
run_core <<
"\n Singles in ME1a? " <<
trigger_on_ME1a <<
"\n Singles in ME1b? " 210 <<
"\n BX Analyzer depth: assemble coinc. track with stubs in +/-" <<
m_bxa_depth <<
" Bxs" 211 <<
"\n Is Wide Phi Extrapolation (DeltaPhi valid up to ~15 degrees, otherwise ~7.67 degrees)? " <<
m_widePhi 216 <<
"\n\nVARIOUS CONFIGURATION PARAMETERS" 219 <<
"\nQualityEnableME1a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1a 220 <<
"\nQualityEnableME1b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1b 221 <<
"\nQualityEnableME1c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1c 222 <<
"\nQualityEnableME1d (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1d 223 <<
"\nQualityEnableME1e (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1e 224 <<
"\nQualityEnableME1f (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1f 225 <<
"\nQualityEnableME2a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2a 226 <<
"\nQualityEnableME2b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2b 227 <<
"\nQualityEnableME2c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2c 228 <<
"\nQualityEnableME3a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3a 229 <<
"\nQualityEnableME3b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3b 230 <<
"\nQualityEnableME3c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3c 231 <<
"\nQualityEnableME4a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4a 232 <<
"\nQualityEnableME4b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4b 233 <<
"\nQualityEnableME4c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4c 235 <<
"\nkill_fiber=" <<
kill_fiber <<
"\nSingles Output Link=" 241 <<
"\n\nDAT_ETA REGISTERS" 242 <<
"\nMinimum eta difference for track cancellation logic=" <<
m_mindetap 243 <<
"\nMinimum eta difference for halo track cancellation logic=" <<
m_mindetap_halo 245 <<
"\nMinimum eta for ME1-ME2 collision tracks=" <<
m_etamin[0]
246 <<
"\nMinimum eta for ME1-ME3 collision tracks=" <<
m_etamin[1]
247 <<
"\nMinimum eta for ME2-ME3 collision tracks=" <<
m_etamin[2]
248 <<
"\nMinimum eta for ME2-ME4 collision tracks=" <<
m_etamin[3]
249 <<
"\nMinimum eta for ME3-ME4 collision tracks=" <<
m_etamin[4]
250 <<
"\nMinimum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamin[5]
251 <<
"\nMinimum eta for ME2-MB1 collision tracks=" <<
m_etamin[6]
252 <<
"\nMinimum eta for ME1-ME4 collision tracks=" <<
m_etamin[7]
254 <<
"\nMinimum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_mindeta12_accp 255 <<
"\nMinimum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_mindeta13_accp 259 <<
"\nMaximum eta for ME1-ME2 collision tracks=" <<
m_etamax[0]
260 <<
"\nMaximum eta for ME1-ME3 collision tracks=" <<
m_etamax[1]
261 <<
"\nMaximum eta for ME2-ME3 collision tracks=" <<
m_etamax[2]
262 <<
"\nMaximum eta for ME2-ME4 collision tracks=" <<
m_etamax[3]
263 <<
"\nMaximum eta for ME3-ME4 collision tracks=" <<
m_etamax[4]
264 <<
"\nMaximum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamax[5]
265 <<
"\nMaximum eta for ME2-MB1 collision tracks=" <<
m_etamax[6]
266 <<
"\nMaximum eta for ME1-ME4 collision tracks=" <<
m_etamax[7]
268 <<
"\nMaximum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdeta12_accp 269 <<
"\nMaximum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdeta13_accp 273 <<
"\nEta window for ME1-ME2 collision tracks=" <<
m_etawin[0]
274 <<
"\nEta window for ME1-ME3 collision tracks=" <<
m_etawin[1]
275 <<
"\nEta window for ME2-ME3 collision tracks=" <<
m_etawin[2]
276 <<
"\nEta window for ME2-ME4 collision tracks=" <<
m_etawin[3]
277 <<
"\nEta window for ME3-ME4 collision tracks=" <<
m_etawin[4]
278 <<
"\nEta window for ME1-ME2 collision tracks in overlap region=" <<
m_etawin[5]
279 <<
"\nEta window for ME1-ME4 collision tracks=" <<
m_etawin[6]
281 <<
"\nMaximum phi difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdphi12_accp 282 <<
"\nMaximum phi difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdphi13_accp 286 <<
"\nMinimum phi difference for track cancellation logic=" <<
m_mindphip 287 <<
"\nMinimum phi difference for halo track cancellation logic=" <<
m_mindphip_halo 289 <<
"\nParameter for the correction of misaligned 1-2-3-4 straight tracks =" <<
m_straightp 290 <<
"\nParameter for the correction of misaligned 1-2-3-4 curved tracks=" <<
m_curvedp 293 <<
"\nFirmware SP year+month+day:" <<
m_firmSP <<
"\nFirmware FA year+month+day:" <<
m_firmFA 294 <<
"\nFirmware DD year+month+day:" <<
m_firmDD <<
"\nFirmware VM year+month+day:" <<
m_firmVM;
315 <<
"BXAdepth parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
320 <<
"AllowALCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
325 <<
"AllowCLCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
330 <<
"PreTrigger parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
335 <<
"mindphip parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
340 <<
"mindeta parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
345 <<
"straightp parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
350 <<
"curvedp parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
355 <<
"mbaPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
360 <<
"mbbPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
365 <<
"mindeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
370 <<
"maxdeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
375 <<
"maxdphi_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
380 <<
"mindeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
385 <<
"maxdeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
390 <<
"maxdphi_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
395 <<
"mindeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
400 <<
"maxdeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
405 <<
"maxdphi_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
410 <<
"mindeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
415 <<
"maxdeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
420 <<
"maxdphi_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
425 <<
"mindphip_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
430 <<
"mindetep_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
436 <<
"widePhi parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
443 <<
"Some (" << (8 -
index) <<
") of EtaMax parameters left uninitialized for endcap=" <<
m_endcap 450 <<
"Some (" << (8 -
index) <<
") of EtaMin parameters left uninitialized for endcap=" <<
m_endcap 457 <<
"Some (" << (6 -
index) <<
") of EtaWindows parameters left uninitialized for endcap=" <<
m_endcap 462 edm::LogError(
"CSCTFTrackBuilder") <<
"kill_fiber parameter left uninitialized";
466 edm::LogError(
"CSCTFTrackBuilder") <<
"run_core parameter left uninitialized";
470 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1a parameter left uninitialized";
474 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1b parameter left uninitialized";
478 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME2 parameter left uninitialized";
482 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME3 parameter left uninitialized";
486 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME4 parameter left uninitialized";
490 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1a parameter left uninitialized";
494 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1d parameter left uninitialized";
500 edm::LogError(
"CSCTFTrackBuilder") <<
"singlesTrackOutput parameter left uninitialized";
504 edm::LogError(
"CSCTFTrackBuilder") <<
"rescaleSinglesPhi parameter left uninitialized";
509 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1a parameter left uninitialized";
513 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1b parameter left uninitialized";
517 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1c parameter left uninitialized";
521 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1d parameter left uninitialized";
525 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1e parameter left uninitialized";
529 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1f parameter left uninitialized";
533 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2a parameter left uninitialized";
537 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2b parameter left uninitialized";
541 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2c parameter left uninitialized";
545 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3a parameter left uninitialized";
549 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3b parameter left uninitialized";
553 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3c parameter left uninitialized";
557 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4a parameter left uninitialized";
561 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4b parameter left uninitialized";
565 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4c parameter left uninitialized";
570 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareSP parameter left uninitialized!!!\n";
574 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareFA parameter left uninitialized!!!\n";
578 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareDD parameter left uninitialized!!!\n";
582 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareVM parameter left uninitialized!!!\n";
588 <<
" firmwareFA (=" <<
m_firmFA <<
"), " 589 <<
" firmwareDD (=" <<
m_firmDD <<
"), " 590 <<
" firmwareVM (=" << m_firmVM <<
") are NOT identical: it shoultd NOT happen!\n";
600 std::vector<unsigned>::const_iterator iter;
602 std::vector<unsigned> etawins = pset.
getParameter<std::vector<unsigned> >(
"EtaWindows");
603 for (iter = etawins.begin(), index = 0; iter != etawins.end() && index < 7; iter++, index++)
605 std::vector<unsigned> etamins = pset.
getParameter<std::vector<unsigned> >(
"EtaMin");
606 for (iter = etamins.begin(), index = 0; iter != etamins.end() && index < 8; iter++, index++)
608 std::vector<unsigned> etamaxs = pset.
getParameter<std::vector<unsigned> >(
"EtaMax");
609 for (iter = etamaxs.begin(), index = 0; iter != etamaxs.end() && index < 8; iter++, index++)
668 for (
int i = 0;
i < 5; ++
i) {
690 <<
"No CSCTF PTLUTs: Initialize CSC TF LUTs first (missed call to CSCTFTrackProducer::beginJob?\n";
698 std::vector<csctf::TrackStub> stub_vec = stubs.
get();
703 for (std::vector<csctf::TrackStub>::const_iterator itr = stub_vec.begin(); itr != stub_vec.end(); itr++)
704 switch (itr->station()) {
709 switch (itr->getMPCLink()) {
724 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
728 switch (itr->getMPCLink()) {
743 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
747 switch (itr->getMPCLink()) {
762 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
766 switch (itr->getMPCLink() +
794 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
798 edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"Invalid station # encountered: " << itr->station() <<
"\n";
810 if (itr->station() != 5) {
817 itr->getStrip(), itr->getPattern(), itr->getQuality(), itr->getBend(),
m_gangedME1a);
819 bzero(&lclPhi,
sizeof(lclPhi));
821 <<
"Exception from LocalPhi LUT in " <<
FPGAs[fpga] <<
"(strip=" << itr->getStrip()
822 <<
",pattern=" << itr->getPattern() <<
",quality=" << itr->getQuality() <<
",bend=" << itr->getBend() <<
")" 828 unsigned csc_id = itr->cscid();
830 csc_id = itr->cscidSeparateME1a();
836 bzero(&gblPhi,
sizeof(gblPhi));
838 <<
"Exception from GlobalPhi LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
839 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
844 unsigned csc_id = itr->cscid();
846 csc_id = itr->cscidSeparateME1a();
848 lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), csc_id,
m_gangedME1a);
851 bzero(&gblEta,
sizeof(gblEta));
853 <<
"Exception from GlobalEta LUT in " <<
FPGAs[fpga] <<
"(phi_bend_local=" << lclPhi.phi_bend_local
854 <<
",phi_local=" << lclPhi.phi_local <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" 862 bzero(&gblPhiDT,
sizeof(gblPhiDT));
864 <<
"Exception from GlobalPhi DT LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
865 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
868 itr->setEtaPacked(gblEta.global_eta);
870 if (itr->station() == 1) {
872 itr->setPhiPacked(gblPhiDT.global_phi);
879 itr->setPhiPacked(gblPhi.global_phi);
881 LogDebug(
"CSCTFSectorProcessor:run()")
882 <<
"LCT found, processed by FPGA: " <<
FPGAs[fpga] << std::endl
883 <<
" LCT now has (eta, phi) of: (" << itr->etaValue() <<
"," << itr->phiValue() <<
")\n";
895 std::vector<csc::L1Track> tftks;
963 std::vector<csc::L1Track>::iterator titr = tftks.begin();
965 for (; titr != tftks.end(); titr++) {
966 ptadd thePtAddress(titr->ptLUTAddress());
968 if (thePtAddress.track_fr) {
969 titr->setRank(thePtData.front_rank);
970 titr->setChargeValidPacked(thePtData.charge_valid_front);
972 titr->setRank(thePtData.rear_rank);
973 titr->setChargeValidPacked(thePtData.charge_valid_rear);
976 if (((titr->ptLUTAddress() >> 16) & 0xf) == 15) {
977 int unmodBx = titr->bx();
978 titr->setBx(unmodBx + 2);
992 int station = itr->station() - 1;
995 int mpc = (subSector ? subSector - 1 : station + 1);
1000 if (bx < 0 || bx >= 7)
1002 <<
" LCT BX is out of [" <<
m_minBX <<
"," <<
m_maxBX <<
") range: " << itr->getBX();
1003 else if (itr->isValid())
1004 myStubContainer[bx].push_back(*itr);
1016 for (
int bx = 0;
bx < 7;
bx++)
1017 if (!myStubContainer[
bx].
get().empty()) {
1018 bool coreTrackExists =
false;
1021 for (std::vector<csc::L1Track>::iterator trk = tracks.begin(); trk < tracks.end(); trk++)
1023 (((trk->ptLUTAddress() >> 16) & 0xf) == 15 && trk->BX() - 2 ==
bx -
shift)) {
1024 coreTrackExists =
true;
1027 if (coreTrackExists ==
false) {
1033 std::vector<csctf::TrackStub> stubs = myStubContainer[
bx].
get();
1035 int qualityME = 0, qualityMB = 0,
ME = 100, MB = 100, linkME = 7;
1036 std::vector<csctf::TrackStub>::const_iterator bestStub = stubs.end();
1037 for (std::vector<csctf::TrackStub>::const_iterator st_iter = stubs.begin(); st_iter != stubs.end(); st_iter++) {
1038 int station = st_iter->station() - 1;
1040 int mpc = (subSector ? subSector - 1 : station + 1);
1043 (st_iter->getQuality() > qualityMB || (st_iter->getQuality() == qualityMB && subSector < MB))) {
1044 qualityMB = st_iter->getQuality();
1050 if (mpc < 5 && (st_iter->getQuality() > qualityME || (st_iter->getQuality() == qualityME && mpc <
ME) ||
1051 (st_iter->getQuality() == qualityME && mpc ==
ME && st_iter->getMPCLink() < linkME))) {
1052 qualityME = st_iter->getQuality();
1054 linkME = st_iter->getMPCLink();
1058 unsigned rescaled_phi = 999;
1063 rescaled_phi = unsigned(24 * (bestStub->phiPacked() & 0x7f) / 128.);
1066 rescaled_phi = unsigned(24 * (bestStub->phiPacked() >> 5) / 128.);
1069 unsigned unscaled_phi = bestStub->phiPacked() >> 7;
1071 track.
setEtaPacked((bestStub->etaPacked() >> 2) & 0x1f);
1072 switch (bestStub->station()) {
1089 edm::LogError(
"CSCTFSectorProcessor::run()") <<
"Illegal LCT link=" << bestStub->station() <<
"\n";
1094 track.
setPtLUTAddress((1 << 16) | ((bestStub->etaPacked() << 9) & 0xf000));
1097 if (thePtAddress.track_fr) {
1098 track.
setRank(thePtData.front_rank);
1101 track.
setRank(thePtData.rear_rank);
1107 std::vector<csc::L1Track> single_tracks = tracksFromSingles.
get();
1108 if (!single_tracks.empty())
1118 <<
"******************************* \n" 1119 <<
"*** DISCLAIMER *** \n" 1120 <<
"******************************* \n" 1121 <<
"\n Firmware SP version (year+month+day)=" << firmSP
1122 <<
"\n Firmware FA/VM/DD version (year+month+day)=" << firmFA;
1123 if (firmSP == 20100210)
1124 edm::LogInfo(
"CSCTFSectorProcessor") <<
" -> KNOWN BUGS IN THE FIRMWARE:\n" 1125 <<
"\t * Wrong phi assignment for singles\n" 1126 <<
"\t * Wrapper passes to the core only even quality DT stubs\n" 1127 <<
"\n -> BUGS ARE GOING TO BE EMULATED BY THE SOFTWARE\n\n";
1130 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct phi assignment for singles\n";
1132 if (firmSP == 20100629) {
1133 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct MB quality masking in the wrapper\n" 1134 <<
"\t * Core is 20100122\n";
1137 if (firmSP == 20100728)
1138 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted MB clocks\n";
1140 if (firmSP == 20100901)
1141 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted charge bit\n";
1143 if (firmSP == 20101011)
1144 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1145 <<
"\t * Added CSC-DT assembling tracks ME1-MB2/1 \n";
1146 if (firmSP == 20101210)
1147 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1148 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n" 1149 <<
"\t Sharing at Least One LCT\n";
1151 if (firmSP == 20110118)
1152 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1153 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n" 1154 <<
"\t Sharing at Least One LCT\n" 1155 <<
"\t * Passing CLCT and PhiBend for PT LUTs\n";
1156 if (firmSP == 20120131)
1157 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1158 <<
"\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)
void loadData(const CSCTriggerContainer< csctf::TrackStub > &, const unsigned &endcap, const unsigned §or, const int &minBX, const int &maxBX, const bool gangedME1a)
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.
edm::ParameterSet parameters(int sp) const
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_back(const T &data)
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
void SetSPFirmwareVersion(const unsigned int fwVer)
CSCTriggerContainer< csc::L1Track > l1_tracks
unsigned int GetCoreFirmwareVersion()
void push_many(const std::vector< T > &data)
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)
void SetCoreFirmwareVersion(const unsigned int fwVer)
class local_phi_data lclphidat
Data Types.
const std::vector< double > ptScale
static int triggerSubSectorFromLabels(int station, int chamber)
CSCTriggerContainer< csc::L1Track > tracks() const
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
void SetVerbose(const bool verb)
dqm::harvesting::MonitorElement ME
static unsigned int const shift
void setStationIds(const unsigned &me1, const unsigned &me2, const unsigned &me3, const unsigned &me4, const unsigned &mb1)
CSCTriggerContainer< csc::L1Track > tracks()
class global_eta_data gbletadat
T const * product() const
std::map< int, int > firmSP_Map