// Default Constructor
fParticles = 0;
fPythia = 0;
+ fHeader = 0;
fDecayer = new AliDecayerPythia();
SetEventListRange();
SetJetPhiRange();
fFlavorSelect = 0;
// Produced particles
fParticles = new TClonesArray("TParticle",1000);
+ fHeader = 0;
fEventVertex.Set(3);
SetEventListRange();
SetJetPhiRange();
void AliGenPythia::Generate()
{
// Generate one event
+
fDecayer->ForceDecay();
Float_t polar[3] = {0,0,0};
void AliGenPythia::MakeHeader()
{
// Builds the event header, to be called after each event
- AliGenEventHeader* header = new AliGenPythiaEventHeader("Pythia");
+ if (fHeader) delete fHeader;
+ fHeader = new AliGenPythiaEventHeader("Pythia");
//
// Event type
- ((AliGenPythiaEventHeader*) header)->SetProcessType(fPythia->GetMSTI(1));
+ ((AliGenPythiaEventHeader*) fHeader)->SetProcessType(fPythia->GetMSTI(1));
//
// Number of trials
- ((AliGenPythiaEventHeader*) header)->SetTrials(fTrials);
+ ((AliGenPythiaEventHeader*) fHeader)->SetTrials(fTrials);
//
// Event Vertex
- header->SetPrimaryVertex(fEventVertex);
+ fHeader->SetPrimaryVertex(fEventVertex);
//
// Jets that have triggered
if (fProcess == kPyJets)
GetJets(njet, ntrig, jets);
for (Int_t i = 0; i < ntrig; i++) {
- ((AliGenPythiaEventHeader*) header)->AddJet(jets[0][i], jets[1][i], jets[2][i],
+ ((AliGenPythiaEventHeader*) fHeader)->AddJet(jets[0][i], jets[1][i], jets[2][i],
jets[3][i]);
}
}
- gAlice->SetGenEventHeader(header);
+ gAlice->SetGenEventHeader(fHeader);
}