Skip to content
Snippets Groups Projects

Updates to new HLT2 trigger line for dark photon search

Merged Carlos Eduardo Cocha Toapaxi requested to merge update_charm_dst_to_dee_cocha into master
All threads resolved!
1 file
+ 27
28
Compare changes
  • Side-by-side
  • Inline
@@ -20,7 +20,7 @@ Prompt lines
3. Ds*+ -> D(s)+ e+ e-, D(s)+ -> K- K+ pi+ Hlt2Charm_DstpToDpDspEmEp_DpDspToKmKpPip
TODO: displaced lines, include upstream tracks, tune when possible: F.CHI2DOF, F.CHI2, F.GHOSTPROB, F.P, F.BPVLTIME
TODO: displaced lines, include upstream tracks, tune when possible: F.CHI2DOF, F.CHI2, F.GHOSTPROB, F.P, F.BPVLTIME
"""
import math
import Functors as F
@@ -29,7 +29,7 @@ from GaudiKernel.SystemOfUnits import GeV, MeV, picosecond, mrad, mm
from Moore.config import register_line_builder
from Moore.lines import Hlt2Line
from PyConf import configurable
from PyConf.Algorithms import WeightedRelTableAlg, FunctionalDiElectronMaker
from PyConf.Algorithms import WeightedRelTableAlg, SelectionFromWeightedRelationTable, FunctionalDiElectronMaker
from RecoConf.reconstruction_objects import make_pvs
from Hlt2Conf.algorithms_thor import (ParticleFilter, ParticleCombiner)
from Hlt2Conf.standard_particles import (
@@ -76,7 +76,7 @@ def make_kaons_for_d0_to_hh():
def make_pions_for_d0_to_hhhh():
"""Return pions maker for D0 -> hhhh decay.
TODO:F.CHI2DOF, F.GHOSTPROB and F.P tunning.
TODO:F.CHI2DOF, F.GHOSTPROB and F.P tunning.
"""
return ParticleFilter(
make_has_rich_long_pions(),
@@ -95,7 +95,7 @@ def make_pions_for_d0_to_hhhh():
def make_kaons_for_d0_to_hhhh():
"""Return kaons maker for D0 -> hhhh decay.
TODO:F.CHI2DOF, F.GHOSTPROB and F.P tunning.
TODO:F.CHI2DOF, F.GHOSTPROB and F.P tunning.
"""
return ParticleFilter(
make_has_rich_long_kaons(),
@@ -154,9 +154,9 @@ def make_kaons_for_d_to_hhh():
@configurable
def make_photons_to_preserve():
"""Return photon maker filtered for preservation."""
return ParticleFilter(
def make_photons_to_preserve(dielectrons):
"""Return photon maker filtered to preserve photons near the dielectron candidates."""
photons = ParticleFilter(
make_photons(),
F.FILTER(
F.require_all(
@@ -168,11 +168,19 @@ def make_photons_to_preserve():
), ),
)
photons_table = WeightedRelTableAlg(
InputCandidates=photons,
ReferenceParticles=dielectrons,
Cut=in_range(0. * MeV, F.COMB_MASS(), 600. * MeV))
return SelectionFromWeightedRelationTable(
InputRelations=photons_table.OutputRelations)
@configurable
def make_prompt_electrons_no_brem(pt_min=50 * MeV):
"""Return prompt electron maker without bremsstrahlung correction.
TODO: F.GHOSTPROB and F.CHI2 tunning.
TODO: F.GHOSTPROB and F.CHI2 tunning.
"""
return ParticleFilter(
@@ -382,21 +390,18 @@ def dstar2dzeroee_dzero2kpi_line(name="Hlt2Charm_Dst0ToD0EmEp_D0ToKmPip",
electrons = make_prompt_electrons_no_brem()
dielectrons = make_TwoElectrons_with_brem(electrons)
dst0s = make_dst_to_dee(dzeros, dielectrons, "D*(2007)0 -> D0 gamma",
dst0s = make_dst_to_dee(dzeros, dielectrons, "[D*(2007)0 -> D0 gamma]cc",
"Dst0ToD0EmEp_D0ToKmPip_combiner")
photons_table = WeightedRelTableAlg(
InputCandidates=make_photons_to_preserve(),
ReferenceParticles=dielectrons,
Cut=in_range(0. * MeV, F.COMB_MASS(), 600. * MeV))
persistable_photons = make_photons_to_preserve(dielectrons)
return Hlt2Line(
name=name,
algs=charm_prefilters() + [dst0s, photons_table],
algs=charm_prefilters() + [dst0s, persistable_photons],
prescale=prescale,
persistreco=True,
extra_outputs=[('Dst0ToD0EmEp_D0ToKmPip_prompt_Photons',
photons_table.OutputRelations)],
persistable_photons.OutputLocation)],
#hlt1_filter_code=["Hlt1.*MVADecision"],
)
@@ -413,21 +418,18 @@ def dstar2dzeroee_dzero2kpipipi_line(
electrons = make_prompt_electrons_no_brem()
dielectrons = make_TwoElectrons_with_brem(electrons)
dst0s = make_dst_to_dee(dzeros, dielectrons, "D*(2007)0 -> D0 gamma",
dst0s = make_dst_to_dee(dzeros, dielectrons, "[D*(2007)0 -> D0 gamma]cc",
"Dst0ToD0EmEp_D0ToKmPimPipPip_combiner")
photons_table = WeightedRelTableAlg(
InputCandidates=make_photons_to_preserve(),
ReferenceParticles=dielectrons,
Cut=in_range(0. * MeV, F.COMB_MASS(), 600. * MeV))
persistable_photons = make_photons_to_preserve(dielectrons)
return Hlt2Line(
name=name,
algs=charm_prefilters() + [dst0s, photons_table],
algs=charm_prefilters() + [dst0s, persistable_photons],
prescale=prescale,
persistreco=True,
extra_outputs=[('Dst0ToD0EmEp_D0ToKmPimPipPip_prompt_Photons',
photons_table.OutputRelations)],
persistable_photons.OutputLocation)],
#hlt1_filter_code=["Hlt1.*MVADecision"]
)
@@ -446,17 +448,14 @@ def dstarplus2dsee_dsp2kkpi_line(
dstp = make_dst_to_dee(dsplus, dielectrons, "[D*_s+ -> D_s+ gamma]cc",
"DstpToDpDspEmEp_DpDspToKmKpPip_combiner")
photons_table = WeightedRelTableAlg(
InputCandidates=make_photons_to_preserve(),
ReferenceParticles=dielectrons,
Cut=in_range(0. * MeV, F.COMB_MASS(), 600. * MeV))
persistable_photons = make_photons_to_preserve(dielectrons)
return Hlt2Line(
name=name,
algs=charm_prefilters() + [dstp, photons_table],
algs=charm_prefilters() + [dstp, persistable_photons],
prescale=prescale,
persistreco=True,
extra_outputs=[('DstpToDpDspEmEp_DpDspToKmKpPip_prompt_Photons',
photons_table.OutputRelations)],
persistable_photons.OutputLocation)],
#hlt1_filter_code=["Hlt1.*MVADecision"],
)
Loading