Bool_t AliDecayerPythia::fgInit = kFALSE;
-AliDecayerPythia::AliDecayerPythia()
+AliDecayerPythia::AliDecayerPythia():
+ fPythia(AliPythia::Instance()),
+ fDecay(kAll)
{
// Default Constructor
- fPythia=AliPythia::Instance();
for (Int_t i=0; i< 501; i++) fBraPart[i]= 1.;
ReadDecayTable();
}
+AliDecayerPythia::AliDecayerPythia(const AliDecayerPythia &decayer):
+ AliDecayer(decayer),
+ fPythia(0),
+ fDecay(kAll)
+{
+ // Copy Constructor
+ decayer.Copy(*this);
+}
+
void AliDecayerPythia::Init()
{
// Initialisation
ClassImp(AliGenPythia)
-AliGenPythia::AliGenPythia()
- :AliGenMC()
+
+AliGenPythia::AliGenPythia():
+ AliGenMC(),
+ fProcess(kPyCharm),
+ fStrucFunc(kCTEQ5L),
+ fEnergyCMS(5500.),
+ fKineBias(0.),
+ fTrials(0),
+ fTrialsRun(0),
+ fQ(0.),
+ fX1(0.),
+ fX2(0.),
+ fEventTime(0.),
+ fInteractionRate(0.),
+ fTimeWindow(0.),
+ fCurSubEvent(0),
+ fEventsTime(0),
+ fNev(0),
+ fFlavorSelect(0),
+ fXsection(0.),
+ fPythia(0),
+ fPtHardMin(0.),
+ fPtHardMax(1.e4),
+ fYHardMin(-1.e10),
+ fYHardMax(1.e10),
+ fGinit(1),
+ fGfinal(1),
+ fHadronisation(1),
+ fNpartons(0),
+ fReadFromFile(0),
+ fQuench(0),
+ fPtKick(1.),
+ fFullEvent(kTRUE),
+ fDecayer(new AliDecayerPythia()),
+ fDebugEventFirst(-1),
+ fDebugEventLast(-1),
+ fEtMinJet(0.),
+ fEtMaxJet(1.e4),
+ fEtaMinJet(-20.),
+ fEtaMaxJet(20.),
+ fPhiMinJet(0.),
+ fPhiMaxJet(2.* TMath::Pi()),
+ fJetReconstruction(kCell),
+ fEtaMinGamma(-20.),
+ fEtaMaxGamma(20.),
+ fPhiMinGamma(0.),
+ fPhiMaxGamma(2. * TMath::Pi()),
+ fPycellEtaMax(2.),
+ fPycellNEta(274),
+ fPycellNPhi(432),
+ fPycellThreshold(0.),
+ fPycellEtSeed(4.),
+ fPycellMinEtJet(10.),
+ fPycellMaxRadius(1.),
+ fStackFillOpt(kFlavorSelection),
+ fFeedDownOpt(kTRUE),
+ fFragmentation(kTRUE),
+ fSetNuclei(kFALSE),
+ fNewMIS(kFALSE),
+ fHFoff(kFALSE),
+ fTriggerParticle(0),
+ fTriggerEta(0.9),
+ fCountMode(kCountAll),
+ fHeader(0),
+ fRL(0),
+ fFileName(0)
{
// Default Constructor
- fParticles = 0;
- fPythia = 0;
- fHeader = 0;
- fReadFromFile = 0;
- fEventTime = 0.;
- fInteractionRate = 0.;
- fTimeWindow = 0.;
- fEventsTime = 0;
- fCurSubEvent = 0;
- fDecayer = new AliDecayerPythia();
- SetEventListRange();
- SetJetPhiRange();
- SetJetEtaRange();
- SetJetEtRange();
- SetGammaPhiRange();
- SetGammaEtaRange();
- SetPtKick();
- SetQuench();
- SetHadronisation();
- SetTriggerParticle();
SetNuclei(0,0);
- fSetNuclei = kFALSE;
- fNewMIS = kFALSE;
- fHFoff = kFALSE;
- fGinit = 1;
- fGfinal = 1;
-
if (!AliPythiaRndm::GetPythiaRandom())
- AliPythiaRndm::SetPythiaRandom(GetRandom());
+ AliPythiaRndm::SetPythiaRandom(GetRandom());
}
AliGenPythia::AliGenPythia(Int_t npart)
- :AliGenMC(npart)
+ :AliGenMC(npart),
+ fProcess(kPyCharm),
+ fStrucFunc(kCTEQ5L),
+ fEnergyCMS(5500.),
+ fKineBias(0.),
+ fTrials(0),
+ fTrialsRun(0),
+ fQ(0.),
+ fX1(0.),
+ fX2(0.),
+ fEventTime(0.),
+ fInteractionRate(0.),
+ fTimeWindow(0.),
+ fCurSubEvent(0),
+ fEventsTime(0),
+ fNev(0),
+ fFlavorSelect(0),
+ fXsection(0.),
+ fPythia(0),
+ fPtHardMin(0.),
+ fPtHardMax(1.e4),
+ fYHardMin(-1.e10),
+ fYHardMax(1.e10),
+ fGinit(kTRUE),
+ fGfinal(kTRUE),
+ fHadronisation(kTRUE),
+ fNpartons(0),
+ fReadFromFile(kFALSE),
+ fQuench(kFALSE),
+ fPtKick(1.),
+ fFullEvent(kTRUE),
+ fDecayer(new AliDecayerPythia()),
+ fDebugEventFirst(-1),
+ fDebugEventLast(-1),
+ fEtMinJet(0.),
+ fEtMaxJet(1.e4),
+ fEtaMinJet(-20.),
+ fEtaMaxJet(20.),
+ fPhiMinJet(0.),
+ fPhiMaxJet(2.* TMath::Pi()),
+ fJetReconstruction(kCell),
+ fEtaMinGamma(-20.),
+ fEtaMaxGamma(20.),
+ fPhiMinGamma(0.),
+ fPhiMaxGamma(2. * TMath::Pi()),
+ fPycellEtaMax(2.),
+ fPycellNEta(274),
+ fPycellNPhi(432),
+ fPycellThreshold(0.),
+ fPycellEtSeed(4.),
+ fPycellMinEtJet(10.),
+ fPycellMaxRadius(1.),
+ fStackFillOpt(kFlavorSelection),
+ fFeedDownOpt(kTRUE),
+ fFragmentation(kTRUE),
+ fSetNuclei(kFALSE),
+ fNewMIS(kFALSE),
+ fHFoff(kFALSE),
+ fTriggerParticle(0),
+ fTriggerEta(0.9),
+ fCountMode(kCountAll),
+ fHeader(0),
+ fRL(0),
+ fFileName(0)
{
// default charm production at 5. 5 TeV
// semimuonic decay
//
fName = "Pythia";
fTitle= "Particle Generator using PYTHIA";
- fXsection = 0.;
- fReadFromFile = 0;
- fEventTime = 0.;
- fInteractionRate = 0.;
- fTimeWindow = 0.;
- fEventsTime = 0;
- fCurSubEvent = 0;
- SetProcess();
- SetStrucFunc();
SetForceDecay();
- SetPtHard();
- SetYHard();
- SetEnergyCMS();
- fDecayer = new AliDecayerPythia();
// Set random number generator
if (!AliPythiaRndm::GetPythiaRandom())
AliPythiaRndm::SetPythiaRandom(GetRandom());
- fFlavorSelect = 0;
- // Produced particles
fParticles = new TClonesArray("TParticle",1000);
- fHeader = 0;
- SetEventListRange();
- SetJetPhiRange();
- SetJetEtaRange();
- SetJetEtRange();
- SetGammaPhiRange();
- SetGammaEtaRange();
- SetJetReconstructionMode();
- SetQuench();
- SetHadronisation();
- SetPtKick();
- SetTriggerParticle();
SetNuclei(0,0);
- // Options determining what to keep in the stack (Heavy flavour generation)
- fStackFillOpt = kFlavorSelection; // Keep particle with selected flavor
- fFeedDownOpt = kTRUE; // allow feed down from higher family
- // Fragmentation on/off
- fFragmentation = kTRUE;
- // Default counting mode
- fCountMode = kCountAll;
- // Pycel
- SetPycellParameters();
- fSetNuclei = kFALSE;
- fNewMIS = kFALSE;
- fHFoff = kFALSE;
- fGinit = 1;
- fGfinal = 1;
}
AliGenPythia::AliGenPythia(const AliGenPythia & Pythia)
- :AliGenMC(Pythia)
+ :AliGenMC(Pythia),
+ fProcess(kPyCharm),
+ fStrucFunc(kCTEQ5L),
+ fEnergyCMS(5500.),
+ fKineBias(0.),
+ fTrials(0),
+ fTrialsRun(0),
+ fQ(0.),
+ fX1(0.),
+ fX2(0.),
+ fEventTime(0.),
+ fInteractionRate(0.),
+ fTimeWindow(0.),
+ fCurSubEvent(0),
+ fEventsTime(0),
+ fNev(0),
+ fFlavorSelect(0),
+ fXsection(0.),
+ fPythia(0),
+ fPtHardMin(0.),
+ fPtHardMax(1.e4),
+ fYHardMin(-1.e10),
+ fYHardMax(1.e10),
+ fGinit(kTRUE),
+ fGfinal(kTRUE),
+ fHadronisation(kTRUE),
+ fNpartons(0),
+ fReadFromFile(kFALSE),
+ fQuench(kFALSE),
+ fPtKick(1.),
+ fFullEvent(kTRUE),
+ fDecayer(new AliDecayerPythia()),
+ fDebugEventFirst(-1),
+ fDebugEventLast(-1),
+ fEtMinJet(0.),
+ fEtMaxJet(1.e4),
+ fEtaMinJet(-20.),
+ fEtaMaxJet(20.),
+ fPhiMinJet(0.),
+ fPhiMaxJet(2.* TMath::Pi()),
+ fJetReconstruction(kCell),
+ fEtaMinGamma(-20.),
+ fEtaMaxGamma(20.),
+ fPhiMinGamma(0.),
+ fPhiMaxGamma(2. * TMath::Pi()),
+ fPycellEtaMax(2.),
+ fPycellNEta(274),
+ fPycellNPhi(432),
+ fPycellThreshold(0.),
+ fPycellEtSeed(4.),
+ fPycellMinEtJet(10.),
+ fPycellMaxRadius(1.),
+ fStackFillOpt(kFlavorSelection),
+ fFeedDownOpt(kTRUE),
+ fFragmentation(kTRUE),
+ fSetNuclei(kFALSE),
+ fNewMIS(kFALSE),
+ fHFoff(kFALSE),
+ fTriggerParticle(0),
+ fTriggerEta(0.9),
+ fCountMode(kCountAll),
+ fHeader(0),
+ fRL(0),
+ fFileName(0)
{
// copy constructor
Pythia.Copy(*this);
ClassImp(AliGenPythiaEventHeader)
-
-AliGenPythiaEventHeader::AliGenPythiaEventHeader()
+AliGenPythiaEventHeader::AliGenPythiaEventHeader():
+ fProcessType(0),
+ fTrials(0),
+ fNJets(0),
+ fNUQJets(0),
+ fXJet(-1.),
+ fYJet(-1.),
+ fPtHard(0.)
{
// Default Constructor
- fNJets = 0;
- fNUQJets = 0;
for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
- fXJet = -1.;
- fYJet = -1.;
}
-AliGenPythiaEventHeader::AliGenPythiaEventHeader(const char* name):AliGenEventHeader(name)
+AliGenPythiaEventHeader::AliGenPythiaEventHeader(const char* name):
+ AliGenEventHeader(name),
+ fProcessType(0),
+ fTrials(0),
+ fNJets(0),
+ fNUQJets(0),
+ fXJet(-1.),
+ fYJet(-1.),
+ fPtHard(0.)
{
// Constructor
- fNJets = 0;
- fNUQJets = 0;
for (Int_t i = 0; i < 4; i++) fZquench[i] = 0.;
- fXJet = -1.;
- fYJet = -1.;
-
}
void AliGenPythiaEventHeader::AddJet(Float_t px, Float_t py, Float_t pz, Float_t e)
AliPythia* AliPythia::fgAliPythia=NULL;
-AliPythia::AliPythia()
+AliPythia::AliPythia():
+ fProcess(kPyMb),
+ fEcms(0.),
+ fStrucFunc(kCTEQ5L),
+ fXJet(0.),
+ fYJet(0.),
+ fGlauber(0),
+ fQuenchingWeights(0)
{
// Default Constructor
//
fQuenchingWeights = 0;
}
+AliPythia::AliPythia(const AliPythia& pythia):
+ fProcess(kPyMb),
+ fEcms(0.),
+ fStrucFunc(kCTEQ5L),
+ fXJet(0.),
+ fYJet(0.),
+ fGlauber(0),
+ fQuenchingWeights(0)
+{
+ // Copy Constructor
+ pythia.Copy(*this);
+}
+
void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc)
{
// Initialise the process to generate
SetPARP(86,0.66); // Regulates gluon prod. mechanism
SetPARP(67,1); // Regulates Initial State Radiation
}
+
+AliPythia& AliPythia::operator=(const AliPythia& rhs)
+{
+// Assignment operator
+ rhs.Copy(*this);
+ return *this;
+}
+
+ void AliPythia::Copy(TObject&) const
+{
+ //
+ // Copy
+ //
+ Fatal("Copy","Not implemented!\n");
+}
// return instance of the singleton
static AliPythia* Instance();
virtual void Quench();
+ // Assignment Operator
+ AliPythia & operator=(const AliPythia & rhs);
+ void Copy(TObject&) const;
protected:
Process_t fProcess; // Process type
Float_t fEcms; // Centre of mass energy
static AliPythia* fgAliPythia; // Pointer to single instance
private:
AliPythia();
+ AliPythia(const AliPythia& pythia);
void ConfigHeavyFlavor();
void AtlasTuning();
ClassDef(AliPythia,1) //ALICE UI to PYTHIA