25def generateChainConfigs(flags, chainDict, perSig_lengthOfChainConfigs):
26
27
28 listOfChainDicts = splitChainDict(chainDict)
29 listOfChainDefs=[]
30
31 for subChainDict in listOfChainDicts:
32 log.debug('Assembling subChainsDict %s for chain %s', len(listOfChainDefs), subChainDict['chainName'] )
33 if subChainDict['sigDicts']['Tau'][0] == 'Tau':
34 Tau = TauChainConfiguration(subChainDict).assembleChain(flags)
35 listOfChainDefs += [Tau]
36 if subChainDict['sigDicts']['Tau'][0] == 'Ditau':
37 Jet, jet_name = generateJetChainConfigs(flags, subChainDict)
38 Ditau = DitauChainConfiguration(subChainDict, jet_name).assembleChain(flags)
39 Jet.append_step_to_jet(Ditau.steps)
40 listOfChainDefs += [Jet]
41
42
43 if len(listOfChainDefs)>1:
44 theChainDef, perSig_lengthOfChainConfigs = mergeChainDefs(listOfChainDefs, chainDict, perSig_lengthOfChainConfigs)
45
46 else:
47 theChainDef = listOfChainDefs[0]
48
49 log.debug("theChainDef: %s" , theChainDef)
50 return theChainDef, perSig_lengthOfChainConfigs
51
52