Bug fix for CPV-EMC distance
authorkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Jun 2007 09:11:07 +0000 (09:11 +0000)
committerkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Jun 2007 09:11:07 +0000 (09:11 +0000)
PHOS/AliPHOSCpvRecPoint.cxx
PHOS/AliPHOSTrackSegmentMakerv1.cxx

index e528b3f..2c515e3 100644 (file)
@@ -18,6 +18,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.26  2007/06/18 07:02:44  kharlov
+ * Change the signature of EvalLocalPosition() to obey the method virtuality from the parent class
+ *
  * Revision 1.25  2007/03/06 06:47:28  kharlov
  * DP:Possibility to use actual vertex position added
  *
@@ -258,7 +261,10 @@ void AliPHOSCpvRecPoint::ExecuteEvent(Int_t, Int_t, Int_t ) /*const*/
 //____________________________________________________________________________
 void AliPHOSCpvRecPoint::EvalAll(Float_t logWeight, TClonesArray * digits)
 {
+  // Evaluate local coordinate assuming the vertex in (000) and no inclination
+  TVector3 vtx(0,0,0), vInc(0,1,0);
   AliPHOSEmcRecPoint::EvalAll(logWeight,digits) ;
+  EvalLocalPosition(logWeight, vtx, digits,vInc) ;
   EvalClusterLengths(digits) ;
 }
 //____________________________________________________________________________
index 12c90cd..d5c41e1 100644 (file)
@@ -17,6 +17,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.87  2007/05/04 14:49:29  policheh
+ * AliPHOSRecPoint inheritance from AliCluster
+ *
  * Revision 1.86  2007/04/02 15:00:16  cvetan
  * No more calls to gAlice in the reconstruction
  *
@@ -251,10 +254,10 @@ void  AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * em
   TVector3 cpvGlobal; // Global position of the CPV recpoint
   geom->GetGlobalPHOS((AliPHOSRecPoint*)cpvClu,cpvGlobal);
   Double_t vtxCPV[3]={cpvGlobal.X(),cpvGlobal.Y(),cpvGlobal.Z()} ;
+  Int_t dummyMod ;
 
   if (fESD == 0x0) {
      //if no track information available, assume straight line from IP to emcal
-     Int_t dummyMod ;
      geom->ImpactOnEmc(vtxCPV,cpvGlobal.Theta(),cpvGlobal.Phi(),dummyMod,xCPV,zCPV) ;
      dx=xCPV - vecEmc.X() ;
      dz=zCPV - vecEmc.Z() ;
@@ -305,12 +308,15 @@ void  AliPHOSTrackSegmentMakerv1::GetDistanceInPHOSPlane(AliPHOSEmcRecPoint * em
     }
   }
   if(trackindex!=-1){
+    // If the closest global track is found, calculate EMC-CPV distance from it
     dx=xCPV - vecEmc.X() ;
     dz=zCPV - vecEmc.Z() ;
   }
   else{
-    dz=999. ;
-    dx=999. ;
+    // If no global track was found, just take the nearest CPV point
+    geom->ImpactOnEmc(vtxCPV,cpvGlobal.Theta(),cpvGlobal.Phi(),dummyMod,xCPV,zCPV) ;
+    dx=xCPV - vecEmc.X() ;
+    dz=zCPV - vecEmc.Z() ;
   }
   return ;
 }