16 if (not
pset.getParameter<
bool>(
"initializeFromPSet")) {
24 const unsigned& sector,
43 <<
" BX window width >= 7BX. Resetting m_maxBX=" << (
m_maxBX =
m_minBX + 6);
130 for (
int i = 1;
i <= 4; ++
i) {
132 for (
int j = 0;
j < 2;
j++) {
148 LogDebug(
"CSCTFSectorProcessor") <<
"Looking for PT LUT in EventSetup for endcap=" <<
m_endcap 162 firmSP_Map.insert(std::pair<int, int>(20100210, 20100122));
163 firmSP_Map.insert(std::pair<int, int>(20100617, 20100122));
164 firmSP_Map.insert(std::pair<int, int>(20100629, 20100122));
166 firmSP_Map.insert(std::pair<int, int>(20100728, 20100728));
168 firmSP_Map.insert(std::pair<int, int>(20100901, 20100901));
171 firmSP_Map.insert(std::pair<int, int>(20101011, 20101011));
172 firmSP_Map.insert(std::pair<int, int>(20101210, 20101210));
173 firmSP_Map.insert(std::pair<int, int>(20110204, 20110118));
174 firmSP_Map.insert(std::pair<int, int>(20110322, 20110118));
176 firmSP_Map.insert(std::pair<int, int>(20120131, 20120131));
177 firmSP_Map.insert(std::pair<int, int>(20120227, 20120131));
179 firmSP_Map.insert(std::pair<int, int>(20120313, 20120313));
180 firmSP_Map.insert(std::pair<int, int>(20120319, 20120313));
182 firmSP_Map.insert(std::pair<int, int>(20120730, 20120730));
184 firmSP_Map.insert(std::pair<int, int>(20140424, 20140424));
186 firmSP_Map.insert(std::pair<int, int>(20140515, 20140515));
195 LogDebug(
"CSCTFSectorProcessor") <<
"Initializing pT LUT from EventSetup";
209 <<
"\n !!! CSCTF EMULATOR CONFIGURATION !!!" 210 <<
"\n\nCORE CONFIGURATION" 211 <<
"\n Coincidence Trigger? " <<
run_core <<
"\n Singles in ME1a? " <<
trigger_on_ME1a <<
"\n Singles in ME1b? " 216 <<
"\n BX Analyzer depth: assemble coinc. track with stubs in +/-" <<
m_bxa_depth <<
" Bxs" 217 <<
"\n Is Wide Phi Extrapolation (DeltaPhi valid up to ~15 degrees, otherwise ~7.67 degrees)? " <<
m_widePhi 222 <<
"\n\nVARIOUS CONFIGURATION PARAMETERS" 225 <<
"\nQualityEnableME1a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1a 226 <<
"\nQualityEnableME1b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1b 227 <<
"\nQualityEnableME1c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1c 228 <<
"\nQualityEnableME1d (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1d 229 <<
"\nQualityEnableME1e (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1e 230 <<
"\nQualityEnableME1f (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME1f 231 <<
"\nQualityEnableME2a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2a 232 <<
"\nQualityEnableME2b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2b 233 <<
"\nQualityEnableME2c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME2c 234 <<
"\nQualityEnableME3a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3a 235 <<
"\nQualityEnableME3b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3b 236 <<
"\nQualityEnableME3c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME3c 237 <<
"\nQualityEnableME4a (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4a 238 <<
"\nQualityEnableME4b (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4b 239 <<
"\nQualityEnableME4c (in general accept all LCT qualities, i.e. 0xFFFF is expected)=" <<
QualityEnableME4c 241 <<
"\nkill_fiber=" <<
kill_fiber <<
"\nSingles Output Link=" 247 <<
"\n\nDAT_ETA REGISTERS" 248 <<
"\nMinimum eta difference for track cancellation logic=" <<
m_mindetap 249 <<
"\nMinimum eta difference for halo track cancellation logic=" <<
m_mindetap_halo 251 <<
"\nMinimum eta for ME1-ME2 collision tracks=" <<
m_etamin[0]
252 <<
"\nMinimum eta for ME1-ME3 collision tracks=" <<
m_etamin[1]
253 <<
"\nMinimum eta for ME2-ME3 collision tracks=" <<
m_etamin[2]
254 <<
"\nMinimum eta for ME2-ME4 collision tracks=" <<
m_etamin[3]
255 <<
"\nMinimum eta for ME3-ME4 collision tracks=" <<
m_etamin[4]
256 <<
"\nMinimum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamin[5]
257 <<
"\nMinimum eta for ME2-MB1 collision tracks=" <<
m_etamin[6]
258 <<
"\nMinimum eta for ME1-ME4 collision tracks=" <<
m_etamin[7]
260 <<
"\nMinimum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_mindeta12_accp 261 <<
"\nMinimum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_mindeta13_accp 265 <<
"\nMaximum eta for ME1-ME2 collision tracks=" <<
m_etamax[0]
266 <<
"\nMaximum eta for ME1-ME3 collision tracks=" <<
m_etamax[1]
267 <<
"\nMaximum eta for ME2-ME3 collision tracks=" <<
m_etamax[2]
268 <<
"\nMaximum eta for ME2-ME4 collision tracks=" <<
m_etamax[3]
269 <<
"\nMaximum eta for ME3-ME4 collision tracks=" <<
m_etamax[4]
270 <<
"\nMaximum eta for ME1-ME2 collision tracks in overlap region=" <<
m_etamax[5]
271 <<
"\nMaximum eta for ME2-MB1 collision tracks=" <<
m_etamax[6]
272 <<
"\nMaximum eta for ME1-ME4 collision tracks=" <<
m_etamax[7]
274 <<
"\nMaximum eta difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdeta12_accp 275 <<
"\nMaximum eta difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdeta13_accp 279 <<
"\nEta window for ME1-ME2 collision tracks=" <<
m_etawin[0]
280 <<
"\nEta window for ME1-ME3 collision tracks=" <<
m_etawin[1]
281 <<
"\nEta window for ME2-ME3 collision tracks=" <<
m_etawin[2]
282 <<
"\nEta window for ME2-ME4 collision tracks=" <<
m_etawin[3]
283 <<
"\nEta window for ME3-ME4 collision tracks=" <<
m_etawin[4]
284 <<
"\nEta window for ME1-ME2 collision tracks in overlap region=" <<
m_etawin[5]
285 <<
"\nEta window for ME1-ME4 collision tracks=" <<
m_etawin[6]
287 <<
"\nMaximum phi difference for ME1-ME2 (except ME1/1) halo tracks=" <<
m_maxdphi12_accp 288 <<
"\nMaximum phi difference for ME1-ME3 (except ME1/1) halo tracks=" <<
m_maxdphi13_accp 292 <<
"\nMinimum phi difference for track cancellation logic=" <<
m_mindphip 293 <<
"\nMinimum phi difference for halo track cancellation logic=" <<
m_mindphip_halo 295 <<
"\nParameter for the correction of misaligned 1-2-3-4 straight tracks =" <<
m_straightp 296 <<
"\nParameter for the correction of misaligned 1-2-3-4 curved tracks=" <<
m_curvedp 299 <<
"\nFirmware SP year+month+day:" <<
m_firmSP <<
"\nFirmware FA year+month+day:" <<
m_firmFA 300 <<
"\nFirmware DD year+month+day:" <<
m_firmDD <<
"\nFirmware VM year+month+day:" <<
m_firmVM;
321 <<
"BXAdepth parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
326 <<
"AllowALCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
331 <<
"AllowCLCTonly parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
336 <<
"PreTrigger parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
341 <<
"mindphip parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
346 <<
"mindeta parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
351 <<
"straightp parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
356 <<
"curvedp parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
361 <<
"mbaPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
366 <<
"mbbPhiOff parameter left unitialized for endcap=" <<
m_endcap <<
",sector=" <<
m_sector;
371 <<
"mindeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
376 <<
"maxdeta_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
381 <<
"maxdphi_accp12 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
386 <<
"mindeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
391 <<
"maxdeta_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
396 <<
"maxdphi_accp13 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
401 <<
"mindeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
406 <<
"maxdeta_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
411 <<
"maxdphi_accp112 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
416 <<
"mindeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
421 <<
"maxdeta_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
426 <<
"maxdphi_accp113 parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
431 <<
"mindphip_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
436 <<
"mindetep_halo parameter left uninitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
442 <<
"widePhi parameter left unitialized for endcap=" <<
m_endcap <<
", sector=" <<
m_sector;
449 <<
"Some (" << (8 -
index) <<
") of EtaMax parameters left uninitialized for endcap=" <<
m_endcap 456 <<
"Some (" << (8 -
index) <<
") of EtaMin parameters left uninitialized for endcap=" <<
m_endcap 463 <<
"Some (" << (6 -
index) <<
") of EtaWindows parameters left uninitialized for endcap=" <<
m_endcap 468 edm::LogError(
"CSCTFTrackBuilder") <<
"kill_fiber parameter left uninitialized";
472 edm::LogError(
"CSCTFTrackBuilder") <<
"run_core parameter left uninitialized";
476 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1a parameter left uninitialized";
480 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME1b parameter left uninitialized";
484 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME2 parameter left uninitialized";
488 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME3 parameter left uninitialized";
492 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_ME4 parameter left uninitialized";
496 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1a parameter left uninitialized";
500 edm::LogError(
"CSCTFTrackBuilder") <<
"trigger_on_MB1d parameter left uninitialized";
506 edm::LogError(
"CSCTFTrackBuilder") <<
"singlesTrackOutput parameter left uninitialized";
510 edm::LogError(
"CSCTFTrackBuilder") <<
"rescaleSinglesPhi parameter left uninitialized";
515 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1a parameter left uninitialized";
519 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1b parameter left uninitialized";
523 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1c parameter left uninitialized";
527 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1d parameter left uninitialized";
531 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1e parameter left uninitialized";
535 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME1f parameter left uninitialized";
539 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2a parameter left uninitialized";
543 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2b parameter left uninitialized";
547 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME2c parameter left uninitialized";
551 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3a parameter left uninitialized";
555 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3b parameter left uninitialized";
559 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME3c parameter left uninitialized";
563 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4a parameter left uninitialized";
567 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4b parameter left uninitialized";
571 edm::LogError(
"CSCTFTrackBuilder") <<
"QualityEnableME4c parameter left uninitialized";
576 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareSP parameter left uninitialized!!!\n";
580 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareFA parameter left uninitialized!!!\n";
584 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareDD parameter left uninitialized!!!\n";
588 edm::LogError(
"CSCTFSectorProcessor") <<
" firmwareVM parameter left uninitialized!!!\n";
594 <<
" firmwareFA (=" <<
m_firmFA <<
"), " 595 <<
" firmwareDD (=" <<
m_firmDD <<
"), " 596 <<
" firmwareVM (=" <<
m_firmVM <<
") are NOT identical: it shoultd NOT happen!\n";
606 std::vector<unsigned>::const_iterator iter;
608 std::vector<unsigned> etawins =
pset.getParameter<std::vector<unsigned> >(
"EtaWindows");
609 for (iter = etawins.begin(),
index = 0; iter != etawins.end() &&
index < 7; iter++,
index++)
611 std::vector<unsigned> etamins =
pset.getParameter<std::vector<unsigned> >(
"EtaMin");
612 for (iter = etamins.begin(),
index = 0; iter != etamins.end() &&
index < 8; iter++,
index++)
614 std::vector<unsigned> etamaxs =
pset.getParameter<std::vector<unsigned> >(
"EtaMax");
615 for (iter = etamaxs.begin(),
index = 0; iter != etamaxs.end() &&
index < 8; iter++,
index++)
667 m_firmSP =
pset.getParameter<
unsigned int>(
"firmwareSP");
668 m_firmFA =
pset.getParameter<
unsigned int>(
"firmwareFA");
669 m_firmDD =
pset.getParameter<
unsigned int>(
"firmwareDD");
670 m_firmVM =
pset.getParameter<
unsigned int>(
"firmwareVM");
674 for (
int i = 0;
i < 5; ++
i) {
696 <<
"No CSCTF PTLUTs: Initialize CSC TF LUTs first (missed call to CSCTFTrackProducer::beginJob?\n";
704 std::vector<csctf::TrackStub> stub_vec = stubs.
get();
709 for (std::vector<csctf::TrackStub>::const_iterator itr = stub_vec.begin(); itr != stub_vec.end(); itr++)
710 switch (itr->station()) {
715 switch (itr->getMPCLink()) {
730 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
734 switch (itr->getMPCLink()) {
749 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
753 switch (itr->getMPCLink()) {
768 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
772 switch (itr->getMPCLink() +
800 <<
"No MPC sorting for LCT: link=" << itr->getMPCLink() <<
"\n";
804 edm::LogWarning(
"CSCTFSectorProcessor::run()") <<
"Invalid station # encountered: " << itr->station() <<
"\n";
816 if (itr->station() != 5) {
823 itr->getStrip(), itr->getPattern(), itr->getQuality(), itr->getBend(),
m_gangedME1a);
825 bzero(&lclPhi,
sizeof(lclPhi));
827 <<
"Exception from LocalPhi LUT in " <<
FPGAs[fpga] <<
"(strip=" << itr->getStrip()
828 <<
",pattern=" << itr->getPattern() <<
",quality=" << itr->getQuality() <<
",bend=" << itr->getBend() <<
")" 834 unsigned csc_id = itr->cscid();
836 csc_id = itr->cscidSeparateME1a();
842 bzero(&gblPhi,
sizeof(gblPhi));
844 <<
"Exception from GlobalPhi LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
845 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
850 unsigned csc_id = itr->cscid();
852 csc_id = itr->cscidSeparateME1a();
854 lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), csc_id,
m_gangedME1a);
857 bzero(&gblEta,
sizeof(gblEta));
859 <<
"Exception from GlobalEta LUT in " <<
FPGAs[fpga] <<
"(phi_bend_local=" << lclPhi.phi_bend_local
860 <<
",phi_local=" << lclPhi.phi_local <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" 868 bzero(&gblPhiDT,
sizeof(gblPhiDT));
870 <<
"Exception from GlobalPhi DT LUT in " <<
FPGAs[fpga] <<
"(phi_local=" << lclPhi.phi_local
871 <<
",KeyWG=" << itr->getKeyWG() <<
",csc=" << itr->cscid() <<
")" << std::endl;
874 itr->setEtaPacked(gblEta.global_eta);
876 if (itr->station() == 1) {
878 itr->setPhiPacked(gblPhiDT.global_phi);
885 itr->setPhiPacked(gblPhi.global_phi);
887 LogDebug(
"CSCTFSectorProcessor:run()")
888 <<
"LCT found, processed by FPGA: " <<
FPGAs[fpga] << std::endl
889 <<
" LCT now has (eta, phi) of: (" << itr->etaValue() <<
"," << itr->phiValue() <<
")\n";
901 std::vector<csc::L1Track> tftks;
969 std::vector<csc::L1Track>::iterator titr = tftks.begin();
971 for (; titr != tftks.end(); titr++) {
972 ptadd thePtAddress(titr->ptLUTAddress());
974 if (thePtAddress.track_fr) {
975 titr->setRank(thePtData.front_rank);
976 titr->setChargeValidPacked(thePtData.charge_valid_front);
978 titr->setRank(thePtData.rear_rank);
979 titr->setChargeValidPacked(thePtData.charge_valid_rear);
982 if (((titr->ptLUTAddress() >> 16) & 0xf) == 15) {
983 int unmodBx = titr->bx();
984 titr->setBx(unmodBx + 2);
998 int station = itr->station() - 1;
1001 int mpc = (subSector ? subSector - 1 :
station + 1);
1006 if (bx < 0 || bx >= 7)
1008 <<
" LCT BX is out of [" <<
m_minBX <<
"," <<
m_maxBX <<
") range: " << itr->getBX();
1009 else if (itr->isValid())
1022 for (
int bx = 0;
bx < 7;
bx++)
1023 if (!myStubContainer[
bx].
get().empty()) {
1024 bool coreTrackExists =
false;
1027 for (std::vector<csc::L1Track>::iterator trk =
tracks.begin(); trk <
tracks.end(); trk++)
1029 (((trk->ptLUTAddress() >> 16) & 0xf) == 15 && trk->BX() - 2 ==
bx -
shift)) {
1030 coreTrackExists =
true;
1033 if (coreTrackExists ==
false) {
1039 std::vector<csctf::TrackStub> stubs = myStubContainer[
bx].
get();
1041 int qualityME = 0, qualityMB = 0,
ME = 100, MB = 100, linkME = 7;
1042 std::vector<csctf::TrackStub>::const_iterator bestStub = stubs.end();
1043 for (std::vector<csctf::TrackStub>::const_iterator st_iter = stubs.begin(); st_iter != stubs.end(); st_iter++) {
1044 int station = st_iter->station() - 1;
1046 int mpc = (subSector ? subSector - 1 :
station + 1);
1049 (st_iter->getQuality() > qualityMB || (st_iter->getQuality() == qualityMB && subSector < MB))) {
1050 qualityMB = st_iter->getQuality();
1056 if (mpc < 5 && (st_iter->getQuality() > qualityME || (st_iter->getQuality() == qualityME && mpc <
ME) ||
1057 (st_iter->getQuality() == qualityME && mpc ==
ME && st_iter->getMPCLink() < linkME))) {
1058 qualityME = st_iter->getQuality();
1060 linkME = st_iter->getMPCLink();
1064 unsigned rescaled_phi = 999;
1069 rescaled_phi = unsigned(24 * (bestStub->phiPacked() & 0x7f) / 128.);
1072 rescaled_phi = unsigned(24 * (bestStub->phiPacked() >> 5) / 128.);
1075 unsigned unscaled_phi = bestStub->phiPacked() >> 7;
1077 track.setEtaPacked((bestStub->etaPacked() >> 2) & 0x1f);
1078 switch (bestStub->station()) {
1080 track.setStationIds(bestStub->getMPCLink(), 0, 0, 0, 0);
1083 track.setStationIds(0, bestStub->getMPCLink(), 0, 0, 0);
1086 track.setStationIds(0, 0, bestStub->getMPCLink(), 0, 0);
1089 track.setStationIds(0, 0, 0, bestStub->getMPCLink(), 0);
1092 track.setStationIds(0, 0, 0, 0, bestStub->getMPCLink());
1095 edm::LogError(
"CSCTFSectorProcessor::run()") <<
"Illegal LCT link=" << bestStub->station() <<
"\n";
1100 track.setPtLUTAddress((1 << 16) | ((bestStub->etaPacked() << 9) & 0xf000));
1103 if (thePtAddress.track_fr) {
1104 track.setRank(thePtData.front_rank);
1105 track.setChargeValidPacked(thePtData.charge_valid_front);
1107 track.setRank(thePtData.rear_rank);
1108 track.setChargeValidPacked(thePtData.charge_valid_rear);
1113 std::vector<csc::L1Track> single_tracks = tracksFromSingles.
get();
1114 if (!single_tracks.empty())
1124 <<
"******************************* \n" 1125 <<
"*** DISCLAIMER *** \n" 1126 <<
"******************************* \n" 1127 <<
"\n Firmware SP version (year+month+day)=" << firmSP
1128 <<
"\n Firmware FA/VM/DD version (year+month+day)=" << firmFA;
1129 if (firmSP == 20100210)
1130 edm::LogInfo(
"CSCTFSectorProcessor") <<
" -> KNOWN BUGS IN THE FIRMWARE:\n" 1131 <<
"\t * Wrong phi assignment for singles\n" 1132 <<
"\t * Wrapper passes to the core only even quality DT stubs\n" 1133 <<
"\n -> BUGS ARE GOING TO BE EMULATED BY THE SOFTWARE\n\n";
1136 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct phi assignment for singles\n";
1138 if (firmSP == 20100629) {
1139 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Correct MB quality masking in the wrapper\n" 1140 <<
"\t * Core is 20100122\n";
1143 if (firmSP == 20100728)
1144 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted MB clocks\n";
1146 if (firmSP == 20100901)
1147 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t * Inverted charge bit\n";
1149 if (firmSP == 20101011)
1150 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1151 <<
"\t * Added CSC-DT assembling tracks ME1-MB2/1 \n";
1152 if (firmSP == 20101210)
1153 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1154 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n" 1155 <<
"\t Sharing at Least One LCT\n";
1157 if (firmSP == 20110118)
1158 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1159 <<
"\t * New Ghost Busting Algorithm Removing Tracks\n" 1160 <<
"\t Sharing at Least One LCT\n" 1161 <<
"\t * Passing CLCT and PhiBend for PT LUTs\n";
1162 if (firmSP == 20120131)
1163 edm::LogInfo(
"CSCTFSectorProcessor") <<
"\t **** WARNING THIS FIRMWARE IS UNDER TEST ****\n" 1164 <<
"\t * non-linear dphi12 dphi23, use deta for PTLUTs \n";
void loadData(const CSCTriggerContainer< csctf::TrackStub > &, const unsigned &endcap, const unsigned §or, const int &minBX, const int &maxBX, const bool gangedME1a)
CSCTriggerContainer< csctf::TrackStub > dt_stubs
void readParameters(const edm::ParameterSet &pset)
std::vector< csctf::TrackStub > stub_vec_filtered
void printDisclaimer(int firmSP, int firmFA)
Log< level::Error, false > LogError
std::vector< T > get() const
static const std::string FPGAs[5]
unsigned int singlesTrackOutput
void push_back(const T &data)
static Tokens consumes(edm::ConsumesCollector iC)
int run(const CSCTriggerContainer< csctf::TrackStub > &)
static Tokens consumes(const edm::ParameterSet &pset, edm::ConsumesCollector iC)
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)
void SetSPFirmwareVersion(const unsigned int fwVer)
CSCTriggerContainer< csc::L1Track > l1_tracks
unsigned int GetCoreFirmwareVersion()
void push_many(const std::vector< T > &data)
edm::ESGetToken< L1MuCSCTFConfiguration, L1MuCSCTFConfigurationRcd > config
Log< level::Info, false > LogInfo
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 SetCoreFirmwareVersion(const unsigned int fwVer)
class local_phi_data lclphidat
Data Types.
const std::vector< double > ptScale
static int triggerSubSectorFromLabels(int station, int chamber)
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
void SetVerbose(const bool verb)
void initialize(const edm::EventSetup &c, const Tokens &tokens)
KK.
dqm::harvesting::MonitorElement ME
static unsigned int const shift
ptdat Pt(const ptadd &) const
Log< level::Warning, false > LogWarning
CSCTriggerContainer< csc::L1Track > tracks()
class global_eta_data gbletadat
std::map< int, int > firmSP_Map
CSCTriggerContainer< csc::L1Track > tracks() const