15 if (not
pset.getParameter<
bool>(
"initializeFromPSet")) {
23 const unsigned& sector,
42 <<
" BX window width >= 7BX. Resetting m_maxBX=" << (
m_maxBX =
m_minBX + 6);
129 for (
int i = 1;
i <= 4; ++
i) {
131 for (
int j = 0;
j < 2;
j++) {
147 LogDebug(
"CSCTFSectorProcessor") <<
"Looking for PT LUT in EventSetup for endcap=" <<
m_endcap
161 firmSP_Map.insert(std::pair<int, int>(20100210, 20100122));
162 firmSP_Map.insert(std::pair<int, int>(20100617, 20100122));
163 firmSP_Map.insert(std::pair<int, int>(20100629, 20100122));
165 firmSP_Map.insert(std::pair<int, int>(20100728, 20100728));
167 firmSP_Map.insert(std::pair<int, int>(20100901, 20100901));
170 firmSP_Map.insert(std::pair<int, int>(20101011, 20101011));
171 firmSP_Map.insert(std::pair<int, int>(20101210, 20101210));
172 firmSP_Map.insert(std::pair<int, int>(20110204, 20110118));
173 firmSP_Map.insert(std::pair<int, int>(20110322, 20110118));
175 firmSP_Map.insert(std::pair<int, int>(20120131, 20120131));
176 firmSP_Map.insert(std::pair<int, int>(20120227, 20120131));
178 firmSP_Map.insert(std::pair<int, int>(20120313, 20120313));
179 firmSP_Map.insert(std::pair<int, int>(20120319, 20120313));
181 firmSP_Map.insert(std::pair<int, int>(20120730, 20120730));
183 firmSP_Map.insert(std::pair<int, int>(20140424, 20140424));
185 firmSP_Map.insert(std::pair<int, int>(20140515, 20140515));
194 LogDebug(
"CSCTFSectorProcessor") <<
"Initializing pT LUT from EventSetup";
208 <<
"\n !!! CSCTF EMULATOR CONFIGURATION !!!"
209 <<
"\n\nCORE CONFIGURATION"
210 <<
"\n Coincidence Trigger? " <<
run_core <<
"\n Singles in ME1a? " <<
trigger_on_ME1a <<
"\n Singles in ME1b? "
215 <<
"\n BX Analyzer depth: assemble coinc. track with stubs in +/-" <<
m_bxa_depth <<
" Bxs"
216 <<
"\n Is Wide Phi Extrapolation (DeltaPhi valid up to ~15 degrees, otherwise ~7.67 degrees)? " <<
m_widePhi
221 <<
"\n\nVARIOUS CONFIGURATION PARAMETERS"
224 <<
"\nQualityEnableME1a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1a
225 <<
"\nQualityEnableME1b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1b
226 <<
"\nQualityEnableME1c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1c
227 <<
"\nQualityEnableME1d (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1d
228 <<
"\nQualityEnableME1e (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1e
229 <<
"\nQualityEnableME1f (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1f
230 <<
"\nQualityEnableME2a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2a
231 <<
"\nQualityEnableME2b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2b
232 <<
"\nQualityEnableME2c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2c
233 <<
"\nQualityEnableME3a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3a
234 <<
"\nQualityEnableME3b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3b
235 <<
"\nQualityEnableME3c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3c
236 <<
"\nQualityEnableME4a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4a
237 <<
"\nQualityEnableME4b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4b
238 <<
"\nQualityEnableME4c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4c
240 <<
"\nkill_fiber=" <<
kill_fiber <<
"\nSingles Output Link="
246 <<
"\n\nDAT_ETA REGISTERS"
247 <<
"\nMinimum eta difference for track cancellation logic=" <<
m_mindetap
248 <<
"\nMinimum eta difference for halo track cancellation logic=" <<
m_mindetap_halo
250 <<
"\nMinimum eta for ME1-ME2 collision tracks=" <<
m_etamin[0]
251 <<
"\nMinimum eta for ME1-ME3 collision tracks=" <<
m_etamin[1]
252 <<
"\nMinimum eta for ME2-ME3 collision tracks=" <<
m_etamin[2]
253 <<
"\nMinimum eta for ME2-ME4 collision tracks=" <<
m_etamin[3]
254 <<
"\nMinimum eta for ME3-ME4 collision tracks=" <<
m_etamin[4]
255 <<
"\nMinimum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamin[5]
256 <<
"\nMinimum eta for ME2-MB1 collision tracks=" <<
m_etamin[6]
257 <<
"\nMinimum eta for ME1-ME4 collision tracks=" <<
m_etamin[7]
259 <<
"\nMinimum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_mindeta12_accp
260 <<
"\nMinimum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_mindeta13_accp
264 <<
"\nMaximum eta for ME1-ME2 collision tracks=" <<
m_etamax[0]
265 <<
"\nMaximum eta for ME1-ME3 collision tracks=" <<
m_etamax[1]
266 <<
"\nMaximum eta for ME2-ME3 collision tracks=" <<
m_etamax[2]
267 <<
"\nMaximum eta for ME2-ME4 collision tracks=" <<
m_etamax[3]
268 <<
"\nMaximum eta for ME3-ME4 collision tracks=" <<
m_etamax[4]
269 <<
"\nMaximum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamax[5]
270 <<
"\nMaximum eta for ME2-MB1 collision tracks=" <<
m_etamax[6]
271 <<
"\nMaximum eta for ME1-ME4 collision tracks=" <<
m_etamax[7]
273 <<
"\nMaximum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdeta12_accp
274 <<
"\nMaximum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdeta13_accp
278 <<
"\nEta window for ME1-ME2 collision tracks=" <<
m_etawin[0]
279 <<
"\nEta window for ME1-ME3 collision tracks=" <<
m_etawin[1]
280 <<
"\nEta window for ME2-ME3 collision tracks=" <<
m_etawin[2]
281 <<
"\nEta window for ME2-ME4 collision tracks=" <<
m_etawin[3]
282 <<
"\nEta window for ME3-ME4 collision tracks=" <<
m_etawin[4]
283 <<
"\nEta window for ME1-ME2 collision tracks in overlap region=" <<
m_etawin[5]
284 <<
"\nEta window for ME1-ME4 collision tracks=" <<
m_etawin[6]
286 <<
"\nMaximum phi difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdphi12_accp
287 <<
"\nMaximum phi difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdphi13_accp
291 <<
"\nMinimum phi difference for track cancellation logic=" <<
m_mindphip
292 <<
"\nMinimum phi difference for halo track cancellation logic=" <<
m_mindphip_halo
294 <<
"\nParameter for the correction of misaligned 1-2-3-4 straight tracks =" <<
m_straightp
295 <<
"\nParameter for the correction of misaligned 1-2-3-4 curved tracks=" <<
m_curvedp
298 <<
"\nFirmware SP year+month+day:" <<
m_firmSP <<
"\nFirmware FA year+month+day:" <<
m_firmFA
299 <<
"\nFirmware DD year+month+day:" <<
m_firmDD <<
"\nFirmware VM year+month+day:" <<
m_firmVM;
320 <<
"BXAdepth parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
325 <<
"AllowALCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
330 <<
"AllowCLCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
335 <<
"PreTrigger parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
340 <<
"mindphip parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
345 <<
"mindeta parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
350 <<
"straightp parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
355 <<
"curvedp parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
360 <<
"mbaPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
365 <<
"mbbPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
370 <<
"mindeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
375 <<
"maxdeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
380 <<
"maxdphi_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
385 <<
"mindeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
390 <<
"maxdeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
395 <<
"maxdphi_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
400 <<
"mindeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
405 <<
"maxdeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
410 <<
"maxdphi_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
415 <<
"mindeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
420 <<
"maxdeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
425 <<
"maxdphi_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
430 <<
"mindphip_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
435 <<
"mindetep_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
441 <<
"widePhi parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
448 <<
"Some (" << (8 -
index) <<
") of EtaMax parameters left uninitialized for endcap=" <<
m_endcap
455 <<
"Some (" << (8 -
index) <<
") of EtaMin parameters left uninitialized for endcap=" <<
m_endcap
462 <<
"Some (" << (6 -
index) <<
") of EtaWindows parameters left uninitialized for endcap=" <<
m_endcap
467 edm::LogError(
"CSCTFTrackBuilder") <<
"kill_fiber parameter left uninitialized";
471 edm::LogError(
"CSCTFTrackBuilder") <<
"run_core parameter left uninitialized";
475 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1a parameter left uninitialized";
479 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1b parameter left uninitialized";
483 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME2 parameter left uninitialized";
487 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME3 parameter left uninitialized";
491 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME4 parameter left uninitialized";
495 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1a parameter left uninitialized";
499 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1d parameter left uninitialized";
505 edm::LogError(
"CSCTFTrackBuilder") <<
"singlesTrackOutput parameter left uninitialized";
509 edm::LogError(
"CSCTFTrackBuilder") <<
"rescaleSinglesPhi parameter left uninitialized";
514 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1a parameter left uninitialized";
518 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1b parameter left uninitialized";
522 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1c parameter left uninitialized";
526 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1d parameter left uninitialized";
530 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1e parameter left uninitialized";
534 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1f parameter left uninitialized";
538 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2a parameter left uninitialized";
542 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2b parameter left uninitialized";
546 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2c parameter left uninitialized";
550 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3a parameter left uninitialized";
554 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3b parameter left uninitialized";
558 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3c parameter left uninitialized";
562 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4a parameter left uninitialized";
566 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4b parameter left uninitialized";
570 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4c parameter left uninitialized";
575 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareSP parameter left uninitialized!!!\n";
579 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareFA parameter left uninitialized!!!\n";
583 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareDD parameter left uninitialized!!!\n";
587 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareVM parameter left uninitialized!!!\n";
593 <<
" firmwareFA (=" <<
m_firmFA <<
"), "
594 <<
" firmwareDD (=" <<
m_firmDD <<
"), "
595 <<
" firmwareVM (=" <<
m_firmVM <<
") are NOT identical: it shoultd NOT happen!\n";
605 std::vector<unsigned>::const_iterator iter;
607 std::vector<unsigned> etawins =
pset.getParameter<std::vector<unsigned> >(
"EtaWindows");
608 for (iter = etawins.begin(),
index = 0; iter != etawins.end() &&
index < 7; iter++,
index++)
610 std::vector<unsigned> etamins =
pset.getParameter<std::vector<unsigned> >(
"EtaMin");
611 for (iter = etamins.begin(),
index = 0; iter != etamins.end() &&
index < 8; iter++,
index++)
613 std::vector<unsigned> etamaxs =
pset.getParameter<std::vector<unsigned> >(
"EtaMax");
614 for (iter = etamaxs.begin(),
index = 0; iter != etamaxs.end() &&
index < 8; iter++,
index++)
666 m_firmSP =
pset.getParameter<
unsigned int>(
"firmwareSP");
667 m_firmFA =
pset.getParameter<
unsigned int>(
"firmwareFA");
668 m_firmDD =
pset.getParameter<
unsigned int>(
"firmwareDD");
669 m_firmVM =
pset.getParameter<
unsigned int>(
"firmwareVM");
673 for (
int i = 0;
i < 5; ++
i) {
695 <<
"No CSCTF PTLUTs: Initialize CSC TF LUTs first (missed call to CSCTFTrackProducer::beginJob?\n";
703 std::vector<csctf::TrackStub> stub_vec = stubs.
get();
708 for (std::vector<csctf::TrackStub>::const_iterator itr = stub_vec.begin(); itr != stub_vec.end(); itr++)
709 switch (itr->station()) {
714 switch (itr->getMPCLink()) {
729 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
733 switch (itr->getMPCLink()) {
748 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
752 switch (itr->getMPCLink()) {
767 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
771 switch (itr->getMPCLink() +
799 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
803 edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"Invalid station # encountered: " << itr->station() <<
"\n";
815 if (itr->station() != 5) {
822 itr->getStrip(), itr->getPattern(), itr->getQuality(), itr->getBend(),
m_gangedME1a);
824 bzero(&lclPhi,
sizeof(lclPhi));
826 <<
"Exception from LocalPhi LUT in " <<
FPGAs[fpga] <<
"(strip=" << itr->getStrip()
827 <<
",pattern=" << itr->getPattern() <<
",quality=" << itr->getQuality() <<
",bend=" << itr->getBend() <<
")"
833 unsigned csc_id = itr->cscid();
835 csc_id = itr->cscidSeparateME1a();
841 bzero(&gblPhi,
sizeof(gblPhi));
843 <<
"Exception from GlobalPhi LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
844 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
849 unsigned csc_id = itr->cscid();
851 csc_id = itr->cscidSeparateME1a();
853 lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), csc_id,
m_gangedME1a);
856 bzero(&gblEta,
sizeof(gblEta));
858 <<
"Exception from GlobalEta LUT in " <<
FPGAs[fpga] <<
"(phi_bend_local=" << lclPhi.phi_bend_local
859 <<
",phi_local=" << lclPhi.phi_local <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")"
867 bzero(&gblPhiDT,
sizeof(gblPhiDT));
869 <<
"Exception from GlobalPhi DT LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
870 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
873 itr->setEtaPacked(gblEta.global_eta);
875 if (itr->station() == 1) {
877 itr->setPhiPacked(gblPhiDT.global_phi);
884 itr->setPhiPacked(gblPhi.global_phi);
886 LogDebug(
"CSCTFSectorProcessor:run()")
887 <<
"LCT found, processed by FPGA: " <<
FPGAs[fpga] << std::endl
888 <<
" LCT now has (eta, phi) of: (" << itr->etaValue() <<
"," << itr->phiValue() <<
")\n";
900 std::vector<csc::L1Track> tftks;
968 std::vector<csc::L1Track>::iterator titr = tftks.begin();
970 for (; titr != tftks.end(); titr++) {
971 ptadd thePtAddress(titr->ptLUTAddress());
973 if (thePtAddress.track_fr) {
974 titr->setRank(thePtData.front_rank);
975 titr->setChargeValidPacked(thePtData.charge_valid_front);
977 titr->setRank(thePtData.rear_rank);
978 titr->setChargeValidPacked(thePtData.charge_valid_rear);
981 if (((titr->ptLUTAddress() >> 16) & 0xf) == 15) {
982 int unmodBx = titr->bx();
983 titr->setBx(unmodBx + 2);
997 int station = itr->station() - 1;
1000 int mpc = (subSector ? subSector - 1 :
station + 1);
1005 if (bx < 0 || bx >= 7)
1007 <<
" LCT BX is out of [" <<
m_minBX <<
"," <<
m_maxBX <<
") range: " << itr->getBX();
1008 else if (itr->isValid())
1009 myStubContainer[
bx].push_back(*itr);
1021 for (
int bx = 0;
bx < 7;
bx++)
1022 if (!myStubContainer[
bx].
get().empty()) {
1023 bool coreTrackExists =
false;
1026 for (std::vector<csc::L1Track>::iterator trk =
tracks.begin(); trk <
tracks.end(); trk++)
1028 (((trk->ptLUTAddress() >> 16) & 0xf) == 15 && trk->BX() - 2 ==
bx -
shift)) {
1029 coreTrackExists =
true;
1032 if (coreTrackExists ==
false) {
1038 std::vector<csctf::TrackStub> stubs = myStubContainer[
bx].
get();
1040 int qualityME = 0, qualityMB = 0,
ME = 100, MB = 100, linkME = 7;
1041 std::vector<csctf::TrackStub>::const_iterator bestStub = stubs.end();
1042 for (std::vector<csctf::TrackStub>::const_iterator st_iter = stubs.begin(); st_iter != stubs.end(); st_iter++) {
1043 int station = st_iter->station() - 1;
1045 int mpc = (subSector ? subSector - 1 :
station + 1);
1048 (st_iter->getQuality() > qualityMB || (st_iter->getQuality() == qualityMB && subSector < MB))) {
1049 qualityMB = st_iter->getQuality();
1055 if (mpc < 5 && (st_iter->getQuality() > qualityME || (st_iter->getQuality() == qualityME && mpc <
ME) ||
1056 (st_iter->getQuality() == qualityME && mpc ==
ME && st_iter->getMPCLink() < linkME))) {
1057 qualityME = st_iter->getQuality();
1059 linkME = st_iter->getMPCLink();
1063 unsigned rescaled_phi = 999;
1068 rescaled_phi = unsigned(24 * (bestStub->phiPacked() & 0x7f) / 128.);
1071 rescaled_phi = unsigned(24 * (bestStub->phiPacked() >> 5) / 128.);
1074 unsigned unscaled_phi = bestStub->phiPacked() >> 7;
1076 track.setEtaPacked((bestStub->etaPacked() >> 2) & 0x1f);
1077 switch (bestStub->station()) {
1079 track.setStationIds(bestStub->getMPCLink(), 0, 0, 0, 0);
1082 track.setStationIds(0, bestStub->getMPCLink(), 0, 0, 0);
1085 track.setStationIds(0, 0, bestStub->getMPCLink(), 0, 0);
1088 track.setStationIds(0, 0, 0, bestStub->getMPCLink(), 0);
1091 track.setStationIds(0, 0, 0, 0, bestStub->getMPCLink());
1094 edm::LogError(
"CSCTFSectorProcessor::run()") <<
"Illegal LCT link=" << bestStub->station() <<
"\n";
1099 track.setPtLUTAddress((1 << 16) | ((bestStub->etaPacked() << 9) & 0xf000));
1102 if (thePtAddress.track_fr) {
1103 track.setRank(thePtData.front_rank);
1104 track.setChargeValidPacked(thePtData.charge_valid_front);
1106 track.setRank(thePtData.rear_rank);
1107 track.setChargeValidPacked(thePtData.charge_valid_rear);
1112 std::vector<csc::L1Track> single_tracks = tracksFromSingles.
get();
1113 if (!single_tracks.empty())
1123 <<
"******************************* \n"
1124 <<
"*** DISCLAIMER *** \n"
1125 <<
"******************************* \n"
1126 <<
"\n Firmware SP version (year+month+day)=" << firmSP
1127 <<
"\n Firmware FA/VM/DD version (year+month+day)=" << firmFA;
1128 if (firmSP == 20100210)
1129 edm::LogInfo(
"CSCTFSectorProcessor") <<
" -> KNOWN BUGS IN THE FIRMWARE:\n"
1130 <<
"\t * Wrong phi assignment for singles\n"
1131 <<
"\t * Wrapper passes to the core only even quality DT stubs\n"
1132 <<
"\n -> BUGS ARE GOING TO BE EMULATED BY THE SOFTWARE\n\n";
1135 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct phi assignment for singles\n";
1137 if (firmSP == 20100629) {
1138 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct MB quality masking in the wrapper\n"
1139 <<
"\t * Core is 20100122\n";
1142 if (firmSP == 20100728)
1143 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted MB clocks\n";
1145 if (firmSP == 20100901)
1146 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted charge bit\n";
1148 if (firmSP == 20101011)
1149 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1150 <<
"\t * Added CSC-DT assembling tracks ME1-MB2/1 \n";
1151 if (firmSP == 20101210)
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";
1156 if (firmSP == 20110118)
1157 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1158 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n"
1159 <<
"\t Sharing at Least One LCT\n"
1160 <<
"\t * Passing CLCT and PhiBend for PT LUTs\n";
1161 if (firmSP == 20120131)
1162 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n"
1163 <<
"\t * non-linear dphi12 dphi23, use deta for PTLUTs \n";