File indexing completed on 2025-03-02 23:54:18
0001 #ifndef RecoTracker_MkFitCore_standalone_ConfigStandalone_h
0002 #define RecoTracker_MkFitCore_standalone_ConfigStandalone_h
0003
0004 #include "RecoTracker/MkFitCore/interface/Config.h"
0005 #include "RecoTracker/MkFitCore/interface/DeadRegion.h"
0006
0007 #include <string>
0008 #include <map>
0009 #include <vector>
0010
0011 namespace mkfit {
0012
0013 class TrackerInfo;
0014 class IterationsInfo;
0015
0016 void execTrackerInfoCreatorPlugin(const std::string& base, TrackerInfo& ti, IterationsInfo& ii, bool verbose = false);
0017
0018
0019
0020
0021 enum seedOpts { simSeeds, cmsswSeeds, findSeeds };
0022 typedef std::map<std::string, std::pair<seedOpts, std::string> > seedOptsMap;
0023
0024
0025 enum cleanOpts { noCleaning, cleanSeedsN2, cleanSeedsPure, cleanSeedsBadLabel };
0026 typedef std::map<std::string, std::pair<cleanOpts, std::string> > cleanOptsMap;
0027
0028
0029 enum matchOpts { trkParamBased, hitBased, labelBased };
0030 typedef std::map<std::string, std::pair<matchOpts, std::string> > matchOptsMap;
0031
0032
0033
0034 namespace Config {
0035
0036 extern TrackerInfo TrkInfo;
0037 extern IterationsInfo ItrInfo;
0038
0039 extern std::string geomPlugin;
0040
0041
0042 constexpr int FileVersion = 1;
0043
0044
0045 extern int nTracks;
0046 extern int nEvents;
0047 extern int nItersCMSSW;
0048 extern bool loopOverFile;
0049
0050
0051
0052
0053 constexpr float nSigma = 3.;
0054 constexpr float minDPhi = 0.01;
0055 constexpr float maxDPhi = Const::PI;
0056 constexpr float minDEta = 0.;
0057 constexpr float maxDEta = 1.0;
0058
0059
0060 constexpr int NiterSim = 10;
0061
0062 constexpr float beamspotX = 0.1;
0063 constexpr float beamspotY = 0.1;
0064 constexpr float beamspotZ = 1.0;
0065
0066
0067
0068 constexpr float minSimPt = 1;
0069 constexpr float maxSimPt = 10.;
0070
0071
0072 constexpr float minSimEta = -2.4;
0073 constexpr float maxSimEta = 2.4;
0074
0075
0076
0077
0078 constexpr float hitposerrXY = 0.01;
0079 constexpr float hitposerrZ = 0.1;
0080 constexpr float hitposerrR = Config::hitposerrXY / 10.0f;
0081 constexpr float varXY = Config::hitposerrXY * Config::hitposerrXY;
0082 constexpr float varZ = Config::hitposerrZ * Config::hitposerrZ;
0083 constexpr float varR = Config::hitposerrR * Config::hitposerrR;
0084
0085
0086 constexpr int nlayers_per_seed_max = 4;
0087 constexpr float chi2seedcut = 9.0;
0088 constexpr float lay01angdiff =
0089 0.0634888;
0090 constexpr float lay02angdiff = 0.11537;
0091 constexpr float dEtaSeedTrip =
0092 0.06;
0093 constexpr float dPhiSeedTrip =
0094 0.0458712;
0095
0096
0097 constexpr float seed_z0cut = beamspotZ * 3.0f;
0098 constexpr float seed_z1cut = hitposerrZ * 3.6f;
0099 constexpr float seed_d0cut = 0.5f;
0100 extern bool cf_seeding;
0101
0102
0103 constexpr float maxCurvR = (100 * minSimPt) / (Const::sol * Bfield);
0104
0105
0106
0107 constexpr float blowupfit = 10.0;
0108 constexpr float ptinverr049 =
0109 0.0078;
0110 constexpr float phierr049 = 0.0017;
0111 constexpr float thetaerr049 = 0.0033;
0112
0113 constexpr float ptinverr012 = 0.12007;
0114 constexpr float phierr012 = 1.0;
0115 constexpr float thetaerr012 = 0.2;
0116
0117
0118 extern bool cf_fitting;
0119
0120 extern bool mtvLikeValidation;
0121 extern bool mtvRequireSeeds;
0122
0123 extern int cmsSelMinLayers;
0124
0125
0126 extern int nMinFoundHits;
0127 constexpr float minCMSSWMatchChi2[6] = {100, 100, 50, 50, 30, 20};
0128 constexpr float minCMSSWMatchdPhi[6] = {0.2, 0.2, 0.1, 0.05, 0.01, 0.005};
0129 extern bool quality_val;
0130 extern bool sim_val_for_cmssw;
0131 extern bool sim_val;
0132 extern bool cmssw_val;
0133 extern bool fit_val;
0134 extern bool readSimTrackStates;
0135 extern bool inclusiveShorts;
0136 extern bool keepHitInfo;
0137 extern bool tryToSaveSimInfo;
0138 extern matchOpts cmsswMatchingFW;
0139 extern matchOpts cmsswMatchingBK;
0140
0141
0142 extern bool useDeadModules;
0143
0144
0145 extern int numHitsPerTask;
0146
0147
0148 extern seedOpts seedInput;
0149 extern cleanOpts seedCleaning;
0150 extern bool readCmsswTracks;
0151
0152 extern bool dumpForPlots;
0153
0154 extern bool backwardFit;
0155 extern bool backwardSearch;
0156
0157 extern int numThreadsSimulation;
0158 extern int finderReportBestOutOfN;
0159
0160 extern bool includePCA;
0161
0162
0163
0164 extern bool silent;
0165 extern bool json_verbose;
0166 extern bool json_dump_before;
0167 extern bool json_dump_after;
0168 extern std::vector<std::string> json_patch_filenames;
0169 extern std::vector<std::string> json_load_filenames;
0170 extern std::string json_save_iters_fname_fmt;
0171 extern bool json_save_iters_include_iter_info_preamble;
0172
0173
0174
0175 void recalculateDependentConstants();
0176
0177 }
0178
0179 namespace internal {
0180 extern std::vector<DeadVec> deadvectors;
0181 }
0182
0183 }
0184
0185 #endif