tomeichlersmith / hps

0 stars 0 forks source link

iDM Phase Space #14

Closed tomeichlersmith closed 1 year ago

tomeichlersmith commented 1 year ago

The default parameters that came with the MG model assume a much higher energy beam than what HPS uses. I am studying the 2016 data set with a 2.3GeV electron beam hitting tungsten (at rest with a mass set to 174GeV). This has pushed me to lower the masses of the DM substantially (mZP = 1GeV, mChi = 0.1GeV, and dMChi = 0.001 GeV), but even in this low mass configuration, MG is still struggling to find any phase space available. In fact, I am only getting zero-events, zero-cross section runs. Is it just a difficult phase space to access and I should be more patient? Am I changing the wrong parameters?

Near the end of running, I get this error.

Survey return zero cross section. 
   Typical reasons are the following:
   1) A massive s-channel particle has a width set to zero.
   2) The pdf are zero for at least one of the initial state particles
      or you are using maxjetflavor=4 for initial state b:s.
   3) The cuts are too strong.
   Please check/correct your param_card and/or your run_card.
Zero result detected: See https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/FAQ-General-14
tomeichlersmith commented 1 year ago

I feel like we may need to generate the dark sector widths before we can faithfully generate events (since the dark sector widths are parameters for those events). I tried using MG/ME to calculate these widths but the values were so far off from the values listed by default in the parameters that I am uncertain on if that is the correct procedure.

$ ./bin/mg5_aMC
MG5_aMC>import model idm-full --modelname                                                                                             
Kept definitions of multiparticles p / j / l+ / l- / vl / vl~ unchanged
Defined multiparticle all = g u d s u~ d~ s~ a ve vm vt ve~ vm~ vt~ c t b c~ t~ b~ z zp w+ h hs w- e- m- tt- chi1 chi2 n e+ m+ tt+ n~
MG5_aMC>generate zp > chi1 chi2
INFO: Trying process: zp > chi1 chi2 @1  
INFO: Process has 1 diagrams 
1 processes with 1 diagrams generated in 0.007 s
Total: 1 processes with 1 diagrams
MG5_aMC>output zp-chi1chi2-width
< omitted seemingly normal output for brevity >
MG5_aMC> launch
# kept default parameters to try to recalculate the default ZP width
< omitted output for brevity >
  === Results Summary for run: run_01 tag: tag_1 ===

     Width :   0.05213 +- 9.064e-11 GeV
     Nb of events :  10000

< omitted output for brevity >

This width as reported by MG/ME for zp is different from the width as defined by default in the model.

https://github.com/tomeichlersmith/hps/blob/de6f74eff61de2959e497d1543cc9abd27c99cb9/idm/parameters.py#L349-L355

tomeichlersmith commented 1 year ago

Going to log a lot more detail here to help debug in the future.


Various Runs of Full iDM Model

The runs I studied here are focused on varying the parameters of the beam and the dark sector model. Hopefully this can lead to more information about how the idm model should be used. I generated the MadEvent directory using MadGraph5 v3.4.1 and idm subdirectory of commit https://github.com/tomeichlersmith/hps/commit/3e727b6ad81ad53a0e3d90a343ff5c8365bb3652 of this repository.

./bin/mg5_aMC
import model idm-full --modelname
generate e- n > e- n zp, (zp > chi1 chi2, chi2 > chi1 e- e+)
output idm-full
exit
cd idm-full

I then immediately changed the ebeam2 parameter in run_card.dat to be 174.0 so that the target nucleus is stationary for all these tests.

Runs

  1. Leave ebeam1 at 500 GeV. Got the optimizer warning (#15 ), but did not crash out with zero phase space available. Generated a total of 3 events with a cross section of 4.596e-29 pb when asking for 10k events.
  2. Increase ebeam1 to 1000 GeV. Similar runtime printouts but took a lot longer to run. Generated a total of 5 events with a cross section of 3.498e-20 pb when asking for 10k events.
  3. Scale dark photon and chi mass parameters down to a beam energy of 2.3GeV (from 1000 GeV) and change ebeam1 to 2.3 GeV (the beam energy of HPS 2016 data). Hoping scaling these parameters down but keeping the relative ratios will allow for similar behavior as the 1000 GeV ebeam1 with default mass parameters. Similar runtime printouts as run 2. Generated a total of 2 events with a cross section of 1.843e+26 +- 1.843e+26 pb.
tomeichlersmith commented 1 year ago

I tried a few other parameter points without changing the run card. The electron beam energy is still 2.3GeV while and tungsten target is 174GeV so it is stationary. 10k events were requested.

mchi dmchi mzd mhs Result
1e-2 1e-4 2e-1 2 zero cross section
1e-2 1e-3 2e-1 2 zero cross section
1e-2 4e-3 2e-1 2 zero cross section
2e-3 4e-4 2e-1 2 zero cross section
tomeichlersmith commented 1 year ago

For future reference, the model I am exploring produces the attached Feynman diagrams when the dark brem + iDM decay chain is generated. (I also have the high-res matrix1.pdf if needed.)

matrix11 matrix12

tomeichlersmith commented 1 year ago

Good but confusing news. I haven't been able to deduce what happened but rerunning with a different random seed appears to help MG find some phase space. I was rerunning some previous tests to make sure I wasn't applying some cuts that were leftover in the run card and it appears, without changing the cuts, that I have been able to generate some iDM events with accessible parameters at 100GeV electron beam energy.

Mass Check

To make sure the parameters are configured properly, I check that the masses in the LHE are distributed around the parameter mass. They are :tada: so we can go on studying these samples. mA mChi1 mChi2

Produced $e^+e^-$ Pair Energies

The shift in energy distributions looks similar to the case where the dark photon mass was unchanged which may be as expected.

prod_electron-energy prod_positron_energy

Cause of Change

For context, I am using one MadEvent workspace for these tests. run_01 is the original settings, run_05 is the one with the lowered parameters that only made 2 events and complained about the phase space size, run_08 is the one with the same parameters as run_05 but a different rand seed. The only thing I can think of is that we were really unlucky with the iseed choice for run_05 but I haven't had a chance to verify that yet by trying to replicate those results with a different workspace and (what I believe to be) the same parameters and iseed. The other potential difference is that the changing cuts are not written to the banner like I would expect which would be lame.

eichl008@spa-cms017 ~/hps/MG5_aMC_v3_4_1/me-packs/idm-1-no-restrict/Events> diff run_01/run_01_tag_1_banner.txt run_05/run_05_tag_1_banner.txt 
151c151
<  21 = iseed   ! rnd seed (0=assigned automatically=default))
---
>  57 = iseed   ! rnd seed (0=assigned automatically=default))
329c329
<     1 1.000000e-01 # Mchi 
---
>     1 2.000000e-02 # Mchi 
352,353c352,353
<     1 2.000000e+01 # mZDinput 
<     2 2.000000e+02 # MHSinput 
---
>     1 2.000000e+00 # mZDinput 
>     2 1.000000e+01 # MHSinput 
478c478
< #  Integrated weight (pb)  :       5.9032102566359914e-30
---
> #  Integrated weight (pb)  :       1.3274e-06
eichl008@spa-cms017 ~/hps/MG5_aMC_v3_4_1/me-packs/idm-1-no-restrict/Events> diff run_05/run_05_tag_1_banner.txt run_08/run_08_tag_1_banner.txt 
151c151
<  57 = iseed   ! rnd seed (0=assigned automatically=default))
---
>  84 = iseed   ! rnd seed (0=assigned automatically=default))
478c478
< #  Integrated weight (pb)  :       1.3274e-06
---
> #  Integrated weight (pb)  :       1.3381115145085167e-15
tomeichlersmith commented 1 year ago

While the above is a decent sign that the model is functional, it does not remove the question of how big the phase space is. If it is very small, then there won't be very many iseed values that we can use to generate lots of events. Below, I have a table that summarizes the number of events generated when requesting 10k events with 100GeV electron beam on stationary tungsten.

As the table lays out, I was seeing some odd behavior and so to double check I made a new MadEvent workspace and started testing in larger batches.

Run Name iseed N events Comment
idm-1-no-restrict/Events/run_01 21 10000 $mA = 20$ GeV (was lowering $m\chi$)
idm-1-no-restrict/Events/run_02 30 10000 $mA = 20$ GeV (was lowering $m\chi$)
idm-1-no-restrict/Events/run_03 39 2 lower $m_A$ to 2 GeV
idm-1-no-restrict/Events/run_04 48 5 lower $m_{H_S}$ to 20 GeV
idm-1-no-restrict/Events/run_05 57 2 lower $m_{H_S}$ to 10 GeV
idm-1-no-restrict/Events/run_06 66 3 move kap to 1e-11
idm-1-no-restrict/Events/run_07 75 3 change kap to 1e-7
idm-1-no-restrict/Events/run_08 84 10000 change kap back to 1e-9 (i.e. same as run_05 above except iseed)
idm-1-no-restrict/Events/run_09 93 2 only change drll relative to run_08
idm-1-no-restrict/Events/run_10 102 2 same as run_08 except iseed
idm-1-no-restrict/Events/run_11 102 2 same as run_08 except iseed
idm-3-seed-success-density/Events/run_01 21 5 same as run_08 in previous ME workspace except iseed
idm-3-seed-success-density/Events/run_02 30 1 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_03 36 1 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_04 45 7 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_05 54 1 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_06 63 2 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_07 72 3 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_08 81 2 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_09 90 7 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_10 99 4 same as run_01 from this workspace except iseed
idm-3-seed-success-density/Events/run_11 111 7 $\Delta m_\chi \to 2*10^{-4}$, $mA \to 0.4$, and $m{H_S} = 4$
idm-3-seed-success-density/Events/run_12 120 1 same as run_11 except iseed
idm-3-seed-success-density/Events/run_13 129 3 same as run_11 except iseed
idm-3-seed-success-density/Events/run_14 138 2 same as run_11 except iseed
idm-3-seed-success-density/Events/run_15 147 1 same as run_11 except iseed
idm-3-seed-success-density/Events/run_16 156 1 same as run_11 except iseed
idm-3-seed-success-density/Events/run_17 165 2 same as run_11 except iseed
idm-3-seed-success-density/Events/run_18 174 1 same as run_11 except iseed
idm-3-seed-success-density/Events/run_19 183 1 same as run_11 except iseed
idm-3-seed-success-density/Events/run_20 192 7 same as run_11 except iseed

How did I get this table?

Some bash nonsense...

for r in idm-1-no-restrict/Events/* idm-3-seed-success-density/Events/*; do 
  [ -f $r/unweighted_events.lhe ] || gunzip $r/unweighted_events.lhe.gz; 
  seed=$(grep iseed $r/unweighted_events.lhe | awk '{print $1}'); 
  nevents=$(grep -c '</event>' $r/unweighted_events.lhe); 
  echo "$r | $seed | $nevents"; 
done

And then I used diff between the *banner.txt files in the different run directories to double check the changing parameters.

tomeichlersmith commented 1 year ago

Chat with Stefania and Tim notes

Tests to Learn More

tomeichlersmith commented 1 year ago

generate e- n > e- n chi1 chi1 e- e+

MadEvent Workspace Setup:

./bin/mg5_aMC
import model idm-full --modelname
generate e- n > e- n chi1 chi1 e- e+
output me-packs/idm-5-no-req-real-zp
exit

Then I updated the run_card.dat from the default by having the incident kinematics be 100GeV electrons on stationary tungsten and I needed to prevent MG from using "split amp":

36,37c36,37
>      100.0     = ebeam1  ! beam 1 total energy in GeV
>      174.0     = ebeam2  ! beam 2 total energy in GeV
---
<      500.0     = ebeam1  ! beam 1 total energy in GeV
<      500.0     = ebeam2  ! beam 2 total energy in GeV
87d86
>    False = hel_recycling ! don't use split amplitudes

The last piece was necessary to avoid a not implemented error https://bugs.launchpad.net/mg5amcnlo/+bug/1960966 at the cost of reduced speed.

tomeichlersmith commented 1 year ago

generate e- n > e- n zp

It seems like (perhaps predictably), the issue is within the production of the dark photon. For some reason, when we lower the dark photon mass, we see the phase-space issues observed above.

run iseed nevents xsec description
1 21 10k 2.48e-10 default parameters ($mA = 20$ GeV, $m\chi = 1$ GeV, $E_{beam} = 100$ GeV)
2 30 10k 2.24e-10 $m_\chi \to 0.1$ GeV
3 36 3 3e+31 $m_A \to 2$ GeV
4 45 0 NA $E_{beam} \to 10$ GeV -- MG reported "survey returned zero cross section"
5 51 10k 3.21e-8 GZPN $\to 0$ (i.e. remove coupling between nucleus and dark photon) and return to $E_{beam} = 100$ GeV
6 60 0 NA $E_{beam} \to 10$ GeV -- MG reported "survey returned zero cross section"

I'm not sure if the high xsec (or "Integrated Weight" as MG calls it) is accurate or if it is tell-tale of some phase-space bug.

tomeichlersmith commented 1 year ago

Removing the dark photon - nucleus coupling makes things work as expected now :tada: and removed the issue causing #15

Going to move to putting this into hps-mc.