Back to home page

Project CMSSW displayed by LXR

 
 

    


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