// select process type
virtual void SetProcess(Process_t proc = kPyCharm) {fProcess = proc;}
// select structure function
- virtual void SetStrucFunc(StrucFunc_t func = kGRVHO) {fStrucFunc = func;}
+ virtual void SetStrucFunc(StrucFunc_t func = kCTEQ5L) {fStrucFunc = func;}
// select pt of hard scattering
virtual void SetPtHard(Float_t ptmin = 0, Float_t ptmax = 1.e10)
{fPtHardMin = ptmin; fPtHardMax = ptmax; }
{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
{fEtaMinGamma = etamin; fEtaMaxGamma = etamax;}
virtual void SetGammaPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
{fPhiMinGamma = TMath::Pi()*phimin/180.; fPhiMaxGamma = TMath::Pi()*phimax/180.;}
+
+ // Trigger on a particle
+ virtual void SetTriggerParticle(Int_t particle = 0, Float_t etamax = 0.9)
+ {fTriggerParticle = particle; fTriggerEta = etamax;}
// Set option for feed down from higher family
virtual void SetFeedDownHigherFamily(Bool_t opt) {
fFeedDownOpt = opt;
// get cross section of process
virtual Float_t GetXsection() const {return fXsection;}
// get triggered jets
- void GetJets(Int_t& njets, Int_t& ntrig, Float_t[4][10]);
+ void GetJets(Int_t& njets, Int_t& ntrig, Float_t jets[4][10]);
void RecJetsUA1(Int_t& njets, Float_t jets[4][50]);
void SetPycellParameters(Float_t etamax = 2., Int_t neta = 274, Int_t nphi = 432,
Float_t thresh = 0., Float_t etseed = 4.,
void LoadEvent(AliStack* stack, Int_t flag = 0, Int_t reHadr = 0);
// Getters
- virtual Process_t GetProcess() {return fProcess;}
- virtual StrucFunc_t GetStrucFunc() {return fStrucFunc;}
- virtual void GetPtHard(Float_t& ptmin, Float_t& ptmax)
+ virtual Process_t GetProcess() const {return fProcess;}
+ virtual StrucFunc_t GetStrucFunc() const {return fStrucFunc;}
+ virtual void GetPtHard(Float_t& ptmin, Float_t& ptmax) const
{ptmin = fPtHardMin; ptmax = fPtHardMax;}
- virtual Float_t GetEnergyCMS() {return fEnergyCMS;}
- virtual void GetNuclei(Int_t& a1, Int_t& a2)
+ virtual Float_t GetEnergyCMS() const {return fEnergyCMS;}
+ virtual void GetNuclei(Int_t& a1, Int_t& a2) const
{a1 = fAProjectile; a2 = fATarget;}
- virtual void GetJetEtRange(Float_t& etamin, Float_t& etamax)
+ virtual void GetJetEtRange(Float_t& etamin, Float_t& etamax) const
{etamin = fEtaMinJet; etamax = fEtaMaxJet;}
- virtual void GetJetPhiRange(Float_t& phimin, Float_t& phimax)
+ virtual void GetJetPhiRange(Float_t& phimin, Float_t& phimax) const
{phimin = fPhiMinJet*180./TMath::Pi(); phimax = fPhiMaxJet*180/TMath::Pi();}
- virtual void GetGammaEtaRange(Float_t& etamin, Float_t& etamax)
+ virtual void GetGammaEtaRange(Float_t& etamin, Float_t& etamax) const
{etamin = fEtaMinGamma; etamax = fEtaMaxGamma;}
- virtual void GetGammaPhiRange(Float_t& phimin, Float_t& phimax)
+ virtual void GetGammaPhiRange(Float_t& phimin, Float_t& phimax) const
{phimin = fPhiMinGamma*180./TMath::Pi(); phimax = fPhiMaxGamma*180./TMath::Pi();}
//
virtual void FinishRun();
Bool_t CheckTrigger(TParticle* jet1, TParticle* jet2);
+
+ //Used in some processes to selected child properties
+ Bool_t CheckKinematicsOnChild();
+
// Assignment Operator
AliGenPythia & operator=(const AliGenPythia & rhs);
void GetSubEventTime();
protected:
// adjust the weight from kinematic cuts
- void AdjustWeights();
+ void AdjustWeights() const;
Int_t GenerateMB();
void MakeHeader();
void GeneratePileup();
// parents and their decays
Bool_t fFeedDownOpt; // Option to set feed down from higher
// 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 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
+ Int_t fTriggerParticle; // Trigger on this particle ...
+ Float_t fTriggerEta; // .. within |eta| < fTriggerEta
//
-
CountMode_t fCountMode; // Options for counting when the event will be finished.
AliGenPythiaEventHeader* fHeader; //! Event header
AliRunLoader* fRL; //! Run Loader