Process_t and Struc_Func_t moved to AliPythia.h
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 Mar 2001 13:03:40 +0000 (13:03 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 Mar 2001 13:03:40 +0000 (13:03 +0000)
EVGEN/AliGenPythia.cxx
EVGEN/AliGenPythia.h
EVGEN/AliPythia.cxx
EVGEN/AliPythia.h

index c0854ec..2efb42e 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.34  2001/02/14 15:50:40  hristov
+The last particle in event marked using SetHighWaterMark
+
 Revision 1.33  2001/01/30 09:23:12  hristov
 Streamers removed (R.Brun)
 
@@ -168,62 +171,62 @@ void AliGenPythia::Init()
 //  Parent and Children Selection
     switch (fProcess) 
     {
-    case charm:
-
+    case kPyCharm:
        fParentSelect[0]=411;
        fParentSelect[1]=421;
        fParentSelect[2]=431;
        fParentSelect[3]=4122;  
        break;
-    case charm_unforced:
-
+    case kPyCharmUnforced:
        fParentSelect[0]=411;
        fParentSelect[1]=421;
        fParentSelect[2]=431;
        fParentSelect[3]=4122;  
        break;
-    case beauty:
+    case kPyBeauty:
        fParentSelect[0]=511;
        fParentSelect[1]=521;
        fParentSelect[2]=531;
        fParentSelect[3]=5122;  
        break;
-    case beauty_unforced:
+    case kPyBeautyUnforced:
        fParentSelect[0]=511;
        fParentSelect[1]=521;
        fParentSelect[2]=531;
        fParentSelect[3]=5122;  
        break;
-    case jpsi_chi:
-    case jpsi:
+    case kPyJpsiChi:
+    case kPyJpsi:
        fParentSelect[0]=443;
        break;
-    case mb:
+    case kPyMb:
+    case kPyJets:
+    case kPyDirectGamma:
        break;
     }
 
     switch (fForceDecay) 
     {
-    case semielectronic:
-    case dielectron:
-    case b_jpsi_dielectron:
-    case b_psip_dielectron:
+    case kSemiElectronic:
+    case kDiElectron:
+    case kBJpsiDiElectron:
+    case kBPsiPrimeDiElectron:
        fChildSelect[0]=kElectron;      
        break;
-    case semimuonic:
-    case dimuon:
-    case b_jpsi_dimuon:
-    case b_psip_dimuon:
-    case pitomu:
-    case katomu:
+    case kSemiMuonic:
+    case kDiMuon:
+    case kBJpsiDiMuon:
+    case kBPsiPrimeDiMuon:
+    case kPiToMu:
+    case kKaToMu:
        fChildSelect[0]=kMuonMinus;
        break;
-    case hadronicD:
+    case kHadronicD:
       fChildSelect[0]=kPiPlus;
       fChildSelect[1]=kKPlus;
       break;
-    case all:
-    case nodecay:
+    case kAll:
+    case kNoDecay:
       break;
     }
 }
@@ -273,7 +276,7 @@ void AliGenPythia::Generate()
        printf("\n **************************************************%d\n",np);
        Int_t nc=0;
        if (np == 0 ) continue;
-       if (fProcess != mb) {
+       if (fProcess != kPyMb && fProcess != kPyJets && fProcess != kPyDirectGamma) {
            for (Int_t i = 0; i<np-1; i++) {
                TParticle *  iparticle = (TParticle *) particles->At(i);
                Int_t ks = iparticle->GetStatusCode();
@@ -317,9 +320,9 @@ void AliGenPythia::Generate()
                        Int_t ifch=iparticle->GetFirstDaughter();
                        Int_t ilch=iparticle->GetLastDaughter();        
 
-                       if ((ifch !=0 && ilch !=0) || fForceDecay == nodecay) {
+                       if ((ifch !=0 && ilch !=0) || fForceDecay == kNoDecay) {
                          Int_t trackit=0;
-                         if (fForceDecay == nodecay) trackit = 1;
+                         if (fForceDecay == kNoDecay) trackit = 1;
                            gAlice->SetTrack(trackit,ntP,kf,
                                             p,origin,polar,
                                             0,kPPrimary,nt,fParentWeight);
@@ -327,7 +330,7 @@ void AliGenPythia::Generate()
                            Int_t iparent = nt;
 //
 // Children        
-                           if (fForceDecay != nodecay) {
+                           if (fForceDecay != kNoDecay) {
                              for (j=ifch; j<=ilch; j++)
                                {
                                  TParticle *  ichild = 
@@ -409,7 +412,7 @@ Bool_t AliGenPythia::ParentSelected(Int_t ip)
 Bool_t AliGenPythia::ChildSelected(Int_t ip)
 {
 // True if particle is in list of decay products to be selected
-    if (fForceDecay == all) return kTRUE;
+    if (fForceDecay == kAll) return kTRUE;
     
     for (Int_t i=0; i<5; i++)
     {
index e42908c..235af92 100644 (file)
@@ -7,10 +7,10 @@
 
 
 #include "AliGenerator.h"
-#include "GenTypeDefs.h"
+#include "AliPythia.h"
+#include "AliDecayer.h"
 #include <TArrayI.h>    
 
-class AliDecayer;
 class AliPythia;
 class TParticle;
 
@@ -24,22 +24,22 @@ class AliGenPythia : public AliGenerator
     virtual void    Generate();
     virtual void    Init();
     // select process type
-    virtual void    SetProcess(Process_t proc=charm) {fProcess=proc;}
+    virtual void    SetProcess(Process_t proc = kPyCharm) {fProcess = proc;}
     // select structure function
-    virtual void    SetStrucFunc(StrucFunc_t func=GRV_HO) {fStrucFunc=func;}
+    virtual void    SetStrucFunc(StrucFunc_t func = kGRV_HO) {fStrucFunc = func;}
     // select pt of hard scattering 
-    virtual void    SetPtHard(Float_t ptmin=0, Float_t ptmax=1.e10)
-       {fPtHardMin=ptmin; fPtHardMax=ptmax; }
+    virtual void    SetPtHard(Float_t ptmin = 0, Float_t ptmax = 1.e10)
+       {fPtHardMin = ptmin; fPtHardMax = ptmax; }
     // set centre of mass energy
-    virtual void    SetEnergyCMS(Float_t energy=5500) {fEnergyCMS=energy;}
+    virtual void    SetEnergyCMS(Float_t energy = 5500) {fEnergyCMS = energy;}
     // force decay type
-    virtual void    SetForceDecay(Decay_t decay=semimuonic) {fForceDecay=decay;}
+    virtual void    SetForceDecay(Decay_t decay = kSemiMuonic) {fForceDecay = decay;}
     // treat protons as inside nuclei
     virtual void    SetNuclei(Int_t a1, Int_t a2);
     // get cross section of process
     virtual Float_t GetXsection() {return fXsection;}
     // Check PDG code
-    virtual Int_t CheckPDGCode(Int_t pdgcode);
+    virtual Int_t   CheckPDGCode(Int_t pdgcode);
     // Assignment Operator
     AliGenPythia & operator=(const AliGenPythia & rhs);
  protected:
@@ -57,7 +57,7 @@ class AliGenPythia : public AliGenerator
     Float_t     fPtHardMax;     // higher pT-hard cut
     Int_t       fNucA1;         // mass number nucleus side 1
     Int_t       fNucA2;         // mass number nucleus side 2
-    
+    Bool_t      fFullEvent;     // Write Full event if true
     AliDecayer  *fDecayer;      // ! pointer to the decayer instance
  private:
     // check if particle is selected as parent particle
index 3cfddc8..c39fa57 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.13  2000/12/18 08:55:35  morsch
+Make AliPythia dependent generartors work with new scheme of random number generation
+
 Revision 1.12  2000/11/30 07:12:50  alibrary
 Introducing new Rndm and QA classes
 
@@ -84,7 +87,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
 //  select charm production
     switch (process) 
     {
-    case charm:
+    case kPyCharm:
        SetMSEL(4);
 //
 //  heavy quark masses
@@ -98,16 +101,16 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        SetPARP(93,5.);
 //
        break;
-    case beauty:
+    case kPyBeauty:
        SetMSEL(5);
        SetPMAS(5,1,4.75);
        break;
-    case jpsi:
+    case kPyJpsi:
        SetMSEL(0);
 // gg->J/Psi g
        SetMSUB(86,1);
        break;
-    case jpsi_chi:
+    case kPyJpsiChi:
        SetMSEL(0);
 // gg->J/Psi g
        SetMSUB(86,1);
@@ -117,7 +120,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        SetMSUB(88,1);
 // gg-> chi_2c g
        SetMSUB(89,1);  
-    case charm_unforced:
+    case kPyCharmUnforced:
        SetMSEL(0);
 // gq->qg   
        SetMSUB(28,1);
@@ -125,7 +128,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        SetMSUB(53,1);
 // gg->gg
        SetMSUB(68,1);
-    case beauty_unforced:
+    case kPyBeautyUnforced:
        SetMSEL(0);
 // gq->qg   
        SetMSUB(28,1);
@@ -134,7 +137,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
 // gg->gg
        SetMSUB(68,1);
        break;
-    case mb:
+    case kPyMb:
 // Minimum Bias pp-Collisions
 //
 // Tuning of parameters descibed in G. Ciapetti and A. Di Ciaccio
@@ -156,6 +159,13 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        SetPARP(86,0.9);
 //      90% of gluon interactions have minimum string length
        SetPARP(85,0.9);
+       break;
+    case kPyJets:
+       SetMSEL(1);
+       break;
+    case kPyDirectGamma:
+       SetMSEL(10);
+       break;
     }
 //
 //  Initialize PYTHIA
index 6eacf1b..d46b718 100644 (file)
@@ -7,10 +7,27 @@
 
 #include <TPythia6.h>
 #include <AliRndm.h>
-#include "GenTypeDefs.h"
+
+typedef enum
+{kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced, kPyJpsi, kPyJpsiChi, kPyMb, kPyJets, kPyDirectGamma}
+Process_t;
+
+typedef enum
+{
+    kDO_Set_1=1006,
+    kGRV_LO=5005,
+    kGRV_HO=5006,
+    kMRS_D_minus=3031,
+    kMRS_D0=3030,
+    kMRS_G=3041,
+    kCTEQ_2pM=4024,
+    kCTEQ_4M=4034
+}
+StrucFunc_t;
 
 class AliPythia : public TPythia6, public AliRndm
 {
+
  public:
     virtual ~AliPythia(){;}
     // convert to compressed code and print result (for debugging only)