Beispiel #1
0
class D2HHBDTLines(LineBuilder):
    """Class defining the Hb -> hh stripping lines"""

    __configuration_keys__ = ('PrescaleD2HHBDT', 'PrescaleDSt',
                              'PostscaleD02HH', 'PostscaleDSt', 'MinPT',
                              'MinIP', 'TrChi2', 'TrGhostProb', 'CombMassLow',
                              'CombMassHigh', 'DOCA', 'BPT', 'BIP', 'BTAU',
                              'MassLow', 'MassHigh', 'BDTCut',
                              'BDTWeightsFile', 'VertexChi2')

    def __init__(self, name, config):

        LineBuilder.__init__(self, name, config)

        D2HHBDTName = "D2HHBDT"

        # make the various stripping selections
        self.D2HHBDT = makeD2HHBDT(D2HHBDTName, config['TrChi2'],
                                   config['TrGhostProb'], config['MinPT'],
                                   config['MinIP'], config['CombMassLow'],
                                   config['CombMassHigh'], config['DOCA'],
                                   config['BPT'], config['BIP'],
                                   config['BTAU'], config['MassLow'],
                                   config['MassHigh'])

        self.CutBDT = applyBDT("CutBDT_" + D2HHBDTName,
                               LineName=D2HHBDTName + "Line",
                               SelD2HHBDT=self.D2HHBDT,
                               BDTCutValue=config['BDTCut'],
                               BDTWeightsFile=config['BDTWeightsFile'])

        self.lineD2HHBDT = StrippingLine(D2HHBDTName + "Line",
                                         prescale=config['PrescaleD2HHBDT'],
                                         postscale=config['PostscaleD02HH'],
                                         selection=self.CutBDT)

        self.registerLine(self.lineD2HHBDT)

        self.DStD0Pi = makeDStD0Pi(name="DStD0Pi_" + D2HHBDTName,
                                   cut=config['VertexChi2'],
                                   presel=self.lineD2HHBDT.selection())

        self.lineDStD0PiD2HHBDT = StrippingLine(
            "DStD0PiWith" + D2HHBDTName + "Line",
            prescale=config['PrescaleDSt'],
            postscale=config['PostscaleDSt'],
            selection=self.DStD0Pi)

        self.registerLine(self.lineDStD0PiD2HHBDT)