def __init__(self, jet, inputCollection): self.jet = jet self.jetLower = jet.lower() self.jetUpper = jet.upper() self.jetTagName = self.jetUpper self.inputCollection = inputCollection algoKey = 'algo' sizeKey = 'size' recoKey = 'reco' puMethodKey = 'puMethod' jetRegex = re.compile( r'(?P<{algo}>({algoList}))(?P<{size}>[0-9]+)(?P<{reco}>(pf|calo))(?P<{puMethod}>(chs|puppi|sk|cs|))' .format( algo=algoKey, algoList='|'.join(supportedJetAlgos.keys()), size=sizeKey, reco=recoKey, puMethod=puMethodKey, )) jetMatch = jetRegex.match(jet.lower()) if not jetMatch: raise RuntimeError('Invalid jet collection: %s' % jet) self.jetAlgo = jetMatch.group(algoKey) self.jetSize = jetMatch.group(sizeKey) self.jetReco = jetMatch.group(recoKey) self.jetPUMethod = jetMatch.group(puMethodKey) self.jetSizeNr = float(self.jetSize) / 10. self.doCalo = self.jetReco == "calo" self.doPF = self.jetReco == "pf" self.doCS = self.jetPUMethod == "cs" self.skipUserData = self.doCalo or ( self.jetPUMethod in ["puppi", "sk"] and inputCollection == "") self.jetCorrPayload = "{}{}{}".format( self.jetAlgo.upper(), self.jetSize, "Calo" if self.doCalo else self.jetReco.upper()) if self.jetPUMethod == "puppi": self.jetCorrPayload += "Puppi" elif self.jetPUMethod in ["cs", "sk"]: self.jetCorrPayload += "chs" else: self.jetCorrPayload += self.jetPUMethod.lower() self.patJetFinalCollection = ""
def __init__(self, jet, inputCollection): self.jet = jet self.jetLower = jet.lower() self.jetUpper = jet.upper() self.jetTagName = self.jetUpper self.inputCollection = inputCollection algoKey = 'algo' sizeKey = 'size' recoKey = 'reco' jetRegex = re.compile( r'(?P<{algo}>({algoList}))(?P<{size}>[0-9]+)gen'.format( algo=algoKey, algoList='|'.join(supportedJetAlgos.keys()), size=sizeKey, )) jetMatch = jetRegex.match(jet.lower()) if not jetMatch: raise RuntimeError('Invalid jet collection: %s' % jet) self.jetAlgo = jetMatch.group(algoKey) self.jetSize = jetMatch.group(sizeKey) self.jetSizeNr = float(self.jetSize) / 10.