From f44145612a91ab70421abeba2003355c3392bb0e Mon Sep 17 00:00:00 2001 From: morsch Date: Thu, 2 Aug 2007 18:03:47 +0000 Subject: [PATCH] Use bit 14 of TParticle to flag tracks that have been transported. This makes the synchronization between TreeTR and TreeK more robust. --- STEER/AliMC.cxx | 7 +++++-- STEER/AliStack.cxx | 10 +++++++++- STEER/AliStack.h | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/STEER/AliMC.cxx b/STEER/AliMC.cxx index a5b153e063a..c50793860a9 100644 --- a/STEER/AliMC.cxx +++ b/STEER/AliMC.cxx @@ -1251,7 +1251,8 @@ void AliMC::ReorderAndExpandTreeTR() // Skip primaries that have not been transported Int_t dau1 = part->GetFirstDaughter(); Int_t dau2 = -1; - if ((dau1 > -1 && dau1 < np) || part->GetStatusCode() > 1) continue; + // if ((dau1 > -1 && dau1 < np) || part->GetStatusCode() > 1) continue; + if (!part->TestBit(kTransportBit)) continue; // fTmpTreeTR->GetEntry(it++); Int_t nh = fTmpTrackReferences->GetEntries(); @@ -1302,7 +1303,9 @@ void AliMC::ReorderAndExpandTreeTR() it = nt - 1; for (Int_t ip = 0; ip < np; ip++) { TParticle* part = stack->Particle(ip); - if ((part->GetFirstDaughter() == -1 && part->GetStatusCode() <= 1) || part->GetFirstDaughter() >= np) { +// if ((part->GetFirstDaughter() == -1 && part->GetStatusCode() <= 1) || part->GetFirstDaughter() >= np) + if (part->TestBit(kTransportBit)); + { // Skip particles that have not been transported fTmpTreeTR->GetEntry(it--); Int_t nh = fTmpTrackReferences->GetEntries(); diff --git a/STEER/AliStack.cxx b/STEER/AliStack.cxx index 185b6c7894e..d6e4f9a0b0a 100644 --- a/STEER/AliStack.cxx +++ b/STEER/AliStack.cxx @@ -216,7 +216,15 @@ void AliStack::PushTrack(Int_t done, Int_t parent, Int_t pdg, particle->SetWeight(weight); particle->SetUniqueID(mech); - if(!done) particle->SetBit(kDoneBit); + + + if(!done) { + particle->SetBit(kDoneBit); + } else { + particle->SetBit(kTransportBit); + } + + // Declare that the daughter information is valid particle->SetBit(kDaughtersBit); diff --git a/STEER/AliStack.h b/STEER/AliStack.h index 2b204fb7d69..21898205782 100644 --- a/STEER/AliStack.h +++ b/STEER/AliStack.h @@ -21,7 +21,7 @@ class TTree; class AliHeader; #include "AliConfig.h" -enum {kKeepBit=1, kDaughtersBit=2, kDoneBit=4}; +enum {kKeepBit=1, kDaughtersBit=2, kDoneBit=4, kTransportBit=BIT(14)}; class AliStack : public TVirtualMCStack { -- 2.43.0