Fork me on GitHub

Opened 15 years ago

Closed 15 years ago

#14 closed archive (fixed)

Comment retrouver les particules mères dans la branche GEN

Reported by: Xavier Rouby Owned by:
Priority: major Milestone:
Component: Delphes code Version: all recent versions (> 1.8)
Keywords: Cc:

Description

But: retrouver les mères et les filles d'une particule dans la branche GEN. Jérémy Andréa, 17/02/2010

Salut Severine,

je suis un postdoc qui decouvre les joies de Delphes. Je suis en train d'essayer de décoder l'info du génerateur et en particulier, pour une TRootC::GenParticle donnée, j'essaye de récupérer le GenParticle parent.

Aurais-tu par hasard un example de code qui ferait ça ??

Merci bien,
Jeremy

Change History (3)

comment:1 by Xavier Rouby, 15 years ago

Type: TâcheHow to

comment:2 by Xavier Rouby, 15 years ago

Summary: Questions Jérémy AndreaComment retrouver les particules mères dans la branche GEN

comment:3 by Xavier Rouby, 15 years ago

Resolution: corrigé
Status: newclosed

Voici la réponse:

TSimpleArray<TRootGenParticle> LeptWH(const TClonesArray *GEN)
{

TSimpleArray<TRootGenParticle> array,array2;
TIter itGen((TCollection*)GEN);
TRootGenParticle *gen;
itGen.Reset();
while( (gen = (TRootGenParticle*) itGen.Next()) ) Loop over all particles in event

{

array.Add(gen);

}

itGen.Reset();
TRootGenParticle *gen1;
while( (gen1 = (TRootGenParticle*) itGen.Next()) ) Loop over all particles in event

{

Int_t Lmoth = gen1->M1;

if( (abs(gen1->PID) == pE)
(abs(gen1->PID) == pMU)

(abs(gen1->PID) == pTAU))

{

if(Lmoth < array.GetEntries() && Lmoth > 0 && abs(array[Lmoth]->PID)==24)

{

Int_t Wmoth = array[Lmoth]->M1;
if(Wmoth < array.GetEntries() && Wmoth > 0 && abs(array[Wmoth]->PID)==25)
array2.Add(gen1);

}

}

}

return array2;

}

Note: See TracTickets for help on using tickets.