20 enableDigitize_(
false),
22 bApprox_gradient_(0.886454),
23 bApprox_intercept_(0.504148),
28 {-2.4, -2.08, -1.68, -1.26, -0.90, -0.62, -0.41, -0.20, 0.0, 0.20, 0.41, 0.62, 0.90, 1.26, 1.68, 2.08, 2.4}),
32 minPtToReduceLayers_(99999.),
34 minFracMatchStubsOnReco_(-99),
35 minFracMatchStubsOnTP_(-99),
36 minNumMatchLayers_(4),
37 minNumMatchPSLayers_(0),
38 stubMatchStrict_(
false),
43 kalmanMinNumStubs_(4),
44 kalmanMaxNumStubs_(6),
45 kalmanRemove2PScut_(
true),
46 kalmanMaxSkipLayersHard_(1),
47 kalmanMaxSkipLayersEasy_(2),
48 kalmanMaxStubsEasy_(10),
49 kfLayerVsPtToler_({999., 999., 0.1, 0.1, 0.05, 0.05, 0.05}),
50 kfLayerVsD0Cut5_({999., 999., 999., 10., 10., 10., 10.}),
51 kfLayerVsZ0Cut5_({999., 999., 25.5, 25.5, 25.5, 25.5, 25.5}),
52 kfLayerVsZ0Cut4_({999., 999., 15., 15., 15., 15., 15.}),
53 kfLayerVsChiSq5_({999., 999., 10., 30., 80., 120., 160.}),
54 kfLayerVsChiSq4_({999., 999., 10., 30., 80., 120., 160.}),
55 kalmanMaxStubsPerLayer_(4),
56 kalmanMultiScattTerm_(0.00075),
57 kalmanChi2RphiScale_(8),
58 kalmanHOtilted_(
true),
59 kalmanHOhelixExp_(
true),
61 kalmanHOprojZcorr_(1),
68 if (not useApproxB_) {
70 <<
"TMTT Settings Error: module tilt angle unknown, so must set useApproxB = true";
84 magneticFieldInputTag_(iConfig.getParameter<
edm::
ESInputTag>(
"magneticFieldInputTag")),
85 trackerGeometryInputTag_(iConfig.getParameter<
edm::
ESInputTag>(
"trackerGeometryInputTag")),
86 trackerTopologyInputTag_(iConfig.getParameter<
edm::
ESInputTag>(
"trackerTopologyInputTag")),
87 ttStubAlgoInputTag_(iConfig.getParameter<
edm::
ESInputTag>(
"ttStubAlgoInputTag")),
89 stubInputTag_(iConfig.getParameter<
edm::
InputTag>(
"stubInputTag")),
90 tpInputTag_(iConfig.getParameter<
edm::
InputTag>(
"tpInputTag")),
91 stubTruthInputTag_(iConfig.getParameter<
edm::
InputTag>(
"stubTruthInputTag")),
92 clusterTruthInputTag_(iConfig.getParameter<
edm::
InputTag>(
"clusterTruthInputTag")),
93 genJetInputTag_(iConfig.getParameter<
edm::
InputTag>(
"genJetInputTag")),
99 trackerModuleType_(iConfig.getParameter<
edm::
ParameterSet>(
"TrackerModuleType")),
100 geometricProc_(iConfig.getParameter<
edm::
ParameterSet>(
"GeometricProc")),
103 htArraySpecRphi_(iConfig.getParameter<
edm::
ParameterSet>(
"HTArraySpecRphi")),
104 htFillingRphi_(iConfig.getParameter<
edm::
ParameterSet>(
"HTFillingRphi")),
105 rzFilterOpts_(iConfig.getParameter<
edm::
ParameterSet>(
"RZfilterOpts")),
107 dupTrkRemoval_(iConfig.getParameter<
edm::
ParameterSet>(
"DupTrkRemoval")),
108 trackMatchDef_(iConfig.getParameter<
edm::
ParameterSet>(
"TrackMatchDef")),
109 trackFitSettings_(iConfig.getParameter<
edm::
ParameterSet>(
"TrackFitSettings")),
110 deadModuleOpts_(iConfig.getParameter<
edm::
ParameterSet>(
"DeadModuleOpts")),
115 enableMCtruth_(iConfig.getParameter<
bool>(
"EnableMCtruth")),
116 enableHistos_(iConfig.getParameter<
bool>(
"EnableHistos")),
117 enableOutputIntermediateTTTracks_(iConfig.getParameter<
bool>(
"EnableOutputIntermediateTTTracks")),
121 genMinPt_(genCuts_.getParameter<double>(
"GenMinPt")),
122 genMaxAbsEta_(genCuts_.getParameter<double>(
"GenMaxAbsEta")),
123 genMaxVertR_(genCuts_.getParameter<double>(
"GenMaxVertR")),
124 genMaxVertZ_(genCuts_.getParameter<double>(
"GenMaxVertZ")),
125 genMaxD0_(genCuts_.getParameter<double>(
"GenMaxD0")),
126 genMaxZ0_(genCuts_.getParameter<double>(
"GenMaxZ0")),
127 genMinStubLayers_(genCuts_.getParameter<unsigned
int>(
"GenMinStubLayers")),
131 degradeBendRes_(stubCuts_.getParameter<unsigned
int>(
"DegradeBendRes")),
132 maxStubEta_(stubCuts_.getParameter<double>(
"MaxStubEta")),
133 killLowPtStubs_(stubCuts_.getParameter<
bool>(
"KillLowPtStubs")),
134 printStubWindows_(stubCuts_.getParameter<
bool>(
"PrintStubWindows")),
135 bendCut_(stubCuts_.getParameter<double>(
"BendCut")),
136 bendCutExtra_(stubCuts_.getParameter<double>(
"BendCutExtra")),
137 orderStubsByBend_(stubCuts_.getParameter<
bool>(
"OrderStubsByBend")),
141 enableDigitize_(stubDigitize_.getParameter<
bool>(
"EnableDigitize")),
144 phiSectorBits_(stubDigitize_.getParameter<unsigned
int>(
"PhiSectorBits")),
145 phiSBits_(stubDigitize_.getParameter<unsigned
int>(
"PhiSBits")),
146 phiSRange_(stubDigitize_.getParameter<double>(
"PhiSRange")),
147 rtBits_(stubDigitize_.getParameter<unsigned
int>(
"RtBits")),
148 rtRange_(stubDigitize_.getParameter<double>(
"RtRange")),
149 zBits_(stubDigitize_.getParameter<unsigned
int>(
"ZBits")),
150 zRange_(stubDigitize_.getParameter<double>(
"ZRange")),
152 phiNBits_(stubDigitize_.getParameter<unsigned
int>(
"PhiNBits")),
153 phiNRange_(stubDigitize_.getParameter<double>(
"PhiNRange")),
154 bendBits_(stubDigitize_.getParameter<unsigned
int>(
"BendBits")),
157 pitchVsType_(trackerModuleType_.getParameter<
vector<double>>(
"PitchVsType")),
158 spaceVsType_(trackerModuleType_.getParameter<
vector<double>>(
"SpaceVsType")),
159 barrelVsTypeTmp_(trackerModuleType_.getParameter<
vector<unsigned
int>>(
"BarrelVsType")),
160 psVsTypeTmp_(trackerModuleType_.getParameter<
vector<unsigned
int>>(
"PSVsType")),
161 tiltedVsTypeTmp_(trackerModuleType_.getParameter<
vector<unsigned
int>>(
"TiltedVsType")),
164 useApproxB_(geometricProc_.getParameter<
bool>(
"UseApproxB")),
165 bApprox_gradient_(geometricProc_.getParameter<double>(
"BApprox_gradient")),
166 bApprox_intercept_(geometricProc_.getParameter<double>(
"BApprox_intercept")),
169 numPhiNonants_(phiSectors_.getParameter<unsigned
int>(
"NumPhiNonants")),
170 numPhiSectors_(phiSectors_.getParameter<unsigned
int>(
"NumPhiSectors")),
171 chosenRofPhi_(phiSectors_.getParameter<double>(
"ChosenRofPhi")),
172 useStubPhi_(phiSectors_.getParameter<
bool>(
"UseStubPhi")),
173 useStubPhiTrk_(phiSectors_.getParameter<
bool>(
"UseStubPhiTrk")),
174 assumedPhiTrkRes_(phiSectors_.getParameter<double>(
"AssumedPhiTrkRes")),
175 calcPhiTrkRes_(phiSectors_.getParameter<
bool>(
"CalcPhiTrkRes")),
178 etaRegions_(etaSectors_.getParameter<
vector<double>>(
"EtaRegions")),
179 chosenRofZ_(etaSectors_.getParameter<double>(
"ChosenRofZ")),
180 beamWindowZ_(etaSectors_.getParameter<double>(
"BeamWindowZ")),
181 allowOver2EtaSecs_(etaSectors_.getParameter<
bool>(
"AllowOver2EtaSecs")),
184 houghMinPt_(htArraySpecRphi_.getParameter<double>(
"HoughMinPt")),
185 houghNbinsPt_(htArraySpecRphi_.getParameter<unsigned
int>(
"HoughNbinsPt")),
186 houghNbinsPhi_(htArraySpecRphi_.getParameter<unsigned
int>(
"HoughNbinsPhi")),
187 enableMerge2x2_(htArraySpecRphi_.getParameter<
bool>(
"EnableMerge2x2")),
188 maxPtToMerge2x2_(htArraySpecRphi_.getParameter<double>(
"MaxPtToMerge2x2")),
189 numSubSecsEta_(htArraySpecRphi_.getParameter<unsigned
int>(
"NumSubSecsEta")),
190 shape_(htArraySpecRphi_.getParameter<unsigned
int>(
"Shape")),
191 miniHTstage_(htArraySpecRphi_.getParameter<
bool>(
"MiniHTstage")),
192 miniHoughNbinsPt_(htArraySpecRphi_.getParameter<unsigned
int>(
"MiniHoughNbinsPt")),
193 miniHoughNbinsPhi_(htArraySpecRphi_.getParameter<unsigned
int>(
"MiniHoughNbinsPhi")),
194 miniHoughMinPt_(htArraySpecRphi_.getParameter<double>(
"MiniHoughMinPt")),
195 miniHoughDontKill_(htArraySpecRphi_.getParameter<
bool>(
"MiniHoughDontKill")),
196 miniHoughDontKillMinPt_(htArraySpecRphi_.getParameter<double>(
"MiniHoughDontKillMinPt")),
197 miniHoughLoadBalance_(htArraySpecRphi_.getParameter<unsigned
int>(
"MiniHoughLoadBalance")),
200 killSomeHTCellsRphi_(htFillingRphi_.getParameter<unsigned
int>(
"KillSomeHTCellsRphi")),
201 useBendFilter_(htFillingRphi_.getParameter<
bool>(
"UseBendFilter")),
202 maxStubsInCell_(htFillingRphi_.getParameter<unsigned
int>(
"MaxStubsInCell")),
203 maxStubsInCellMiniHough_(htFillingRphi_.getParameter<unsigned
int>(
"MaxStubsInCellMiniHough")),
204 busySectorKill_(htFillingRphi_.getParameter<
bool>(
"BusySectorKill")),
205 busySectorNumStubs_(htFillingRphi_.getParameter<unsigned
int>(
"BusySectorNumStubs")),
206 busySectorMbinRanges_(htFillingRphi_.getParameter<
vector<unsigned
int>>(
"BusySectorMbinRanges")),
207 busySectorMbinOrder_(htFillingRphi_.getParameter<
vector<unsigned
int>>(
"BusySectorMbinOrder")),
208 busyInputSectorKill_(htFillingRphi_.getParameter<
bool>(
"BusyInputSectorKill")),
209 busyInputSectorNumStubs_(htFillingRphi_.getParameter<unsigned
int>(
"BusyInputSectorNumStubs")),
210 muxOutputsHT_(htFillingRphi_.getParameter<unsigned
int>(
"MuxOutputsHT")),
211 etaRegWhitelist_(htFillingRphi_.getParameter<
vector<unsigned
int>>(
"EtaRegWhitelist")),
215 rzFilterName_(rzFilterOpts_.getParameter<
string>(
"RZFilterName")),
216 seedResCut_(rzFilterOpts_.getParameter<double>(
"SeedResCut")),
217 keepAllSeed_(rzFilterOpts_.getParameter<
bool>(
"KeepAllSeed")),
218 maxSeedCombinations_(rzFilterOpts_.getParameter<unsigned
int>(
"MaxSeedCombinations")),
219 maxGoodSeedCombinations_(rzFilterOpts_.getParameter<unsigned
int>(
"MaxGoodSeedCombinations")),
220 maxSeedsPerStub_(rzFilterOpts_.getParameter<unsigned
int>(
"MaxSeedsPerStub")),
221 zTrkSectorCheck_(rzFilterOpts_.getParameter<
bool>(
"zTrkSectorCheck")),
222 minFilterLayers_(rzFilterOpts_.getParameter<unsigned
int>(
"MinFilterLayers")),
226 minStubLayers_(l1TrackDef_.getParameter<unsigned
int>(
"MinStubLayers")),
227 minPtToReduceLayers_(l1TrackDef_.getParameter<double>(
"MinPtToReduceLayers")),
228 etaSecsReduceLayers_(l1TrackDef_.getParameter<
vector<unsigned
int>>(
"EtaSecsReduceLayers")),
229 reduceLayerID_(l1TrackDef_.getParameter<
bool>(
"ReducedLayerID")),
233 dupTrkAlgFit_(dupTrkRemoval_.getParameter<unsigned
int>(
"DupTrkAlgFit")),
237 minFracMatchStubsOnReco_(trackMatchDef_.getParameter<double>(
"MinFracMatchStubsOnReco")),
238 minFracMatchStubsOnTP_(trackMatchDef_.getParameter<double>(
"MinFracMatchStubsOnTP")),
239 minNumMatchLayers_(trackMatchDef_.getParameter<unsigned
int>(
"MinNumMatchLayers")),
240 minNumMatchPSLayers_(trackMatchDef_.getParameter<unsigned
int>(
"MinNumMatchPSLayers")),
241 stubMatchStrict_(trackMatchDef_.getParameter<
bool>(
"StubMatchStrict")),
245 trackFitters_(trackFitSettings_.getParameter<
vector<
std::
string>>(
"TrackFitters")),
246 useRZfilter_(trackFitSettings_.getParameter<
vector<
std::
string>>(
"UseRZfilter")),
247 detailedFitOutput_(trackFitSettings_.getParameter<
bool>(
"DetailedFitOutput")),
248 trackFitCheat_(trackFitSettings_.getParameter<
bool>(
"TrackFitCheat")),
250 numTrackFitIterations_(trackFitSettings_.getParameter<unsigned
int>(
"NumTrackFitIterations")),
251 killTrackFitWorstHit_(trackFitSettings_.getParameter<
bool>(
"KillTrackFitWorstHit")),
252 generalResidualCut_(trackFitSettings_.getParameter<double>(
"GeneralResidualCut")),
253 killingResidualCut_(trackFitSettings_.getParameter<double>(
"KillingResidualCut")),
255 digitizeSLR_(trackFitSettings_.getParameter<
bool>(
"DigitizeSLR")),
256 dividerBitsHelix_(trackFitSettings_.getParameter<unsigned
int>(
"DividerBitsHelix")),
257 dividerBitsHelixZ_(trackFitSettings_.getParameter<unsigned
int>(
"DividerBitsHelixZ")),
258 ShiftingBitsDenRPhi_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsDenRPhi")),
259 ShiftingBitsDenRZ_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsDenRZ")),
260 ShiftingBitsPt_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsPt")),
261 ShiftingBitsPhi_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsPhi")),
263 ShiftingBitsLambda_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsLambda")),
264 ShiftingBitsZ0_(trackFitSettings_.getParameter<unsigned
int>(
"ShiftingBitsZ0")),
265 slr_chi2cut_(trackFitSettings_.getParameter<double>(
"SLR_chi2cut")),
266 residualCut_(trackFitSettings_.getParameter<double>(
"ResidualCut")),
268 kalmanDebugLevel_(trackFitSettings_.getParameter<unsigned
int>(
"KalmanDebugLevel")),
269 kalmanMinNumStubs_(trackFitSettings_.getParameter<unsigned
int>(
"KalmanMinNumStubs")),
270 kalmanMaxNumStubs_(trackFitSettings_.getParameter<unsigned
int>(
"KalmanMaxNumStubs")),
271 kalmanAddBeamConstr_(trackFitSettings_.getParameter<
bool>(
"KalmanAddBeamConstr")),
272 kalmanRemove2PScut_(trackFitSettings_.getParameter<
bool>(
"KalmanRemove2PScut")),
273 kalmanMaxSkipLayersHard_(trackFitSettings_.getParameter<unsigned>(
"KalmanMaxSkipLayersHard")),
274 kalmanMaxSkipLayersEasy_(trackFitSettings_.getParameter<unsigned>(
"KalmanMaxSkipLayersEasy")),
275 kalmanMaxStubsEasy_(trackFitSettings_.getParameter<unsigned>(
"KalmanMaxStubsEasy")),
277 kfLayerVsPtToler_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsPtToler")),
278 kfLayerVsD0Cut5_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsD0Cut5")),
279 kfLayerVsZ0Cut5_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsZ0Cut5")),
280 kfLayerVsZ0Cut4_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsZ0Cut4")),
281 kfLayerVsChiSq5_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsChiSq5")),
282 kfLayerVsChiSq4_(trackFitSettings_.getParameter<
vector<double>>(
"KFLayerVsChiSq4")),
284 kalmanMaxStubsPerLayer_(trackFitSettings_.getParameter<unsigned>(
"KalmanMaxStubsPerLayer")),
285 kalmanMultiScattTerm_(trackFitSettings_.getParameter<double>(
"KalmanMultiScattTerm")),
286 kalmanChi2RphiScale_(trackFitSettings_.getParameter<unsigned>(
"KalmanChi2RphiScale")),
287 kalmanHOtilted_(trackFitSettings_.getParameter<
bool>(
"KalmanHOtilted")),
288 kalmanHOhelixExp_(trackFitSettings_.getParameter<
bool>(
"KalmanHOhelixExp")),
289 kalmanHOalpha_(trackFitSettings_.getParameter<unsigned
int>(
"KalmanHOalpha")),
290 kalmanHOprojZcorr_(trackFitSettings_.getParameter<unsigned
int>(
"KalmanHOprojZcorr")),
291 kalmanHOfw_(trackFitSettings_.getParameter<
bool>(
"KalmanHOfw")),
295 killScenario_(deadModuleOpts_.getParameter<unsigned
int>(
"KillScenario")),
296 killRecover_(deadModuleOpts_.getParameter<
bool>(
"KillRecover")),
300 slr_skipTrackDigi_(trackDigi_.getParameter<
bool>(
"SLR_skipTrackDigi")),
301 slr_oneOver2rBits_(trackDigi_.getParameter<unsigned
int>(
"SLR_oneOver2rBits")),
302 slr_oneOver2rRange_(trackDigi_.getParameter<double>(
"SLR_oneOver2rRange")),
303 slr_d0Bits_(trackDigi_.getParameter<unsigned
int>(
"SLR_d0Bits")),
304 slr_d0Range_(trackDigi_.getParameter<double>(
"SLR_d0Range")),
305 slr_phi0Bits_(trackDigi_.getParameter<unsigned
int>(
"SLR_phi0Bits")),
306 slr_phi0Range_(trackDigi_.getParameter<double>(
"SLR_phi0Range")),
307 slr_z0Bits_(trackDigi_.getParameter<unsigned
int>(
"SLR_z0Bits")),
308 slr_z0Range_(trackDigi_.getParameter<double>(
"SLR_z0Range")),
309 slr_tanlambdaBits_(trackDigi_.getParameter<unsigned
int>(
"SLR_tanlambdaBits")),
310 slr_tanlambdaRange_(trackDigi_.getParameter<double>(
"SLR_tanlambdaRange")),
311 slr_chisquaredBits_(trackDigi_.getParameter<unsigned
int>(
"SLR_chisquaredBits")),
312 slr_chisquaredRange_(trackDigi_.getParameter<double>(
"SLR_chisquaredRange")),
314 kf_skipTrackDigi_(trackDigi_.getParameter<
bool>(
"KF_skipTrackDigi")),
315 kf_oneOver2rBits_(trackDigi_.getParameter<unsigned
int>(
"KF_oneOver2rBits")),
316 kf_oneOver2rRange_(trackDigi_.getParameter<double>(
"KF_oneOver2rRange")),
317 kf_d0Bits_(trackDigi_.getParameter<unsigned
int>(
"KF_d0Bits")),
318 kf_d0Range_(trackDigi_.getParameter<double>(
"KF_d0Range")),
319 kf_phi0Bits_(trackDigi_.getParameter<unsigned
int>(
"KF_phi0Bits")),
320 kf_phi0Range_(trackDigi_.getParameter<double>(
"KF_phi0Range")),
321 kf_z0Bits_(trackDigi_.getParameter<unsigned
int>(
"KF_z0Bits")),
322 kf_z0Range_(trackDigi_.getParameter<double>(
"KF_z0Range")),
323 kf_tanlambdaBits_(trackDigi_.getParameter<unsigned
int>(
"KF_tanlambdaBits")),
324 kf_tanlambdaRange_(trackDigi_.getParameter<double>(
"KF_tanlambdaRange")),
325 kf_chisquaredBits_(trackDigi_.getParameter<unsigned
int>(
"KF_chisquaredBits")),
326 kf_chisquaredRange_(trackDigi_.getParameter<double>(
"KF_chisquaredRange")),
327 kf_chisquaredBinEdges_(trackDigi_.getParameter<
vector<double>>(
"KF_chisquaredBinEdges")),
329 other_skipTrackDigi_(trackDigi_.getParameter<
bool>(
"Other_skipTrackDigi")),
332 resPlotOpt_(iConfig.getParameter<
bool>(
"ResPlotOpt")),
337 writeOutEdmFile_(iConfig.getUntrackedParameter<
bool>(
"WriteOutEdmFile",
true)),
343 hybrid_(iConfig.getParameter<
bool>(
"Hybrid")) {
345 vector<unsigned int> genPdgIdsUnsigned(
genCuts_.
getParameter<vector<unsigned int>>(
"GenPdgIds"));
346 if (genPdgIdsUnsigned.empty()) {
347 genPdgIdsUnsigned = {11, 13, 211, 321, 2212};
352 for (
unsigned int i = 0;
i < genPdgIdsUnsigned.size();
i++) {
359 vector<string> useRZfilterTmp;
362 useRZfilterTmp.push_back(
name);
377 <<
"Settings: Invalid cfg parameters - You cant set both UseStubPhi & useStubPhiTrk to false.";
381 <<
"Settings: Invalid cfg parameters - You are setting the minimum number of layers incorrectly : type A.";
384 <<
"Settings: Invalid cfg parameters - You are setting the minimum number of layers incorrectly : type B.";
387 <<
"Settings: Invalid cfg parameters - You are setting the minimum number of layers incorrectly : type C.";
394 <<
"Settings: Invalid cfg parameters - You are setting the minimum number of layers incorrectly : type D.";
397 <<
"Settings: Invalid cfg parameters - You are setting the minimum number of layers incorrectly : type E.";
400 constexpr
float verySmall = 0.1;
402 throw cms::Exception(
"BadConfig") <<
"Settings: Invalid cfg parameters -- HoughMinPt must be positive.";
407 throw cms::Exception(
"BadConfig") <<
"Settings: You specified an eta sector number in EtaSecsReduceLayers "
408 "which exceeds the total number of eta sectors! "
417 <<
"Settings: Invalid cfg parameters - BusySectorMbinOrder used by HT MUX contains wrong number of "
418 "elements. Unless you are optimising the MUX, suggest you configure it to an empty vector.";
419 set<unsigned int> mOrderCheck;
421 mOrderCheck.insert(
m);
425 <<
"Settings: Invalid cfg parameters - BusySectorMbinOrder used by HT MUX contains duplicate elements.";
426 unsigned int sum_nr = 0;
432 <<
"Settings: Invalid cfg parameters - Sum of entries in BusySectorMbinRanges is incorrect.";
438 <<
"Settings: it is not allowed to enable both MiniHTstage & EnableMerge2x2 options.";
442 <<
"Settings: Invalid cfg parameters - 2nd stage mini HT only allowed for square-shaped cells.";
444 throw cms::Exception(
"BadConfig") <<
"Settings: 2nd mini HT has so dar only been implemented in C++ for 2x2.";
450 <<
"Settings: it is not allowed to enable both MiniHTstage & EnableMerge2x2 options.";
454 <<
"Settings: Invalid cfg parameters - merging only allowed for square-shaped cells.";
460 <<
"Settings: Invalid cfg parameters - KalmanMaxNumStubs is less than KalmanMaxNumStubs.";
464 bool whitelisted =
true;
467 if (whitelist_enabled) {