17 const unsigned& sector,
36 <<
" BX window width >= 7BX. Resetting m_maxBX=" << (
m_maxBX =
m_minBX + 6);
123 for (
int i = 1;
i <= 4; ++
i) {
125 for (
int j = 0;
j < 2;
j++) {
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++)
661 m_firmSP =
pset.getParameter<
unsigned int>(
"firmwareSP");
662 m_firmFA =
pset.getParameter<
unsigned int>(
"firmwareFA");
663 m_firmDD =
pset.getParameter<
unsigned int>(
"firmwareDD");
664 m_firmVM =
pset.getParameter<
unsigned int>(
"firmwareVM");
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) {
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);
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()) {
1074 track.setStationIds(bestStub->getMPCLink(), 0, 0, 0, 0);
1077 track.setStationIds(0, bestStub->getMPCLink(), 0, 0, 0);
1080 track.setStationIds(0, 0, bestStub->getMPCLink(), 0, 0);
1083 track.setStationIds(0, 0, 0, bestStub->getMPCLink(), 0);
1086 track.setStationIds(0, 0, 0, 0, bestStub->getMPCLink());
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);
1099 track.setChargeValidPacked(thePtData.charge_valid_front);
1101 track.setRank(thePtData.rear_rank);
1102 track.setChargeValidPacked(thePtData.charge_valid_rear);
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";