// andreas.morsch@cern.ch
#include "AliGenMC.h"
+#include "AliGenHijingEventHeader.h"
#include <TString.h>
class THijing;
class TClonesArray;
class TGraph;
+
class AliGenHijing : public AliGenMC
{
enum {kNoTrigger, kHardProcesses, kDirectPhotons};
public:
AliGenHijing();
AliGenHijing(Int_t npart);
- AliGenHijing(const AliGenHijing &Hijing);
virtual ~AliGenHijing();
virtual void Generate();
virtual void Init();
virtual void SetSelectAll(Int_t flag=0) {fSelectAll = flag;}
virtual void SetRadiation(Int_t flag=3) {fRadiation = flag;}
virtual void SetSpectators(Int_t spects=1) {fSpectators = spects;}
+ virtual void SetPtHardMin(Float_t ptmin) {fPtHardMin = ptmin;}
+ virtual void SetPtHardMax(Float_t ptmax) {fPtHardMax = ptmax;}
virtual void SetPtJet(Float_t ptmin) {fPtMinJet = ptmin;}
virtual void SetSimpleJets(Int_t flag=0) {fSimpleJet = flag;}
virtual void SetNoGammas(Int_t flag=0) {fNoGammas = flag;}
{fPhiMinJet = TMath::Pi()*phimin/180.; fPhiMaxJet = TMath::Pi()*phimax/180.;}
virtual void SetBoostLHC(Int_t flag = 0) {fLHC = flag;}
virtual void SetRandomPz(Bool_t flag = 0) {fRandomPz = flag;}
- virtual void AddHeader(AliGenEventHeader* header);
virtual void SwitchOffHeavyQuarks(Bool_t flag = kTRUE) {fNoHeavyQuarks = flag;}
// Getters
- virtual Float_t GetEnergyCMS() const {return fEnergyCMS;}
virtual TString GetReferenceFrame() const {return fFrame;}
- virtual void GetProjectile(TString& tar, Int_t& a, Int_t& z) const
- {tar = fProjectile; a = fAProjectile; z = fZProjectile;}
- virtual void GetTarget(TString& tar, Int_t& a, Int_t& z) const
- {tar = fTarget; a = fATarget; z = fZTarget;}
virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax) const
{bmin = fMinImpactParam; bmax = fMaxImpactParam;}
virtual Int_t GetJetQuenching() const {return fQuench;}
virtual Int_t GetFlavor() const {return fFlavor;}
virtual Int_t GetRadiation() const {return fRadiation;}
virtual Int_t GetSpectators() const {return fSpectators;}
+ virtual Float_t GetPtHardMin() const {return fPtHardMin;}
+ virtual Float_t GetPtHardMax() const {return fPtHardMax;}
virtual Float_t GetPtJet() const {return fPtMinJet;}
virtual void GetJetEtaRange(Float_t& etamin, Float_t& etamax) const
{etamin = fEtaMinJet; etamax = fEtaMaxJet;}
virtual TGraph* BinaryCollisions() {return fDnDb;}
virtual Bool_t CheckTrigger();
//
- AliGenHijing & operator=(const AliGenHijing & rhs);
protected:
Bool_t SelectFlavor(Int_t pid);
void MakeHeader();
Int_t fEvaluate; // Evaluate total and partial cross-sections
Int_t fSelectAll; // Flag to write the full event
Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty
- Float_t fEnergyCMS; // Centre of mass energy
Float_t fKineBias; // Bias from kinematic selection
Int_t fTrials; // Number of trials
Float_t fXsection; // Cross-section
Int_t fRadiation; // Flag to switch on/off initial and final state radiation
Int_t fSimpleJet; // Flag to produce simple tiggered jet topology
Int_t fNoGammas; // Don't write gammas if flag "on"
-
// ZDC proposal (by Chiara) to store num. of SPECTATORS protons and neutrons
Int_t fProjectileSpecn;// Num. of spectator neutrons from projectile nucleus
Int_t fProjectileSpecp;// Num. of spectator protons from projectile nucleus
Int_t fLHC; // Assume LHC as lab frame
Bool_t fRandomPz; // Randomise sign of pz event by event
Bool_t fNoHeavyQuarks; // If true no heavy quarks are produced
+ AliGenHijingEventHeader fHeader; // MC Header
private:
- void Copy(TObject &rhs) const;
+ AliGenHijing(const AliGenHijing &Hijing);
+ AliGenHijing & operator=(const AliGenHijing & rhs);
+
// adjust the weight from kinematic cuts
void AdjustWeights();
// check seleted daughters
- Bool_t DaughtersSelection(TParticle* iparticle);
+ Bool_t DaughtersSelection(const TParticle* iparticle);
// check if stable
- Bool_t Stable(TParticle* particle) const;
+ Bool_t Stable(const TParticle* particle) const;
- ClassDef(AliGenHijing, 6) // AliGenerator interface to Hijing
+ ClassDef(AliGenHijing, 8) // AliGenerator interface to Hijing
};
#endif