]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliGenPythia.h
printing benchmark message only if input contains clusters
[u/mrichter/AliRoot.git] / PYTHIA6 / AliGenPythia.h
index f03376f9ab2253e61b2c36fbf908f3236e73cb93..8ccb53f0abd81e767cd921bec227f040e5e2a3d8 100644 (file)
@@ -31,7 +31,7 @@ class AliGenPythia : public AliGenMC
 {
  public:
 
-    typedef enum {kFlavorSelection, kParentSelection} StackFillOpt_t;
+    typedef enum {kFlavorSelection, kParentSelection, kHeavyFlavor} StackFillOpt_t;
     typedef enum {kCountAll, kCountParents, kCountTrackables} CountMode_t;
     typedef enum {kCluster, kCell} JetRecMode_t;
          
@@ -114,8 +114,9 @@ class AliGenPythia : public AliGenMC
     // Trigger and rotate event 
     void RotatePhi(Int_t iphcand, Bool_t& okdd);
     // Trigger on a single particle
-    virtual void    SetTriggerParticle(Int_t particle = 0, Float_t etamax = 0.9) 
-       {fTriggerParticle = particle; fTriggerEta = etamax;}
+    virtual void    SetTriggerParticle(Int_t particle = 0, Float_t etamax = 0.9, Float_t ptmin = -1, Float_t ptmax = 1000) 
+       {fTriggerParticle = particle; fTriggerEta = etamax; fTriggerMinPt = ptmin; fTriggerMaxPt = ptmax;}
+
     //
     // Heavy flavor options
     //
@@ -145,7 +146,9 @@ class AliGenPythia : public AliGenMC
     void SetQhat(Float_t qhat) {fQhat = qhat;}
     //Set initial medium length.
     void SetLength(Float_t length) {fLength = length;}
-
+    //set parameters for pyquen afterburner
+    virtual void SetPyquenPar(Float_t t0=1., Float_t tau0=0.1, Int_t nf=0,Int_t iengl=0, Int_t iangl=3)
+    {fpyquenT = t0; fpyquenTau = tau0; fpyquenNf=nf;fpyquenEloss=iengl;fpyquenAngle=iangl;}
     virtual void SetHadronisation(Int_t flag = 1) {fHadronisation = flag;}
     virtual void SetPatchOmegaDalitz(Int_t flag = 1) {fPatchOmegaDalitz = flag;}
     virtual void SetReadFromFile(const Text_t *filname) {fkFileName = filname;  fReadFromFile = 1;}    
@@ -185,6 +188,7 @@ class AliGenPythia : public AliGenMC
     //
     Bool_t IsInEMCAL(Float_t phi, Float_t eta) const;
     Bool_t IsInPHOS(Float_t phi, Float_t eta) const;
+    Bool_t IsFromHeavyFlavor(Int_t ipart);
     //
     virtual void FinishRun();
     Bool_t CheckTrigger(const TParticle* jet1, const TParticle* jet2);
@@ -193,6 +197,7 @@ class AliGenPythia : public AliGenMC
     void     GetSubEventTime();
 
     void SetTuneForDiff(Bool_t a=kTRUE) {fkTuneForDiff=a;}
+    AliDecayer * GetDecayer(){return fDecayer;}
 
  protected:
     // adjust the weight from kinematic cuts
@@ -231,6 +236,11 @@ class AliGenPythia : public AliGenMC
     Int_t       fQuench;            //Flag for quenching
     Float_t     fQhat;              //Transport coefficient (GeV^2/fm)
     Float_t     fLength;            //Medium length (fm)
+    Float_t     fpyquenT;           //Pyquen initial temperature 
+    Float_t     fpyquenTau;         //Pyquen initial proper time
+    Int_t       fpyquenNf;          //Pyquen number of flavours into the game
+    Int_t       fpyquenEloss;       //Pyquen type of energy loss 
+    Int_t       fpyquenAngle;       //Pyquen radiation angle for gluons
     Float_t     fImpact;            //Impact parameter for quenching simulation (q-pythia) 
     Float_t     fPtKick;            //Transverse momentum kick
     Bool_t      fFullEvent;         //!Write Full event if true
@@ -267,6 +277,8 @@ class AliGenPythia : public AliGenMC
     Int_t   fNucPdf;                // Nuclear pdf 0: EKS98 1: EPS08
     Int_t   fTriggerParticle;       // Trigger on this particle ...
     Float_t fTriggerEta;            // .. within |eta| < fTriggerEta
+    Float_t fTriggerMinPt;          // .. within pt > fTriggerMinPt
+    Float_t fTriggerMaxPt;          // .. within pt < fTriggerMaxPt
     Int_t       fTriggerMultiplicity;       // Trigger on events with a minimum charged multiplicity
     Float_t     fTriggerMultiplicityEta;    // in a given eta range
     Float_t     fTriggerMultiplicityPtMin;  // above this pT 
@@ -310,8 +322,10 @@ class AliGenPythia : public AliGenMC
 
 
     Bool_t CheckDiffraction();
+    Bool_t GetWeightsDiffraction(Double_t M, Double_t &Mmin, Double_t &Mmax, 
+                                              Double_t &wSD, Double_t &wDD, Double_t &wND);
 
-    ClassDef(AliGenPythia, 11) // AliGenerator interface to Pythia
+    ClassDef(AliGenPythia, 12) // AliGenerator interface to Pythia
 };
 #endif