SetQuench();
SetHadronisation();
fSetNuclei = kFALSE;
+ fNewMIS = kFALSE;
+ fHFoff = kFALSE;
if (!AliPythiaRndm::GetPythiaRandom())
AliPythiaRndm::SetPythiaRandom(GetRandom());
}
// Pycel
SetPycellParameters();
fSetNuclei = kFALSE;
+ fNewMIS = kFALSE;
+ fHFoff = kFALSE;
}
AliGenPythia::AliGenPythia(const AliGenPythia & Pythia)
} else {
fRL = 0x0;
}
-
-
+// Switch off Heavy Flavors on request
+ if (fHFoff) {
+ fPythia->SetMSTP(58, 3);
+ fPythia->SetMSTJ(45, 3);
+ for (Int_t i = 156; i <= 160; i++) fPythia->SetMDME(i, 1, 0);
+ }
//
fPythia->ProcInit(fProcess,fEnergyCMS,fStrucFunc);
// Either produce new event or read partons from file
//
if (!fReadFromFile) {
- fPythia->Pyevnt();
+ if (!fNewMIS) {
+ fPythia->Pyevnt();
+ } else {
+ fPythia->Pyevnw();
+ }
fNpartons = fPythia->GetN();
} else {
printf("Loading Event %d\n",AliRunLoader::GetRunLoader()->GetEventNumber());
((AliGenPythiaEventHeader*) fHeader)->SetXYJet(xp, yp);
((AliGenPythiaEventHeader*) fHeader)->SetZQuench(z);
}
-
+//
+// Store pt^hard
+ ((AliGenPythiaEventHeader*) fHeader)->SetPtHard(fPythia->GetVINT(47));
//
// Pass header
//
{fGinit = iIn; fGfinal = iFin;}
virtual void SetPtKick(Float_t kt = 1.)
{fPtKick = kt;}
+ // Use the Pythia 6.3 new multiple interations scenario
+ virtual void UseNewMultipleInteractionsScenario() {fNewMIS = kTRUE;}
+ // Switch off heavy flavors
+ virtual void SwitchHFOff() {fHFoff = kTRUE;}
// set centre of mass energy
virtual void SetEnergyCMS(Float_t energy = 5500) {fEnergyCMS = energy;}
// treat protons as inside nuclei
// quark families (e.g. b->c)
Bool_t fFragmentation; // Option to activate fragmentation by Pythia
Bool_t fSetNuclei; // Flag indicating that SetNuclei has been called
+ Bool_t fNewMIS; // Flag for the new multipple interactions scenario
+ Bool_t fHFoff; // Flag for switching heafy flavor production off
//
CountMode_t fCountMode; // Options for counting when the event will be finished.
void SetXYJet(Double_t x, Double_t y);
void SetZQuench(Double_t z[4]);
void GetZQuench(Double_t z[4]);
-
+ void SetPtHard(Float_t pthard) {fPtHard = pthard;}
+ Float_t GetPtHard() {return fPtHard;}
+
+
protected:
Int_t fProcessType; // PYTHIA process id for this event
Int_t fTrials; // Number of trials to fulfill trigger condition
Float_t fJets[4][10]; // Trigger jets
Float_t fUQJets[4][10]; // Unquenched trigger jets
Double_t fZquench[4]; // Quenching fraction
- ClassDef(AliGenPythiaEventHeader,3) // Event header for Pythia event
+ Float_t fPtHard; // pT hard
+ ClassDef(AliGenPythiaEventHeader,4) // Event header for Pythia event
};