remove the pT cut in the most basic dimuon constructor for onia lines
For the basic dimuon builder make_dimuon
in the onia
directory, it requires the pT of the dimuon structure to be larger than 600MeV.
make_dimuon
is used for make_jpsi
, make_psi2s
, make_z
, make_upsilon
and make_detached_dimuon
in the same file, and make_detached_dimuon
is further used for make_detached_jpsi
and make_detached_psi2s
. However, for the final-target combiners, an additional dimuon pT cut is defined, and it is always looser than 600MeV (in fact they are all "larger than zero"). So the pT thresholds in all the high-level combiners does not work.
To test if the pT thresholds defined in high-level combiners overwrite the pT cut in make_dimuon
, I used some B2Jpsirho samples and run the Hlt2JpsiToMuMuDetachedLine trigger line where the make_detached_jpsi()
combiner is used, and the expected pT cut should be pT > 0
. The default Moore configurations give a efficiency of 42.4%, and if setting the pT cut of make_dimuon
to be 0, the efficiency becomes 43.1%. So the pT requirement in make_dimuon
is not over-written, which makes the pT cuts defined in these high-level combiners not working. The unexpected cut of pT > 600MeV will stop us from the charmonium production measurements at these low-pT regions.
This issue might have two solutions: we can either remove the pT cut in make_dimuon
, or rewrite the high-level combiners to use something like make_dimuon(minPt_dimuon=XXX, ...)
. This MR takes the first solution.
To make sure this change does not influence other trigger lines, I did
grep -r "make_dimuon(" *
in the Hlt/Hlt2Conf/python/Hlt2Conf/lines
directory. It returns
onia/builders/dimuon.py:def make_dimuon(
onia/builders/dimuon.py: return make_dimuon(
onia/builders/dimuon.py: dimuon = make_dimuon(minProbNN_muon=_PROBNNMU_JPSI)
onia/builders/dimuon.py: dimuon = make_dimuon(minProbNN_muon=_PROBNNMU_PSI2S)
onia/builders/dimuon.py: dimuon = make_dimuon(minProbNN_muon=_PROBNNMU_UPSILON)
onia/builders/dimuon.py: dimuon = make_dimuon()
where one is the definition of make_dimuon(
, while the others are for the definition of make_jpsi
, make_psi2s
, make_z
, make_upsilon
and make_detached_dimuon
, and all these high-level combiners have their own pT cut configs. (for make_detached_dimuon
the pT cut is defined in make_detached_jpsi
and make_detached_psi2s
). So this change should be quite safe.