Possibility to select/unselect spectator protons and neutrons.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Nov 2000 17:40:27 +0000 (17:40 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 9 Nov 2000 17:40:27 +0000 (17:40 +0000)
Method SetSpectators(Int_t spect) added. (FCA, Ch. Oppedisano)

EVGEN/AliGenHijing.cxx
EVGEN/AliGenHijing.h

index a7d3e94c142f3695042d606b5952e5c64cc914e2..780427f2619e7db65775b12837b42db6e6a99ba8 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
 
 /*
 $Log$
+Revision 1.12  2000/10/20 13:38:38  morsch
+Debug printouts commented.
+
 Revision 1.11  2000/10/20 13:22:26  morsch
 - skip particle type 92 (string)
 - Charmed and beauty baryions (5122, 4122) are considered as stable consistent with
 Revision 1.11  2000/10/20 13:22:26  morsch
 - skip particle type 92 (string)
 - Charmed and beauty baryions (5122, 4122) are considered as stable consistent with
@@ -88,6 +91,7 @@ AliGenHijing::AliGenHijing(Int_t npart)
     fEvaluate=0;
     fSelectAll=0;
     fFlavor=0;
     fEvaluate=0;
     fSelectAll=0;
     fFlavor=0;
+    fSpectators=1;
 }
 
 AliGenHijing::AliGenHijing(const AliGenHijing & Hijing)
 }
 
 AliGenHijing::AliGenHijing(const AliGenHijing & Hijing)
@@ -238,13 +242,16 @@ void AliGenHijing::Generate()
            Bool_t  hasMother            =  (iparticle->GetFirstMother()   >=0);
            Bool_t  selected             =  kTRUE;
            kf        = iparticle->GetPdgCode();
            Bool_t  hasMother            =  (iparticle->GetFirstMother()   >=0);
            Bool_t  selected             =  kTRUE;
            kf        = iparticle->GetPdgCode();
-           if (!fSelectAll) selected = KinematicSelection(iparticle)&&SelectFlavor(kf);
+           ks        = iparticle->GetStatusCode();
+           if (!fSelectAll) {
+             selected = KinematicSelection(iparticle)&&SelectFlavor(kf);
+             if (!fSpectators && selected) selected = (ks != 0 && ks != 10);
+           }
 //
 // Put particle on the stack if selected
 //
            if (selected) {
                nc++;
 //
 // Put particle on the stack if selected
 //
            if (selected) {
                nc++;
-               ks        = iparticle->GetStatusCode();
                p[0]=iparticle->Px();
                p[1]=iparticle->Py();
                p[2]=iparticle->Pz();
                p[0]=iparticle->Px();
                p[1]=iparticle->Py();
                p[2]=iparticle->Pz();
index 5ec5696d4ae7bf49649fb22e346be15c3ead005d..a7c37a5017c652c28a7f54dd955b35e4df0ed54b 100644 (file)
@@ -52,6 +52,7 @@ class AliGenHijing : public AliGenerator
     virtual void    SetFlavor(Int_t flag=0)           {fFlavor    = flag;}    
     virtual void    SetEvaluate(Int_t flag=0)         {fEvaluate  = flag;}
     virtual void    SetSelectAll(Int_t flag=0)        {fSelectAll = flag;}    
     virtual void    SetFlavor(Int_t flag=0)           {fFlavor    = flag;}    
     virtual void    SetEvaluate(Int_t flag=0)         {fEvaluate  = flag;}
     virtual void    SetSelectAll(Int_t flag=0)        {fSelectAll = flag;}    
+    virtual void    SetSpectators(Int_t spects=1)     {fSpectators = spects;}
     AliGenHijing &  operator=(const AliGenHijing & rhs);
 // Physics Routines        
     virtual void EvaluateCrossSections();
     AliGenHijing &  operator=(const AliGenHijing & rhs);
 // Physics Routines        
     virtual void EvaluateCrossSections();
@@ -87,6 +88,7 @@ class AliGenHijing : public AliGenerator
     THijing    *fHijing;         // Hijing
     Float_t     fPtHardMin;      // lower pT-hard cut 
     Float_t     fPtHardMax;      // higher pT-hard cut
     THijing    *fHijing;         // Hijing
     Float_t     fPtHardMin;      // lower pT-hard cut 
     Float_t     fPtHardMax;      // higher pT-hard cut
+    Int_t       fSpectators;     // put spectators on stack
 
  private:
     // check if particle is selected as parent particle
 
  private:
     // check if particle is selected as parent particle