]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TDPMjet/AliGenDPMjet.h
Some testing macros to help
[u/mrichter/AliRoot.git] / TDPMjet / AliGenDPMjet.h
index da354ed136920a2c4b6ffc7a41f7d78d9e552d76..845791d3d63fe8adea0f4217f37d2faedb2a154f 100644 (file)
@@ -33,6 +33,7 @@ class AliGenDPMjet : public AliGenMC
     virtual ~AliGenDPMjet(); 
     virtual void    Generate();
     virtual void    Init();
+    virtual void    FinishRun();
     virtual void    SetEnergyCMS(Float_t energy = 14000.) {fEnergyCMS = energy; fBeamEn = energy / 2.;}
     virtual void    SetImpactParameterRange(Float_t bmin=0., Float_t bmax=1.)
                        {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
@@ -43,30 +44,30 @@ class AliGenDPMjet : public AliGenMC
     virtual void    SetSpectators(Int_t spects=1)     {fSpectators = spects;}
     virtual void    SetBoostLHC(Int_t flag=0)         {fLHC        = flag;}
     virtual void    SetPi0Decay(Int_t iPi0)  {fPi0Decay = iPi0;}
-    virtual Float_t GetEnergyCMS() {return fEnergyCMS;}
-    virtual void    GetProjectile(Int_t& a, Int_t& z)
-                       {a = fAProjectile; z = fZProjectile;}    
-    virtual void    GetTarget(Int_t& a, Int_t& z)
-                       {a = fATarget; z = fZTarget;}    
+    virtual void    SetDecayAll(Int_t iDec)  {fDecayAll = iDec;}
     virtual void    GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
                        {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
     virtual Int_t   GetSpectators()        {return fSpectators;}
     virtual Int_t   GetFlavor()            {return fFlavor;}
 
-    // Temporeaneo!?!
     virtual void    SetGenImpPar(Float_t bValue) {fGenImpPar=bValue;}
     virtual Float_t GetGenImpPar() {return fGenImpPar;}
-    
+    virtual void    SetTriggerChargedMultiplicity(Int_t multiplicity, 
+                                                 Float_t etamax = 0, Float_t ptmin = -1.) 
+    {fTriggerMultiplicity = multiplicity; fTriggerMultiplicityEta = etamax; 
+      fTriggerMultiplicityPtMin = ptmin;}
+
     AliGenDPMjet &  operator=(const AliGenDPMjet & rhs);
     void     AddHeader(AliGenEventHeader* header);
 
+   void SetTuneForDiff(Bool_t a=kTRUE) {fkTuneForDiff=a;}
+
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
 
  protected:
     Float_t       fBeamEn;        // beam energy
-    Float_t       fEnergyCMS;      // Centre of mass energy
     Float_t       fMinImpactParam; // minimum impact parameter
     Float_t       fMaxImpactParam; // maximum impact parameter 
     Int_t        fICentr;         // Flag to force central production
@@ -80,9 +81,17 @@ class AliGenDPMjet : public AliGenMC
     Int_t         fNoGammas;       // Don't write gammas if flag "on"
     Int_t         fLHC;            // Assume LHC as lab frame
     Int_t         fPi0Decay;       // Flag for pi0 decays
+    Int_t         fDecayAll;       // Flag to switch on long-lived particle decays
     Float_t      fGenImpPar;      // GeneratedImpactParameter
     DpmProcess_t  fProcess;        // Process type
-    
+    // Multiplicity Trigger
+    Int_t         fTriggerMultiplicity;      // Triggered multiplicity
+    Float_t       fTriggerMultiplicityEta;   // Triggered multiplicity eta cut
+    Float_t       fTriggerMultiplicityPtMin; // Triggered multiplicity min pt
+
+    Bool_t fkTuneForDiff;    // Phojet tune 
+    Int_t  fProcDiff;
+
  private:
     // adjust the weight from kinematic cuts
     void   AdjustWeights();
@@ -90,8 +99,12 @@ class AliGenDPMjet : public AliGenMC
     Bool_t DaughtersSelection(TParticle* iparticle);
     // check if stable
     Bool_t Stable(TParticle*  particle);
-    
-    ClassDef(AliGenDPMjet,1) // AliGenerator interface to DPMJET
+   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(AliGenDPMjet,4) // AliGenerator interface to DPMJET
 };
 #endif