]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDHitsRead.C
defects fixed
[u/mrichter/AliRoot.git] / PMD / AliPMDHitsRead.C
index 82463a228f4204a396798d329ff7476f935c5f70..3be9561766add4ce63ea2d90e1876bb55222a126 100644 (file)
@@ -6,7 +6,7 @@ void AliPMDHitsRead(Int_t nevt = 1)
   
   TStopwatch timer;
   timer.Start();
-  
+  TH2F *h2 = new TH2F("h2"," Y vs. X",200,-100.,100.,200,-100.,100.); 
   //  FILE *fpw = fopen("alipmdhits.dat","w");
 
   AliRunLoader *fRunLoader = AliRunLoader::Open("galice.root");
@@ -32,7 +32,9 @@ void AliPMDHitsRead(Int_t nevt = 1)
     }
   
   fPMD  = (AliPMD*)gAlice->GetDetector("PMD");
+
   fPMDLoader = fRunLoader->GetLoader("PMDLoader");
+
   if (fPMDLoader == 0x0)
     {
       printf("Can not find PMDLoader\n");
@@ -47,17 +49,19 @@ void AliPMDHitsRead(Int_t nevt = 1)
 
   const Int_t kPi0 = 111;
   const Int_t kGamma = 22;
-  Int_t npmd;
-  Int_t trackno;
-  Int_t smnumber;
-  Int_t trackpid;
-  Int_t mtrackno;
-  Int_t mtrackpid;
-
-  Float_t xPos, yPos, zPos;
-  Int_t xpad = -1, ypad = -1;
+  Int_t   npmd;
+  Int_t   trackno;
+  Int_t   smnumber;
+  Int_t   trackpid;
+  Int_t   mtrackno;
+  Int_t   mtrackpid;
+  Int_t   xpad = -1, ypad = -1;
   Float_t edep;
   Float_t vx = -999.0, vy = -999.0, vz = -999.0;
+  Float_t xPos, yPos, zPos;
+  Float_t xx, yy;
+
+  AliPMDUtility cc;
 
   for (Int_t ievt = 0; ievt < nevt; ievt++)
     {
@@ -83,7 +87,7 @@ void AliPMDHitsRead(Int_t nevt = 1)
       
       for (Int_t track=0; track<ntracks;track++) 
        {
-         gAlice->ResetHits();
+         gAlice->GetMCApp()->ResetHits();
          treeH->GetEvent(track);
          if (fPMD) 
            {
@@ -96,7 +100,7 @@ void AliPMDHitsRead(Int_t nevt = 1)
                  //fprintf(fpw,"trackno = %d\n",trackno);
 
                  //  get kinematics of the particles
-                 
+
                  TParticle* mparticle = gAlice->GetMCApp()->Particle(trackno);
                  trackpid  = mparticle->GetPdgCode();
                  
@@ -169,15 +173,22 @@ void AliPMDHitsRead(Int_t nevt = 1)
                      mtrackpid = trackpidOld;
                    }
                  
+                 //printf("mtrackno = %d  mtrackpid = %d\n",mtrackno,mtrackpid);
+
                  xPos = fPMDHit->X();
                  yPos = fPMDHit->Y();
                  zPos = fPMDHit->Z();
+
+                 Float_t time = fPMDHit->GetTime();
                  
+                 printf("++++++++++ time = %f\n",time);
+
                  edep       = fPMDHit->GetEnergy();
                  Int_t vol1 = fPMDHit->GetVolume(1); // Column
                  Int_t vol2 = fPMDHit->GetVolume(2); // Row
-                 Int_t vol3 = fPMDHit->GetVolume(3); // UnitModule
-                 Int_t vol6 = fPMDHit->GetVolume(6); // SuperModule
+
+                 Int_t vol3 = fPMDHit->GetVolume(4); // UnitModule
+
                  
                  // -----------------------------------------//
                  // For Super Module 1 & 2                   //
@@ -186,31 +197,35 @@ void AliPMDHitsRead(Int_t nevt = 1)
                  //  nrow = 48, ncol = 96                    //
                  // -----------------------------------------//
                  
-                 smnumber = (vol6-1)*6 + vol3;
-                 
-                 if (vol6 == 1 || vol6 == 2)
+                 if (vol3 < 24)
                    {
-                     xpad = vol2;
-                     ypad = vol1;
+                     smnumber = vol3;
                    }
-                 else if (vol6 == 3 || vol6 == 4)
+                 else
                    {
-                     xpad = vol1;
-                     ypad = vol2;
+                     smnumber = vol3 - 24;
+                   }
+
+                 xpad = vol1;
+                 ypad = vol2;
+
+                 if(zPos > 361.5)
+                   {
+                     cc.RectGeomCellPos(smnumber,xpad,ypad,xx,yy);
+                     h2->Fill(xx,yy);
                    }
-                 
-                 //printf("Zposition = %f Edeposition = %f",zPos,edep);
-                 Float_t zposition = TMath::Abs(zPos);
                  
                }
            }
        } // Track Loop ended
       
     }
+
+  h2->Draw();
+
   fRunLoader->UnloadgAlice();
   fRunLoader->UnloadHeader();
   fRunLoader->UnloadKinematics();
-  
   fPMDLoader->UnloadHits();
 
   timer.Stop();