Cannot create displaced vertices of long-lived neutral wino

Asked by Daiki Hayakawa

I'm trying to create long-lived neutral wino, but the long-lived wino don't create vertices which are far from interaction points.
When looking at log file (events.lhe), the winos seem to be long-lived.

log:
<event>
 4 1 +3.0301000e-06 5.88472300e+02 7.81653100e-03 9.92961500e-02
       -1 -1 0 0 0 501 +0.0000000000e+00 +0.0000000000e+00 +3.5045085584e+02 3.5045085584e+02 0.00000000e+00 6.1533e-21 1.0000e+00
        2 -1 0 0 501 0 +0.0000000000e+00 +0.0000000000e+00 -1.1729519785e+03 1.1729519785e+03 0.00000000e+00 8.6728e-21 -1.0000e+00
  1000024 1 1 2 0 0 +2.3675771117e+02 -9.6672045480e+01 -1.0891286047e+02 5.9846613050e+02 5.30000000e+02 1.0013e-23 -1.0000e+00
  1000023 1 1 2 0 0 -2.3675771117e+02 +9.6672045480e+01 -7.1358826221e+02 9.2493670386e+02 5.30000000e+02 1.6797e-09 -1.0000e+00
</event>
<event>
 4 1 +3.0301000e-06 5.37907600e+02 7.81653100e-03 1.00433200e-01
        1 -1 0 0 501 0 +0.0000000000e+00 +0.0000000000e+00 +5.6782052995e+02 5.6782052995e+02 0.00000000e+00 3.1285e-22 -1.0000e+00
       -2 -1 0 0 0 501 +0.0000000000e+00 +0.0000000000e+00 -6.5314912400e+02 6.5314912400e+02 0.00000000e+00 1.2635e-20 1.0000e+00
 -1000024 1 1 2 0 0 -9.1875642944e+01 -1.8721931408e+00 +2.4356459338e+02 5.9048145612e+02 5.30000000e+02 2.2054e-23 -1.0000e+00
  1000023 1 1 2 0 0 +9.1875642944e+01 +1.8721931408e+00 -3.2889318743e+02 6.3048819784e+02 5.30000000e+02 2.1302e-11 1.0000e+00
</event>
<event>
 4 1 +3.0301000e-06 9.79545400e+02 7.81653100e-03 9.33126800e-02
        2 -1 0 0 501 0 +0.0000000000e+00 +0.0000000000e+00 +5.0733637154e+02 5.0733637154e+02 0.00000000e+00 1.8739e-20 -1.0000e+00
       -1 -1 0 0 0 501 +0.0000000000e+00 +0.0000000000e+00 -2.5216914060e+03 2.5216914060e+03 0.00000000e+00 1.2763e-20 1.0000e+00
  1000024 1 1 2 0 0 -7.1642409067e+02 +4.0662715218e+02 -1.7644347072e+03 2.0181028107e+03 5.30000000e+02 3.7721e-24 1.0000e+00
  1000023 1 1 2 0 0 +7.1642409067e+02 -4.0662715218e+02 -2.4992032727e+02 1.0109249668e+03 5.30000000e+02 1.4367e-09 -1.0000e+00
</event>
<event>
 4 1 +3.0301000e-06 5.65510700e+02 7.81653100e-03 9.97966200e-02
       -1 -1 0 0 0 501 +0.0000000000e+00 +0.0000000000e+00 +1.6550473615e+02 1.6550473615e+02 0.00000000e+00 1.2890e-21 1.0000e+00
        2 -1 0 0 501 0 +0.0000000000e+00 +0.0000000000e+00 -1.9326851878e+03 1.9326851878e+03 0.00000000e+00 2.3986e-21 -1.0000e+00
  1000024 1 1 2 0 0 -1.9067238059e+02 +5.0462106433e+01 -8.9867932863e+02 1.0618036149e+03 5.30000000e+02 1.4899e-22 -1.0000e+00
  1000023 1 1 2 0 0 +1.9067238059e+02 -5.0462106433e+01 -8.6850112302e+02 1.0363863091e+03 5.30000000e+02 3.4913e-10 -1.0000e+00
</event>
<event>
 4 1 +3.0301000e-06 5.43165300e+02 7.81653100e-03 1.00308800e-01
       -1 -1 0 0 0 501 +0.0000000000e+00 +0.0000000000e+00 +4.0009880157e+02 4.0009880157e+02 0.00000000e+00 9.2574e-22 1.0000e+00
        2 -1 0 0 501 0 +0.0000000000e+00 +0.0000000000e+00 -7.7419201511e+02 7.7419201511e+02 0.00000000e+00 6.0804e-22 -1.0000e+00
  1000024 1 1 2 0 0 -1.1000497004e+02 -4.5027220889e+01 -3.1506185849e+02 6.2792716037e+02 5.30000000e+02 9.9341e-25 -1.0000e+00
  1000023 1 1 2 0 0 +1.1000497004e+02 +4.5027220889e+01 -5.9031355055e+01 5.4636365631e+02 5.30000000e+02 2.1632e-09 1.0000e+00
</event>

When looking at positions of the vertices, however, They are not far from interaction points.

21:27:32 Vertex: -614 ID: 0 (X,cT)=-1.59e-10,+2.46e-09,-1.17e-09,+3.39e-09
21:27:32 I: 1 593 1000023 -4.21e+04,+6.53e+05,-3.09e+05,+8.97e+05 62 -614
21:27:32 O: 2 799 1000022 -6.65e+04,+6.28e+05,-2.94e+05,+8.57e+05 1
21:27:32 800 23 +2.44e+04,+2.50e+04,-1.56e+04,+3.97e+04 22 -615

Even if the lifetime of the winos is 1000 times longer, the difference cannot be seen.
Do you have an idea to explain this issue?

I used commands as follows:

19.2.X-VAL,here,r1.
pkgco.py -A MadGraphControl
(edit jobOption files)
cd Generators/MadGraphControl/cmt
gmake
cd -
Generate_tf.py --ecmEnergy=13000 --firstEvent=1 --randomSeed=1 --jobConfig=MC15.406004.MadGraphPythia8EvtGen_A14NNPDF23LO_C1N2DV_WZ_530_500_3lep.py --outputEVNTFile=EVNT.test.root --runNumber=406004 --postExec='from TruthIO.TruthIOConf import DumpMC;topSeq+=DumpMC()' --maxEvents=-1

(edit jobOption files) To make long-lived particles, I added the lines as follows to the job option

----------------------------------------------------------- added
keepOutput=True
----------------------------------------------------------- added

 include ( 'MC15JobOptions/MadGraphControl_SimplifiedModelPostInclude.py' )

----------------------------------------------------------- added
from MadGraphControl.MadGraphUtils import *
from glob import glob
a_proc_dir = glob('PROC*')[0]
add_lifetimes(process_dir=a_proc_dir,threshold=1E-25)
the_spot = arrange_output(run_name='Test',proc_dir= a_proc_dir,outputDS='madgraph_OTF._00001.events.tar.gz')
runArgs.inputGeneratorFile = the_spot
----------------------------------------------------------- added

In addition to this, I had changed mass, width, BR, etc.

Thank you in advance for your help
Daiki Hayakawa

Question information

Language:
English Edit question
Status:
Answered
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Dear daiki,

I do not know which framework that you are using but this is not madgraph.
So I do not know how i can help you.

In the madgraph interface, the way to add the the livetime to a lhe event is the following

./bin/madevent
add_time_of_flight RUN_NAME --threshold=XX

This sounds to be kind of similar to your command but can not tell at that level.
But I do not know if you use the above command or not.

I would suggest to first speak to the responsible of the framework that you use.

Cheers,

Olivier

Revision history for this message
Zachary Marshall (zach-marshall) said :
#2

Hi Olivier,

Sorry, I'm the framework guy - it's just a big wrapper around MadGraph. The command that Daiki is running:

add_lifetimes(process_dir=a_proc_dir,threshold=1E-25)

simply runs this:

./bin/madevent
add_time_of_flight RUN_NAME --threshold=1E-25

This kinda looks like a units problem in the end - the lifetimes are set, but they are set to very small values, much smaller than they should be for the ctau that's expected.

Best,
Zach

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#3

Hi,

Indeed the value that I reported was just the time and not the distance.
I’ve check the reference and indeed, I miss the factor of “c”.

Here is a patch that will be include in the next version.

Thanks,

Olivier

PS: Did I tell you that you can specify in the run_card the following line:
   1e-25 = time_of_flight #threshold for writing the displaced vertex information
to run that code on the flight?

=== modified file 'madgraph/interface/madevent_interface.py'
--- madgraph/interface/madevent_interface.py 2015-07-21 15:53:48 +0000
+++ madgraph/interface/madevent_interface.py 2015-07-21 22:42:13 +0000
@@ -1783,7 +1783,8 @@
         param_card = lhe.banner[begin_param+6:end_param].split('\n')
         param_card = check_param_card.ParamCard(param_card)

- cst = 6.58211915e-25
+ cst = 6.58211915e-25 # hbar in GeV s
+ c = 299792458000 # speed of light in mm/s
         # Loop over all events
         for event in lhe:
             for particle in event:
@@ -1792,7 +1793,7 @@
                 if width:
                     vtim = random.expovariate(width/cst)
                     if vtim > threshold:
- particle.vtim = vtim
+ particle.vtim = c*vtim
             #write this modify event
             output.write(str(event))
         output.write('</LesHouchesEvents>\n')

On 21 Jul 2015, at 22:16, Zachary Marshall <email address hidden> wrote:

> Question #269497 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/269497
>
> Zachary Marshall requested more information:
> Hi Olivier,
>
> Sorry, I'm the framework guy - it's just a big wrapper around MadGraph.
> The command that Daiki is running:
>
> add_lifetimes(process_dir=a_proc_dir,threshold=1E-25)
>
> simply runs this:
>
> ./bin/madevent
> add_time_of_flight RUN_NAME --threshold=1E-25
>
> This kinda looks like a units problem in the end - the lifetimes are
> set, but they are set to very small values, much smaller than they
> should be for the ctau that's expected.
>
> Best,
> Zach
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#4

Actually a nicer patch is the following one:

=== modified file 'madgraph/interface/madevent_interface.py'
--- madgraph/interface/madevent_interface.py 2015-07-21 15:53:48 +0000
+++ madgraph/interface/madevent_interface.py 2015-07-21 22:49:37 +0000
@@ -1783,14 +1783,15 @@
         param_card = lhe.banner[begin_param+6:end_param].split('\n')
         param_card = check_param_card.ParamCard(param_card)

- cst = 6.58211915e-25
+ cst = 6.58211915e-25 # hbar in GeV s
+ c = 299792458000 # speed of light in mm/s
         # Loop over all events
         for event in lhe:
             for particle in event:
                 id = particle.pid
                 width = param_card['decay'].get((abs(id),)).value
                 if width:
- vtim = random.expovariate(width/cst)
+ vtim = c * random.expovariate(width/cst)
                     if vtim > threshold:
                         particle.vtim = vtim
             #write this modify event

since in this case the threshold is also in mm.

Cheers,

Olivier

Revision history for this message
Zachary Marshall (zach-marshall) said :
#5

Thanks Olivier! One other question, if you don't mind. When we run this guy:

import model mssm
generate p p > x1+ n2 @1
add process p p > x1- n2 @1
add process p p > x1+ n2 j @2
add process p p > x1- n2 j @2
add process p p > x1+ n2 j j @3
add process p p > x1- n2 j j @3

with run cards and param cards basically out of the box, we then needed to (apparently) add widths (decay blocks) for u/d/s/c/b/g. Is that right? It seems like these really shouldn't be needed; I don't even know what "width" to give to a gluon, for example.

Thanks,
Zach

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#6

Hi,

Not sure to really see what the problem is.
The official convention for the cards is to have all the mass/width written in the param_card.
So this is why we write this information for all particles.
Now I thought that those information were not required in madgraph (i.e. if you miss them the generation of events works out of the box).
Now for some tools (madspin or the adding of the travel time), it is possible that this information is indeed required.

If you give me the crash , then I can see how to prevent it.

Cheers,

Olivier

On 22 Jul 2015, at 09:17, Zachary Marshall <email address hidden> wrote:

> Question #269497 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/269497
>
> Zachary Marshall requested more information:
> Thanks Olivier! One other question, if you don't mind. When we run
> this guy:
>
> import model mssm
> generate p p > x1+ n2 @1
> add process p p > x1- n2 @1
> add process p p > x1+ n2 j @2
> add process p p > x1- n2 j @2
> add process p p > x1+ n2 j j @3
> add process p p > x1- n2 j j @3
>
> with run cards and param cards basically out of the box, we then needed
> to (apparently) add widths (decay blocks) for u/d/s/c/b/g. Is that
> right? It seems like these really shouldn't be needed; I don't even
> know what "width" to give to a gluon, for example.
>
>
> Thanks,
> Zach
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Zachary Marshall (zach-marshall) said :
#7

Ah, I see in the newest releases that the param cards are rather more extensive than they used to be:

DECAY 1 0.000000e+00 # d : 0.0
DECAY 2 0.000000e+00 # u : 0.0
DECAY 3 0.000000e+00 # s : 0.0
DECAY 4 0.000000e+00 # c : 0.0
DECAY 5 0.000000e+00 # b : 0.0
DECAY 11 0.000000e+00 # e- : 0.0
DECAY 12 0.000000e+00 # ve : 0.0
DECAY 13 0.000000e+00 # mu- : 0.0
DECAY 14 0.000000e+00 # vm : 0.0
DECAY 15 0.000000e+00 # ta- : 0.0
DECAY 16 0.000000e+00 # vt : 0.0
DECAY 21 0.000000e+00 # g : 0.0

that'll do it.

Thanks, and sorry for the noise on this last one!

Best,
Zach

Can you help with this problem?

Provide an answer of your own, or ask Daiki Hayakawa for more information if necessary.

To post a message you must log in.