#include "AliPythia.h"
#include "AliPythiaRndm.h"
#include "AliRun.h"
+#include "AliStack.h"
+#include "AliRunLoader.h"
- ClassImp(AliGenPythia)
+ClassImp(AliGenPythia)
AliGenPythia::AliGenPythia()
:AliGenMC()
SetGammaPhiRange();
SetGammaEtaRange();
SetPtKick();
+ SetQuench();
+
fSetNuclei = kFALSE;
if (!AliPythiaRndm::GetPythiaRandom())
AliPythiaRndm::SetPythiaRandom(GetRandom());
SetGammaPhiRange();
SetGammaEtaRange();
SetJetReconstructionMode();
+ SetQuench();
SetPtKick();
// Options determining what to keep in the stack (Heavy flavour generation)
fStackFillOpt = kFlavorSelection; // Keep particle with selected flavor
}
AliGenPythia::AliGenPythia(const AliGenPythia & Pythia)
+ :AliGenMC(Pythia)
{
// copy constructor
Pythia.Copy(*this);
// Initialisation
SetMC(AliPythia::Instance());
- fPythia=(AliPythia*) fgMCEvGen;
+ fPythia=(AliPythia*) fMCEvGen;
//
fParentWeight=1./Float_t(fNpart);
//
// event loop
while(1)
{
+ if (fQuench) {
+ fPythia->SetMSTJ(1, 0);
+ }
+
fPythia->Pyevnt();
+
+ if (fQuench) {
+ fPythia->Quench();
+ fPythia->SetMSTJ(1, 1);
+ fPythia->Pyexec();
+ }
+
+
if (gAlice->GetEvNumber()>=fDebugEventFirst &&
gAlice->GetEvNumber()<=fDebugEventLast) fPythia->Pylist(1);
fTrials++;
} // event loop
SetHighWaterMark(nt);
// adjust weight due to kinematic selection
- AdjustWeights();
+// AdjustWeights();
// get cross-section
fXsection=fPythia->GetPARI(1);
}
AliGenPythia& AliGenPythia::operator=(const AliGenPythia& rhs)
{
// Assignment operator
+ rhs.Copy(*this);
return *this;
}
// Load event into Pythia Common Block
//
-
- Int_t npart = (Int_t) (gAlice->TreeK())->GetEntries();
+ AliRunLoader* rl = AliRunLoader::GetRunLoader();
+ Int_t npart = (rl->Stack())-> GetNprimary();
(fPythia->GetPyjets())->N = npart;
for (Int_t part = 0; part < npart; part++) {
- TParticle *MPart = gAlice->Particle(part);
+ TParticle *MPart = (rl->Stack())->Particle(part);
Int_t kf = MPart->GetPdgCode();
Int_t ks = MPart->GetStatusCode();
Float_t px = MPart->Px();
}
}
-void AliGenPythia::RecJetsUA1(Float_t eCellMin, Float_t eCellSeed, Float_t eMin, Float_t rMax,
- Int_t& njets, Float_t jets [4][50])
+void AliGenPythia::RecJetsUA1(Int_t& njets, Float_t jets [4][50])
{
//
// Calls the Pythia jet finding algorithm to find jets in the current event