]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THijing/AliGenHijing.cxx
AliLog only in libSTEERBase
[u/mrichter/AliRoot.git] / THijing / AliGenHijing.cxx
index 2a8e8b9b30fa777771104df2e563db9a4ff54746..d9dd4847bea6173ae8fd9af15b496debcfb58613 100644 (file)
@@ -22,6 +22,7 @@
 // Andreas Morsch    (andreas.morsch@cern.ch)
 //
 
+#include <TClonesArray.h>
 #include <TGraph.h>
 #include <THijing.h>
 #include <TLorentzVector.h>
 ClassImp(AliGenHijing)
 
 AliGenHijing::AliGenHijing()
-                 :AliGenMC()
+    :AliGenMC(),
+     fFrame("CMS"),
+     fMinImpactParam(0.),
+     fMaxImpactParam(5.),
+     fKeep(0),
+     fQuench(1),
+     fShadowing(1),
+     fDecaysOff(1),
+     fTrigger(0),     
+     fEvaluate(0),
+     fSelectAll(0),
+     fFlavor(0),
+     fEnergyCMS(5500.),
+     fKineBias(0.),
+     fTrials(0),
+     fXsection(0.),
+     fHijing(0),
+     fPtHardMin(0.),
+     fPtHardMax(1.e4),
+     fSpectators(1),
+     fDsigmaDb(0),
+     fDnDb(0),
+     fPtMinJet(-2.5),
+     fEtaMinJet(-20.),
+     fEtaMaxJet(+20.),
+     fPhiMinJet(0.),
+     fPhiMaxJet(2. * TMath::Pi()),
+     fRadiation(3),
+     fSimpleJet(kFALSE),
+     fNoGammas(kFALSE),
+     fProjectileSpecn(0),
+     fProjectileSpecp(0),
+     fTargetSpecn(0),
+     fTargetSpecp(0),
+     fLHC(kFALSE),
+     fRandomPz(kFALSE),
+     fNoHeavyQuarks(kFALSE)
 {
 // Constructor
     fParticles = 0;
-    fHijing    = 0;
-    fDsigmaDb  = 0;
-    fDnDb      = 0;
     AliHijingRndm::SetHijingRandom(GetRandom());
 }
 
 AliGenHijing::AliGenHijing(Int_t npart)
-    :AliGenMC(npart)
+    :AliGenMC(npart),
+     fFrame("CMS"),
+     fMinImpactParam(0.),
+     fMaxImpactParam(5.),
+     fKeep(0),
+     fQuench(1),
+     fShadowing(1),
+     fDecaysOff(1),
+     fTrigger(0),     
+     fEvaluate(0),
+     fSelectAll(0),
+     fFlavor(0),
+     fEnergyCMS(5500.),
+     fKineBias(0.),
+     fTrials(0),
+     fXsection(0.),
+     fHijing(0),
+     fPtHardMin(0.),
+     fPtHardMax(1.e4),
+     fSpectators(1),
+     fDsigmaDb(0),
+     fDnDb(0),
+     fPtMinJet(-2.5),
+     fEtaMinJet(-20.),
+     fEtaMaxJet(+20.),
+     fPhiMinJet(0.),
+     fPhiMaxJet(2. * TMath::Pi()),
+     fRadiation(3),
+     fSimpleJet(kFALSE),
+     fNoGammas(kFALSE),
+     fProjectileSpecn(0),
+     fProjectileSpecp(0),
+     fTargetSpecn(0),
+     fTargetSpecp(0),
+     fLHC(kFALSE),
+     fRandomPz(kFALSE),
+     fNoHeavyQuarks(kFALSE)
 {
 // Default PbPb collisions at 5. 5 TeV
 //
     fName = "Hijing";
     fTitle= "Particle Generator using HIJING";
-
-    SetEnergyCMS();
-    SetImpactParameterRange();
-    SetBoostLHC();
-    SetJetEtaRange();
-    SetJetPhiRange();
-    
-    fKeep       =  0;
-    fQuench     =  1;
-    fShadowing  =  1;
-    fTrigger    =  0;
-    fDecaysOff  =  1;
-    fEvaluate   =  0;
-    fSelectAll  =  0;
-    fFlavor     =  0;
-    fSpectators =  1;
-    fDsigmaDb   =  0;
-    fDnDb       =  0;
-    fPtMinJet   = -2.5;        
-    fRadiation  =  3;
-    //
-    SetSimpleJets();
-    SetNoGammas();
-    SetRandomPz();
-    SwitchOffHeavyQuarks(kFALSE);
 //
     fParticles = new TClonesArray("TParticle",10000);    
 //
 // Set random number generator   
     AliHijingRndm::SetHijingRandom(GetRandom());
-    fHijing = 0;
-
-}
-
-AliGenHijing::AliGenHijing(const AliGenHijing & hijing):
-    AliGenMC(hijing)
-{
-// copy constructor
 }
 
-
 AliGenHijing::~AliGenHijing()
 {
 // Destructor
@@ -185,11 +221,11 @@ void AliGenHijing::Generate()
   Float_t tof;
 
 //  converts from mm/c to s
-  const Float_t kconv = 0.001/2.999792458e8;
+  const Float_t kconv = 0.001/2.99792458e8;
 //
   Int_t nt  = 0;
   Int_t jev = 0;
-  Int_t j, kf, ks, imo;
+  Int_t j, kf, ks, ksp, imo;
   kf = 0;
     
 
@@ -283,14 +319,15 @@ void AliGenHijing::Generate()
          Bool_t  selected             =  kTRUE;
          kf        = iparticle->GetPdgCode();
          ks        = iparticle->GetStatusCode();
+         ksp       = iparticle->GetUniqueID();
          
 // --------------------------------------------------------------------------
 // Count spectator neutrons and protons
-         if(ks == 0 || ks == 1){
+         if(ksp == 0 || ksp == 1){
              if(kf == kNeutron) fProjectileSpecn += 1;
              if(kf == kProton)  fProjectileSpecp += 1;
          }
-         else if(ks == 10 || ks == 11){
+         else if(ksp == 10 || ksp == 11){
              if(kf == kNeutron) fTargetSpecn += 1;
              if(kf == kProton)  fTargetSpecp += 1;
          }
@@ -298,8 +335,8 @@ void AliGenHijing::Generate()
 //         
          if (!fSelectAll) {
              selected = KinematicSelection(iparticle,0)&&SelectFlavor(kf);
-             if (!fSpectators && selected) selected = (ks != 0 && ks != 1 && ks != 10
-                                                       && ks != 11);
+             if (!fSpectators && selected) selected = (ksp != 0 && ksp != 1 && ksp != 10
+                                                       && ksp != 11);
          }
 //
 // Put particle on the stack if selected
@@ -605,8 +642,8 @@ Bool_t AliGenHijing::CheckTrigger()
        for (Int_t i = 0; i < np; i++) {
            TParticle* part = (TParticle*) fParticles->At(i);
            Int_t kf = part->GetPdgCode();
-           Int_t ks = part->GetStatusCode();
-           if (kf == 22 && ks == 40) {
+           Int_t ksp = part->GetUniqueID();
+           if (kf == 22 && ksp == 40) {
                Float_t phi = part->Phi();
                Float_t eta = part->Eta();
                if  (eta < fEtaMaxJet && 
@@ -621,16 +658,3 @@ Bool_t AliGenHijing::CheckTrigger()
     } // fTrigger == 2
     return triggered;
 }
-
-
-void AliGenHijing::Copy(TObject &) const
-{
-  Fatal("Copy","Not implemented!\n");
-}
-
-AliGenHijing& AliGenHijing::operator=(const  AliGenHijing& rhs)
-{
-    rhs.Copy(*this); 
-    return (*this);
-}
-