- arithmetic fix
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 9 Feb 2010 08:59:16 +0000 (08:59 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 9 Feb 2010 08:59:16 +0000 (08:59 +0000)
- new method

EVGEN/AliGenHalo.cxx
EVGEN/AliGenHalo.h

index 1789853..23efa11 100644 (file)
@@ -267,8 +267,8 @@ void AliGenHalo::Generate()
       mass = TDatabasePDG::Instance()->GetParticle(fPdg)->Mass();
       p0  = TMath::Sqrt(fEkin * fEkin + 2. * mass * fEkin);
       txy = TMath::Sqrt(fDX * fDX + fDY * fDY);
-      if (txy == 1.) {
-         tz = 0;
+      if (txy > 1.) {
+         tz = 0.;
       } else {
          tz = - TMath::Sqrt(1. - txy);
       }
@@ -381,3 +381,23 @@ void AliGenHalo::SkipEvents()
       }
     } 
 }
+void AliGenHalo::CountEvents()
+{
+    Int_t nev = 0;
+    Int_t oldID = -1;
+    Int_t nc = 1;
+    while (nc != -1)
+    {
+       nc = ReadNextParticle();
+       if (oldID != fLossID) {
+           oldID = fLossID;
+           nev++;
+           printf("Number of events %10d %10d \n", nev, oldID);
+       }
+    }
+
+
+    rewind(fFile);
+}
+
+
index 72fbf3b..c7c8379 100644 (file)
@@ -31,6 +31,7 @@ public:
     virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;}
     virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;}
     virtual void Draw(Option_t * opt="");
+    virtual void  CountEvents();
  private:
     virtual void  SkipEvents();
     virtual Int_t ReadNextParticle();