CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
VersionControl Class Reference

#include <VersionControl.h>

Public Member Functions

void configure_by_fw_version (unsigned fw_version)
 
std::string era () const
 
const edm::ParameterSetgetConfig () const
 
bool useO2O () const
 
int verbose () const
 
 VersionControl (const edm::ParameterSet &iConfig)
 
 ~VersionControl ()
 

Private Attributes

bool bug9BitDPhi_
 
bool bugAmbigThetaWin_
 
bool bugGMTPhi_
 
bool bugME11Dupes_
 
bool bugMode7CLCT_
 
bool bugNegPt_
 
bool bugSameSectorPt0_
 
bool bugSt2PhDiff_
 
int bxShiftCSC_
 
int bxShiftGEM_
 
int bxShiftME0_
 
int bxShiftRPC_
 
int bxWindow_
 
const edm::ParameterSet config_
 
bool duplicateTheta_
 
std::string era_
 
bool fixME11Edges_
 
bool fixMode15HighPt_
 
bool fixZonePhi_
 
bool includeNeighbor_
 
int maxBX_
 
int maxRoadsPerZone_
 
int maxTracks_
 
int minBX_
 
int modeQualVer_
 
std::vector< std::string > pattDefinitions_
 
std::string pbFileName_
 
bool promoteMode7_
 
bool readPtLUTFile_
 
std::vector< std::string > symPattDefinitions_
 
int thetaWindow_
 
int thetaWindowZone0_
 
bool twoStationSameBX_
 
bool useCPPF_
 
bool useCSC_
 
bool useDT_
 
bool useGEM_
 
bool useIRPC_
 
bool useME0_
 
bool useNewZones_
 
bool useO2O_
 
bool useRPC_
 
bool useSecondEarliest_
 
bool useSingleHits_
 
bool useSymPatterns_
 
int verbose_
 
std::vector< int > zoneBoundaries_
 
int zoneOverlap_
 

Friends

class SectorProcessor
 

Detailed Description

Definition at line 8 of file VersionControl.h.

Constructor & Destructor Documentation

◆ VersionControl()

VersionControl::VersionControl ( const edm::ParameterSet iConfig)
explicit

Definition at line 3 of file VersionControl.cc.

3  : config_(iConfig) {
4  // All the configurables from python/simEmtfDigis_cfi.py must be visible to this class, except InputTags.
5  verbose_ = iConfig.getUntrackedParameter<int>("verbosity");
6  useO2O_ = iConfig.getParameter<bool>("FWConfig");
7  era_ = iConfig.getParameter<std::string>("Era");
8 
9  useDT_ = iConfig.getParameter<bool>("DTEnable");
10  useCSC_ = iConfig.getParameter<bool>("CSCEnable");
11  useRPC_ = iConfig.getParameter<bool>("RPCEnable");
12  useIRPC_ = iConfig.getParameter<bool>("IRPCEnable");
13  useCPPF_ = iConfig.getParameter<bool>("CPPFEnable");
14  useGEM_ = iConfig.getParameter<bool>("GEMEnable");
15  useME0_ = iConfig.getParameter<bool>("ME0Enable");
16 
17  minBX_ = iConfig.getParameter<int>("MinBX");
18  maxBX_ = iConfig.getParameter<int>("MaxBX");
19  bxWindow_ = iConfig.getParameter<int>("BXWindow");
20  bxShiftCSC_ = iConfig.getParameter<int>("CSCInputBXShift");
21  bxShiftRPC_ = iConfig.getParameter<int>("RPCInputBXShift");
22  bxShiftGEM_ = iConfig.getParameter<int>("GEMInputBXShift");
23  bxShiftME0_ = iConfig.getParameter<int>("ME0InputBXShift");
24 
25  auto spPCParams16 = iConfig.getParameter<edm::ParameterSet>("spPCParams16");
26  zoneBoundaries_ = spPCParams16.getParameter<std::vector<int> >("ZoneBoundaries");
27  zoneOverlap_ = spPCParams16.getParameter<int>("ZoneOverlap");
28  includeNeighbor_ = spPCParams16.getParameter<bool>("IncludeNeighbor");
29  duplicateTheta_ = spPCParams16.getParameter<bool>("DuplicateTheta");
30  fixZonePhi_ = spPCParams16.getParameter<bool>("FixZonePhi");
31  useNewZones_ = spPCParams16.getParameter<bool>("UseNewZones");
32  fixME11Edges_ = spPCParams16.getParameter<bool>("FixME11Edges");
33 
34  auto spPRParams16 = iConfig.getParameter<edm::ParameterSet>("spPRParams16");
35  pattDefinitions_ = spPRParams16.getParameter<std::vector<std::string> >("PatternDefinitions");
36  symPattDefinitions_ = spPRParams16.getParameter<std::vector<std::string> >("SymPatternDefinitions");
37  useSymPatterns_ = spPRParams16.getParameter<bool>("UseSymmetricalPatterns");
38 
39  auto spTBParams16 = iConfig.getParameter<edm::ParameterSet>("spTBParams16");
40  thetaWindow_ = spTBParams16.getParameter<int>("ThetaWindow");
41  thetaWindowZone0_ = spTBParams16.getParameter<int>("ThetaWindowZone0");
42  useSingleHits_ = spTBParams16.getParameter<bool>("UseSingleHits");
43  bugSt2PhDiff_ = spTBParams16.getParameter<bool>("BugSt2PhDiff");
44  bugME11Dupes_ = spTBParams16.getParameter<bool>("BugME11Dupes");
45  bugAmbigThetaWin_ = spTBParams16.getParameter<bool>("BugAmbigThetaWin");
46  twoStationSameBX_ = spTBParams16.getParameter<bool>("TwoStationSameBX");
47 
48  auto spGCParams16 = iConfig.getParameter<edm::ParameterSet>("spGCParams16");
49  maxRoadsPerZone_ = spGCParams16.getParameter<int>("MaxRoadsPerZone");
50  maxTracks_ = spGCParams16.getParameter<int>("MaxTracks");
51  useSecondEarliest_ = spGCParams16.getParameter<bool>("UseSecondEarliest");
52  bugSameSectorPt0_ = spGCParams16.getParameter<bool>("BugSameSectorPt0");
53 
54  auto spPAParams16 = iConfig.getParameter<edm::ParameterSet>("spPAParams16");
55  readPtLUTFile_ = spPAParams16.getParameter<bool>("ReadPtLUTFile");
56  fixMode15HighPt_ = spPAParams16.getParameter<bool>("FixMode15HighPt");
57  bug9BitDPhi_ = spPAParams16.getParameter<bool>("Bug9BitDPhi");
58  bugMode7CLCT_ = spPAParams16.getParameter<bool>("BugMode7CLCT");
59  bugNegPt_ = spPAParams16.getParameter<bool>("BugNegPt");
60  bugGMTPhi_ = spPAParams16.getParameter<bool>("BugGMTPhi");
61  promoteMode7_ = spPAParams16.getParameter<bool>("PromoteMode7");
62  modeQualVer_ = spPAParams16.getParameter<int>("ModeQualVer");
63  pbFileName_ = spPAParams16.getParameter<std::string>("ProtobufFileName");
64 }

References bug9BitDPhi_, bugAmbigThetaWin_, bugGMTPhi_, bugME11Dupes_, bugMode7CLCT_, bugNegPt_, bugSameSectorPt0_, bugSt2PhDiff_, bxShiftCSC_, bxShiftGEM_, bxShiftME0_, bxShiftRPC_, bxWindow_, duplicateTheta_, era_, fixME11Edges_, fixMode15HighPt_, fixZonePhi_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), includeNeighbor_, maxBX_, maxRoadsPerZone_, maxTracks_, minBX_, modeQualVer_, pattDefinitions_, pbFileName_, promoteMode7_, readPtLUTFile_, simEmtfDigis_cfi::spGCParams16, simEmtfDigis_cfi::spPAParams16, simEmtfDigis_cfi::spPCParams16, simEmtfDigis_cfi::spPRParams16, simEmtfDigis_cfi::spTBParams16, AlCaHLTBitMon_QueryRunRegistry::string, symPattDefinitions_, thetaWindow_, thetaWindowZone0_, twoStationSameBX_, useCPPF_, useCSC_, useDT_, useGEM_, useIRPC_, useME0_, useNewZones_, useO2O_, useRPC_, useSecondEarliest_, useSingleHits_, useSymPatterns_, verbose_, zoneBoundaries_, and zoneOverlap_.

◆ ~VersionControl()

VersionControl::~VersionControl ( )

Definition at line 66 of file VersionControl.cc.

66 {}

Member Function Documentation

◆ configure_by_fw_version()

void VersionControl::configure_by_fw_version ( unsigned  fw_version)

Settings for 2018 (by default just use settings in simEmtfDigis_cfi.py) ///

Settings for 2017 (by default just use settings in simEmtfDigis_cfi.py) ///

Settings for all of 2016 (following order in simEmtfDigis_cfi.py) ///

Definition at line 69 of file VersionControl.cc.

69  {
70  if (fw_version == 0 || fw_version == 123456) // fw_version '123456' is from the fake conditions
71  return;
72 
73  // For now, no switches later than FW version 47864 (end-of-year 2016)
74  // Beggining in late 2016, "fw_version" in O2O populated with timestamp, rather than FW version
75  // tm fw_time = gmtime(fw_version); (See https://linux.die.net/man/3/gmtime, https://www.epochconverter.com)
76 
80  if (fw_version >= 1514764800) { // January 1, 2018
81 
82  // Settings for all of 2018 (following order in simEmtfDigis_cfi.py)
83  // BXWindow(2) and BugAmbigThetaWin(F) deployed sometime before stable beams on March 20, not quite sure when - AWB 26.04.18
84  // TwoStationSameBX(T), ThetaWindowZone0(4), and ModeQualVer(2) to be deployed sometime between May 17 and May 31 - AWB 14.05.18
85 
86  // Global parameters
87  // Defaults : CSCEnable(T), RPCEnable(T), GEMEnable(F), Era("Run2_2018"), MinBX(-3), MaxBX(+3), BXWindow(2)
88  // --------------------------------------------------------------------------------------------------------
89  era_ = "Run2_2018"; // Era for CMSSW customization
90  bxWindow_ = 2; // Number of BX whose primitives can be included in the same track
91 
92  // spTBParams16 : Sector processor track-building parameters
93  // Defaults : PrimConvLUT(1), ZoneBoundaries(0,41,49,87,127), ZoneOverlap(2), IncludeNeighbor(T),
94  // DuplicateThteta(T), FixZonePhi(T), UseNewZones(F), FixME11Edges(T)
95  // ------------------------------------------------------------------------------
96 
97  // spPRParams16 : Sector processor pattern-recognition parameters
98  // Defaults : PatternDefinitions(...), SymPatternDefinitions(...), UseSymmetricalPatterns(T)
99  // -----------------------------------------------------------------------------------------
100 
101  // spTBParams16 : Sector processor track-building parameters
102  // Defaults : ThetaWindow(8), ThetaWindowZone0(4), UseSingleHits(F), BugSt2PhDiff(F),
103  // BugME11Dupes(F), BugAmbigThetaWin(F), TwoStationSameBX(T)
104  // ----------------------------------------------------------------------------------
105  thetaWindow_ = 8; // Maximum dTheta between primitives in the same track
106  thetaWindowZone0_ = 4; // Maximum dTheta between primitives in the same track in Zone 0 (ring 1)
107  bugAmbigThetaWin_ = false; // Can allow dThetas outside window when there are 2 LCTs in the same chamber
108  twoStationSameBX_ = true; // Requires the hits in two-station tracks to have the same BX
109 
110  // spGCParams16 : Sector processor ghost-cancellation parameters
111  // Defaults : MaxRoadsPerZone(3), MaxTracks(3), UseSecondEarliest(T), BugSameSectorPt0(F)
112  // --------------------------------------------------------------------------------------
113 
114  // spPAParams16 : Sector processor pt-assignment parameters
115  // Defaults : ReadPtLUTFile(F), FixMode15HighPt(T), Bug9BitDPhi(F), BugMode7CLCT(F),
116  // BugNegPt(F), BugGMTPhi(F), PromoteMode7(F), ModeQualVer(2)
117  // ---------------------------------------------------------------------------------
118  modeQualVer_ = 2; // Version 2 contains modified mode-quality mapping for 2018
119  promoteMode7_ = false; // Assign station 2-3-4 tracks with |eta| > 1.6 SingleMu quality
120 
121  // ___________________________________________________________________________
122  // Versions in 2018 - no external documentation
123  // As of the beginning of 2018 EMTF O2O was broken, not updating the database with online conditions
124  // Firmware version reported for runs before 318841 (June 28) is 1504018578 (Aug. 29, 2017) even though
125  // updates occured in February and March of 2018. May need to re-write history in the database. - AWB 30.06.18
126 
127  if (fw_version < 1529520380) { // June 20, 2018
128  thetaWindowZone0_ = 8; // Maximum dTheta between primitives in the same track in Zone 0 (ring 1)
129  twoStationSameBX_ = false; // Requires the hits in two-station tracks to have the same BX
130  modeQualVer_ = 1; // Version 2 contains modified mode-quality mapping for 2018
131  promoteMode7_ = true; // Assign station 2-3-4 tracks with |eta| > 1.6 SingleMu quality
132  }
133 
134  return;
135  }
136 
140  else if (fw_version >= 50000) {
141  // Settings for all of 2017 (following order in simEmtfDigis_cfi.py)
142 
143  // Global parameters
144  // Defaults : CSCEnable(T), RPCEnable(T), GEMEnable(F), Era("Run2_2018"), MinBX(-3), MaxBX(+3), BXWindow(2)
145  // --------------------------------------------------------------------------------------------------------
146  era_ = "Run2_2017"; // Era for CMSSW customization
147  bxWindow_ = 3; // Number of BX whose primitives can be included in the same track
148 
149  // spTBParams16 : Sector processor track-building parameters
150  // Defaults : PrimConvLUT(1), ZoneBoundaries(0,41,49,87,127), ZoneOverlap(2), IncludeNeighbor(T),
151  // DuplicateThteta(T), FixZonePhi(T), UseNewZones(F), FixME11Edges(T)
152  // ------------------------------------------------------------------------------
153 
154  // spPRParams16 : Sector processor pattern-recognition parameters
155  // Defaults : PatternDefinitions(...), SymPatternDefinitions(...), UseSymmetricalPatterns(T)
156  // -----------------------------------------------------------------------------------------
157 
158  // spTBParams16 : Sector processor track-building parameters
159  // Defaults : ThetaWindow(8), ThetaWindowZone0(4), UseSingleHits(F), BugSt2PhDiff(F),
160  // BugME11Dupes(F), BugAmbigThetaWin(F), TwoStationSameBX(T)
161  // ----------------------------------------------------------------------------------
162  thetaWindow_ = 8; // Maximum dTheta between primitives in the same track
163  thetaWindowZone0_ = 8; // Maximum dTheta between primitives in the same track in Zone 0 (ring 1)
164  bugAmbigThetaWin_ = true; // Can allow dThetas outside window when there are 2 LCTs in the same chamber
165  twoStationSameBX_ = false; // Requires the hits in two-station tracks to have the same BX
166 
167  // spGCParams16 : Sector processor ghost-cancellation parameters
168  // Defaults : MaxRoadsPerZone(3), MaxTracks(3), UseSecondEarliest(T), BugSameSectorPt0(F)
169  // --------------------------------------------------------------------------------------
170 
171  // spPAParams16 : Sector processor pt-assignment parameters
172  // Defaults : ReadPtLUTFile(F), FixMode15HighPt(T), Bug9BitDPhi(F), BugMode7CLCT(F),
173  // BugNegPt(F), BugGMTPhi(F), PromoteMode7(F)
174  // ---------------------------------------------------------------------------------
175  modeQualVer_ = 1; // Version 2 contains modified mode-quality mapping for 2018
176 
177  // ___________________________________________________________________________
178  // Versions in 2017 - no full documentation, can refer to https://twiki.cern.ch/twiki/bin/viewauth/CMS/L1KnownIssues
179 
180  // Before July 9th (runs < 298653), all mode 7 tracks (station 2-3-4) assigned quality 11
181  // July 9th - 29th (runs 298653 - 300087), mode 7 tracks with |eta| > 1.6 in sector -6 assigned quality 12
182  // After July 29th (runs >= 300088), mode 7 track promotion applied in all sectors
183  // For some reason, the FW version in the database is 1496792995, at least for runs >= 298034 (July 4),
184  // which is towards the end of run 2017B (could not check earlier runs). This corresponds to the date "June 6th",
185  // which is a month earlier than the first firmware update to apply this promotion. So something's screwey.
186  // Since July 18 is in the middle of the single-sector-fix period, would like to use a firmware version with
187  // roughly that date. But this may require an intervention in the database. - AWB 04.08.17
188  // Last firmware version in 2017 was 1504018578 (Aug. 29, 2017).
189  if (fw_version >= 1496792995)
190  promoteMode7_ = true; // Assign station 2-3-4 tracks with |eta| > 1.6 SingleMu quality
191 
192  return;
193  }
194 
198  else {
199  // Global parameters
200  // Defaults : CSCEnable(T), RPCEnable(T), GEMEnable(F), Era("Run2_2018"), MinBX(-3), MaxBX(+3), BXWindow(2)
201  // --------------------------------------------------------------------------------------------------------
202  useRPC_ = false; // Use clustered RPC hits from CPPF in track-building
203  era_ = "Run2_2016"; // Era for CMSSW customization
204  // maxBX_ // Depends on FW version, see below
205  bxWindow_ = 3; // Number of BX whose primitives can be included in the same track
206 
207  // spTBParams16 : Sector processor track-building parameters
208  // Defaults : PrimConvLUT(1), ZoneBoundaries(0,41,49,87,127), ZoneOverlap(2), IncludeNeighbor(T),
209  // DuplicateThteta(T), FixZonePhi(T), UseNewZones(F), FixME11Edges(T)
210  // ------------------------------------------------------------------------------
211  // primConvLUT_ // Should be 0 for 2016, set using get_pc_lut_version() from ConditionsHelper.cc
212  // fixZonePhi_ // Depends on FW version, see below
213  fixME11Edges_ = false; // Improved small fraction of buggy LCT coordinate transformations
214 
215  // spPRParams16 : Sector processor pattern-recognition parameters
216  // Defaults : PatternDefinitions(...), SymPatternDefinitions(...), UseSymmetricalPatterns(T)
217  // -----------------------------------------------------------------------------------------
218  // useSymPatterns_ // Depends on FW version, see below
219 
220  // spTBParams16 : Sector processor track-building parameters
221  // Defaults : ThetaWindow(8), ThetaWindowZone0(4), UseSingleHits(F), BugSt2PhDiff(F),
222  // BugME11Dupes(F), BugAmbigThetaWin(F), TwoStationSameBX(T)
223  // ----------------------------------------------------------------------------------
224  thetaWindow_ = 4; // Maximum dTheta between primitives in the same track
225  thetaWindowZone0_ = 4; // Maximum dTheta between primitives in the same track in Zone 0 (ring 1)
226  // bugSt2PhDiff_ // Depends on FW version, see below
227  // bugME11Dupes_ // Depends on FW version, see below
228  bugAmbigThetaWin_ = true; // Can allow dThetas outside window when there are 2 LCTs in the same chamber
229  twoStationSameBX_ = false; // Requires the hits in two-station tracks to have the same BX
230 
231  // spGCParams16 : Sector processor ghost-cancellation parameters
232  // Defaults : MaxRoadsPerZone(3), MaxTracks(3), UseSecondEarliest(T), BugSameSectorPt0(F)
233  // --------------------------------------------------------------------------------------
234  // useSecondEarliest_ // Depends on FW version, see below
235  // bugSameSectorPt0_ // Depends on FW version, see below
236 
237  // spPAParams16 : Sector processor pt-assignment parameters
238  // Defaults : ReadPtLUTFile(F), FixMode15HighPt(T), Bug9BitDPhi(F), BugMode7CLCT(F),
239  // BugNegPt(F), BugGMTPhi(F), PromoteMode7(F)
240  // ---------------------------------------------------------------------------------
241  // fixMode15HighPt_ // Depends on FW version, see below
242  // bug9BitDPhi_ // Depends on FW version, see below
243  // bugMode7CLCT_ // Depends on FW version, see below
244  // bugNegPt_ // Depends on FW version, see below
245  bugGMTPhi_ = true; // Some drift in uGMT phi conversion, off by up to a few degrees
246  modeQualVer_ = 1; // Version 2 contains modified mode-quality mapping for 2018
247 
248  } // End default settings for 2016
249 
250  // ___________________________________________________________________________
251  // Versions in 2016 - refer to docs/EMTF_FW_LUT_versions_2016_draft2.xlsx
252 
253  // 1st_LCT_BX / 2nd_LCT_BX (should also make unpacker configurable - AWB 21.07.17)
254  // FW: Before: Earliest LCT used to assign BX, tracks only cancel within same BX
255  // After: Second-earliest LCT used to assign BX, tracks cancel over 3 BX, improved LCT recovery
256  useSecondEarliest_ = (fw_version < 46773) ? false : true; // Changed Sept. 5
257 
258  // 8_BX_readout / 7_BX_readout
259  // SW: DAQ readout changed from to [-3, +4] BX to [-3, +3] BX
260  maxBX_ = (fw_version < 47109) ? +4 : +3; // Changed Sept. 28
261 
262  // Asymm_patterns / Symm_patterns
263  // FW: Changed from 9 asymmetric patterns to 5 symmetric patterns for track building
264  useSymPatterns_ = (fw_version < 47214) ? false : true; // Changed Oct. 6
265 
266  // HiPt_outlier
267  // LUT: High-pT fix puts outlier LCTs in mode 15 tracks back in a straight line
268  fixMode15HighPt_ = (fw_version < 46650) ? false : true; // Changed July 25
269 
270  // Link_monitor (unpacker only)
271  // FW: Added MPC link monitoring
272 
273  // ___________________________________________________________________________
274  // Bugs
275 
276  // DAQ_ID (unpacker only; should make configurable - AWB 21.07.17)
277  // FW: DAQ ME with output CSC ID range 0 - 8 instead of 1 - 9
278  // SP output ME2_ID, 3_ID, and 4_ID filled with 4, 5, or 6 when they should have been 7, 8, or 9.
279 
280  // ME_ID_FR
281  // FW: Incorrect ME_ID fields in DAQ, wrong FR bits and some dPhi wrap-around in pT LUT address
282  // - Unpacker only, or not worth emulating
283 
284  // DAQ_miss_LCT (unpacker only)
285  // FW: LCTs only output if there was a track in the sector
286 
287  // Sector_pT_0
288  // FW: Only highest-quality track in a sector assigned pT; others assigned pT = 0
289  bugSameSectorPt0_ = (fw_version < 46650) ? true : false; // Fixed July 22
290 
291  // Sector_bad_pT
292  // FW: Tracks sometimes assigned pT of track in previous BX
293  // - This is an ongoing (very rare) bug which occurs when 2 tracks try to access the same "bank" in the pT LUT
294  // It would be very difficult to emulate exactly, but the logic from Alex Madorsky is below
295  // ## macro for detecting same bank address
296  // ## bank and chip must match, and valid flags must be set
297  // ## a and b are indexes 0,1,2
298  // ## [X:Y] are bit portions from ptlut address words
299  // `define sb(a,b) (ptlut_addr[a][29:26] == ptlut_addr[b][29:26] && ptlut_addr[a][5:2] == ptlut_addr[b][5:2] && ptlut_addr_val[a] && ptlut_addr_val[b])
300  // ## This macro is used like this:
301  // if (`sb(0,2) || `sb(1,2)) {disable PT readout for track 2}
302 
303  // DAQ_BX_3_LCT (unpacker only)
304  // SW: LCTs in BX -3 only reported if there was a track in the sector
305  // - not applicable
306 
307  // DAQ_BX_23_LCT (unpacker only)
308  // SW: LCTs in BX -2 and -3 only reported if there was a track in the sector
309  // - not applicable
310 
311  // pT_dPhi_bits
312  // FW: dPhi wrap-around in modes 3, 5, 6, 9, 10, 12
313  bug9BitDPhi_ = (fw_version < 47214) ? true : false; // Fixed Oct. 6
314 
315  // Pattern_phi / ME1_neigh_phi
316  // FW: Pattern phi slightly offset from true LCT phi; also ME3/4 pattern width off
317  // Pattern phi of neighbor hits in ME1 miscalculated
318  fixZonePhi_ = (fw_version < 47214) ? false : true; // Fixed Oct. 6
319 
320  // LCT_station_2
321  // FW: Reduced LCT matching window in station 2, resulting in demoted tracks and inefficiency
322  bugSt2PhDiff_ = (47109 <= fw_version && fw_version < 47249) ? true : false; // Bug introduced Oct. 6, fixed Oct. 19
323 
324  // LCT_theta_dup
325  // FW: LCTs matched to track may take theta value from other LCT in the same chamber
326  bugME11Dupes_ = (fw_version < 47423) ? true : false; // Fixed Nov. 1
327 
328  // LCT_7_10_neg_pT (E)
329  // LUT: Written with incorrect values for mode 7 CLCT, mode 10 random offset, all modes negative (1/pT) set to 3 instead of 511
330  bugMode7CLCT_ = (fw_version < 47864) ? true : false; // Fixed sometime after Nov. 1
331  bugNegPt_ = (fw_version < 47864) ? true : false; // Fixed sometime after Nov. 1
332 }

References bug9BitDPhi_, bugAmbigThetaWin_, bugGMTPhi_, bugME11Dupes_, bugMode7CLCT_, bugNegPt_, bugSameSectorPt0_, bugSt2PhDiff_, bxWindow_, era_, fixME11Edges_, fixMode15HighPt_, fixZonePhi_, maxBX_, modeQualVer_, promoteMode7_, thetaWindow_, thetaWindowZone0_, twoStationSameBX_, useRPC_, useSecondEarliest_, and useSymPatterns_.

Referenced by EMTFSetup::reload().

◆ era()

std::string VersionControl::era ( ) const
inline

Definition at line 20 of file VersionControl.h.

20 { return era_; }

References era_.

Referenced by EMTFSetup::era().

◆ getConfig()

const edm::ParameterSet& VersionControl::getConfig ( ) const
inline

Definition at line 17 of file VersionControl.h.

17 { return config_; }

References config_.

Referenced by EMTFSetup::getConfig().

◆ useO2O()

bool VersionControl::useO2O ( ) const
inline

Definition at line 19 of file VersionControl.h.

19 { return useO2O_; }

References useO2O_.

Referenced by EMTFSetup::useO2O().

◆ verbose()

int VersionControl::verbose ( ) const
inline

Definition at line 18 of file VersionControl.h.

18 { return verbose_; }

References verbose_.

Referenced by EMTFSetup::verbose().

Friends And Related Function Documentation

◆ SectorProcessor

friend class SectorProcessor
friend

Definition at line 22 of file VersionControl.h.

Member Data Documentation

◆ bug9BitDPhi_

bool VersionControl::bug9BitDPhi_
private

Definition at line 57 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugAmbigThetaWin_

bool VersionControl::bugAmbigThetaWin_
private

Definition at line 48 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugGMTPhi_

bool VersionControl::bugGMTPhi_
private

Definition at line 57 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugME11Dupes_

bool VersionControl::bugME11Dupes_
private

Definition at line 48 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugMode7CLCT_

bool VersionControl::bugMode7CLCT_
private

Definition at line 57 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugNegPt_

bool VersionControl::bugNegPt_
private

Definition at line 57 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugSameSectorPt0_

bool VersionControl::bugSameSectorPt0_
private

Definition at line 53 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bugSt2PhDiff_

bool VersionControl::bugSt2PhDiff_
private

Definition at line 48 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ bxShiftCSC_

int VersionControl::bxShiftCSC_
private

Definition at line 34 of file VersionControl.h.

Referenced by VersionControl().

◆ bxShiftGEM_

int VersionControl::bxShiftGEM_
private

Definition at line 34 of file VersionControl.h.

Referenced by VersionControl().

◆ bxShiftME0_

int VersionControl::bxShiftME0_
private

Definition at line 34 of file VersionControl.h.

Referenced by VersionControl().

◆ bxShiftRPC_

int VersionControl::bxShiftRPC_
private

Definition at line 34 of file VersionControl.h.

Referenced by VersionControl().

◆ bxWindow_

int VersionControl::bxWindow_
private

Definition at line 34 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ config_

const edm::ParameterSet VersionControl::config_
private

Definition at line 26 of file VersionControl.h.

Referenced by getConfig().

◆ duplicateTheta_

bool VersionControl::duplicateTheta_
private

Definition at line 39 of file VersionControl.h.

Referenced by VersionControl().

◆ era_

std::string VersionControl::era_
private

Definition at line 30 of file VersionControl.h.

Referenced by configure_by_fw_version(), era(), and VersionControl().

◆ fixME11Edges_

bool VersionControl::fixME11Edges_
private

Definition at line 39 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ fixMode15HighPt_

bool VersionControl::fixMode15HighPt_
private

Definition at line 56 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ fixZonePhi_

bool VersionControl::fixZonePhi_
private

Definition at line 39 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ includeNeighbor_

bool VersionControl::includeNeighbor_
private

Definition at line 39 of file VersionControl.h.

Referenced by VersionControl().

◆ maxBX_

int VersionControl::maxBX_
private

Definition at line 34 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ maxRoadsPerZone_

int VersionControl::maxRoadsPerZone_
private

Definition at line 51 of file VersionControl.h.

Referenced by VersionControl().

◆ maxTracks_

int VersionControl::maxTracks_
private

Definition at line 51 of file VersionControl.h.

Referenced by VersionControl().

◆ minBX_

int VersionControl::minBX_
private

Definition at line 34 of file VersionControl.h.

Referenced by VersionControl().

◆ modeQualVer_

int VersionControl::modeQualVer_
private

Definition at line 58 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ pattDefinitions_

std::vector<std::string> VersionControl::pattDefinitions_
private

Definition at line 42 of file VersionControl.h.

Referenced by VersionControl().

◆ pbFileName_

std::string VersionControl::pbFileName_
private

Definition at line 59 of file VersionControl.h.

Referenced by VersionControl().

◆ promoteMode7_

bool VersionControl::promoteMode7_
private

Definition at line 57 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ readPtLUTFile_

bool VersionControl::readPtLUTFile_
private

Definition at line 56 of file VersionControl.h.

Referenced by VersionControl().

◆ symPattDefinitions_

std::vector<std::string> VersionControl::symPattDefinitions_
private

Definition at line 42 of file VersionControl.h.

Referenced by VersionControl().

◆ thetaWindow_

int VersionControl::thetaWindow_
private

Definition at line 46 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ thetaWindowZone0_

int VersionControl::thetaWindowZone0_
private

Definition at line 46 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ twoStationSameBX_

bool VersionControl::twoStationSameBX_
private

Definition at line 48 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ useCPPF_

bool VersionControl::useCPPF_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useCSC_

bool VersionControl::useCSC_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useDT_

bool VersionControl::useDT_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useGEM_

bool VersionControl::useGEM_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useIRPC_

bool VersionControl::useIRPC_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useME0_

bool VersionControl::useME0_
private

Definition at line 33 of file VersionControl.h.

Referenced by VersionControl().

◆ useNewZones_

bool VersionControl::useNewZones_
private

Definition at line 39 of file VersionControl.h.

Referenced by VersionControl().

◆ useO2O_

bool VersionControl::useO2O_
private

Definition at line 29 of file VersionControl.h.

Referenced by useO2O(), and VersionControl().

◆ useRPC_

bool VersionControl::useRPC_
private

Definition at line 33 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ useSecondEarliest_

bool VersionControl::useSecondEarliest_
private

Definition at line 52 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ useSingleHits_

bool VersionControl::useSingleHits_
private

Definition at line 47 of file VersionControl.h.

Referenced by VersionControl().

◆ useSymPatterns_

bool VersionControl::useSymPatterns_
private

Definition at line 43 of file VersionControl.h.

Referenced by configure_by_fw_version(), and VersionControl().

◆ verbose_

int VersionControl::verbose_
private

Definition at line 28 of file VersionControl.h.

Referenced by verbose(), and VersionControl().

◆ zoneBoundaries_

std::vector<int> VersionControl::zoneBoundaries_
private

Definition at line 37 of file VersionControl.h.

Referenced by VersionControl().

◆ zoneOverlap_

int VersionControl::zoneOverlap_
private

Definition at line 38 of file VersionControl.h.

Referenced by VersionControl().

VersionControl::bugME11Dupes_
bool bugME11Dupes_
Definition: VersionControl.h:48
VersionControl::modeQualVer_
int modeQualVer_
Definition: VersionControl.h:58
VersionControl::minBX_
int minBX_
Definition: VersionControl.h:34
VersionControl::bugSt2PhDiff_
bool bugSt2PhDiff_
Definition: VersionControl.h:48
VersionControl::bxShiftRPC_
int bxShiftRPC_
Definition: VersionControl.h:34
VersionControl::pattDefinitions_
std::vector< std::string > pattDefinitions_
Definition: VersionControl.h:42
VersionControl::zoneBoundaries_
std::vector< int > zoneBoundaries_
Definition: VersionControl.h:37
VersionControl::bug9BitDPhi_
bool bug9BitDPhi_
Definition: VersionControl.h:57
VersionControl::useDT_
bool useDT_
Definition: VersionControl.h:33
VersionControl::fixMode15HighPt_
bool fixMode15HighPt_
Definition: VersionControl.h:56
VersionControl::promoteMode7_
bool promoteMode7_
Definition: VersionControl.h:57
VersionControl::useRPC_
bool useRPC_
Definition: VersionControl.h:33
VersionControl::useCSC_
bool useCSC_
Definition: VersionControl.h:33
VersionControl::maxRoadsPerZone_
int maxRoadsPerZone_
Definition: VersionControl.h:51
VersionControl::bugSameSectorPt0_
bool bugSameSectorPt0_
Definition: VersionControl.h:53
VersionControl::zoneOverlap_
int zoneOverlap_
Definition: VersionControl.h:38
VersionControl::useNewZones_
bool useNewZones_
Definition: VersionControl.h:39
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
VersionControl::bxShiftCSC_
int bxShiftCSC_
Definition: VersionControl.h:34
VersionControl::useSecondEarliest_
bool useSecondEarliest_
Definition: VersionControl.h:52
simEmtfDigis_cfi.spPRParams16
spPRParams16
Definition: simEmtfDigis_cfi.py:69
VersionControl::symPattDefinitions_
std::vector< std::string > symPattDefinitions_
Definition: VersionControl.h:42
VersionControl::useGEM_
bool useGEM_
Definition: VersionControl.h:33
VersionControl::pbFileName_
std::string pbFileName_
Definition: VersionControl.h:59
VersionControl::bugMode7CLCT_
bool bugMode7CLCT_
Definition: VersionControl.h:57
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
VersionControl::useO2O_
bool useO2O_
Definition: VersionControl.h:29
simEmtfDigis_cfi.spGCParams16
spGCParams16
Definition: simEmtfDigis_cfi.py:107
simEmtfDigis_cfi.spPAParams16
spPAParams16
Definition: simEmtfDigis_cfi.py:115
edm::ParameterSet
Definition: ParameterSet.h:47
VersionControl::thetaWindow_
int thetaWindow_
Definition: VersionControl.h:46
VersionControl::useIRPC_
bool useIRPC_
Definition: VersionControl.h:33
VersionControl::bugGMTPhi_
bool bugGMTPhi_
Definition: VersionControl.h:57
VersionControl::useME0_
bool useME0_
Definition: VersionControl.h:33
VersionControl::useSymPatterns_
bool useSymPatterns_
Definition: VersionControl.h:43
VersionControl::fixME11Edges_
bool fixME11Edges_
Definition: VersionControl.h:39
VersionControl::twoStationSameBX_
bool twoStationSameBX_
Definition: VersionControl.h:48
VersionControl::useSingleHits_
bool useSingleHits_
Definition: VersionControl.h:47
VersionControl::era_
std::string era_
Definition: VersionControl.h:30
VersionControl::bxShiftGEM_
int bxShiftGEM_
Definition: VersionControl.h:34
VersionControl::includeNeighbor_
bool includeNeighbor_
Definition: VersionControl.h:39
VersionControl::fixZonePhi_
bool fixZonePhi_
Definition: VersionControl.h:39
VersionControl::verbose_
int verbose_
Definition: VersionControl.h:28
VersionControl::maxTracks_
int maxTracks_
Definition: VersionControl.h:51
VersionControl::maxBX_
int maxBX_
Definition: VersionControl.h:34
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
VersionControl::bxWindow_
int bxWindow_
Definition: VersionControl.h:34
VersionControl::duplicateTheta_
bool duplicateTheta_
Definition: VersionControl.h:39
VersionControl::config_
const edm::ParameterSet config_
Definition: VersionControl.h:26
simEmtfDigis_cfi.spPCParams16
spPCParams16
Definition: simEmtfDigis_cfi.py:57
simEmtfDigis_cfi.spTBParams16
spTBParams16
Definition: simEmtfDigis_cfi.py:96
VersionControl::thetaWindowZone0_
int thetaWindowZone0_
Definition: VersionControl.h:46
VersionControl::bugAmbigThetaWin_
bool bugAmbigThetaWin_
Definition: VersionControl.h:48
VersionControl::bxShiftME0_
int bxShiftME0_
Definition: VersionControl.h:34
VersionControl::readPtLUTFile_
bool readPtLUTFile_
Definition: VersionControl.h:56
VersionControl::useCPPF_
bool useCPPF_
Definition: VersionControl.h:33
VersionControl::bugNegPt_
bool bugNegPt_
Definition: VersionControl.h:57