forked from trackreco/mkFit
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConfig.cc
111 lines (84 loc) · 2.81 KB
/
Config.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "Config.h"
#include "TrackerInfo.h"
namespace mkfit {
namespace Config
{
TrackerInfo TrkInfo;
int nTracks = 10000;
int nEvents = 20;
bool loopOverFile = false;
int nTotalLayers = -1;
std::string geomPlugin = "CylCowWLids";
int maxCandsPerSeed = 6; // cmssw tests: 6 (GC had 3) \_ set from geom plugin
int maxHolesPerCand = 2; // cmssw tests: 12 /
int maxConsecHoles = 99; // cmssw tests: 12 /
int maxCandsPerEtaBin; // Recalculated after config is read ... should be removed.
// Multi threading and Clone engine configuration
int numThreadsFinder = 1;
int numThreadsEvents = 1;
#if defined(__MIC__) || defined(__AVX512F__)
int numThreadsSimulation = 60;
#else
int numThreadsSimulation = 12;
#endif
int finderReportBestOutOfN = 1;
int nlayers_per_seed = 3; // can be overriden from Geom plugin; a very confusing variable :)
int numSeedsPerTask = 32;
// number of hits per task for finding seeds
int numHitsPerTask = 32;
// material effects
float RlgridME[Config::nBinsZME][Config::nBinsRME];
float XigridME[Config::nBinsZME][Config::nBinsRME];
float chi2Cut = 15.;
float chi2CutOverlap = 5.;
float pTCutOverlap = 0.;
seedOpts seedInput = simSeeds;
cleanOpts seedCleaning = noCleaning;
bool finding_requires_propagation_to_hit_pos;
PropagationFlags finding_inter_layer_pflags;
PropagationFlags finding_intra_layer_pflags;
PropagationFlags backward_fit_pflags;
PropagationFlags forward_fit_pflags;
PropagationFlags seed_fit_pflags;
PropagationFlags pca_prop_pflags;
#ifdef CONFIG_PhiQArrays
bool usePhiQArrays = true;
#endif
bool useCMSGeom = false;
bool readCmsswTracks = false;
bool dumpForPlots = false;
bool silent = false;
bool cf_seeding = false;
bool cf_fitting = false;
bool quality_val = false;
bool sim_val_for_cmssw = false;
bool sim_val = false;
bool cmssw_val = false;
bool cmssw_export = false;
bool fit_val = false;
bool readSimTrackStates = false;
bool inclusiveShorts = false;
bool keepHitInfo = false;
bool tryToSaveSimInfo = false;
matchOpts cmsswMatchingFW = hitBased;
matchOpts cmsswMatchingBK = trkParamBased;
bool removeDuplicates = false;
bool useHitsForDuplicates = true;
float maxdPhi = 0.5;
float maxdPt = 0.5;
float maxdEta = 0.05;
float minFracHitsShared = 0.75;
float maxdRSquared = 0.000001; //corresponds to maxdR of 0.001
bool mtvLikeValidation = false;
bool mtvRequireSeeds = false;
int cmsSelMinLayers = 12;
int nMinFoundHits = 10;
bool kludgeCmsHitErrors = false;
bool backwardFit = false;
bool includePCA = false;
void RecalculateDependentConstants()
{
maxCandsPerEtaBin = std::max(100, maxCandsPerSeed * (nTracks+100) / nEtaPart);
}
}
} // end namespace mkfit