AliGenEventHeader* header = new AliGenEventHeader("BOX");
header->SetPrimaryVertex(fVertex);
- gAlice->SetGenEventHeader(header);
+ header->SetNProduced(fNpart);
+
+ // Passes header either to the container or to gAlice
+ if (fContainer) {
+ fContainer->AddHeader(header);
+ } else {
+ gAlice->SetGenEventHeader(header);
+ }
}
//_____________________________________________________________________________
//
// Stack filling loop
//
+ fNprimaries = 0;
for (i = 0; i < nTracks; i++) {
TParticle* iparticle = fReader->NextParticle();
Bool_t selected = KinematicSelection(iparticle,0);
PushTrack(doTracking,parent,idpart,p,origin,polar,0,kPPrimary,nt);
KeepTrack(nt);
+ fNprimaries++;
} // track loop
// Generated event header
AliGenEventHeader * header = new AliGenEventHeader();
- header->SetNProduced(nt+1);
+ header->SetNProduced(fNprimaries);
header->SetPrimaryVertex(fVertex);
- AliRunLoader::GetRunLoader()->GetHeader()->SetGenEventHeader(header);
-
+ AddHeader(header);
break;
} // event loop
#include "AliGenParam.h"
#include "AliMC.h"
#include "AliRun.h"
+#include "AliGenEventHeader.h"
ClassImp(AliGenParam)
Int_t ipa=0;
// Generating fNpart particles
+ fNprimaries = 0;
+
while (ipa<fNpart) {
while(1) {
//
PushTrack(0, -1, iPart, p, origin0, polar, 0, kPPrimary, nt, wgtp);
pParent[0] = nt;
KeepTrack(nt);
+ fNprimaries++;
+
//
// Decay Products
//
0, kPDecay, nt, wgtch);
pParent[i] = nt;
KeepTrack(nt);
+ fNprimaries++;
} // Selected
} // Particle loop
} // Decays by Lujet
gAlice->GetMCApp()->
PushTrack(fTrackIt,-1,iPart,p,origin0,polar,0,kPPrimary,nt,wgtp);
ipa++;
+ fNprimaries++;
}
break;
} // while
} // event loop
+
SetHighWaterMark(nt);
+
+ AliGenEventHeader* header = new AliGenEventHeader("PARAM");
+ header->SetPrimaryVertex(fVertex);
+ header->SetNProduced(fNprimaries);
+ AddHeader(header);
}
//____________________________________________________________________________________
Float_t AliGenParam::GetRelativeArea(Float_t ptMin, Float_t ptMax, Float_t yMin, Float_t yMax, Float_t phiMin, Float_t phiMax)