]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenReaderEMD.cxx
Merge branch 'TPCdev' of https://git.cern.ch/reps/AliRoot into TPCdev
[u/mrichter/AliRoot.git] / EVGEN / AliGenReaderEMD.cxx
index 8c8ec979409cdd5e9857830b06ccda1a57dfd47a..9bd837f3d9e09f566db11a74c0c22c7b8a23ee7d 100644 (file)
@@ -147,6 +147,28 @@ AliGenReaderEMD::AliGenReaderEMD(const AliGenReaderEMD &reader):
     fEtaomegaCside(0)
 {
     // Copy Constructor
+    for(int i=0; i<70; i++){
+       fPxnAside[i] = fPynAside[i] = fPznAside[i] = 0.;
+       fPxnCside[i] = fPynCside[i] = fPznCside[i] = 0.;
+       if(i<50){
+         fPxpAside[i] = fPypAside[i] = fPzpAside[i] = 0.;
+        fPxpCside[i] = fPypCside[i] = fPzpCside[i] = 0.;
+         if(i<30){
+           fPxppAside[i] = fPyppAside[i] = fPzppAside[i] = 0.;
+          fPxppCside[i] = fPyppCside[i] = fPzppCside[i] = 0.;
+           fPxpmAside[i] = fPypmAside[i] = fPzpmAside[i] = 0.;
+          fPxpmCside[i] = fPypmCside[i] = fPzpmCside[i] = 0.;
+           fPxp0Aside[i] = fPyp0Aside[i] = fPzp0Aside[i] = 0.;
+          fPxp0Cside[i] = fPyp0Cside[i] = fPzp0Cside[i] = 0.;
+          if(i<15){
+             fPxetaAside[i] = fPyetaAside[i] = fPzetaAside[i] = 0.;
+            fPxetaCside[i] = fPyetaCside[i] = fPzetaCside[i] = 0.;
+             fPxomegaAside[i] = fPyomegaAside[i] = fPzomegaAside[i] = 0.;
+            fPxomegaCside[i] = fPyomegaCside[i] = fPzomegaCside[i] = 0.;
+          }
+        }
+       }       
+    }
     reader.Copy(*this);
 }
   // -----------------------------------------------------------------------------------
@@ -301,11 +323,11 @@ Int_t AliGenReaderEMD::NextEvent()
        }
        fNcurrent++;
        printf("\t #### Putting %d particles in the stack\n", nTracks);
-       if(fPcToTrack==kAll || fPcToTrack==kOnlyNucleons) printf("\t\t  %d+%d neutrons, %d+%d protons\n", 
+       /*if(fPcToTrack==kAll || fPcToTrack==kOnlyNucleons) printf("\t\t  %d+%d neutrons, %d+%d protons\n", 
                fNnAside,fNnCside, fNpAside,fNpCside);
        if(fPcToTrack==kAll || fPcToTrack==kNotNucleons) printf("\t %d+%d pi+, %d+%d pi-, %d+%d pi0, %d+%d eta, %d+%d omega\n",
                fNppAside,fNppCside,fNpmAside,fNpmCside, 
-               fNp0Aside,fNp0Cside,fNetaAside,fNetaCside, fNomegaAside,fNomegaCside);
+               fNp0Aside,fNp0Cside,fNetaAside,fNetaCside, fNomegaAside,fNomegaCside);*/
        return nTracks;
     }
 
@@ -434,12 +456,16 @@ TParticle* AliGenReaderEMD::NextParticle()
     Double_t amass = TDatabasePDG::Instance()->GetParticle(pdgCode)->Mass();
     p[3] = TMath::Sqrt(ptot*ptot+amass*amass);
     
-    if(p[3]<=amass) 
-      Warning("Generate","Particle %d  E = %f GeV mass = %f GeV/c^2",pdgCode,p[3],amass);
+    if(p[3]<=amass){ 
+       Warning("Generate","Particle %d  E = %f GeV mass = %f GeV ",pdgCode,p[3],amass);
+    }
+    
+    //printf("  Pc %d:  PDGcode %d  p(%1.2f, %1.2f, %1.2f, %1.3f)\n",
+    // fNparticle,pdgCode,p[0], p[1], p[2], p[3]);
     
     TParticle* particle = new TParticle(pdgCode, 0, -1, -1, -1, -1, 
        p[0], p[1], p[2], p[3], 0., 0., 0., 0.);
-    particle->SetBit(kTransportBit);
+    if((p[0]*p[0]+p[1]*p[1]+p[2]*p[2])>1e-5) particle->SetBit(kTransportBit);
     fNparticle++;
     return particle;
 }