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_
 
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 }

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_, 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 65 of file VersionControl.cc.

65 {}

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 68 of file VersionControl.cc.

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

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().

◆ 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::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:36
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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
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