Warning, /RecoTracker/MkFitCore/standalone/README_multipleIterations.txt is written in an unsupported language. File is not indexed.
0001 # Description of implementation of multiple mkFit iterations
0002
0003 - The branch is up-to-date with respect to devel.
0004
0005 - The main changes in this branch affect the following files:
0006
0007 (1) mkFit/SteeringParams.h:
0008 - three additional classes, which are iteration-dependent:
0009 (a) IterationParams: a container for 'nlayers_per_seed', 'maxCandsPerSeed', 'maxHolesPerCand', 'maxConsecHoles', and 'chi2Cut';
0010 (b) IterationLayerConfig: a container for layer-specific iteration-dependent configurations (e.g., hit selection windows);
0011 (c) IterationConfig: a container for all of the above, including a virtual functions to import seeds (import_seeds)
0012 - one additional struct, which is iteration-dependent:
0013 (a) MkSeedPacket: a container of iteration-specific event objects ('m_seedEtaSeparators_', 'm_seedMinLastLayer_', 'm_seedMaxLastLayer_', 'm_layerHits_', 'm_inseeds', 'm_outtrks')
0014
0015 (2) Geoms/CMS-2017.cc:
0016 - an instance of IterationConfig is created in Geoms/CMS-2017.cc, to be passed to MkBuilder constructor, which sets all iteration-dependent objects/parameters.
0017
0018 (3) mkFit/MkBuilder[.cc,.h]
0019 - all iteration-dependent parameters (regions, steering parameters, etc.) are moved out of MkBuilder, and into IterationConfig, which must be passed to MkBuilder constructor to have one MkBuilder per iteration.
0020
0021
0022 -------------------------------------------------------------------------------
0023
0024 MT Notes:
0025
0026 * RegionOfSeedIndices rosi(m_event, region); <---- event
0027
0028 * bkfit --> takes tracks from event->candidateTracks
0029 This is a somewhat more general probelm ... flow of tracks through processing and
0030 when should they be copied out / extracted (found / fitted / etc).
0031 Especially re validation.
0032
0033
0034
0035 -------------------------------------------------------------------------------
0036
0037 VALIDATION
0038
0039 tested validation with 3 iterations scripts (for running validation forConf)
0040
0041 ./val_scripts/validation-cmssw-benchmarks-multiiter.sh
0042 ./web/collectBenchmarks-multi.sh
0043
0044 the features added to the validation Trees are the following
0045
0046 FR Trees
0047 - algorithm: as the tree entries are by seed, the seed "algorithm" (i.e. the iteration number used in cmssw) is saved
0048
0049 EFF Trees
0050
0051 - itermask_[seed/build//fit]
0052 - iterduplmask_[seed/build//fit]
0053 - algo_seed
0054
0055 these are 3 binary masks of 64 bits, where bits are tunred on depending on the iteration matching a sim track, as the entries are organized by sim track
0056
0057 itermask_ :
0058 a sim track is matching at least to a track with algorithm M if the bit M of the bit mask is on
0059 multiple bits can be on, if the sim track matched to tracks of muktiple iterations
0060
0061 iterduplmask_ :
0062 a sim track is matching at least twice (duplicate in the iteration) a track with algorithm M if the bit M of the bit mask is on
0063
0064 algo_seed:
0065 to be used in SIMVALSEED
0066 bit M is on if the seed matching to the sim track comes from the iteration with code M
0067
0068
0069 how to use binary masks (example) :
0070
0071 the simtrack matches to the iteration with algo = 4, 22, 23 ... -> (itermask_[]>>algo)&1
0072 the simtrack matches twice to the iteration with algo = 4, 22, 23 ... -> (iterduplmask_[]>>algo)&1
0073 the simtrack matches to a seed with algo = 4, 22, 23 ... -> (algo_seed>>algo)&1
0074
0075
0076 The script val_scripts/validation-cmssw-benchmarks-multiiter.sh produces 4 sets of plots: 3 iteration specific validation plots and 1 global validation
0077
0078 The settings are the same as for the forConf suite, i.e. comparing CE (build-mimi) to CMSSW - no STD build. the validation setups are the usual SIMVAL and SIMVALSEED (MTV).
0079 In the iteration specific the itermask_[seed/build//fit] and iterduplmask_[seed/build//fit] are used to define efficiency and duplicate rates, algo_seed is also required in SIMVALSEED.
0080 The global validation is similar to the one used for the initial step only (no bit masks used). It can be useful to check the global absolute efficiency after adding iterations after each other.
0081 On the other hand, the comparison of fakes and duplicates between mkFit and cmssw is not totally fair, as different types of cleaning are applied to the two collections.
0082
0083