def __init__(self, name): JpsiCuts = ( "%(JpsiCuts)s" ) DauCuts = ( "%(DauCuts)s" ) ComCuts = ( "%(ComCuts)s" ) MomCuts = ( "%(MomCuts)s" ) from Inputs import BiKalmanFittedPions inputs = [ DiMuonFilter("JpsiForBc2JpsiH", JpsiCuts, nickname=name), BiKalmanFittedPions ] Hlt2Combiner.__init__(self, name, "[ B_c+ -> J/psi(1S) pi+ ]cc", inputs, DaughtersCuts = { 'pi+' : DauCuts }, CombinationCut = ComCuts, MotherCut = MomCuts, Preambulo = [])
def __init__(self, name): DauCuts = ("%(DauCuts)s") ComCuts = ("%(ComCuts)s") MomCuts = ("%(MomCuts)s") from Inputs import Hlt2WidePhi inputs = [Hlt2WidePhi] Hlt2Combiner.__init__(self, name, "J/psi(1S) -> phi(1020) phi(1020)", inputs, DaughtersCuts={'phi(1020)': DauCuts}, CombinationCut=ComCuts, MotherCut=MomCuts, Preambulo=[])
def __init__(self, name,inputs): ## opening angle between slow pion and D0 flight dot_prod = "(ACHILD( VFASPF( VX ),1)*ACHILD(PX,2) + ACHILD( VFASPF( VY ),1)*ACHILD(PY,2) + ACHILD( VFASPF( VZ ),1)*ACHILD(PZ,2))" mag = "math.sqrt(ACHILD( VFASPF( VX ),1)**2+ACHILD( VFASPF( VY ),1)**2+ACHILD( VFASPF( VZ ),1)**2)" formula = "(180./3.1415)*acos( %(dot_prod)s / (ACHILD(P,2)*%(mag)s) )" %{"dot_prod":dot_prod, "mag":mag} DstCombinationCut = "("+formula+" < %(Dst_MaxAOA)s) & (APT > %(Dst_MinAPT)s ) & (AALLSAMEBPV)" DstMotherCut = "(Dst_M - D0_M < %(Dst_MaxSimpleFitDeltaMass)s)" DaughtersCuts = {'pi+' : "(PT > %(Slowpi_MinPt)s)"} from HltTracking.HltPVs import PV3D from Preambulo import DstPreambulo Hlt2Combiner.__init__(self, name, "[D*(2010)+ -> D0 pi+]cc", inputs, dependencies = [TrackGEC('TrackGEC'), PV3D('Hlt2')], CombinationCut = DstCombinationCut, MotherCut = DstMotherCut, DaughtersCuts = DaughtersCuts, Preambulo = DstPreambulo())
def __init__(self, tag, n, inputs): if n == 3: decays = [ "D*(2010)+ -> K*(892)0 K+", "D*(2010)+ -> K*(892)0 K-", "D*(2010)+ -> K*(892)0 KS0", "D*(2010)+ -> K*(892)0 KS0", "D*(2010)+ -> K*(892)0 Lambda0", "D*(2010)+ -> K*(892)0 Lambda~0" ] elif n == 4: decays = [ "B0 -> D*(2010)+ K-", "B0 -> D*(2010)+ K+", "B0 -> D*(2010)+ KS0", "B0 -> D*(2010)+ Lambda0", "B0 -> D*(2010)+ Lambda~0" ] else: decays = [ "K*(892)0 -> K+ K+", "K*(892)0 -> K+ K-", "K*(892)0 -> K- K-", "K*(892)0 -> K+ KS0", "K*(892)0 -> K- KS0", "K*(892)0 -> K+ Lambda0", "K*(892)0 -> K- Lambda0", "K*(892)0 -> K+ Lambda~0", "K*(892)0 -> K- Lambda~0", "K*(892)0 -> KS0 KS0" ] cc = ( "(AM < 7000*MeV) & ((ANUM((ID=='KS0') | (ABSID=='Lambda0')) > 0) " "| ((AALLSAMEBPV | (AMINCHILD(MIPCHI2DV(PRIMARY)) > 16)) " "& (AMAXDOCA('LoKi::DistanceCalculator') <" " %(RUN1_AMAXDOCA_MAX)s)))") mc = "(BPVDIRA > 0) & (BPVVDCHI2 > %(RUN1_BPVVDCHI2_MIN)s)" if tag == 'RAD': decays = ['B+ -> K*(892)0 gamma'] cc = "AM > 0" from HltTracking.HltPVs import PV3D dep = [PV3D('Hlt2')] if tag == 'RAD': from HltLine.HltDecodeRaw import DecodeL0CALO dep.append(DecodeL0CALO) from Hlt2Lines.Utilities.Hlt2MergedStage import Hlt2MergedStage merged = Hlt2MergedStage('Run1Topo%s%iBody' % (tag, n), inputs, shared=True) Hlt2Combiner.__init__(self, 'Run1Topo%s%iBody' % (tag, n), decays, [merged], shared=True, dependencies=dep, CombinationCut=cc, MotherCut=mc)
def __init__(self, inputs): dc = {} dc['mu+'] = "(PT > %(TRK_PT_MIN)s) & (P > %(TRK_P_MIN)s) & (TRGHOSTPROB < %(MUMUDD_GHOSTPROB)s)" cc = "(ACUTDOCACHI2(20, ''))" mc = "(VFASPF(VCHI2PDOF) < 20) " from HltTracking.HltPVs import PV3D Hlt2Combiner.__init__(self, 'TopoCombineDiMuonDD', "KS0 -> mu+ mu-", inputs, dependencies=[PV3D('Hlt2')], DaughtersCuts=dc, CombinationCut=cc, MotherCut=mc, Preambulo=[], shared=True)
def __init__(self, name, nickname, decayDesc, inputSeq): from HltTracking.HltPVs import PV3D masscut = "(M < 10500)" combcuts = "(AM<11000)" \ "& (AMAXDOCA('LoKi::TrgDistanceCalculator') < %(XcMu_DOCA_MAX)s)" mothercuts = masscut + \ "& (VFASPF(VCHI2PDOF) < %(XcMu_VTXCHI2)s) " \ "& (BPVDIRA > %(XcMu_DIRA)s ) " \ "& (BPVVDCHI2> %(XcMu_FDCHI2)s )" Hlt2Combiner.__init__(self, name, decayDesc, inputSeq, dependencies = [PV3D('Hlt2')], nickname = nickname, CombinationCut = combcuts, MotherCut = mothercuts, Preambulo = [], shared=True)
def __init__(self, name): tightMu = ("(PT > %(MuonPT)g)" + "& ( BPVIPCHI2() > %(Chi2IP_Tight)g)") dc = {'mu+': tightMu} cc = "AALL" mc = "ALL" from HltTracking.HltPVs import PV3D inputs = [goodMuons] Hlt2Combiner.__init__(self, name, "[B_c+ -> mu+ mu+ mu-]cc", inputs, dependencies=[ MultiMuonFilter('TriMuonMultiMuonFilter'), PV3D('Hlt2') ], DaughtersCuts=dc, CombinationCut=cc, MotherCut=mc)
def __init__(self, name, decay, inputs, nickname=None): # { cc = ("(in_range( %(AM_MIN)s, AM, %(AM_MAX)s ))" + " & ((APT1+APT2) > %(ASUMPT_MIN)s )") mc = ("(VFASPF(VCHI2PDOF) < %(VCHI2PDOF_MAX)s)") nickname = name if nickname == None else nickname Hlt2Combiner.__init__(self, "SMOG" + name, decay, inputs, nickname=nickname, dependencies=[TrackGEC('TrackGEC')], shared=True, tistos='TisTosSpec', CombinationCut=cc, MotherCut=mc, Preambulo=[])
def __init__(self, name): DauCuts = ("%(DauCuts)s") ComCuts = ("%(ComCuts)s") MomCuts = ("%(MomCuts)s") from Inputs import Hlt2TightKstar inputs = [Hlt2TightKstar] Hlt2Combiner.__init__(self, name, "J/psi(1S) -> K*(892)0 K*(892)~0", inputs, DaughtersCuts={ 'K*(892)0': DauCuts, 'K*(892)~0': DauCuts }, CombinationCut=ComCuts, MotherCut=MomCuts, Preambulo=[])
def __init__(self, name): inputs = [Hlt2Muons] dc = {} dc['mu+'] = ("(PT > %(MuPT)s) " "& (P > %(MuP)s) " "& (TRGHOSTPROB < %(GhostProb)s) " "& (PROBNNmu > %(MuProbNNmu)s) ") cc = "(AMAXDOCA('') < %(DOCA)s)" mc = "(VFASPF(VCHI2PDOF) < %(VChi2)s) " Hlt2Combiner.__init__(self, name, "KS0 -> mu+ mu-", inputs, dependencies = [PV3D('Hlt2')], DaughtersCuts = dc, CombinationCut = cc, MotherCut = mc, Preambulo = [], shared = True)
def __init__(self, mode, nickname, stat): cc = ("(AMAXDOCA('') < %(JPsiDOCA)s)") mc = ("(VFASPF(VCHI2PDOF) < %(JPsiVtxChi2)s)" + " & (PT > %(JPsiPt)s)" + " & (MIPDV(PRIMARY) < %(JPsiMaxIP)s)" + " & (MIPCHI2DV(PRIMARY) < %(JPsiMaxIPchi2)s)" + " & (ADMASS('J/psi(1S)') < %(JPsiMassWin)s)") inputs = [TagFilter(mode, nickname), ProbeFilter(mode, nickname, stat)] Hlt2Combiner.__init__(self, 'TrackEff' + nickname + str(mode) + stat + 'JPsi', "J/psi(1S) -> mu+ mu-", inputs, dependencies=[PV3D('Hlt2')], nickname=nickname, tistos=[], CombinationCut=cc, MotherCut=mc, Preambulo=[], shared=True)
def __init__(self, name, decay, inputs, shared=False, nickname=None): dc = {} for child in ['pi+', 'K+', 'p+']: dc[child] = "(PT > %(Trk_ALL_PT_MIN)s) & (MIPCHI2DV(PRIMARY) > %(Trk_ALL_MIPCHI2DV_MIN)s)" c12 = (" ( AM < (%(AM_MAX)s - %(AM_34)s) ) " + "&( ACHI2DOCA(1,2) < %(ACHI2DOCA_MAX)s ) " + "&( ADOCA(1,2) < %(ADOCA_MAX)s ) ") c123 = (" ( AM < (%(AM_MAX)s - %(AM_4)s) ) " + "&( ACHI2DOCA(1,3) < %(ACHI2DOCA_MAX)s ) " + "&( ACHI2DOCA(2,3) < %(ACHI2DOCA_MAX)s ) " + "&( ADOCA(1,3) < %(ADOCA_MAX)s ) " + "&( ADOCA(2,3) < %(ADOCA_MAX)s ) ") cc = (" (in_range( %(AM_MIN)s, AM, %(AM_MAX)s )) " + "&( (APT1+APT2+APT3+APT4) > %(ASUMPT_MIN)s )" + "&( ACHI2DOCA(1,4) < %(ACHI2DOCA_MAX)s ) " + "&( ACHI2DOCA(2,4) < %(ACHI2DOCA_MAX)s ) " + "&( ACHI2DOCA(3,4) < %(ACHI2DOCA_MAX)s ) " + "&( ADOCA(1,4) < %(ADOCA_MAX)s ) " + "&( ADOCA(2,4) < %(ADOCA_MAX)s ) " + "&( ADOCA(3,4) < %(ADOCA_MAX)s ) " + "&( AP > %(AMOM_MIN)s )") mc = ("(VFASPF(VCHI2PDOF) < %(VCHI2PDOF_MAX)s)" + " & (BPVDIRA > %(BPVDIRA_MIN)s )" + " & (BPVLTIME() > %(BPVLTIME_MIN)s )" + " & (BPVVDCHI2 > %(BPVVDCHI2_MIN)s )" + " & (PT > %(BPT_MIN)s )" + " & (P > %(BMOM_MIN)s )") from HltTracking.HltPVs import PV3D Hlt2Combiner.__init__( self, name, decay, inputs, shared=shared, dependencies=[TrackGEC('TrackGEC'), PV3D('Hlt2')], tistos='TisTosSpec', combiner=DaVinci__N4BodyDecays, DaughtersCuts=dc, Combination12Cut=c12, Combination123Cut=c123, CombinationCut=cc, MotherCut=mc, Preambulo=[], nickname=nickname)
def __init__(self, name): dc = {'mu+': "ALL"} cc = ("(ADAMASS('tau+') < %(MassWin)g)" + "& (AM12 > 2 * PDGM('mu+') + %(DiMuMass)g)") mc = ("(VFASPF(VCHI2) < %(VertexChi2)g)" + "& (BPVLTIME() * c_light > %(ctau)g)") from HltTracking.HltPVs import PV3D inputs = [goodMuons] Hlt2Combiner.__init__(self, name, "[tau+ -> mu+ mu+ mu-]cc", inputs, dependencies=[ MultiMuonFilter('TriMuonMultiMuonFilter'), PV3D('Hlt2') ], DaughtersCuts=dc, CombinationCut=cc, MotherCut=mc)
def __init__(self, name, inputs): combination_cuts = "(AM>%(LambdaMuMassLowTight)s*MeV) & (AM<%(XMuMassUpperHigh)s*MeV)" mother_cuts = ( "(VFASPF(VCHI2/VDOF)< %(BVCHI2DOF)s) & (BPVDIRA> %(BDIRA)s)" + "& ( MINTREE((ABSID=='Lambda0'),VFASPF(VZ)) - VFASPF(VZ) > %(LambdaZ)s *mm )" ) decay = "[B- -> Lambda0 mu-]cc" Hlt2Combiner.__init__( self, name, decay, inputs, nickname='BLambdaMu', dependencies=[PV3D('Hlt2')], # DaughtersCuts = daughters_cuts, CombinationCut=combination_cuts, MotherCut=mother_cuts, Preambulo=[])
def __init__(self, inputs): decays = ['K*(892)0 -> K+ KS0', 'K*(892)0 -> K- KS0'] cc = ("(APT > %(CMB_PRT_PT_MIN)s) " "& (ACUTDOCACHI2(%(CMB_VRT_CHI2_MAX)s, '')) " "& (AM < %(CMB_VRT_MCOR_MAX)s) ") mc = ("(HASVERTEX)" "& (VFASPF(VCHI2) < %(CMB_VRT_CHI2_MAX)s) ") #"& (BPVVDCHI2 > %(CMB_VRT_VDCHI2_MIN)s) " #"& (in_range(%(CMB_VRT_ETA_MIN)s, BPVETA," #" %(CMB_VRT_ETA_MAX)s)) ") from Hlt2Lines.Utilities.Hlt2MergedStage import Hlt2MergedStage merged = [Hlt2MergedStage('TopoTrackDiMuonDDTos', inputs, shared=True)] from HltTracking.HltPVs import PV3D Hlt2Combiner.__init__(self, 'TopoTrackDiMuonDDTos', decays, merged, shared=True, tistos='MUMUDDTOS', dependencies=[PV3D('Hlt2')], CombinationCut=cc, MotherCut=mc)
def __init__(self, name, decayDesc, inputSeq): from HltTracking.HltPVs import PV3D combcuts = "(ADAMASS('D+') < %(DMassWin_HLL)s *MeV)"\ "& (AMAXDOCA('') < %(DMAXDOCA_HLL)s)"\ "& (AM > %(DMassLow_HLL)s *MeV)"\ "& (AM23 > %(DimuonMass_HLL)s *MeV)"\ "& (AALLSAMEBPV)" mothercuts = "(VFASPF(VCHI2/VDOF) < %(DVCHI2DOF_HLL)s)"\ "& (BPVIPCHI2() < %(DIPCHI2_HLL)s)"\ "& (BPVVDCHI2 > %(BPVVD_HLL)s)"\ "& (BPVDIRA > %(DDIRA_HLL)s)" Hlt2Combiner.__init__(self, name, decayDesc, inputSeq, dependencies=[PV3D('Hlt2')], CombinationCut=combcuts, MotherCut=mothercuts, Preambulo=[], shared=True)
def __init__(self, name): inputs = [Hlt2Muons] dc = {} dc['mu+'] = ("(PT > %(MuPT)s) " "& (P > %(MuP)s) " "& (BPVIPCHI2() < %(MuIPChi2)s) " "& (TRGHOSTPROB < %(GhostProb)s) " "& (PROBNNmu > %(MuProbNNmu)s) ") cc = "(APT > %(PT)s) & (AMAXDOCA('') < %(DOCA)s)" mc = ("(VFASPF(VCHI2PDOF) < %(VChi2)s) " "& (PT > %(PT)s)" "& (HASVERTEX)" "& (BPVVDCHI2 < %(FDChi2)s)") Hlt2Combiner.__init__(self, name, "[KS0 -> mu+ mu+]cc", inputs, dependencies = [PV3D('Hlt2')], DaughtersCuts = dc, CombinationCut = cc, MotherCut = mc, Preambulo = [])
def __init__(self, name, inputs): dc = { 'K+' : "(MIPCHI2DV(PRIMARY) > %(Trk_ALL_MIPCHI2DV_MIN)s) & " + "(PT > %(Trk_ALL_PT_MIN)s)" } cc = ("(ADAMASS('phi(1020)') < %(AMWindow)s) & " + "(ACHI2DOCA(1,2) < %(MaxDocaChi2)s) & " + "((APT1+APT2) > %(ASUMPT_MIN)s) & " + "(AHASCHILD(MIPCHI2DV(PRIMARY) > %(Trk_1OF2_MIPCHI2DV_MIN)s)) & " + "(AHASCHILD(PT > %(Trk_1OF2_PT_MIN)s))") mc = ("(ADMASS('phi(1020)') < %(MWindow)s)") from HltTracking.HltPVs import PV3D Hlt2Combiner.__init__(self, 'PID' + name, "phi(1020) -> K+ K-", inputs, shared = True, nickname = name, dependencies = [ PV3D('Hlt2') ], DaughtersCuts = dc, CombinationCut = cc, MotherCut = mc, Preambulo = [ ])
def __init__(self, name, decay, inputs, nickname=None, shared=False, **kwargs): # { '''**kwargs can be anything accepted by the Hlt2Combiner constructor, eg, to enable PV refitting use ReFitPVs = True.''' dc = {} for child in ['pi+', 'K+', 'p+']: dc[child] = "(PT > %(Trk_ALL_PT_MIN)s)" \ "& (P > %(Trk_ALL_P_MIN)s)" ## Assume that the wide mass range is wider than the narrow range. combcuts = "in_range(%(Comb_AM_MIN)s, AM, %(Comb_AM_MAX)s)" \ "& ((APT1 > %(Trk_Max_APT_MIN)s) " \ "| (APT2 > %(Trk_Max_APT_MIN)s))" \ "& (AMINDOCA('') " \ "< %(Pair_AMINDOCA_MAX)s )" parentcuts = "(VFASPF(VCHI2PDOF) < %(D0_VCHI2PDOF_MAX)s)" name = name if not shared else 'SMOG' + name Hlt2Combiner.__init__(self, name, decay, inputs, dependencies=[TrackGEC('TrackGEC')], tistos='TisTosSpec', nickname=nickname, shared=shared, DaughtersCuts=dc, CombinationCut=combcuts, MotherCut=parentcuts, Preambulo=[], **kwargs)
def __init__(self, name): picut = ("(TRCHI2DOF < %(TrChi2)s )" + " & (PT > %(PionPT)s)" + " & (MIPCHI2DV(PRIMARY) > %(PionIPCHI2)s)") dc = {'pi+': picut} cc = ("( (APT1 + APT2) > %(SumPT)s )" + " & ( AM > %(BMassWinLow)s )" + " & ( AM < %(BMassWinHigh)s )" + " & ( ACUTDOCACHI2( %(DOCACHI2)s, '' ) )") mc = ("( PT > %(BPT)s )" + " & ( BPVDIRA > %(BDIRA)s )" + " & ( BPVIPCHI2() < %(BIPCHI2)s )" + " & ( BPVVDCHI2 > %(BFDCHI2)s )") from HltTracking.HltPVs import PV3D from Inputs import Hlt2NoPIDsPions inputs = [Hlt2NoPIDsPions] Hlt2Combiner.__init__(self, 'B2HH', "B0 -> pi+ pi-", inputs, dependencies=[PV3D('Hlt2')], DaughtersCuts=dc, CombinationCut=cc, MotherCut=mc, Preambulo=[])
def __init__(self, name, decay, inputs, nickname=None): # { dc = {} for child in ['pi+', 'K+', 'p+']: dc[child] = "(PT > %(Trk_ALL_PT_MIN)s)" cc = ("(in_range( %(AM_MIN)s, AM, %(AM_MAX)s ))" + " & ((APT1+APT2+APT3) > %(ASUMPT_MIN)s )" + " & (AHASCHILD(PT > %(Trk_1OF3_PT_MIN)s))" + " & (ANUM(PT > %(Trk_2OF3_PT_MIN)s) >= 2)") mc = ("(VFASPF(VCHI2PDOF) < %(VCHI2PDOF_MAX)s)") nickname = name if nickname == None else nickname Hlt2Combiner.__init__(self, "SMOG" + name, decay, inputs, nickname=nickname, dependencies=[TrackGEC('TrackGEC')], shared=True, tistos='TisTosSpec', DaughtersCuts=dc, CombinationCut=cc, MotherCut=mc, Preambulo=[])
def __init__(self, name): inputs = [UnbiasedPhi2KK] dc = {} dc['phi(1020)'] = ("(PT > %(PhiPT)s) " "& (MINTREE('K+'==ABSID,PT) > %(KPT)s) " "& (MINTREE('K+'==ABSID,BPVIPCHI2()) > %(KIPChi2)s) " "& (MAXTREE('K+'==ABSID,TRGHOSTPROB) < %(GhostProb)s) " "& (MINTREE('K+'==ABSID,PROBNNK) > %(KProbNNk)s) " "& (VFASPF(VCHI2PDOF) < %(VChi2)s) " "& (in_range( PDGM('phi(1020)') - %(PhiMassWindow)s , M , PDGM('phi(1020)') + %(PhiMassWindow)s ) )") mc = ("(HASVERTEX)" "& (VFASPF(VCHI2) < %(VChi2)s) " "& (BPVVDCHI2 > %(FDChi2)s)") Hlt2Combiner.__init__(self, name, "B0 -> phi(1020) phi(1020)", inputs, dependencies = [PV3D('Hlt2')], tistos = 'TisTosSpec', DaughtersCuts = dc, #CombinationCut = cc, MotherCut = mc, Preambulo = [])