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)