Skip to content

(yet another) question about simulating particle lifetime in ddsim... #1543

@danieljeans

Description

@danieljeans

I have managed to do this in the past, and see several answers to similar questions, and the recipe at https://gitlab.cern.ch/uschnoor/stub-tracks-project/-/tree/document_note/sample_production , but I still cannot get it to work for me this time... I guess I have an elementary mistake somewhere, and would appreciate if you can point it out to me.

I'm trying to simulate the displaced decay of a chargino -> neutralino + mu + nu_m.

I'm using the nightly key4hep build on EL9.

I have generated the events in whizard. Example of an event:

-------------- print out of MCParticle collection --------------- 

  flag:  0x0
  simulator status bits: [sbvtcls]  s: created in simulation b: backscatter v: vertex is not endpoint of parent t: decayed in tracker c: decayed in calorimeter l: has left detector s: stopped o: overlay


[   id   ]index|      PDG |    px,     py,        pz    | px_ep,   py_ep , pz_ep      | energy  |gen|[simstat ]| vertex x,     y   ,   z     | endpoint x,    y  ,   z     |    mass |  charge |            spin             | colorflow | [parents] - [daughters]

[00000005]    0|        11| 0.00e+00, 0.00e+00, 2.50e+02| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 3 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 5.11e-04|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [] - [2,3] 
[00000006]    1|       -11| 0.00e+00, 0.00e+00,-2.50e+02| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 3 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 5.11e-04| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [] - [2,3] 
[00000007]    2|   1000024| 2.75e+01, 2.18e+02, 6.42e+01| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 2 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.00e+02| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [0,1] - [4,5,6] 
[00000008]    3|  -1000024|-2.75e+01,-2.18e+02,-6.42e+01| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 2 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.00e+02|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [0,1] - [7,8,9] 
[00000009]    4|   1000022| 1.85e+01, 2.01e+02, 6.07e+01| 0.00e+00, 0.00e+00, 0.00e+00| 2.29e+02| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 9.00e+01| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [] 
[00000010]    5|       -13|-4.33e-01,-3.14e-01,-1.35e-01| 0.00e+00, 0.00e+00, 0.00e+00| 5.62e-01| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.06e-01| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [] 
[00000011]    6|        14| 9.46e+00, 1.79e+01, 3.63e+00| 0.00e+00, 0.00e+00, 0.00e+00| 2.06e+01| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|-5.33e-07| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [] 
[00000012]    7|   1000022|-2.62e+01,-1.89e+02,-5.18e+01| 0.00e+00, 0.00e+00, 0.00e+00| 2.17e+02| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 9.00e+01| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 
[00000013]    8|        13|-2.82e+00,-1.43e+01,-9.64e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.75e+01| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.06e-01|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 
[00000014]    9|       -14| 1.44e+00,-1.54e+01,-2.75e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.57e+01| 1 |[    0   ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|-2.38e-07| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 

10 events in lcio file at https://research.kek.jp/people/jeans/simpleEx.slcio

As expected, the charginos (1000024) are not assigned any decay distance by whizard: vertices and endpoints are all at (0,0,0), but their decays are defined.

I now simulate using ddsim.
To simulate a decay length, I should include lines in the particle.tbl passed to ddsim. I include

    1000022 susy-chi_1^0            0    90.           0.00000   0.
    1000024 susy-chi_1^+            3    100.0         1.        200.
   -1000024 susy-chi_1^-           -3    100.0         1.        200.

I run ddsim as

ddsim --compactFile $k4geo_DIR/ILD/compact/ILD_l5_v02/ILD_l5_v02.xml --numberOfEvents 10 --inputFiles simpleEx.slcio --physics.pdgfile ./particle.tbl --outputFile simple_sim.slcio -v DEBUG

The resulting events do not, however, seem to have had any chargino lifetime simulated:


  flag:  0x0
  simulator status bits: [sbvtcls]  s: created in simulation b: backscatter v: vertex is not endpoint of parent t: decayed in tracker c: decayed in calorimeter l: has left detector s: stopped o: overlay


[   id   ]index|      PDG |    px,     py,        pz    | px_ep,   py_ep , pz_ep      | energy  |gen|[simstat ]| vertex x,     y   ,   z     | endpoint x,    y  ,   z     |    mass |  charge |            spin             | colorflow | [parents] - [daughters]

[00000336]    0|        11| 0.00e+00, 0.00e+00, 2.50e+02| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 3 |[        ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 5.11e-04|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [] - [2,3] 
[00000337]    1|       -11| 0.00e+00, 0.00e+00,-2.50e+02| 0.00e+00, 0.00e+00, 0.00e+00| 2.50e+02| 3 |[        ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 5.11e-04| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [] - [2,3] 
[00000338]    2|   1000024| 1.07e+02,-2.03e+01, 2.01e+02| 1.07e+02,-2.03e+01, 2.01e+02| 2.50e+02| 2 |[   t    ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.00e+02| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [0,1] - [4,5,6] 
[00000339]    3|  -1000024|-1.07e+02, 2.03e+01,-2.01e+02|-1.07e+02, 2.03e+01,-2.01e+02| 2.50e+02| 2 |[   t    ]| 0.00e+00, 0.00e+00, 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00| 1.00e+02|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [0,1] - [7,8,9] 
[00000340]    4|   1000022| 1.10e+02,-1.89e+01, 1.88e+02| 1.10e+02,-1.89e+01, 1.88e+02| 2.37e+02| 1 |[     l  ]| 0.00e+00, 0.00e+00, 0.00e+00| 8.72e+03,-1.51e+03, 1.50e+04| 9.00e+01| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [] 
[00000341]    5|       -13|-1.93e+00,-6.33e-01, 1.12e+01|-1.08e+00, 7.03e-02, 6.33e+00| 1.14e+01| 1 |[     l  ]| 0.00e+00, 0.00e+00, 0.00e+00|-2.54e+03, 5.16e+01, 1.50e+04| 1.06e-01| 1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [10] 
[00000342]    6|        14|-4.11e-01,-7.49e-01, 1.85e+00|-4.11e-01,-7.49e-01, 1.85e+00| 2.04e+00| 1 |[     l  ]| 0.00e+00, 0.00e+00, 0.00e+00|-3.34e+03,-6.08e+03, 1.50e+04| 2.98e-08| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [2] - [] 
[00000343]    7|   1000022|-9.82e+01, 1.81e+01,-1.90e+02|-9.82e+01, 1.81e+01,-1.90e+02| 2.33e+02| 1 |[     l  ]| 0.00e+00, 0.00e+00, 0.00e+00|-7.75e+03, 1.43e+03,-1.50e+04| 9.00e+01| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 
[00000344]    8|        13| 1.71e-01, 2.57e+00,-2.04e-02| 0.00e+00,-0.00e+00,-0.00e+00| 2.58e+00| 1 |[    c s ]| 0.00e+00, 0.00e+00, 0.00e+00|-2.12e+03, 1.91e+03, 6.59e+01| 1.06e-01|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 
[00000345]    9|       -14|-9.12e+00,-3.12e-01,-1.14e+01|-9.12e+00,-3.12e-01,-1.14e+01| 1.46e+01| 1 |[     l  ]| 0.00e+00, 0.00e+00, 0.00e+00|-1.20e+04,-4.10e+02,-1.50e+04| 1.69e-07| 0.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [3] - [] 
[00000346]   10|        11|-4.82e-04,-1.34e-03, 1.62e-03|-0.00e+00,-0.00e+00, 0.00e+00| 2.22e-03| 0 |[s vt  s ]|-4.04e+02,-8.64e+01, 2.29e+03|-4.05e+02,-8.78e+01, 2.30e+03| 5.11e-04|-1.00e+00| 0.00e+00, 0.00e+00, 0.00e+00|  (0, 0)   | [5] - [] 

The log output include sections such as the following, in which I cannot spot any mistake:

LCIOStdHepReader::moveToEvent INFO  Event number after skipping: 0
STDHEP4          INFO  +++ Particle interaction with 10 generator particles and 2 vertices ++++++++++++++++++++++++
STDHEP4          DEBUG +++->   0 e-           stat:00000004 PDG:    11 Mom:(+0.00e+00,+0.00e+00,+2.50e+05)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  2 #Par:0      
STDHEP4          DEBUG +++->   1 e+           stat:00000004 PDG:   -11 Mom:(+0.00e+00,+0.00e+00,-2.50e+05)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  2 #Par:0      
STDHEP4          DEBUG +++->   2 susy-chi_1^+ stat:00000004 PDG:1000024 Mom:(+2.75e+04,+2.18e+05,+6.42e+04)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  3 #Par:2/0 1  
STDHEP4          DEBUG +++->   3 susy-chi_1^- stat:00000004 PDG:-1000024 Mom:(-2.75e+04,-2.18e+05,-6.42e+04)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  3 #Par:2/0 1  
STDHEP4          DEBUG +++->   4 susy-chi_1^0 stat:00000002 PDG:1000022 Mom:(+1.85e+04,+2.01e+05,+6.07e+04)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/2    
STDHEP4          DEBUG +++->   5 mu+          stat:00000002 PDG:   -13 Mom:(-4.33e+02,-3.14e+02,-1.35e+02)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/2    
STDHEP4          DEBUG +++->   6 nu_mu        stat:00000002 PDG:    14 Mom:(+9.46e+03,+1.79e+04,+3.63e+03)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/2    
STDHEP4          DEBUG +++->   7 susy-chi_1^0 stat:00000002 PDG:1000022 Mom:(-2.62e+04,-1.89e+05,-5.18e+04)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/3    
STDHEP4          DEBUG +++->   8 mu-          stat:00000002 PDG:    13 Mom:(-2.82e+03,-1.43e+04,-9.64e+03)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/3    
STDHEP4          DEBUG +++->   9 anti_nu_mu   stat:00000002 PDG:   -14 Mom:(+1.44e+03,-1.54e+04,-2.75e+03)[MeV] Vtx:(+0.00e+00,+0.00e+00,+0.00e+00)[mm] #Dau:  0 #Par:1/3    
InteractionMerger DEBUG +++ Merging MC input record from 1 interactions:
InteractionMerger DEBUG +++ Merging MC input record from 1 interactions:
InteractionMerger DEBUG +++ Merged particles    0 def [e-         ,  lepton] reason:       0 E:+2.50e+05 Gen #Dau:  2 #Par:  0     
InteractionMerger DEBUG +++ Merged particles    1 def [e+         ,  lepton] reason:       0 E:+2.50e+05 Gen #Dau:  2 #Par:  0     
InteractionMerger DEBUG +++ Merged particles    2 def [susy-chi_1^+,   extra] reason:       0 E:+2.50e+05 Gen #Dau:  3 #Par:  2/0 1 
InteractionMerger DEBUG +++ Merged particles    3 def [susy-chi_1^-,   extra] reason:       0 E:+2.50e+05 Gen #Dau:  3 #Par:  2/0 1 
InteractionMerger DEBUG +++ Merged particles    4 def [susy-chi_1^0,   extra] reason:       0 E:+2.29e+05 Gen #Dau:  0 #Par:  1/2   
InteractionMerger DEBUG +++ Merged particles    5 def [mu+        ,  lepton] reason:       0 E:+5.62e+02 Gen #Dau:  0 #Par:  1/2   
InteractionMerger DEBUG +++ Merged particles    6 def [nu_mu      ,  lepton] reason:       0 E:+2.06e+04 Gen #Dau:  0 #Par:  1/2   
InteractionMerger DEBUG +++ Merged particles    7 def [susy-chi_1^0,   extra] reason:       0 E:+2.17e+05 Gen #Dau:  0 #Par:  1/3   
InteractionMerger DEBUG +++ Merged particles    8 def [mu-        ,  lepton] reason:       0 E:+1.75e+04 Gen #Dau:  0 #Par:  1/3   
InteractionMerger DEBUG +++ Merged particles    9 def [anti_nu_mu ,  lepton] reason:       0 E:+1.57e+04 Gen #Dau:  0 #Par:  1/3   
PrimaryHandler   DEBUG PrimaryConfiguration:
RejectPDGs: 1, 2, 3, 4, 5, 6, 21, 23, 24, 25, 1103, 2101, 2103, 2203, 3101, 3103, 3201, 3203, 3303, 4101, 4103, 4201, 4203, 4301, 4303, 4403, 5101, 5103, 5201, 5203, 5301, 5303, 5401, 5403, 5503, 
zeroTimePDGs: 11, 13, 15, 17, 
PrimaryHandler   INFO  +++++ G4PrimaryVertex at (+0.00e+00,+0.00e+00,+0.00e+00) [mm] +0.00e+00 [ns]
Input            DEBUG Checking rejection: PDG(11        ), Definition(true), isProperTimeZero(true, 0.000000000000000), stable(true), doc(false), reject(true)
Input            DEBUG Checking rejection: PDG(1000024   ), Definition(true), isProperTimeZero(true, 0.000000000000000), stable(false), doc(false), reject(false)
Input            DEBUG Checking rejection of stable: PDG(1000022   ), Definition(true), reject(false)
Input            DEBUG Checking rejection of stable: PDG(-13       ), Definition(true), reject(false)
Input            DEBUG Checking rejection of stable: PDG(14        ), Definition(true), reject(false)
Input            DEBUG Checking rejection: PDG(-1000024  ), Definition(true), isProperTimeZero(true, 0.000000000000000), stable(false), doc(false), reject(false)
Input            DEBUG Checking rejection of stable: PDG(1000022   ), Definition(true), reject(false)
Input            DEBUG Checking rejection of stable: PDG(13        ), Definition(true), reject(false)
Input            DEBUG Checking rejection of stable: PDG(-14       ), Definition(true), reject(false)
PrimaryHandler   DEBUG +++-> G4Primary[  0] ID:  2 susy-chi_1^+ stat:00000004 PDG:1000024 Mom:(+2.75e+04,+2.18e+05,+6.42e+04)[MeV] time: +0.00e+00 [ns] #Dau:  3 #Par:2/0 1  
PrimaryHandler   DEBUG +++-> G4Primary[  1] ID:  3 susy-chi_1^- stat:00000004 PDG:-1000024 Mom:(-2.75e+04,-2.18e+05,-6.42e+04)[MeV] time: +0.00e+00 [ns] #Dau:  3 #Par:2/0 1  
PrimaryHandler   INFO  +++++ G4PrimaryVertex at (+0.00e+00,+0.00e+00,+0.00e+00) [mm] +0.00e+00 [ns]
Input            DEBUG Checking rejection: PDG(-11       ), Definition(true), isProperTimeZero(true, 0.000000000000000), stable(true), doc(false), reject(true)
ParticleHandler  DEBUG +++ Event:0 Add EVENT extension of type Geant4ParticleHandler.....
ParticleHandler  INFO  +++ Event 0 Begin event action. Access event related information.
ParticleHandler  DEBUG +++ Add Primary    3 G4:   2 [susy-chi_1^-,   extra] reason:      28 E:+2.50e+05 in record:YES  #Par:  2/0..  #Dau:  3
ParticleHandler  DEBUG +++ Add Primary    7 G4:   5 [susy-chi_1^0,   extra] reason:      52 E:+2.17e+05 in record:YES  #Par:  1/3    #Dau:  0

Thanks in advance,
Daniel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions