CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
CSCTFSectorProcessor Class Reference

KK. More...

#include <CSCTFSectorProcessor.h>

Classes

struct  Tokens
 

Public Member Functions

 CSCTFSectorProcessor (const unsigned &endcap, const unsigned &sector, const edm::ParameterSet &pset, bool tmb07, const L1MuTriggerScales *scales, const L1MuTriggerPtScale *ptScale)
 
CSCTriggerContainer< csctf::TrackStubdtStubs () const
 
std::vector< csctf::TrackStubfilteredStubs () const
 
void initialize (const edm::EventSetup &c, const Tokens &tokens)
 KK. More...
 
int maxBX () const
 
int minBX () const
 
void printDisclaimer (int firmSP, int firmFA)
 
void readParameters (const edm::ParameterSet &pset)
 
int run (const CSCTriggerContainer< csctf::TrackStub > &)
 
CSCTriggerContainer< csc::L1Tracktracks () const
 
 ~CSCTFSectorProcessor ()
 

Static Public Member Functions

static Tokens consumes (const edm::ParameterSet &pset, edm::ConsumesCollector iC)
 

Private Member Functions

 CSCTFSectorProcessor (const CSCTFSectorProcessor &par)
 
CSCTFSectorProcessoroperator= (const CSCTFSectorProcessor &rhs)
 

Private Attributes

CSCTFSPCoreLogiccore_
 
CSCTriggerContainer< csctf::TrackStubdt_stubs
 
std::map< int, int > firmSP_Map
 
bool initFail_
 
bool initializeFromPSet
 
bool isCoreVerbose
 
int kill_fiber
 
CSCTriggerContainer< csc::L1Trackl1_tracks
 
int m_allowALCTonly
 
int m_allowCLCTonly
 
int m_bxa_depth
 
int m_curvedp
 
unsigned m_endcap
 
int m_etamax [8]
 
int m_etamin [8]
 
int m_etawin [7]
 
int m_firmDD
 
int m_firmFA
 
int m_firmSP
 
int m_firmVM
 
bool m_gangedME1a
 
unsigned m_latency
 
int m_maxBX
 
int m_maxdeta112_accp
 
int m_maxdeta113_accp
 
int m_maxdeta12_accp
 
int m_maxdeta13_accp
 
int m_maxdphi112_accp
 
int m_maxdphi113_accp
 
int m_maxdphi12_accp
 
int m_maxdphi13_accp
 
int m_mbaPhiOff
 
int m_mbbPhiOff
 
int m_minBX
 
int m_mindeta112_accp
 
int m_mindeta113_accp
 
int m_mindeta12_accp
 
int m_mindeta13_accp
 
int m_mindetap
 
int m_mindetap_halo
 
int m_mindphip
 
int m_mindphip_halo
 
int m_preTrigger
 
unsigned m_sector
 
int m_straightp
 
int m_widePhi
 
CSCTFPtLUTptLUT_
 
int QualityEnableME1a
 
int QualityEnableME1b
 
int QualityEnableME1c
 
int QualityEnableME1d
 
int QualityEnableME1e
 
int QualityEnableME1f
 
int QualityEnableME2a
 
int QualityEnableME2b
 
int QualityEnableME2c
 
int QualityEnableME3a
 
int QualityEnableME3b
 
int QualityEnableME3c
 
int QualityEnableME4a
 
int QualityEnableME4b
 
int QualityEnableME4c
 
int rescaleSinglesPhi
 
int run_core
 
unsigned int singlesTrackOutput
 
std::map< std::string, CSCSectorReceiverLUT * > srLUTs_
 
std::vector< csctf::TrackStubstub_vec_filtered
 
unsigned TMB07
 
int trigger_on_MB1a
 
int trigger_on_MB1d
 
int trigger_on_ME1a
 
int trigger_on_ME1b
 
int trigger_on_ME2
 
int trigger_on_ME3
 
int trigger_on_ME4
 

Static Private Attributes

static const std::string FPGAs [5] = {"F1", "F2", "F3", "F4", "F5"}
 

Detailed Description

KK.

Definition at line 28 of file CSCTFSectorProcessor.h.

Constructor & Destructor Documentation

◆ CSCTFSectorProcessor() [1/2]

CSCTFSectorProcessor::CSCTFSectorProcessor ( const unsigned &  endcap,
const unsigned &  sector,
const edm::ParameterSet pset,
bool  tmb07,
const L1MuTriggerScales scales,
const L1MuTriggerPtScale ptScale 
)

Definition at line 22 of file CSCTFSectorProcessor.cc.

27  {
28  m_endcap = endcap;
29  m_sector = sector;
30  TMB07 = tmb07;
31 
32  // allows a configurable option to handle unganged ME1a
33  m_gangedME1a = pset.getUntrackedParameter<bool>("gangedME1a", true);
34 
35  // Parameter below should always present in ParameterSet:
36  m_latency = pset.getParameter<unsigned>("CoreLatency");
37  m_minBX = pset.getParameter<int>("MinBX");
38  m_maxBX = pset.getParameter<int>("MaxBX");
39  initializeFromPSet = pset.getParameter<bool>("initializeFromPSet");
40  if (m_maxBX - m_minBX >= 7)
41  edm::LogWarning("CSCTFTrackBuilder::ctor")
42  << " BX window width >= 7BX. Resetting m_maxBX=" << (m_maxBX = m_minBX + 6);
43 
44  // All following parameters may appear in either ParameterSet of in EventSetup; uninitialize:
45  m_bxa_depth = -1;
46  m_allowALCTonly = -1;
47  m_allowCLCTonly = -1;
48  m_preTrigger = -1;
49 
50  for (int index = 0; index < 7; index++)
51  m_etawin[index] = -1;
52  for (int index = 0; index < 8; index++)
53  m_etamin[index] = -1;
54  for (int index = 0; index < 8; index++)
55  m_etamax[index] = -1;
56 
57  m_mindphip = -1;
58  m_mindetap = -1;
59 
60  m_mindeta12_accp = -1;
61  m_maxdeta12_accp = -1;
62  m_maxdphi12_accp = -1;
63 
64  m_mindeta13_accp = -1;
65  m_maxdeta13_accp = -1;
66  m_maxdphi13_accp = -1;
67 
68  m_mindeta112_accp = -1;
69  m_maxdeta112_accp = -1;
70  m_maxdphi112_accp = -1;
71 
72  m_mindeta113_accp = -1;
73  m_maxdeta113_accp = -1;
74  m_maxdphi113_accp = -1;
75  m_mindphip_halo = -1;
76  m_mindetap_halo = -1;
77 
78  m_widePhi = -1;
79 
80  m_straightp = -1;
81  m_curvedp = -1;
82 
83  m_mbaPhiOff = -1;
84  m_mbbPhiOff = -1;
85 
86  kill_fiber = -1;
87  QualityEnableME1a = -1;
88  QualityEnableME1b = -1;
89  QualityEnableME1c = -1;
90  QualityEnableME1d = -1;
91  QualityEnableME1e = -1;
92  QualityEnableME1f = -1;
93  QualityEnableME2a = -1;
94  QualityEnableME2b = -1;
95  QualityEnableME2c = -1;
96  QualityEnableME3a = -1;
97  QualityEnableME3b = -1;
98  QualityEnableME3c = -1;
99  QualityEnableME4a = -1;
100  QualityEnableME4b = -1;
101  QualityEnableME4c = -1;
102 
103  run_core = -1;
104  trigger_on_ME1a = -1;
105  trigger_on_ME1b = -1;
106  trigger_on_ME2 = -1;
107  trigger_on_ME3 = -1;
108  trigger_on_ME4 = -1;
109  trigger_on_MB1a = -1;
110  trigger_on_MB1d = -1;
111 
112  singlesTrackOutput = 999;
113  rescaleSinglesPhi = -1;
114 
115  m_firmSP = -1;
116  m_firmFA = -1;
117  m_firmDD = -1;
118  m_firmVM = -1;
119 
120  initFail_ = false;
121 
122  isCoreVerbose = pset.getParameter<bool>("isCoreVerbose");
123 
124  if (initializeFromPSet)
126 
127  // Sector Receiver LUTs initialization
128  edm::ParameterSet srLUTset = pset.getParameter<edm::ParameterSet>("SRLUT");
129  for (int i = 1; i <= 4; ++i) {
130  if (i == 1)
131  for (int j = 0; j < 2; j++) {
132  srLUTs_[FPGAs[j]] = new CSCSectorReceiverLUT(endcap, sector, j + 1, i, srLUTset, TMB07);
133  }
134  else
135  srLUTs_[FPGAs[i]] = new CSCSectorReceiverLUT(endcap, sector, 0, i, srLUTset, TMB07);
136  }
137 
138  core_ = new CSCTFSPCoreLogic();
139 
140  // Pt LUTs initialization
141  if (initializeFromPSet) {
142  edm::ParameterSet ptLUTset = pset.getParameter<edm::ParameterSet>("PTLUT");
143  ptLUT_ = new CSCTFPtLUT(ptLUTset, scales, ptScale);
144  LogDebug("CSCTFSectorProcessor") << "Using stand-alone PT LUT for endcap=" << m_endcap << ", sector=" << m_sector;
145  } else {
146  ptLUT_ = nullptr;
147  LogDebug("CSCTFSectorProcessor") << "Looking for PT LUT in EventSetup for endcap=" << m_endcap
148  << ", sector=" << m_sector;
149  }
150 
151  // firmware map initialization
152  // all the information are based on the firmware releases
153  // documented at http://www.phys.ufl.edu/~uvarov/SP05/SP05.htm
154 
155  // map is <m_firmSP, core_version>
156  // it may happen that the same core is used for different firmware
157  // versions, e.g. change in the wrapper only
158 
159  // this mapping accounts for runs starting from 132440
160  // schema is year+month+day
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));
164 
165  firmSP_Map.insert(std::pair<int, int>(20100728, 20100728));
166 
167  firmSP_Map.insert(std::pair<int, int>(20100901, 20100901));
168 
169  //testing firmwares
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));
174  // 2012 core with non linear dphi
175  firmSP_Map.insert(std::pair<int, int>(20120131, 20120131));
176  firmSP_Map.insert(std::pair<int, int>(20120227, 20120131));
177  //2012 core: 4 station track at |eta|>2.1 -> ME2-ME3-ME4
178  firmSP_Map.insert(std::pair<int, int>(20120313, 20120313));
179  firmSP_Map.insert(std::pair<int, int>(20120319, 20120313));
180  //2012 core: 4 station track at |eta|>2.1 -> ME1-ME2-ME3 test
181  firmSP_Map.insert(std::pair<int, int>(20120730, 20120730));
182  //2014 core: 4 station track at |eta|>2.1 -> ME1-ME2-ME3 test + correct F/R bit set
183  firmSP_Map.insert(std::pair<int, int>(20140424, 20140424));
184  //2014 core: 4 station track at |eta|>2.1 -> ME1-ME2-ME3 test + correct F/R bit set + bug fix
185  firmSP_Map.insert(std::pair<int, int>(20140515, 20140515));
186 }

References core_, makeMuonMisalignmentScenario::endcap, firmSP_Map, FPGAs, mps_fire::i, initFail_, initializeFromPSet, isCoreVerbose, dqmiolumiharvest::j, kill_fiber, LogDebug, m_allowALCTonly, m_allowCLCTonly, m_bxa_depth, m_curvedp, m_endcap, m_etamax, m_etamin, m_etawin, m_firmDD, m_firmFA, m_firmSP, m_firmVM, m_gangedME1a, m_latency, m_maxBX, m_maxdeta112_accp, m_maxdeta113_accp, m_maxdeta12_accp, m_maxdeta13_accp, m_maxdphi112_accp, m_maxdphi113_accp, m_maxdphi12_accp, m_maxdphi13_accp, m_mbaPhiOff, m_mbbPhiOff, m_minBX, m_mindeta112_accp, m_mindeta113_accp, m_mindeta12_accp, m_mindeta13_accp, m_mindetap, m_mindetap_halo, m_mindphip, m_mindphip_halo, m_preTrigger, m_sector, m_straightp, m_widePhi, muonDTDigis_cfi::pset, ptLUT_, ptScale, QualityEnableME1a, QualityEnableME1b, QualityEnableME1c, QualityEnableME1d, QualityEnableME1e, QualityEnableME1f, QualityEnableME2a, QualityEnableME2b, QualityEnableME2c, QualityEnableME3a, QualityEnableME3b, QualityEnableME3c, QualityEnableME4a, QualityEnableME4b, QualityEnableME4c, readParameters(), rescaleSinglesPhi, run_core, singlesTrackOutput, srLUTs_, TMB07, trigger_on_MB1a, trigger_on_MB1d, trigger_on_ME1a, trigger_on_ME1b, trigger_on_ME2, trigger_on_ME3, and trigger_on_ME4.

◆ ~CSCTFSectorProcessor()

CSCTFSectorProcessor::~CSCTFSectorProcessor ( )

Definition at line 672 of file CSCTFSectorProcessor.cc.

672  {
673  for (int i = 0; i < 5; ++i) {
674  if (srLUTs_[FPGAs[i]])
675  delete srLUTs_[FPGAs[i]]; // delete the pointer
676  srLUTs_[FPGAs[i]] = nullptr; // point it at a safe place
677  }
678 
679  delete core_;
680  core_ = nullptr;
681 
682  if (ptLUT_)
683  delete ptLUT_;
684  ptLUT_ = nullptr;
685 }

References core_, FPGAs, mps_fire::i, ptLUT_, and srLUTs_.

◆ CSCTFSectorProcessor() [2/2]

CSCTFSectorProcessor::CSCTFSectorProcessor ( const CSCTFSectorProcessor par)
inlineprivate

Definition at line 69 of file CSCTFSectorProcessor.h.

69 {}

Member Function Documentation

◆ consumes()

CSCTFSectorProcessor::Tokens CSCTFSectorProcessor::consumes ( const edm::ParameterSet pset,
edm::ConsumesCollector  iC 
)
static

Definition at line 13 of file CSCTFSectorProcessor.cc.

13  {
14  Tokens tok;
15  if (not pset.getParameter<bool>("initializeFromPSet")) {
16  tok.ptLUT = CSCTFPtLUT::consumes(iC);
17  tok.config = iC.esConsumes();
18  }
19  return tok;
20 }

References CSCTFSectorProcessor::Tokens::config, CSCTFPtLUT::consumes(), edm::ConsumesCollector::esConsumes(), muonDTDigis_cfi::pset, and CSCTFSectorProcessor::Tokens::ptLUT.

Referenced by CSCTFTrackBuilder::consumes().

◆ dtStubs()

CSCTriggerContainer<csctf::TrackStub> CSCTFSectorProcessor::dtStubs ( ) const
inline

Definition at line 57 of file CSCTFSectorProcessor.h.

57 { return dt_stubs; }

References dt_stubs.

◆ filteredStubs()

std::vector<csctf::TrackStub> CSCTFSectorProcessor::filteredStubs ( ) const
inline

Definition at line 55 of file CSCTFSectorProcessor.h.

55 { return stub_vec_filtered; }

References stub_vec_filtered.

Referenced by CSCTFTrackBuilder::buildTracks().

◆ initialize()

void CSCTFSectorProcessor::initialize ( const edm::EventSetup c,
const Tokens tokens 
)

KK.

Definition at line 188 of file CSCTFSectorProcessor.cc.

188  {
189  initFail_ = false;
190  if (!initializeFromPSet) {
191  // Only pT lut can be initialized from EventSetup, all front LUTs are initialized locally from their parametrizations
192  LogDebug("CSCTFSectorProcessor") << "Initializing endcap: " << m_endcap << " sector:" << m_sector
193  << "SP:" << (m_endcap - 1) * 6 + (m_sector - 1);
194  LogDebug("CSCTFSectorProcessor") << "Initializing pT LUT from EventSetup";
195 
196  ptLUT_ = new CSCTFPtLUT(c, tokens.ptLUT);
197 
198  // Extract from EventSetup alternative (to the one, used in constructor) ParameterSet
199  const L1MuCSCTFConfiguration& config = c.getData(tokens.config);
200  // And initialize only those parameters, which left uninitialized during construction
201  readParameters(config.parameters((m_endcap - 1) * 6 + (m_sector - 1)));
202  }
203 
204  // ---------------------------------------------------------------------------
205  // This part is added per Vasile's request.
206  // It will help people understanding the emulator configuration
207  LogDebug("CSCTFSectorProcessor")
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? "
211  << trigger_on_ME1b << "\n Singles in ME2? " << trigger_on_ME2 << "\n Singles in ME3? " << trigger_on_ME3
212  << "\n Singles in ME4? " << trigger_on_ME4 << "\n Singles in MB1a? " << trigger_on_MB1a << "\n Singles in MB1d? "
213  << trigger_on_MB1d
214 
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
217  << "\n PreTrigger=" << m_preTrigger
218 
219  << "\n CoreLatency=" << m_latency << "\n Is Phi for singles rescaled? " << rescaleSinglesPhi
220 
221  << "\n\nVARIOUS CONFIGURATION PARAMETERS"
222  << "\n Allow ALCT only? " << m_allowALCTonly << "\n Allow CLCT only? " << m_allowCLCTonly
223 
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
239 
240  << "\nkill_fiber=" << kill_fiber << "\nSingles Output Link="
242 
243  //the DAT_ETA registers meaning are explained at Table 2 of
244  //http://www.phys.ufl.edu/~uvarov/SP05/LU-SP_ReferenceGuide_090915_Update.pdf
245 
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
249 
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]
258 
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
261  << "\nMinimum eta difference for ME1/1-ME2 halo tracks=" << m_mindeta112_accp
262  << "\nMinimum eta difference for ME1/1-ME3 halo tracks=" << m_mindeta113_accp
263 
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]
272 
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
275  << "\nMaximum eta difference for ME1/1-ME2 halo tracks=" << m_maxdeta112_accp
276  << "\nMaximum eta difference for ME1/1-ME3 halo tracks=" << m_maxdeta113_accp
277 
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]
285 
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
288  << "\nMaximum phi difference for ME1/1-ME2 halo tracks=" << m_maxdphi112_accp
289  << "\nMaximum phi difference for ME1/1-ME3 halo tracks=" << m_maxdphi113_accp
290 
291  << "\nMinimum phi difference for track cancellation logic=" << m_mindphip
292  << "\nMinimum phi difference for halo track cancellation logic=" << m_mindphip_halo
293 
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
296  << "\nPhi Offset for MB1A=" << m_mbaPhiOff << "\nPhi Offset for MB1D=" << m_mbbPhiOff
297 
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;
300 
302 
303  // set core verbosity: for debugging only purpouses
304  // in general the output is handled to Alex Madorsky
306 
307  // Set the SP firmware
309 
310  // Set the firmware for the CORE
311  int firmVersCore = firmSP_Map.find(m_firmSP)->second;
312  core_->SetCoreFirmwareVersion(firmVersCore);
313  edm::LogInfo("CSCTFSectorProcessor") << "\nCore Firmware is set to " << core_->GetCoreFirmwareVersion();
314  // ---------------------------------------------------------------------------
315 
316  // Check if parameters were not initialized in both: constuctor (from .cf? file) and initialize method (from EventSetup)
317  if (m_bxa_depth < 0) {
318  initFail_ = true;
319  edm::LogError("CSCTFSectorProcessor")
320  << "BXAdepth parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
321  }
322  if (m_allowALCTonly < 0) {
323  initFail_ = true;
324  edm::LogError("CSCTFSectorProcessor")
325  << "AllowALCTonly parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
326  }
327  if (m_allowCLCTonly < 0) {
328  initFail_ = true;
329  edm::LogError("CSCTFSectorProcessor")
330  << "AllowCLCTonly parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
331  }
332  if (m_preTrigger < 0) {
333  initFail_ = true;
334  edm::LogError("CSCTFSectorProcessor")
335  << "PreTrigger parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
336  }
337  if (m_mindphip < 0) {
338  initFail_ = true;
339  edm::LogError("CSCTFSectorProcessor")
340  << "mindphip parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
341  }
342  if (m_mindetap < 0) {
343  initFail_ = true;
344  edm::LogError("CSCTFSectorProcessor")
345  << "mindeta parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
346  }
347  if (m_straightp < 0) {
348  initFail_ = true;
349  edm::LogError("CSCTFSectorProcessor")
350  << "straightp parameter left unitialized for endcap=" << m_endcap << ", sector=" << m_sector;
351  }
352  if (m_curvedp < 0) {
353  initFail_ = true;
354  edm::LogError("CSCTFSectorProcessor")
355  << "curvedp parameter left unitialized for endcap=" << m_endcap << ",sector=" << m_sector;
356  }
357  if (m_mbaPhiOff < 0) {
358  initFail_ = true;
359  edm::LogError("CSCTFSectorProcessor")
360  << "mbaPhiOff parameter left unitialized for endcap=" << m_endcap << ",sector=" << m_sector;
361  }
362  if (m_mbbPhiOff < 0) {
363  initFail_ = true;
364  edm::LogError("CSCTFSectorProcessor")
365  << "mbbPhiOff parameter left unitialized for endcap=" << m_endcap << ",sector=" << m_sector;
366  }
367  if (m_mindeta12_accp < 0) {
368  initFail_ = true;
369  edm::LogError("CSCTFSectorProcessor")
370  << "mindeta_accp12 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
371  }
372  if (m_maxdeta12_accp < 0) {
373  initFail_ = true;
374  edm::LogError("CSCTFSectorProcessor")
375  << "maxdeta_accp12 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
376  }
377  if (m_maxdphi12_accp < 0) {
378  initFail_ = true;
379  edm::LogError("CSCTFSectorProcessor")
380  << "maxdphi_accp12 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
381  }
382  if (m_mindeta13_accp < 0) {
383  initFail_ = true;
384  edm::LogError("CSCTFSectorProcessor")
385  << "mindeta_accp13 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
386  }
387  if (m_maxdeta13_accp < 0) {
388  initFail_ = true;
389  edm::LogError("CSCTFSectorProcessor")
390  << "maxdeta_accp13 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
391  }
392  if (m_maxdphi13_accp < 0) {
393  initFail_ = true;
394  edm::LogError("CSCTFSectorProcessor")
395  << "maxdphi_accp13 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
396  }
397  if (m_mindeta112_accp < 0) {
398  initFail_ = true;
399  edm::LogError("CSCTFSectorProcessor")
400  << "mindeta_accp112 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
401  }
402  if (m_maxdeta112_accp < 0) {
403  initFail_ = true;
404  edm::LogError("CSCTFSectorProcessor")
405  << "maxdeta_accp112 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
406  }
407  if (m_maxdphi112_accp < 0) {
408  initFail_ = true;
409  edm::LogError("CSCTFSectorProcessor")
410  << "maxdphi_accp112 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
411  }
412  if (m_mindeta113_accp < 0) {
413  initFail_ = true;
414  edm::LogError("CSCTFSectorProcessor")
415  << "mindeta_accp113 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
416  }
417  if (m_maxdeta113_accp < 0) {
418  initFail_ = true;
419  edm::LogError("CSCTFSectorProcessor")
420  << "maxdeta_accp113 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
421  }
422  if (m_maxdphi113_accp < 0) {
423  initFail_ = true;
424  edm::LogError("CSCTFSectorProcessor")
425  << "maxdphi_accp113 parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
426  }
427  if (m_mindphip_halo < 0) {
428  initFail_ = true;
429  edm::LogError("CSCTFSectorProcessor")
430  << "mindphip_halo parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
431  }
432  if (m_mindetap_halo < 0) {
433  initFail_ = true;
434  edm::LogError("CSCTFSectorProcessor")
435  << "mindetep_halo parameter left uninitialized for endcap=" << m_endcap << ", sector=" << m_sector;
436  }
437 
438  if (m_widePhi < 0) {
439  initFail_ = true;
440  edm::LogError("CSCTFSectorProcessor")
441  << "widePhi parameter left unitialized for endcap=" << m_endcap << ", sector=" << m_sector;
442  }
443 
444  for (int index = 0; index < 8; index++)
445  if (m_etamax[index] < 0) {
446  initFail_ = true;
447  edm::LogError("CSCTFSectorProcessor")
448  << "Some (" << (8 - index) << ") of EtaMax parameters left uninitialized for endcap=" << m_endcap
449  << ", sector=" << m_sector;
450  }
451  for (int index = 0; index < 8; index++)
452  if (m_etamin[index] < 0) {
453  initFail_ = true;
454  edm::LogError("CSCTFSectorProcessor")
455  << "Some (" << (8 - index) << ") of EtaMin parameters left uninitialized for endcap=" << m_endcap
456  << ", sector=" << m_sector;
457  }
458  for (int index = 0; index < 7; index++)
459  if (m_etawin[index] < 0) {
460  initFail_ = true;
461  edm::LogError("CSCTFSectorProcessor")
462  << "Some (" << (6 - index) << ") of EtaWindows parameters left uninitialized for endcap=" << m_endcap
463  << ", sector=" << m_sector;
464  }
465  if (kill_fiber < 0) {
466  initFail_ = true;
467  edm::LogError("CSCTFTrackBuilder") << "kill_fiber parameter left uninitialized";
468  }
469  if (run_core < 0) {
470  initFail_ = true;
471  edm::LogError("CSCTFTrackBuilder") << "run_core parameter left uninitialized";
472  }
473  if (trigger_on_ME1a < 0) {
474  initFail_ = true;
475  edm::LogError("CSCTFTrackBuilder") << "trigger_on_ME1a parameter left uninitialized";
476  }
477  if (trigger_on_ME1b < 0) {
478  initFail_ = true;
479  edm::LogError("CSCTFTrackBuilder") << "trigger_on_ME1b parameter left uninitialized";
480  }
481  if (trigger_on_ME2 < 0) {
482  initFail_ = true;
483  edm::LogError("CSCTFTrackBuilder") << "trigger_on_ME2 parameter left uninitialized";
484  }
485  if (trigger_on_ME3 < 0) {
486  initFail_ = true;
487  edm::LogError("CSCTFTrackBuilder") << "trigger_on_ME3 parameter left uninitialized";
488  }
489  if (trigger_on_ME4 < 0) {
490  initFail_ = true;
491  edm::LogError("CSCTFTrackBuilder") << "trigger_on_ME4 parameter left uninitialized";
492  }
493  if (trigger_on_MB1a < 0) {
494  initFail_ = true;
495  edm::LogError("CSCTFTrackBuilder") << "trigger_on_MB1a parameter left uninitialized";
496  }
497  if (trigger_on_MB1d < 0) {
498  initFail_ = true;
499  edm::LogError("CSCTFTrackBuilder") << "trigger_on_MB1d parameter left uninitialized";
500  }
501  if (trigger_on_ME1a > 0 || trigger_on_ME1b > 0 || trigger_on_ME2 > 0 || trigger_on_ME3 > 0 || trigger_on_ME4 > 0 ||
502  trigger_on_MB1a > 0 || trigger_on_MB1d > 0) {
503  if (singlesTrackOutput == 999) {
504  initFail_ = true;
505  edm::LogError("CSCTFTrackBuilder") << "singlesTrackOutput parameter left uninitialized";
506  }
507  if (rescaleSinglesPhi < 0) {
508  initFail_ = true;
509  edm::LogError("CSCTFTrackBuilder") << "rescaleSinglesPhi parameter left uninitialized";
510  }
511  }
512  if (QualityEnableME1a < 0) {
513  initFail_ = true;
514  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1a parameter left uninitialized";
515  }
516  if (QualityEnableME1b < 0) {
517  initFail_ = true;
518  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1b parameter left uninitialized";
519  }
520  if (QualityEnableME1c < 0) {
521  initFail_ = true;
522  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1c parameter left uninitialized";
523  }
524  if (QualityEnableME1d < 0) {
525  initFail_ = true;
526  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1d parameter left uninitialized";
527  }
528  if (QualityEnableME1e < 0) {
529  initFail_ = true;
530  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1e parameter left uninitialized";
531  }
532  if (QualityEnableME1f < 0) {
533  initFail_ = true;
534  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME1f parameter left uninitialized";
535  }
536  if (QualityEnableME2a < 0) {
537  initFail_ = true;
538  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME2a parameter left uninitialized";
539  }
540  if (QualityEnableME2b < 0) {
541  initFail_ = true;
542  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME2b parameter left uninitialized";
543  }
544  if (QualityEnableME2c < 0) {
545  initFail_ = true;
546  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME2c parameter left uninitialized";
547  }
548  if (QualityEnableME3a < 0) {
549  initFail_ = true;
550  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME3a parameter left uninitialized";
551  }
552  if (QualityEnableME3b < 0) {
553  initFail_ = true;
554  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME3b parameter left uninitialized";
555  }
556  if (QualityEnableME3c < 0) {
557  initFail_ = true;
558  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME3c parameter left uninitialized";
559  }
560  if (QualityEnableME4a < 0) {
561  initFail_ = true;
562  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME4a parameter left uninitialized";
563  }
564  if (QualityEnableME4b < 0) {
565  initFail_ = true;
566  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME4b parameter left uninitialized";
567  }
568  if (QualityEnableME4c < 0) {
569  initFail_ = true;
570  edm::LogError("CSCTFTrackBuilder") << "QualityEnableME4c parameter left uninitialized";
571  }
572 
573  if (m_firmSP < 1) {
574  initFail_ = true;
575  edm::LogError("CSCTFSectorProcessor") << " firmwareSP parameter left uninitialized!!!\n";
576  }
577  if (m_firmFA < 1) {
578  initFail_ = true;
579  edm::LogError("CSCTFSectorProcessor") << " firmwareFA parameter left uninitialized!!!\n";
580  }
581  if (m_firmDD < 1) {
582  initFail_ = true;
583  edm::LogError("CSCTFSectorProcessor") << " firmwareDD parameter left uninitialized!!!\n";
584  }
585  if (m_firmVM < 1) {
586  initFail_ = true;
587  edm::LogError("CSCTFSectorProcessor") << " firmwareVM parameter left uninitialized!!!\n";
588  }
589 
590  if ((m_firmFA != m_firmDD) || (m_firmFA != m_firmVM) || (m_firmDD != m_firmVM)) {
591  initFail_ = true;
592  edm::LogError("CSCTFSectorProcessor::initialize")
593  << " firmwareFA (=" << m_firmFA << "), "
594  << " firmwareDD (=" << m_firmDD << "), "
595  << " firmwareVM (=" << m_firmVM << ") are NOT identical: it shoultd NOT happen!\n";
596  }
597 }

References c, CSCTFSectorProcessor::Tokens::config, core_, firmSP_Map, CSCTFSPCoreLogic::GetCoreFirmwareVersion(), initFail_, initializeFromPSet, isCoreVerbose, kill_fiber, LogDebug, m_allowALCTonly, m_allowCLCTonly, m_bxa_depth, m_curvedp, m_endcap, m_etamax, m_etamin, m_etawin, m_firmDD, m_firmFA, m_firmSP, m_firmVM, m_latency, m_maxdeta112_accp, m_maxdeta113_accp, m_maxdeta12_accp, m_maxdeta13_accp, m_maxdphi112_accp, m_maxdphi113_accp, m_maxdphi12_accp, m_maxdphi13_accp, m_mbaPhiOff, m_mbbPhiOff, m_mindeta112_accp, m_mindeta113_accp, m_mindeta12_accp, m_mindeta13_accp, m_mindetap, m_mindetap_halo, m_mindphip, m_mindphip_halo, m_preTrigger, m_sector, m_straightp, m_widePhi, printDisclaimer(), CSCTFSectorProcessor::Tokens::ptLUT, ptLUT_, QualityEnableME1a, QualityEnableME1b, QualityEnableME1c, QualityEnableME1d, QualityEnableME1e, QualityEnableME1f, QualityEnableME2a, QualityEnableME2b, QualityEnableME2c, QualityEnableME3a, QualityEnableME3b, QualityEnableME3c, QualityEnableME4a, QualityEnableME4b, QualityEnableME4c, readParameters(), rescaleSinglesPhi, run_core, CSCTFSPCoreLogic::SetCoreFirmwareVersion(), CSCTFSPCoreLogic::SetSPFirmwareVersion(), CSCTFSPCoreLogic::SetVerbose(), singlesTrackOutput, trigger_on_MB1a, trigger_on_MB1d, trigger_on_ME1a, trigger_on_ME1b, trigger_on_ME2, trigger_on_ME3, and trigger_on_ME4.

Referenced by CSCTFTrackBuilder::initialize().

◆ maxBX()

int CSCTFSectorProcessor::maxBX ( ) const
inline

Definition at line 60 of file CSCTFSectorProcessor.h.

60 { return m_maxBX; }

References m_maxBX.

◆ minBX()

int CSCTFSectorProcessor::minBX ( ) const
inline

Definition at line 59 of file CSCTFSectorProcessor.h.

59 { return m_minBX; }

References m_minBX.

◆ operator=()

CSCTFSectorProcessor& CSCTFSectorProcessor::operator= ( const CSCTFSectorProcessor rhs)
inlineprivate

Definition at line 68 of file CSCTFSectorProcessor.h.

68 { return *this; };

◆ printDisclaimer()

void CSCTFSectorProcessor::printDisclaimer ( int  firmSP,
int  firmFA 
)

Definition at line 1121 of file CSCTFSectorProcessor.cc.

1121  {
1122  edm::LogInfo("CSCTFSectorProcessor") << "\n\n"
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";
1133 
1134  else
1135  edm::LogInfo("CSCTFSectorProcessor") << "\t * Correct phi assignment for singles\n";
1136 
1137  if (firmSP == 20100629) {
1138  edm::LogInfo("CSCTFSectorProcessor") << "\t * Correct MB quality masking in the wrapper\n"
1139  << "\t * Core is 20100122\n";
1140  }
1141 
1142  if (firmSP == 20100728)
1143  edm::LogInfo("CSCTFSectorProcessor") << "\t * Inverted MB clocks\n";
1144 
1145  if (firmSP == 20100901)
1146  edm::LogInfo("CSCTFSectorProcessor") << "\t * Inverted charge bit\n";
1147 
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";
1155 
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";
1164 }

Referenced by initialize().

◆ readParameters()

void CSCTFSectorProcessor::readParameters ( const edm::ParameterSet pset)

Definition at line 599 of file CSCTFSectorProcessor.cc.

599  {
600  m_bxa_depth = pset.getParameter<unsigned>("BXAdepth");
601  m_allowALCTonly = (pset.getParameter<bool>("AllowALCTonly") ? 1 : 0);
602  m_allowCLCTonly = (pset.getParameter<bool>("AllowCLCTonly") ? 1 : 0);
603  m_preTrigger = pset.getParameter<unsigned>("PreTrigger");
604 
605  std::vector<unsigned>::const_iterator iter;
606  int index = 0;
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++)
609  m_etawin[index] = *iter;
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++)
612  m_etamin[index] = *iter;
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++)
615  m_etamax[index] = *iter;
616 
617  m_mindphip = pset.getParameter<unsigned>("mindphip");
618  m_mindetap = pset.getParameter<unsigned>("mindetap");
619  m_straightp = pset.getParameter<unsigned>("straightp");
620  m_curvedp = pset.getParameter<unsigned>("curvedp");
621  m_mbaPhiOff = pset.getParameter<unsigned>("mbaPhiOff");
622  m_mbbPhiOff = pset.getParameter<unsigned>("mbbPhiOff");
623  m_widePhi = pset.getParameter<unsigned>("widePhi");
624  m_mindeta12_accp = pset.getParameter<unsigned>("mindeta12_accp");
625  m_maxdeta12_accp = pset.getParameter<unsigned>("maxdeta12_accp");
626  m_maxdphi12_accp = pset.getParameter<unsigned>("maxdphi12_accp");
627  m_mindeta13_accp = pset.getParameter<unsigned>("mindeta13_accp");
628  m_maxdeta13_accp = pset.getParameter<unsigned>("maxdeta13_accp");
629  m_maxdphi13_accp = pset.getParameter<unsigned>("maxdphi13_accp");
630  m_mindeta112_accp = pset.getParameter<unsigned>("mindeta112_accp");
631  m_maxdeta112_accp = pset.getParameter<unsigned>("maxdeta112_accp");
632  m_maxdphi112_accp = pset.getParameter<unsigned>("maxdphi112_accp");
633  m_mindeta113_accp = pset.getParameter<unsigned>("mindeta113_accp");
634  m_maxdeta113_accp = pset.getParameter<unsigned>("maxdeta113_accp");
635  m_maxdphi113_accp = pset.getParameter<unsigned>("maxdphi113_accp");
636  m_mindphip_halo = pset.getParameter<unsigned>("mindphip_halo");
637  m_mindetap_halo = pset.getParameter<unsigned>("mindetap_halo");
638  kill_fiber = pset.getParameter<unsigned>("kill_fiber");
639  run_core = pset.getParameter<bool>("run_core");
640  trigger_on_ME1a = pset.getParameter<bool>("trigger_on_ME1a");
641  trigger_on_ME1b = pset.getParameter<bool>("trigger_on_ME1b");
642  trigger_on_ME2 = pset.getParameter<bool>("trigger_on_ME2");
643  trigger_on_ME3 = pset.getParameter<bool>("trigger_on_ME3");
644  trigger_on_ME4 = pset.getParameter<bool>("trigger_on_ME4");
645  trigger_on_MB1a = pset.getParameter<bool>("trigger_on_MB1a");
646  trigger_on_MB1d = pset.getParameter<bool>("trigger_on_MB1d");
647 
648  singlesTrackOutput = pset.getParameter<unsigned int>("singlesTrackOutput");
649  rescaleSinglesPhi = pset.getParameter<bool>("rescaleSinglesPhi");
650  QualityEnableME1a = pset.getParameter<unsigned int>("QualityEnableME1a");
651  QualityEnableME1b = pset.getParameter<unsigned int>("QualityEnableME1b");
652  QualityEnableME1c = pset.getParameter<unsigned int>("QualityEnableME1c");
653  QualityEnableME1d = pset.getParameter<unsigned int>("QualityEnableME1d");
654  QualityEnableME1e = pset.getParameter<unsigned int>("QualityEnableME1e");
655  QualityEnableME1f = pset.getParameter<unsigned int>("QualityEnableME1f");
656  QualityEnableME2a = pset.getParameter<unsigned int>("QualityEnableME2a");
657  QualityEnableME2b = pset.getParameter<unsigned int>("QualityEnableME2b");
658  QualityEnableME2c = pset.getParameter<unsigned int>("QualityEnableME2c");
659  QualityEnableME3a = pset.getParameter<unsigned int>("QualityEnableME3a");
660  QualityEnableME3b = pset.getParameter<unsigned int>("QualityEnableME3b");
661  QualityEnableME3c = pset.getParameter<unsigned int>("QualityEnableME3c");
662  QualityEnableME4a = pset.getParameter<unsigned int>("QualityEnableME4a");
663  QualityEnableME4b = pset.getParameter<unsigned int>("QualityEnableME4b");
664  QualityEnableME4c = pset.getParameter<unsigned int>("QualityEnableME4c");
665 
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");
670 }

References kill_fiber, m_allowALCTonly, m_allowCLCTonly, m_bxa_depth, m_curvedp, m_etamax, m_etamin, m_etawin, m_firmDD, m_firmFA, m_firmSP, m_firmVM, m_maxdeta112_accp, m_maxdeta113_accp, m_maxdeta12_accp, m_maxdeta13_accp, m_maxdphi112_accp, m_maxdphi113_accp, m_maxdphi12_accp, m_maxdphi13_accp, m_mbaPhiOff, m_mbbPhiOff, m_mindeta112_accp, m_mindeta113_accp, m_mindeta12_accp, m_mindeta13_accp, m_mindetap, m_mindetap_halo, m_mindphip, m_mindphip_halo, m_preTrigger, m_straightp, m_widePhi, muonDTDigis_cfi::pset, QualityEnableME1a, QualityEnableME1b, QualityEnableME1c, QualityEnableME1d, QualityEnableME1e, QualityEnableME1f, QualityEnableME2a, QualityEnableME2b, QualityEnableME2c, QualityEnableME3a, QualityEnableME3b, QualityEnableME3c, QualityEnableME4a, QualityEnableME4b, QualityEnableME4c, rescaleSinglesPhi, run_core, singlesTrackOutput, trigger_on_MB1a, trigger_on_MB1d, trigger_on_ME1a, trigger_on_ME1b, trigger_on_ME2, trigger_on_ME3, and trigger_on_ME4.

Referenced by CSCTFSectorProcessor(), and initialize().

◆ run()

int CSCTFSectorProcessor::run ( const CSCTriggerContainer< csctf::TrackStub > &  stubs)

STEP ZERO Remove stubs, which were masked out by kill_fiber or QualityEnable parameters

STEP ONE We take stubs from the MPC and assign their eta and phi coordinates using the SR Lookup tables. This is independent of what BX we are on so we can process one large vector of stubs. After this we append the stubs gained from the DT system.

STEP TWO We take the stubs filled by the SR LUTs and load them for processing into the SP core logic. After loading we run and then retrieve any tracks generated.

STEP THREE Now that we have the found tracks from the core, we must assign their Pt.

Definition at line 689 of file CSCTFSectorProcessor.cc.

689  {
690  if (initFail_)
691  return -1;
692 
693  if (!ptLUT_) {
694  edm::LogError("CSCTFSectorProcessor::run()")
695  << "No CSCTF PTLUTs: Initialize CSC TF LUTs first (missed call to CSCTFTrackProducer::beginJob?\n";
696  return -1;
697  }
698 
699  l1_tracks.clear();
700  dt_stubs.clear();
701  stub_vec_filtered.clear();
702 
703  std::vector<csctf::TrackStub> stub_vec = stubs.get();
704 
708  for (std::vector<csctf::TrackStub>::const_iterator itr = stub_vec.begin(); itr != stub_vec.end(); itr++)
709  switch (itr->station()) {
710  case 5:
711  stub_vec_filtered.push_back(*itr);
712  break; // DT stubs get filtered by the core controll register
713  case 4:
714  switch (itr->getMPCLink()) {
715  case 3:
716  if ((kill_fiber & 0x4000) == 0 && QualityEnableME4c & (1 << itr->getQuality()))
717  stub_vec_filtered.push_back(*itr);
718  break;
719  case 2:
720  if ((kill_fiber & 0x2000) == 0 && QualityEnableME4b & (1 << itr->getQuality()))
721  stub_vec_filtered.push_back(*itr);
722  break;
723  case 1:
724  if ((kill_fiber & 0x1000) == 0 && QualityEnableME4a & (1 << itr->getQuality()))
725  stub_vec_filtered.push_back(*itr);
726  break;
727  default:
728  edm::LogWarning("CSCTFSectorProcessor::run()")
729  << "No MPC sorting for LCT: link=" << itr->getMPCLink() << "\n";
730  }
731  break;
732  case 3:
733  switch (itr->getMPCLink()) {
734  case 3:
735  if ((kill_fiber & 0x0800) == 0 && QualityEnableME3c & (1 << itr->getQuality()))
736  stub_vec_filtered.push_back(*itr);
737  break;
738  case 2:
739  if ((kill_fiber & 0x0400) == 0 && QualityEnableME3b & (1 << itr->getQuality()))
740  stub_vec_filtered.push_back(*itr);
741  break;
742  case 1:
743  if ((kill_fiber & 0x0200) == 0 && QualityEnableME3a & (1 << itr->getQuality()))
744  stub_vec_filtered.push_back(*itr);
745  break;
746  default:
747  edm::LogWarning("CSCTFSectorProcessor::run()")
748  << "No MPC sorting for LCT: link=" << itr->getMPCLink() << "\n";
749  }
750  break;
751  case 2:
752  switch (itr->getMPCLink()) {
753  case 3:
754  if ((kill_fiber & 0x0100) == 0 && QualityEnableME2c & (1 << itr->getQuality()))
755  stub_vec_filtered.push_back(*itr);
756  break;
757  case 2:
758  if ((kill_fiber & 0x0080) == 0 && QualityEnableME2b & (1 << itr->getQuality()))
759  stub_vec_filtered.push_back(*itr);
760  break;
761  case 1:
762  if ((kill_fiber & 0x0040) == 0 && QualityEnableME2a & (1 << itr->getQuality()))
763  stub_vec_filtered.push_back(*itr);
764  break;
765  default:
766  edm::LogWarning("CSCTFSectorProcessor::run()")
767  << "No MPC sorting for LCT: link=" << itr->getMPCLink() << "\n";
768  }
769  break;
770  case 1:
771  switch (itr->getMPCLink() +
772  (3 * (CSCTriggerNumbering::triggerSubSectorFromLabels(CSCDetId(itr->getDetId().rawId())) - 1))) {
773  case 6:
774  if ((kill_fiber & 0x0020) == 0 && QualityEnableME1f & (1 << itr->getQuality()))
775  stub_vec_filtered.push_back(*itr);
776  break;
777  case 5:
778  if ((kill_fiber & 0x0010) == 0 && QualityEnableME1e & (1 << itr->getQuality()))
779  stub_vec_filtered.push_back(*itr);
780  break;
781  case 4:
782  if ((kill_fiber & 0x0008) == 0 && QualityEnableME1d & (1 << itr->getQuality()))
783  stub_vec_filtered.push_back(*itr);
784  break;
785  case 3:
786  if ((kill_fiber & 0x0004) == 0 && QualityEnableME1c & (1 << itr->getQuality()))
787  stub_vec_filtered.push_back(*itr);
788  break;
789  case 2:
790  if ((kill_fiber & 0x0002) == 0 && QualityEnableME1b & (1 << itr->getQuality()))
791  stub_vec_filtered.push_back(*itr);
792  break;
793  case 1:
794  if ((kill_fiber & 0x0001) == 0 && QualityEnableME1a & (1 << itr->getQuality()))
795  stub_vec_filtered.push_back(*itr);
796  break;
797  default:
798  edm::LogWarning("CSCTFSectorProcessor::run()")
799  << "No MPC sorting for LCT: link=" << itr->getMPCLink() << "\n";
800  }
801  break;
802  default:
803  edm::LogWarning("CSCTFSectorProcessor::run()") << "Invalid station # encountered: " << itr->station() << "\n";
804  }
805 
814  for (std::vector<csctf::TrackStub>::iterator itr = stub_vec_filtered.begin(); itr != stub_vec_filtered.end(); itr++) {
815  if (itr->station() != 5) {
816  CSCDetId id(itr->getDetId().rawId());
817  unsigned fpga = (id.station() == 1) ? CSCTriggerNumbering::triggerSubSectorFromLabels(id) - 1 : id.station();
818 
819  lclphidat lclPhi;
820  try {
821  lclPhi = srLUTs_[FPGAs[fpga]]->localPhi(
822  itr->getStrip(), itr->getPattern(), itr->getQuality(), itr->getBend(), m_gangedME1a);
823  } catch (cms::Exception& e) {
824  bzero(&lclPhi, sizeof(lclPhi));
825  edm::LogWarning("CSCTFSectorProcessor:run()")
826  << "Exception from LocalPhi LUT in " << FPGAs[fpga] << "(strip=" << itr->getStrip()
827  << ",pattern=" << itr->getPattern() << ",quality=" << itr->getQuality() << ",bend=" << itr->getBend() << ")"
828  << std::endl;
829  }
830 
831  gblphidat gblPhi;
832  try {
833  unsigned csc_id = itr->cscid();
834  if (!m_gangedME1a)
835  csc_id = itr->cscidSeparateME1a();
836  //std::cout << "station="<<id.station()<<" ring="<<id.ring()<<" strip="<<itr->getStrip()<<" WG="<<itr->getKeyWG()<<std::endl;
837  //std::cout << "csc_id=" << csc_id << std::endl;
838  gblPhi = srLUTs_[FPGAs[fpga]]->globalPhiME(lclPhi.phi_local, itr->getKeyWG(), csc_id, m_gangedME1a);
839 
840  } catch (cms::Exception& e) {
841  bzero(&gblPhi, sizeof(gblPhi));
842  edm::LogWarning("CSCTFSectorProcessor:run()")
843  << "Exception from GlobalPhi LUT in " << FPGAs[fpga] << "(phi_local=" << lclPhi.phi_local
844  << ",KeyWG=" << itr->getKeyWG() << ",csc=" << itr->cscid() << ")" << std::endl;
845  }
846 
847  gbletadat gblEta;
848  try {
849  unsigned csc_id = itr->cscid();
850  if (!m_gangedME1a)
851  csc_id = itr->cscidSeparateME1a();
852  gblEta = srLUTs_[FPGAs[fpga]]->globalEtaME(
853  lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), csc_id, m_gangedME1a);
854  //gblEta = srLUTs_[FPGAs[fpga]]->globalEtaME(lclPhi.phi_bend_local, lclPhi.phi_local, itr->getKeyWG(), itr->cscid());
855  } catch (cms::Exception& e) {
856  bzero(&gblEta, sizeof(gblEta));
857  edm::LogWarning("CSCTFSectorProcessor:run()")
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() << ")"
860  << std::endl;
861  }
862 
863  gblphidat gblPhiDT;
864  try {
865  gblPhiDT = srLUTs_[FPGAs[fpga]]->globalPhiMB(lclPhi.phi_local, itr->getKeyWG(), itr->cscid(), m_gangedME1a);
866  } catch (cms::Exception& e) {
867  bzero(&gblPhiDT, sizeof(gblPhiDT));
868  edm::LogWarning("CSCTFSectorProcessor:run()")
869  << "Exception from GlobalPhi DT LUT in " << FPGAs[fpga] << "(phi_local=" << lclPhi.phi_local
870  << ",KeyWG=" << itr->getKeyWG() << ",csc=" << itr->cscid() << ")" << std::endl;
871  }
872 
873  itr->setEtaPacked(gblEta.global_eta);
874 
875  if (itr->station() == 1) {
876  //&& itr->cscId() > 6) { //only ring 3
877  itr->setPhiPacked(gblPhiDT.global_phi); // convert the DT to convert
878  dt_stubs.push_back(*itr); // send stubs to DT
879  }
880 
881  //reconvert the ME1 LCT to the CSCTF units.
882  //the same iterator is used to fill two containers,
883  //the CSCTF one (stub_vec_filtered) and LCTs sent to DTTF (dt_stubs)
884  itr->setPhiPacked(gblPhi.global_phi);
885 
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";
889  }
890  }
891 
893 
900  std::vector<csc::L1Track> tftks;
901 
902  if (run_core) {
904  // core_->loadData(processedStubs, m_endcap, m_sector, m_minBX, m_maxBX, true);
905  if (core_->run(m_endcap,
906  m_sector,
907  m_latency,
908  m_etamin[0],
909  m_etamin[1],
910  m_etamin[2],
911  m_etamin[3],
912  m_etamin[4],
913  m_etamin[5],
914  m_etamin[6],
915  m_etamin[7],
916  m_etamax[0],
917  m_etamax[1],
918  m_etamax[2],
919  m_etamax[3],
920  m_etamax[4],
921  m_etamax[5],
922  m_etamax[6],
923  m_etamax[7],
924  m_etawin[0],
925  m_etawin[1],
926  m_etawin[2],
927  m_etawin[3],
928  m_etawin[4],
929  m_etawin[5],
930  m_etawin[6],
931  m_mindphip,
932  m_mindetap,
947  m_straightp,
948  m_curvedp,
949  m_mbaPhiOff,
950  m_mbbPhiOff,
951  m_bxa_depth,
954  m_preTrigger,
955  m_widePhi,
956  m_minBX,
957  m_maxBX)) {
958  l1_tracks = core_->tracks();
959  }
960 
961  tftks = l1_tracks.get();
962 
968  std::vector<csc::L1Track>::iterator titr = tftks.begin();
969 
970  for (; titr != tftks.end(); titr++) {
971  ptadd thePtAddress(titr->ptLUTAddress());
972  ptdat thePtData = ptLUT_->Pt(thePtAddress);
973  if (thePtAddress.track_fr) {
974  titr->setRank(thePtData.front_rank);
975  titr->setChargeValidPacked(thePtData.charge_valid_front);
976  } else {
977  titr->setRank(thePtData.rear_rank);
978  titr->setChargeValidPacked(thePtData.charge_valid_rear);
979  }
980 
981  if (((titr->ptLUTAddress() >> 16) & 0xf) == 15) {
982  int unmodBx = titr->bx();
983  titr->setBx(unmodBx + 2);
984  }
985  }
986  } //end of if(run_core)
987 
988  l1_tracks = tftks;
989 
990  // Add-on for singles:
991  CSCTriggerContainer<csctf::TrackStub> myStubContainer[7]; //[BX]
992  // Loop over CSC LCTs if triggering on them:
995  for (std::vector<csctf::TrackStub>::iterator itr = stub_vec_filtered.begin(); itr != stub_vec_filtered.end();
996  itr++) {
997  int station = itr->station() - 1;
998  if (station != 4) {
999  int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels(CSCDetId(itr->getDetId().rawId()));
1000  int mpc = (subSector ? subSector - 1 : station + 1);
1001  if ((mpc == 0 && trigger_on_ME1a) || (mpc == 1 && trigger_on_ME1b) || (mpc == 2 && trigger_on_ME2) ||
1002  (mpc == 3 && trigger_on_ME3) || (mpc == 4 && trigger_on_ME4) ||
1003  (mpc == 5 && ((trigger_on_MB1a && subSector % 2 == 1) || (trigger_on_MB1d && subSector % 2 == 0)))) {
1004  int bx = itr->getBX() - m_minBX;
1005  if (bx < 0 || bx >= 7)
1006  edm::LogWarning("CSCTFTrackBuilder::buildTracks()")
1007  << " LCT BX is out of [" << m_minBX << "," << m_maxBX << ") range: " << itr->getBX();
1008  else if (itr->isValid())
1009  myStubContainer[bx].push_back(*itr);
1010  }
1011  }
1012  }
1013 
1014  // Core's input was loaded in a relative time window BX=[0-7)
1015  // To relate it to time window of tracks (centred at BX=0) we introduce a shift:
1016  int shift = (m_maxBX + m_minBX) / 2 - m_minBX;
1017 
1018  // Now we put tracks from singles in a certain bx
1019  // if there were no tracks from the core in this endcap/sector/bx
1020  CSCTriggerContainer<csc::L1Track> tracksFromSingles;
1021  for (int bx = 0; bx < 7; bx++)
1022  if (!myStubContainer[bx].get().empty()) { // VP in this bx
1023  bool coreTrackExists = false;
1024  // tracks are not ordered to be accessible by bx => loop them all
1025  std::vector<csc::L1Track> tracks = l1_tracks.get();
1026  for (std::vector<csc::L1Track>::iterator trk = tracks.begin(); trk < tracks.end(); trk++)
1027  if ((trk->BX() == bx - shift && trk->outputLink() == singlesTrackOutput) ||
1028  (((trk->ptLUTAddress() >> 16) & 0xf) == 15 && trk->BX() - 2 == bx - shift)) {
1029  coreTrackExists = true;
1030  break;
1031  }
1032  if (coreTrackExists == false) {
1033  csc::L1TrackId trackId(m_endcap, m_sector);
1034  csc::L1Track track(trackId);
1035  track.setBx(bx - shift);
1036  track.setOutputLink(singlesTrackOutput);
1037  //CSCCorrelatedLCTDigiCollection singles;
1038  std::vector<csctf::TrackStub> stubs = myStubContainer[bx].get();
1039  // Select best quality stub, and assign its eta/phi coordinates to the track
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;
1044  int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels(CSCDetId(st_iter->getDetId().rawId()));
1045  int mpc = (subSector ? subSector - 1 : station + 1);
1046  // Sort MB stubs first (priority: quality OR MB1a > MB1b for the same quality)
1047  if (mpc == 5 &&
1048  (st_iter->getQuality() > qualityMB || (st_iter->getQuality() == qualityMB && subSector < MB))) {
1049  qualityMB = st_iter->getQuality();
1050  MB = subSector;
1051  if (ME > 4)
1052  bestStub = st_iter; // do not select this stub if ME already had any candidate
1053  }
1054  // Sort ME stubs (priority: quality OR ME1a > ME1b > ME2 > ME3 > ME4 for the same quality)
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();
1058  ME = mpc;
1059  linkME = st_iter->getMPCLink();
1060  bestStub = st_iter;
1061  }
1062  }
1063  unsigned rescaled_phi = 999;
1064  if (m_firmSP <= 20100210) {
1065  // buggy implementation of the phi for singles in the wrapper...
1066  // at the end data/emulator have to agree: e.g. wrong in the same way
1067  // BUG: getting the lowest 7 bits instead the 7 most significant ones.
1068  rescaled_phi = unsigned(24 * (bestStub->phiPacked() & 0x7f) / 128.);
1069  } else {
1070  // correct implementation :-)
1071  rescaled_phi = unsigned(24 * (bestStub->phiPacked() >> 5) / 128.);
1072  }
1073 
1074  unsigned unscaled_phi = bestStub->phiPacked() >> 7;
1075  track.setLocalPhi(rescaleSinglesPhi ? rescaled_phi : unscaled_phi);
1076  track.setEtaPacked((bestStub->etaPacked() >> 2) & 0x1f);
1077  switch (bestStub->station()) {
1078  case 1:
1079  track.setStationIds(bestStub->getMPCLink(), 0, 0, 0, 0);
1080  break;
1081  case 2:
1082  track.setStationIds(0, bestStub->getMPCLink(), 0, 0, 0);
1083  break;
1084  case 3:
1085  track.setStationIds(0, 0, bestStub->getMPCLink(), 0, 0);
1086  break;
1087  case 4:
1088  track.setStationIds(0, 0, 0, bestStub->getMPCLink(), 0);
1089  break;
1090  case 5:
1091  track.setStationIds(0, 0, 0, 0, bestStub->getMPCLink());
1092  break;
1093  default:
1094  edm::LogError("CSCTFSectorProcessor::run()") << "Illegal LCT link=" << bestStub->station() << "\n";
1095  break;
1096  }
1097  // singles.insertDigi(CSCDetId(st_iter->getDetId().rawId()),*st_iter);
1098  //tracksFromSingles.push_back(L1CSCTrack(track,singles));
1099  track.setPtLUTAddress((1 << 16) | ((bestStub->etaPacked() << 9) & 0xf000));
1100  ptadd thePtAddress(track.ptLUTAddress());
1101  ptdat thePtData = ptLUT_->Pt(thePtAddress);
1102  if (thePtAddress.track_fr) {
1103  track.setRank(thePtData.front_rank);
1104  track.setChargeValidPacked(thePtData.charge_valid_front);
1105  } else {
1106  track.setRank(thePtData.rear_rank);
1107  track.setChargeValidPacked(thePtData.charge_valid_rear);
1108  }
1109  tracksFromSingles.push_back(track);
1110  }
1111  }
1112  std::vector<csc::L1Track> single_tracks = tracksFromSingles.get();
1113  if (!single_tracks.empty())
1114  l1_tracks.push_many(single_tracks);
1115  // End of add-on for singles
1116 
1117  return (!l1_tracks.get().empty());
1118 }

References l1GtPatternGenerator_cfi::bx, CSCTriggerContainer< T >::clear(), core_, dt_stubs, MillePedeFileConverter_cfg::e, FPGAs, CSCTriggerContainer< T >::get(), get, triggerObjects_cff::id, initFail_, kill_fiber, l1_tracks, CSCTFSPCoreLogic::loadData(), LogDebug, m_allowALCTonly, m_allowCLCTonly, m_bxa_depth, m_curvedp, m_endcap, m_etamax, m_etamin, m_etawin, m_firmSP, m_gangedME1a, m_latency, m_maxBX, m_maxdeta112_accp, m_maxdeta113_accp, m_maxdeta12_accp, m_maxdeta13_accp, m_maxdphi112_accp, m_maxdphi113_accp, m_maxdphi12_accp, m_maxdphi13_accp, m_mbaPhiOff, m_mbbPhiOff, m_minBX, m_mindeta112_accp, m_mindeta113_accp, m_mindeta12_accp, m_mindeta13_accp, m_mindetap, m_mindetap_halo, m_mindphip, m_mindphip_halo, m_preTrigger, m_sector, m_straightp, m_widePhi, CSCTFPtLUT::Pt(), ptLUT_, CSCTriggerContainer< T >::push_back(), CSCTriggerContainer< T >::push_many(), QualityEnableME1a, QualityEnableME1b, QualityEnableME1c, QualityEnableME1d, QualityEnableME1e, QualityEnableME1f, QualityEnableME2a, QualityEnableME2b, QualityEnableME2c, QualityEnableME3a, QualityEnableME3b, QualityEnableME3c, QualityEnableME4a, QualityEnableME4b, QualityEnableME4c, rescaleSinglesPhi, CSCTFSPCoreLogic::run(), run_core, edm::shift, singlesTrackOutput, srLUTs_, relativeConstraints::station, stub_vec_filtered, HLT_FULL_cff::track, tracks(), CSCTFSPCoreLogic::tracks(), trigger_on_MB1a, trigger_on_MB1d, trigger_on_ME1a, trigger_on_ME1b, trigger_on_ME2, trigger_on_ME3, trigger_on_ME4, and CSCTriggerNumbering::triggerSubSectorFromLabels().

Referenced by CSCTFTrackBuilder::buildTracks().

◆ tracks()

CSCTriggerContainer<csc::L1Track> CSCTFSectorProcessor::tracks ( void  ) const
inline

Definition at line 54 of file CSCTFSectorProcessor.h.

54 { return l1_tracks; }

References l1_tracks.

Referenced by CSCTFTrackBuilder::buildTracks(), and run().

Member Data Documentation

◆ core_

CSCTFSPCoreLogic* CSCTFSectorProcessor::core_
private

◆ dt_stubs

CSCTriggerContainer<csctf::TrackStub> CSCTFSectorProcessor::dt_stubs
private

Definition at line 106 of file CSCTFSectorProcessor.h.

Referenced by dtStubs(), and run().

◆ firmSP_Map

std::map<int, int> CSCTFSectorProcessor::firmSP_Map
private

Definition at line 117 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), and initialize().

◆ FPGAs

const std::string CSCTFSectorProcessor::FPGAs = {"F1", "F2", "F3", "F4", "F5"}
staticprivate

Definition at line 110 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), run(), and ~CSCTFSectorProcessor().

◆ initFail_

bool CSCTFSectorProcessor::initFail_
private

Definition at line 119 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and run().

◆ initializeFromPSet

bool CSCTFSectorProcessor::initializeFromPSet
private

Definition at line 73 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), and initialize().

◆ isCoreVerbose

bool CSCTFSectorProcessor::isCoreVerbose
private

Definition at line 118 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), and initialize().

◆ kill_fiber

int CSCTFSectorProcessor::kill_fiber
private

Definition at line 96 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ l1_tracks

CSCTriggerContainer<csc::L1Track> CSCTFSectorProcessor::l1_tracks
private

Definition at line 105 of file CSCTFSectorProcessor.h.

Referenced by run(), and tracks().

◆ m_allowALCTonly

int CSCTFSectorProcessor::m_allowALCTonly
private

Definition at line 78 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_allowCLCTonly

int CSCTFSectorProcessor::m_allowCLCTonly
private

Definition at line 78 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_bxa_depth

int CSCTFSectorProcessor::m_bxa_depth
private

Definition at line 78 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_curvedp

int CSCTFSectorProcessor::m_curvedp
private

Definition at line 87 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_endcap

unsigned CSCTFSectorProcessor::m_endcap
private

Definition at line 74 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and run().

◆ m_etamax

int CSCTFSectorProcessor::m_etamax[8]
private

Definition at line 80 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_etamin

int CSCTFSectorProcessor::m_etamin[8]
private

Definition at line 80 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_etawin

int CSCTFSectorProcessor::m_etawin[7]
private

Definition at line 80 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_firmDD

int CSCTFSectorProcessor::m_firmDD
private

Definition at line 103 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and readParameters().

◆ m_firmFA

int CSCTFSectorProcessor::m_firmFA
private

Definition at line 103 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and readParameters().

◆ m_firmSP

int CSCTFSectorProcessor::m_firmSP
private

Definition at line 103 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_firmVM

int CSCTFSectorProcessor::m_firmVM
private

Definition at line 103 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and readParameters().

◆ m_gangedME1a

bool CSCTFSectorProcessor::m_gangedME1a
private

Definition at line 71 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), and run().

◆ m_latency

unsigned CSCTFSectorProcessor::m_latency
private

Definition at line 75 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and run().

◆ m_maxBX

int CSCTFSectorProcessor::m_maxBX
private

Definition at line 79 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), maxBX(), and run().

◆ m_maxdeta112_accp

int CSCTFSectorProcessor::m_maxdeta112_accp
private

Definition at line 84 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdeta113_accp

int CSCTFSectorProcessor::m_maxdeta113_accp
private

Definition at line 85 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdeta12_accp

int CSCTFSectorProcessor::m_maxdeta12_accp
private

Definition at line 82 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdeta13_accp

int CSCTFSectorProcessor::m_maxdeta13_accp
private

Definition at line 83 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdphi112_accp

int CSCTFSectorProcessor::m_maxdphi112_accp
private

Definition at line 84 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdphi113_accp

int CSCTFSectorProcessor::m_maxdphi113_accp
private

Definition at line 85 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdphi12_accp

int CSCTFSectorProcessor::m_maxdphi12_accp
private

Definition at line 82 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_maxdphi13_accp

int CSCTFSectorProcessor::m_maxdphi13_accp
private

Definition at line 83 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mbaPhiOff

int CSCTFSectorProcessor::m_mbaPhiOff
private

Definition at line 88 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mbbPhiOff

int CSCTFSectorProcessor::m_mbbPhiOff
private

Definition at line 88 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_minBX

int CSCTFSectorProcessor::m_minBX
private

Definition at line 79 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), minBX(), and run().

◆ m_mindeta112_accp

int CSCTFSectorProcessor::m_mindeta112_accp
private

Definition at line 84 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindeta113_accp

int CSCTFSectorProcessor::m_mindeta113_accp
private

Definition at line 85 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindeta12_accp

int CSCTFSectorProcessor::m_mindeta12_accp
private

Definition at line 82 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindeta13_accp

int CSCTFSectorProcessor::m_mindeta13_accp
private

Definition at line 83 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindetap

int CSCTFSectorProcessor::m_mindetap
private

Definition at line 81 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindetap_halo

int CSCTFSectorProcessor::m_mindetap_halo
private

Definition at line 86 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindphip

int CSCTFSectorProcessor::m_mindphip
private

Definition at line 81 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_mindphip_halo

int CSCTFSectorProcessor::m_mindphip_halo
private

Definition at line 86 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_preTrigger

int CSCTFSectorProcessor::m_preTrigger
private

Definition at line 78 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_sector

unsigned CSCTFSectorProcessor::m_sector
private

Definition at line 74 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), and run().

◆ m_straightp

int CSCTFSectorProcessor::m_straightp
private

Definition at line 87 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ m_widePhi

int CSCTFSectorProcessor::m_widePhi
private

Definition at line 89 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ ptLUT_

CSCTFPtLUT* CSCTFSectorProcessor::ptLUT_
private

◆ QualityEnableME1a

int CSCTFSectorProcessor::QualityEnableME1a
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME1b

int CSCTFSectorProcessor::QualityEnableME1b
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME1c

int CSCTFSectorProcessor::QualityEnableME1c
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME1d

int CSCTFSectorProcessor::QualityEnableME1d
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME1e

int CSCTFSectorProcessor::QualityEnableME1e
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME1f

int CSCTFSectorProcessor::QualityEnableME1f
private

Definition at line 92 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME2a

int CSCTFSectorProcessor::QualityEnableME2a
private

Definition at line 93 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME2b

int CSCTFSectorProcessor::QualityEnableME2b
private

Definition at line 93 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME2c

int CSCTFSectorProcessor::QualityEnableME2c
private

Definition at line 93 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME3a

int CSCTFSectorProcessor::QualityEnableME3a
private

Definition at line 94 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME3b

int CSCTFSectorProcessor::QualityEnableME3b
private

Definition at line 94 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME3c

int CSCTFSectorProcessor::QualityEnableME3c
private

Definition at line 94 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME4a

int CSCTFSectorProcessor::QualityEnableME4a
private

Definition at line 95 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME4b

int CSCTFSectorProcessor::QualityEnableME4b
private

Definition at line 95 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ QualityEnableME4c

int CSCTFSectorProcessor::QualityEnableME4c
private

Definition at line 95 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ rescaleSinglesPhi

int CSCTFSectorProcessor::rescaleSinglesPhi
private

Definition at line 101 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ run_core

int CSCTFSectorProcessor::run_core
private

Definition at line 97 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ singlesTrackOutput

unsigned int CSCTFSectorProcessor::singlesTrackOutput
private

Definition at line 100 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ srLUTs_

std::map<std::string, CSCSectorReceiverLUT*> CSCTFSectorProcessor::srLUTs_
private

Definition at line 112 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), run(), and ~CSCTFSectorProcessor().

◆ stub_vec_filtered

std::vector<csctf::TrackStub> CSCTFSectorProcessor::stub_vec_filtered
private

Definition at line 108 of file CSCTFSectorProcessor.h.

Referenced by filteredStubs(), and run().

◆ TMB07

unsigned CSCTFSectorProcessor::TMB07
private

Definition at line 74 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor().

◆ trigger_on_MB1a

int CSCTFSectorProcessor::trigger_on_MB1a
private

Definition at line 99 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_MB1d

int CSCTFSectorProcessor::trigger_on_MB1d
private

Definition at line 99 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_ME1a

int CSCTFSectorProcessor::trigger_on_ME1a
private

Definition at line 98 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_ME1b

int CSCTFSectorProcessor::trigger_on_ME1b
private

Definition at line 98 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_ME2

int CSCTFSectorProcessor::trigger_on_ME2
private

Definition at line 98 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_ME3

int CSCTFSectorProcessor::trigger_on_ME3
private

Definition at line 98 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

◆ trigger_on_ME4

int CSCTFSectorProcessor::trigger_on_ME4
private

Definition at line 98 of file CSCTFSectorProcessor.h.

Referenced by CSCTFSectorProcessor(), initialize(), readParameters(), and run().

CSCTFSectorProcessor::QualityEnableME4b
int QualityEnableME4b
Definition: CSCTFSectorProcessor.h:95
CSCTFSectorProcessor::m_maxdeta12_accp
int m_maxdeta12_accp
Definition: CSCTFSectorProcessor.h:82
CSCTFSectorProcessor::QualityEnableME1e
int QualityEnableME1e
Definition: CSCTFSectorProcessor.h:92
CSCTFSectorProcessor::m_etawin
int m_etawin[7]
Definition: CSCTFSectorProcessor.h:80
CSCTFSectorProcessor::QualityEnableME1a
int QualityEnableME1a
Definition: CSCTFSectorProcessor.h:92
CSCSectorReceiverLUT
Definition: CSCSectorReceiverLUT.h:19
L1MuCSCTFConfiguration
Definition: L1MuCSCTFConfiguration.h:9
CSCTriggerContainer::clear
void clear()
Definition: CSCTriggerContainer.h:57
CSCTFSectorProcessor::m_allowCLCTonly
int m_allowCLCTonly
Definition: CSCTFSectorProcessor.h:78
mps_fire.i
i
Definition: mps_fire.py:428
CSCTFSectorProcessor::m_gangedME1a
bool m_gangedME1a
Definition: CSCTFSectorProcessor.h:71
CSCTFSectorProcessor::dt_stubs
CSCTriggerContainer< csctf::TrackStub > dt_stubs
Definition: CSCTFSectorProcessor.h:106
CSCTFSectorProcessor::QualityEnableME1d
int QualityEnableME1d
Definition: CSCTFSectorProcessor.h:92
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
CSCTFSectorProcessor::m_maxdphi113_accp
int m_maxdphi113_accp
Definition: CSCTFSectorProcessor.h:85
CSCTFSectorProcessor::m_mindeta12_accp
int m_mindeta12_accp
Definition: CSCTFSectorProcessor.h:82
CSCTFSectorProcessor::QualityEnableME2b
int QualityEnableME2b
Definition: CSCTFSectorProcessor.h:93
CSCTFSectorProcessor::QualityEnableME2c
int QualityEnableME2c
Definition: CSCTFSectorProcessor.h:93
CSCTFSectorProcessor::tracks
CSCTriggerContainer< csc::L1Track > tracks() const
Definition: CSCTFSectorProcessor.h:54
lclphidat
class local_phi_data lclphidat
Data Types.
relativeConstraints.station
station
Definition: relativeConstraints.py:67
CSCTFSPCoreLogic::SetSPFirmwareVersion
void SetSPFirmwareVersion(const unsigned int fwVer)
Definition: CSCTFSPCoreLogic.h:269
CSCTFSectorProcessor::trigger_on_MB1a
int trigger_on_MB1a
Definition: CSCTFSectorProcessor.h:99
CSCTFSectorProcessor::m_maxBX
int m_maxBX
Definition: CSCTFSectorProcessor.h:79
CSCTFSPCoreLogic::SetVerbose
void SetVerbose(const bool verb)
Definition: CSCTFSPCoreLogic.h:275
CSCTFSectorProcessor::QualityEnableME3b
int QualityEnableME3b
Definition: CSCTFSectorProcessor.h:94
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
CSCTFSectorProcessor::m_mindphip
int m_mindphip
Definition: CSCTFSectorProcessor.h:81
CSCTFPtLUT::consumes
static Tokens consumes(edm::ConsumesCollector iC)
Definition: CSCTFPtLUT.cc:86
CSCTriggerNumbering::triggerSubSectorFromLabels
static int triggerSubSectorFromLabels(int station, int chamber)
Definition: CSCTriggerNumbering.cc:105
CSCTFSectorProcessor::m_mbaPhiOff
int m_mbaPhiOff
Definition: CSCTFSectorProcessor.h:88
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
CSCTriggerContainer::push_many
void push_many(const std::vector< T > &data)
Definition: CSCTriggerContainer.h:52
CSCTFSectorProcessor::stub_vec_filtered
std::vector< csctf::TrackStub > stub_vec_filtered
Definition: CSCTFSectorProcessor.h:108
CSCTFSectorProcessor::FPGAs
static const std::string FPGAs[5]
Definition: CSCTFSectorProcessor.h:110
CSCTFSectorProcessor::run_core
int run_core
Definition: CSCTFSectorProcessor.h:97
CSCTFSectorProcessor::m_maxdeta113_accp
int m_maxdeta113_accp
Definition: CSCTFSectorProcessor.h:85
CSCTFSectorProcessor::l1_tracks
CSCTriggerContainer< csc::L1Track > l1_tracks
Definition: CSCTFSectorProcessor.h:105
edm::ConsumesCollector::esConsumes
auto esConsumes()
Definition: ConsumesCollector.h:97
CSCTFSPCoreLogic::SetCoreFirmwareVersion
void SetCoreFirmwareVersion(const unsigned int fwVer)
Definition: CSCTFSPCoreLogic.h:272
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
CSCTFSectorProcessor::m_endcap
unsigned m_endcap
Definition: CSCTFSectorProcessor.h:74
CSCTFSectorProcessor::isCoreVerbose
bool isCoreVerbose
Definition: CSCTFSectorProcessor.h:118
CSCTFSectorProcessor::m_allowALCTonly
int m_allowALCTonly
Definition: CSCTFSectorProcessor.h:78
CSCTFSectorProcessor::m_mindeta112_accp
int m_mindeta112_accp
Definition: CSCTFSectorProcessor.h:84
CSCTFSectorProcessor::trigger_on_MB1d
int trigger_on_MB1d
Definition: CSCTFSectorProcessor.h:99
config
Definition: config.py:1
CSCTFSectorProcessor::QualityEnableME1f
int QualityEnableME1f
Definition: CSCTFSectorProcessor.h:92
CSCTFSPCoreLogic
Definition: CSCTFSPCoreLogic.h:34
CSCTFSectorProcessor::QualityEnableME3c
int QualityEnableME3c
Definition: CSCTFSectorProcessor.h:94
CSCTFSectorProcessor::readParameters
void readParameters(const edm::ParameterSet &pset)
Definition: CSCTFSectorProcessor.cc:599
CSCTFSectorProcessor::QualityEnableME4a
int QualityEnableME4a
Definition: CSCTFSectorProcessor.h:95
CSCTFSectorProcessor::m_straightp
int m_straightp
Definition: CSCTFSectorProcessor.h:87
CSCTFSectorProcessor::TMB07
unsigned TMB07
Definition: CSCTFSectorProcessor.h:74
CSCTFSectorProcessor::m_mbbPhiOff
int m_mbbPhiOff
Definition: CSCTFSectorProcessor.h:88
CSCTFSectorProcessor::m_mindphip_halo
int m_mindphip_halo
Definition: CSCTFSectorProcessor.h:86
CSCTFSectorProcessor::singlesTrackOutput
unsigned int singlesTrackOutput
Definition: CSCTFSectorProcessor.h:100
ptdat
class pt_data ptdat
csc::L1TrackId
Definition: L1TrackId.h:18
CSCTFSectorProcessor::printDisclaimer
void printDisclaimer(int firmSP, int firmFA)
Definition: CSCTFSectorProcessor.cc:1121
CSCTFSectorProcessor::m_curvedp
int m_curvedp
Definition: CSCTFSectorProcessor.h:87
CSCTFSectorProcessor::QualityEnableME3a
int QualityEnableME3a
Definition: CSCTFSectorProcessor.h:94
CSCTFSectorProcessor::kill_fiber
int kill_fiber
Definition: CSCTFSectorProcessor.h:96
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
CSCTFSPCoreLogic::tracks
CSCTriggerContainer< csc::L1Track > tracks()
Definition: CSCTFSPCoreLogic.cc:2810
edm::ParameterSet
Definition: ParameterSet.h:47
CSCTFSectorProcessor::trigger_on_ME3
int trigger_on_ME3
Definition: CSCTFSectorProcessor.h:98
CSCTFSectorProcessor::m_preTrigger
int m_preTrigger
Definition: CSCTFSectorProcessor.h:78
CSCTFSectorProcessor::m_firmSP
int m_firmSP
Definition: CSCTFSectorProcessor.h:103
ME
dqm::harvesting::MonitorElement ME
Definition: TrackingDQMClientHeavyIons.cc:20
CSCTFSectorProcessor::m_mindetap
int m_mindetap
Definition: CSCTFSectorProcessor.h:81
CSCTFSPCoreLogic::loadData
void loadData(const CSCTriggerContainer< csctf::TrackStub > &, const unsigned &endcap, const unsigned &sector, const int &minBX, const int &maxBX, const bool gangedME1a)
Definition: CSCTFSPCoreLogic.cc:23
CSCDetId
Definition: CSCDetId.h:26
CSCTFSectorProcessor::m_maxdeta13_accp
int m_maxdeta13_accp
Definition: CSCTFSectorProcessor.h:83
CSCTFSectorProcessor::m_etamax
int m_etamax[8]
Definition: CSCTFSectorProcessor.h:80
CSCTFSectorProcessor::srLUTs_
std::map< std::string, CSCSectorReceiverLUT * > srLUTs_
Definition: CSCTFSectorProcessor.h:112
CSCTFSectorProcessor::initFail_
bool initFail_
Definition: CSCTFSectorProcessor.h:119
CSCTFSectorProcessor::m_maxdeta112_accp
int m_maxdeta112_accp
Definition: CSCTFSectorProcessor.h:84
CSCTFSectorProcessor::ptLUT_
CSCTFPtLUT * ptLUT_
Definition: CSCTFSectorProcessor.h:114
CSCTFSectorProcessor::m_firmVM
int m_firmVM
Definition: CSCTFSectorProcessor.h:103
CSCTFSectorProcessor::initializeFromPSet
bool initializeFromPSet
Definition: CSCTFSectorProcessor.h:73
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
ptScale
const std::vector< double > ptScale
Definition: Utilities.cc:33
CSCTFSectorProcessor::m_maxdphi13_accp
int m_maxdphi13_accp
Definition: CSCTFSectorProcessor.h:83
get
#define get
CSCTFSectorProcessor::m_widePhi
int m_widePhi
Definition: CSCTFSectorProcessor.h:89
CSCTFSectorProcessor::m_firmDD
int m_firmDD
Definition: CSCTFSectorProcessor.h:103
CSCTFSectorProcessor::m_minBX
int m_minBX
Definition: CSCTFSectorProcessor.h:79
gbletadat
class global_eta_data gbletadat
edm::shift
static unsigned const int shift
Definition: LuminosityBlockID.cc:7
CSCTFSectorProcessor::m_firmFA
int m_firmFA
Definition: CSCTFSectorProcessor.h:103
CSCTFSectorProcessor::trigger_on_ME4
int trigger_on_ME4
Definition: CSCTFSectorProcessor.h:98
CSCTFSectorProcessor::QualityEnableME4c
int QualityEnableME4c
Definition: CSCTFSectorProcessor.h:95
CSCTFSectorProcessor::m_mindeta113_accp
int m_mindeta113_accp
Definition: CSCTFSectorProcessor.h:85
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
CSCTFSectorProcessor::m_latency
unsigned m_latency
Definition: CSCTFSectorProcessor.h:75
ME
Definition: ME.h:11
CSCTriggerContainer< csctf::TrackStub >
CSCTFSectorProcessor::m_maxdphi12_accp
int m_maxdphi12_accp
Definition: CSCTFSectorProcessor.h:82
CSCTriggerContainer::push_back
void push_back(const T &data)
Definition: CSCTriggerContainer.h:51
CSCTFPtLUT
KK.
Definition: CSCTFPtLUT.h:19
csc::L1Track
Definition: L1Track.h:21
CSCTFSectorProcessor::m_bxa_depth
int m_bxa_depth
Definition: CSCTFSectorProcessor.h:78
gblphidat
class global_phi_data gblphidat
CSCTFSectorProcessor::m_sector
unsigned m_sector
Definition: CSCTFSectorProcessor.h:74
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
CSCTFSectorProcessor::core_
CSCTFSPCoreLogic * core_
Definition: CSCTFSectorProcessor.h:113
CSCTFSectorProcessor::trigger_on_ME2
int trigger_on_ME2
Definition: CSCTFSectorProcessor.h:98
CSCTFSectorProcessor::QualityEnableME2a
int QualityEnableME2a
Definition: CSCTFSectorProcessor.h:93
CSCTFSectorProcessor::m_mindetap_halo
int m_mindetap_halo
Definition: CSCTFSectorProcessor.h:86
cms::Exception
Definition: Exception.h:70
ptadd
class pt_address ptadd
CSCTFSectorProcessor::trigger_on_ME1a
int trigger_on_ME1a
Definition: CSCTFSectorProcessor.h:98
CSCTFSectorProcessor::m_mindeta13_accp
int m_mindeta13_accp
Definition: CSCTFSectorProcessor.h:83
CSCTFSPCoreLogic::GetCoreFirmwareVersion
unsigned int GetCoreFirmwareVersion()
Definition: CSCTFSPCoreLogic.h:273
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
CSCTFSectorProcessor::QualityEnableME1b
int QualityEnableME1b
Definition: CSCTFSectorProcessor.h:92
CSCTFPtLUT::Pt
ptdat Pt(const ptadd &) const
Definition: CSCTFPtLUT.cc:177
CSCTFSectorProcessor::m_maxdphi112_accp
int m_maxdphi112_accp
Definition: CSCTFSectorProcessor.h:84
CSCTFSPCoreLogic::run
bool run(const unsigned &endcap, const unsigned &sector, 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)
Definition: CSCTFSPCoreLogic.cc:277
CSCTFSectorProcessor::rescaleSinglesPhi
int rescaleSinglesPhi
Definition: CSCTFSectorProcessor.h:101
CSCTriggerContainer::get
std::vector< T > get() const
Definition: CSCTriggerContainer.h:83
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
CSCTFSectorProcessor::QualityEnableME1c
int QualityEnableME1c
Definition: CSCTFSectorProcessor.h:92
CSCTFSectorProcessor::m_etamin
int m_etamin[8]
Definition: CSCTFSectorProcessor.h:80
CSCTFSectorProcessor::trigger_on_ME1b
int trigger_on_ME1b
Definition: CSCTFSectorProcessor.h:98
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
CSCTFSectorProcessor::firmSP_Map
std::map< int, int > firmSP_Map
Definition: CSCTFSectorProcessor.h:117