X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=THijing%2FAliGenHijing.h;h=e9bd34b52c7a3f76287e6ec5960bba969977c1a2;hb=7aeeaf386766e22f97e34cd5ec1d0f2e2c8b839f;hp=73376e294c483d58804260f8cdd651fc4a26d870;hpb=b88f5cea5d4d41c14182d1cb23d40f2efe0ccd6f;p=u%2Fmrichter%2FAliRoot.git diff --git a/THijing/AliGenHijing.h b/THijing/AliGenHijing.h index 73376e294c4..e9bd34b52c7 100644 --- a/THijing/AliGenHijing.h +++ b/THijing/AliGenHijing.h @@ -11,10 +11,8 @@ #include "AliGenMC.h" #include -#include class THijing; -class TArrayI; class TParticle; class TClonesArray; class TGraph; @@ -56,32 +54,36 @@ class AliGenHijing : public AliGenMC virtual void SetJetPhiRange(Float_t phimin = -180., Float_t phimax = 180.) {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() {return fEnergyCMS;} - virtual TString GetReferenceFrame() {return fFrame;} - virtual void GetProjectile(TString& tar, Int_t& a, Int_t& z) + 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) + 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) + virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax) const {bmin = fMinImpactParam; bmax = fMaxImpactParam;} - virtual Int_t GetJetQuenching() {return fQuench;} - virtual Int_t GetShadowing() {return fShadowing;} - virtual Int_t GetTrigger() {return fTrigger;} - virtual Int_t GetFlavor() {return fFlavor;} - virtual Int_t GetRadiation() {return fRadiation;} - virtual Int_t GetSpectators() {return fSpectators;} - virtual Float_t GetPtJet() {return fPtMinJet;} - virtual void GetJetEtaRange(Float_t& etamin, Float_t& etamax) + virtual Int_t GetJetQuenching() const {return fQuench;} + virtual Int_t GetShadowing() const {return fShadowing;} + virtual Int_t GetTrigger() const {return fTrigger;} + virtual Int_t GetFlavor() const {return fFlavor;} + virtual Int_t GetRadiation() const {return fRadiation;} + virtual Int_t GetSpectators() const {return fSpectators;} + virtual Float_t GetPtJet() const {return fPtMinJet;} + virtual void GetJetEtaRange(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();} // Physics Routines - virtual Bool_t ProvidesCollisionGeometry() const {return kTRUE;} - virtual AliCollisionGeometry* CollisionGeometry() const {return fCollisionGeometry;} - virtual void EvaluateCrossSections(); + virtual Bool_t ProvidesCollisionGeometry() const {return kTRUE;} + virtual void EvaluateCrossSections(); virtual TGraph* CrossSection() {return fDsigmaDb;} virtual TGraph* BinaryCollisions() {return fDnDb;} virtual Bool_t CheckTrigger(); @@ -90,12 +92,8 @@ class AliGenHijing : public AliGenMC protected: Bool_t SelectFlavor(Int_t pid); void MakeHeader(); - private: - void Copy(AliGenHijing &rhs) const; - protected: - TString fFrame; // Reference frame - + TString fFrame; // Reference frame Float_t fMinImpactParam; // minimum impact parameter Float_t fMaxImpactParam; // maximum impact parameter Int_t fKeep; // Flag to keep full event information @@ -109,8 +107,6 @@ class AliGenHijing : public AliGenMC Float_t fEnergyCMS; // Centre of mass energy Float_t fKineBias; // Bias from kinematic selection Int_t fTrials; // Number of trials - TArrayI fParentSelect; // Parent particles to be selected - TArrayI fChildSelect; // Decay products to be selected Float_t fXsection; // Cross-section THijing *fHijing; //!Hijing Float_t fPtHardMin; // lower pT-hard cut @@ -128,19 +124,24 @@ class AliGenHijing : public AliGenMC Int_t fNoGammas; // Don't write gammas if flag "on" // ZDC proposal (by Chiara) to store num. of SPECTATORS protons and neutrons - Int_t fSpecn; // Num. of spectator neutrons - Int_t fSpecp; // Num. of spectator protons + Int_t fProjectileSpecn;// Num. of spectator neutrons from projectile nucleus + Int_t fProjectileSpecp;// Num. of spectator protons from projectile nucleus + Int_t fTargetSpecn; // Num. of spectator neutrons from target nucleus + Int_t fTargetSpecp; // Num. of spectator protons from target 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 + private: + void Copy(TObject &rhs) const; // adjust the weight from kinematic cuts void AdjustWeights(); // check seleted daughters Bool_t DaughtersSelection(TParticle* iparticle); // check if stable - Bool_t Stable(TParticle* particle); + Bool_t Stable(TParticle* particle) const; - ClassDef(AliGenHijing,4) // AliGenerator interface to Hijing + ClassDef(AliGenHijing, 6) // AliGenerator interface to Hijing }; #endif