Hi Kevin,
Unfortunately, the MC simulation history and decay chains are mixed
together in the simulated MC data record. I have to be careful in citing
specific examples because the full interpretation requires a good
understanding of the MC generation and detector simulation (i.e. GISMO)
processes. Let me try to answer your questions as directly as I can:
1.) One of the initial beam electrons, positrons or gamma are claimed
to be the "parents" of produced particles like the Z0, i.e. in your
print out
5 ID = 11 mother = 3 d1 = 0 d2 = 0
6 ID = -11 mother = 4 d1 = 0 d2 = 0
7 ID = 23 mother = 5 d1 = 0 d2 = 0
8 ID = 23 mother = 5 d1 = 0 d2 = 0
the two Z0's 7 and 8 are produced by 5 & 6 annihilating but are recorded
as being daughters of 5.
2.) The Z0's WILL decay in ccbar and e+e- but they haven't yet, i.e.
9 ID = 5 mother = 7 d1 = 0 d2 = 0
10 ID = -5 mother = 7 d1 = 0 d2 = 0
11 ID = 11 mother = 8 d1 = 0 d2 = 0
12 ID = -11 mother = 8 d1 = 0 d2 = 0
3.) Now the Z0's have decayed possibly w/ some corrections to
particles 15&16 and 17&18, i.e.
13 ID = 23 mother = 7 d1 = 17 d2 = 18
14 ID = 23 mother = 8 d1 = 15 d2 = 16
4.) The decay products are listed again with no apparent change
15 ID = 11 mother = 11 d1 = 0 d2 = 0
16 ID = -11 mother = 12 d1 = 0 d2 = 0
One needs to check the status flags, i.e.
for (ParticleEnumeration
mc=event.getMCParticles().particles();mc.hasMoreParticles();ipn++) {
MCParticle particle = (MCParticle) mc.nextParticle();
int status = particle.getStatus();
int statusCode = particle.getStatusCode();
these codes identify certain MC particles (or their line entries) as
being documentation. One has to check if these codes are accurate, e.g.
I check the DECAY and FINALSTATE status with the following lines
boolean decayed = particle.getDaughters().hasMoreParticles();
if (statusCode==Particle.FINALSTATE && status!=MCParticle.DECAYED &&
!(decayed)) {
5.) Finally, there are usually early lines which record initial state
reactions like in
1 ID = 11 mother = 0 d1 = 0 d2 = 0
2 ID = -11 mother = 0 d1 = 0 d2 = 0
3 ID = 11 mother = 1 d1 = 0 d2 = 0
4 ID = -11 mother = 2 d1 = 0 d2 = 0
and trailling lines which add in particles from beam-beam backgrounds.
I'm still working on trying to understand everything I see in the MC
block and have been developing some code to unravel the truth. You can
find examples of my code in the hep.lcd releases as
hep.lcd.contrib.mc.analysis
Regards,
Mike Ronan
|