def __init__(self, moduleName, config): LineBuilder.__init__(self, moduleName, config) from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) selD02K3Pi = makeD02K3Pi(moduleName, config['D0Cuts']) selDstar2D0pi = makeDstar2D0pi(moduleName, selD02K3Pi, config['DstarCuts']) _lines = {"Untagged": selD02K3Pi, "Tagged": selDstar2D0pi} self.line_untagged = None self.line_tagged = None for name, sel in _lines.iteritems(): _filter = None if config['ApplyGECs'][name]: _filter = "" nLong = config["MaxLongTracks"][name] if nLong is not None: if _filter != "": _filter += " & " _filter += "(TrSOURCE('Rec/Track/Best') >> TrLONG >> (TrSIZE < %s))" % nLong nDigits = config["MaxSpdDigits"][name] if nDigits is not None: if _filter != "": _filter += " & " _filter += "(CONTAINS('Raw/Spd/Digits') < %s)" % nDigits nClusters = config["MaxITClusters"][name] if nClusters is not None: if _filter != "": _filter += " & " _filter += "(CONTAINS('Raw/IT/Clusters') < %s)" % nClusters nVELO = config["MaxVeloTracks"][name] if nVELO is not None: if _filter != "": _filter += " & " _filter += "(TrSOURCE('Rec/Track/Best') >> TrVELO >> (TrSIZE < %s))" % nVELO _line = StrippingLine(sel.name() + "Line", prescale=config['Prescale'][name], postscale=config['Postscale'][name], selection=sel, checkPV=config['CheckPV'][name], FILTER=_filter, HLT=config['HltFilter'][name]) if name == 'Untagged': self.line_untagged = _line else: self.line_tagged = _line self.registerLine(self.line_untagged) self.registerLine(self.line_tagged)
def __init__(self, name, config): # { LineBuilder.__init__(self, name, config) from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) d02KKmumu_name = 'D0For' + name dstar_name = name self.inPions = DataOnDemand(Location="Phys/StdLoosePions/Particles") self.inMuons = DataOnDemand(Location="Phys/StdLooseMuons/Particles") self.inKaons = DataOnDemand(Location="Phys/StdLooseKaons/Particles") self.selD02KKmumu = makeD02KKmumu( d02KKmumu_name, inputSel=[self.inMuons, self.inKaons], TrackChi2max=config['TrackChi2max'], DDauKPTmin=config['DDauKPTmin'], DDauKPmin=config['DDauKPmin'], DDauMuPTmin=config['DDauMuPTmin'], DDauMuPmin=config['DDauMuPmin'], DDauKDelPIDmin=config['DDauKDelPIDmin'], DDauMuDelPIDmin=config['DDauMuDelPIDmin'], DCombMassWind=config['DCombMassWind'], DCombAMAXDOCAmax=config['DCombAMAXDOCAmax'], DMothPTmin=config['DMothPTmin'], DMothBPVDIRAmin=config['DMothBPVDIRAmin'], DMothMIPDVmax=config['DMothMIPDVmax'], DMothMIPCHI2DVmax=config['DMothMIPCHI2DVmax'], DMothBPVVDmin=config['DMothBPVVDmin'], DMothBPVDCHI2min=config['DMothBPVDCHI2min'], DMothBPVVDZmin=config['DMothBPVVDZmin'], DMothVFASPFmax=config['DMothVFASPFmax']) self.selDstar2D0Pi_D02KKmumu = makeDstar2D0Pi( dstar_name, inputSel=[self.inPions, self.selD02KKmumu], DstarCombMassWind=config['DstarCombMassWind'], DstarCombAMAXDOCAmax=config['DstarCombAMAXDOCAmax'], DstarMothVFASPFmax=config['DstarMothVFASPFmax'], DstarMothPTmin=config['DstarMothPTmin'], DstarMothDMmin=config['DstarMothDMmin'], DstarMothDMmax=config['DstarMothDMmax'], DstarMothSlpiMIPDVmax=config['DstarMothSlpiMIPDVmax'], DstarMothSlpiMIPCHI2DVmax=config['DstarMothSlpiMIPCHI2DVmax'], DstarMothSlpiPTmin=config['DstarMothSlpiPTmin']) self.line_Dstar2D0Pi_D02KKmumu = StrippingLine( dstar_name + "Line", prescale=config['LinePrescale'], postscale=config['LinePostscale'], FILTER="TrSOURCE('Rec/Track/Best') >> TrLONG >> (TrSIZE < %s )" % config['NTracksLim'], algos=[self.selDstar2D0Pi_D02KKmumu]) self.registerLine(self.line_Dstar2D0Pi_D02KKmumu)
def __init__(self): from Configurables import LoKi__Hybrid__CoreFactory as Factory modules = Factory().Modules for module in ['LoKiTrigger.decorators']: if module not in modules: modules.append(module) from Inputs import Hlt2BiKalmanFittedForwardTracking inputs = Hlt2BiKalmanFittedForwardTracking().hlt2PrepareTracks() ec = "CONTAINS('%s') < %%(GEC_MAX)s" % inputs.outputSelection() Hlt2VoidFilter.__init__(self, 'TopoEvent', ec, [inputs], shared=True)
def __init__(self, name): from Configurables import LoKi__Hybrid__CoreFactory as Factory modules = Factory().Modules for i in [ 'LoKiTrigger.decorators' ] : if i not in modules : modules.append(i) from HltTracking.Hlt2TrackingConfigurations import Hlt2BiKalmanFittedForwardTracking as Hlt2LongTracking tracks = Hlt2LongTracking().hlt2PrepareTracks() code = ("CONTAINS('%s')" % tracks.outputSelection()) + " < %(NTRACK_MAX)s" Hlt2VoidFilter.__init__(self, "TrackEff" + name, code, [tracks], shared = True, nickname = 'TrackGEC')
def globalEventCutFilter(name, MaxTrSIZE=None): # if MaxTrSIZE == None: return None from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) _code = "(recSummary(LHCb.RecSummary.nTracks, 'Rec/Track/Best') < %(MaxTrSIZE)s )" % locals( ) return _code
def globalEventCutFilter(name, MaxTrSIZE = None ) : if MaxTrSIZE == None : return None _code = "" from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules : modules.append(i) if MaxTrSIZE != None : _code += "TrSOURCE('Rec/Track/Best') >> (TrSIZE < %(MaxTrSIZE)s )" % locals() globalFilter= VoidFilter(name) globalFilter.Code = _code return globalFilter
def globalEventCutFilter(name, MaxTrSIZE=None): if MaxTrSIZE == None: return None _code = "" from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) if MaxTrSIZE != None: _code += "(recSummaryTrack(LHCb.RecSummary.nLongTracks, TrLONG) < %(MaxTrSIZE)s )" % locals( ) globalFilter = VoidFilter(name) globalFilter.Code = _code return globalFilter
def __init__(self, moduleName, config): from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory LineBuilder.__init__(self, moduleName, config) modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) dcuts = config['DCuts'] bcuts = config['BCuts'] bchcuts = config['BachCuts'] dcuts['DauTrkChi2Max'] = config['TrkChi2Max'] bchcuts['TrkChi2Max'] = config['TrkChi2Max'] prescales = config['Prescales'] d0RSSels = {'D2hh': makeD2hhRS(moduleName, dcuts)} #d0WSSels = {'D2hhWS' : makeD2hhWS(moduleName,dcuts)} dchRSSels = {'D2hhh': makeD2hhhRS(moduleName, dcuts)} dchWSSels = {'D2hhhWS': makeD2hhhWS(moduleName, dcuts)} # right-sign lines for name, sel in d0RSSels.iteritems(): tos, tis = makeB2D0hRS(moduleName, name, sel, bcuts, bchcuts) self.makeLine(tos, name, config) self.makeLine(tis, name + 'TIS', config) for name, sel in dchRSSels.iteritems(): tos, tis = makeB02DhRS(moduleName, name, sel, bcuts, bchcuts) self.makeLine(tos, name, config) self.makeLine(tis, name + 'TIS', config) # wrong-sign lines for name, sel in dchRSSels.iteritems(): # using RS here is correct! wssel = dchWSSels[name + 'WS'] tos, tis = makeB02DhWS(moduleName, name, sel, wssel, bcuts, bchcuts) self.makeLine(tos, name + 'WS', config)
def __init__(self, moduleName, config): LineBuilder.__init__(self, moduleName, config) from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators', 'LoKiNumbers.decorators']: if i not in modules: modules.append(i) selD02K3Pi = makeD02K3Pi(moduleName, config['D0Cuts']) selDstar2D0pi = makeDstar2D0pi(moduleName, selD02K3Pi, config['DstarCuts']) _lines = {"Untagged": selD02K3Pi, "Tagged": selDstar2D0pi} self.line_untagged = None self.line_tagged = None for name, sel in _lines.iteritems(): _filter = None if config['ApplyGECs'][name]: _filter = "" nLong = config["MaxLongTracks"][name] if nLong is not None: if _filter != "": _filter += " & " _filter += "(recSummaryTrack(LHCb.RecSummary.nLongTracks, TrLONG) < %s)" % nLong nDigits = config["MaxSpdDigits"][name] if nDigits is not None: if _filter != "": _filter += " & " _filter += "( recSummary(LHCb.RecSummary.nSPDhits, 'Raw/Spd/Digits') < %s ) " % nDigits nClusters = config["MaxITClusters"][name] if nClusters is not None: if _filter != "": _filter += " & " _filter += " ( recSummary(LHCb.RecSummary.nITClusters, 'Raw/IT/Clusters') < %s ) )" % nClusters nVELO = config["MaxVeloTracks"][name] if nVELO is not None: if _filter != "": _filter += " & " _filter += "(recSummaryTrack(LHCb.RecSummary.nVeloTracks, TrVELO) < %s)" % nVELO if _filter is not None and _filter != "" and config['ApplyGECs'][ name]: _filter = { "Code": _filter, "Preambulo": [ "from LoKiTracks.decorators import *", "from LoKiNumbers.decorators import *" ] } _line = StrippingLine(sel.name() + "Line", prescale=config['Prescale'][name], postscale=config['Postscale'][name], selection=sel, checkPV=config['CheckPV'][name], FILTER=_filter, HLT=config['HltFilter'][name]) if name == 'Untagged': self.line_untagged = _line else: self.line_tagged = _line self.registerLine(self.line_untagged) self.registerLine(self.line_tagged)
''' __author__ = ['Andrew Powell', 'Sebastian Schleich'] __date__ = '2011/02/28' __version__ = '$Revision: 1.8 $' __all__ = ('InclPhiConf') from Gaudi.Configuration import * from GaudiConfUtils.ConfigurableGenerators import FilterDesktop, CombineParticles from PhysSelPython.Wrappers import Selection, DataOnDemand from StrippingConf.StrippingLine import StrippingLine from StrippingUtils.Utils import LineBuilder from StandardParticles import StdNoPIDsKaons from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules: modules.append(i) class InclPhiConf(LineBuilder): __configuration_keys__ = ( 'KaonPT' # MeV , 'KaonDLL' # adimensional , 'PhiMassWindow' # MeV , 'HighPtPrescale' # adimensional , 'LowPtPrescale' # adimensional
def __init__(self, name, config) : # { LineBuilder.__init__(self, name, config) from Configurables import LoKi__VoidFilter as VoidFilter from Configurables import LoKi__Hybrid__CoreFactory as CoreFactory modules = CoreFactory('CoreFactory').Modules for i in ['LoKiTracks.decorators']: if i not in modules : modules.append(i) d02KKpipi_name = 'D0For'+name dstar_name = name self.inPions = DataOnDemand(Location = "Phys/StdLoosePions/Particles") self.inKaons = DataOnDemand(Location = "Phys/StdLooseKaons/Particles") self.selD02KKpipi = makeD02KKpipi( d02KKpipi_name, inputSel = [ self.inPions, self.inKaons ], TrackChi2max = config['TrackChi2max'], DDauKPTmin = config['DDauKPTmin'], DDauKPmin = config['DDauKPmin'], DDauPiPTmin = config['DDauPiPTmin'], DDauPiPmin = config['DDauPiPmin'], DDauKDelPIDmin = config['DDauKDelPIDmin'], DDauPiDelPIDmin = config['DDauPiDelPIDmin'], DCombMassWind = config['DCombMassWind'], DCombAMAXDOCAmax = config['DCombAMAXDOCAmax'], DMothPTmin = config['DMothPTmin'], DMothBPVDIRAmin = config['DMothBPVDIRAmin'], DMothMIPDVmax = config['DMothMIPDVmax'], DMothMIPCHI2DVmax = config['DMothMIPCHI2DVmax'], DMothBPVVDmin = config['DMothBPVVDmin'], DMothBPVDCHI2min = config['DMothBPVDCHI2min'], DMothBPVVDZmin = config['DMothBPVVDZmin'], DMothVFASPFmax = config['DMothVFASPFmax'] ) self.selDstar2D0Pi_D02KKpipi = makeDstar2D0Pi( dstar_name, inputSel = [ self.inPions, self.selD02KKpipi ], DstarCombMassWind = config['DstarCombMassWind'], DstarCombAMAXDOCAmax = config['DstarCombAMAXDOCAmax'], DstarMothVFASPFmax = config['DstarMothVFASPFmax'], DstarMothPTmin = config['DstarMothPTmin'], DstarMothDMmin = config['DstarMothDMmin'], DstarMothDMmax = config['DstarMothDMmax'], DstarMothSlpiMIPDVmax = config['DstarMothSlpiMIPDVmax'], DstarMothSlpiMIPCHI2DVmax = config['DstarMothSlpiMIPCHI2DVmax'], DstarMothSlpiPTmin = config['DstarMothSlpiPTmin'] ) self.line_Dstar2D0Pi_D02KKpipi = StrippingLine( dstar_name + 'Line', prescale = config['LinePrescale'], postscale = config['LinePostscale'], FILTER = { "Code":"(recSummaryTrack(LHCb.RecSummary.nLongTracks, TrLONG) < %s )"% config['NTracksLim'], "Preambulo":["from LoKiTracks.decorators import *"]}, algos = [ self.selDstar2D0Pi_D02KKpipi ] ) self.registerLine(self.line_Dstar2D0Pi_D02KKpipi)