Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:02:24

0001 # This file provides additional helpers for getting information of
0002 # iterations in automated way.
0003 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
0004 import RecoTracker.IterativeTracking.iterativeTk_cff as _iterativeTk_cff
0005 
0006 def getMVASelectors(postfix):
0007     # assume naming convention that the iteration name (when first
0008     # letter in lower case) is the selector name
0009 
0010     ret = {}
0011 
0012     for iterName, seqName in _cfg.iterationAlgos(postfix, includeSequenceName=True):
0013         if hasattr(_iterativeTk_cff, iterName):
0014             mod = getattr(_iterativeTk_cff, iterName)
0015             seq = getattr(_iterativeTk_cff, seqName)
0016 
0017             # Ignore iteration if the MVA selector module is not in the sequence
0018             if not seq.contains(mod):
0019                 continue
0020 
0021             typeName = mod._TypedParameterizable__type
0022             classifiers = []
0023             if typeName == "ClassifierMerger":
0024                 classifiers = mod.inputClassifiers.value()
0025             elif "TrackMVAClassifier" in typeName or "TrackLwtnnClassifier" or "TrackTfClassifier" in typeName:
0026                 classifiers = [iterName]
0027             if len(classifiers) > 0:
0028                 ret[iterName] = (iterName+"Tracks", classifiers)
0029 
0030     return ret