Example #1
0
    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 = ""
Example #2
0
 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.