Restore independence of libEMCALRecoUtils on libSTEER
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 23 Oct 2011 09:36:42 +0000 (09:36 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 23 Oct 2011 09:36:42 +0000 (09:36 +0000)
EMCAL/AliEMCALRecoUtils.cxx
EMCAL/AliEMCALRecoUtils.h
EMCAL/AliEMCALReconstructor.cxx
EMCAL/AliEMCALReconstructor.h
EMCAL/AliEMCALTracker.cxx
EMCAL/AliEMCALTracker.h

index a2504a0..ad2866e 100644 (file)
 // EMCAL includes
 #include "AliEMCALRecoUtils.h"
 #include "AliEMCALGeometry.h"
-#include "AliEMCALTrack.h"
+#include "AliTrackerBase.h"
 #include "AliEMCALCalibTimeDepCorrection.h" // Run dependent
 #include "AliEMCALPIDUtils.h"
-#include "AliEMCALTracker.h"
+
 
 ClassImp(AliEMCALRecoUtils)
   
@@ -1443,8 +1443,8 @@ void AliEMCALRecoUtils::FindMatches(AliVEvent *event,TObjArray * clusterArr,  Al
 
     //Extrapolate the track to EMCal surface
     AliExternalTrackParam emcalParam(*trackParam);
-    Double_t eta, phi;
-    if(!AliEMCALTracker::ExtrapolateTrackToEMCalSurface(&emcalParam, 430., fMass, fStepSurface, eta, phi)) 
+    Float_t eta, phi;
+    if(!ExtrapolateTrackToEMCalSurface(&emcalParam, 430., fMass, fStepSurface, eta, phi)) 
       {
        if(aodevent && trackParam) delete trackParam;
        continue;
@@ -1511,8 +1511,8 @@ Int_t AliEMCALRecoUtils::FindMatchedClusterInEvent(AliESDtrack *track, AliVEvent
   AliExternalTrackParam *trackParam = const_cast<AliExternalTrackParam*>(track->GetInnerParam());
   if(!trackParam) return index;
   AliExternalTrackParam emcalParam(*trackParam);
-  Double_t eta, phi;
-  if(!AliEMCALTracker::ExtrapolateTrackToEMCalSurface(&emcalParam, 430., fMass, fStepSurface, eta, phi)) return index;
+  Float_t eta, phi;
+  if(!ExtrapolateTrackToEMCalSurface(&emcalParam, 430., fMass, fStepSurface, eta, phi)) return index;
   if(TMath::Abs(eta)>0.75 || (phi) < 70*TMath::DegToRad() || (phi) > 190*TMath::DegToRad()) return index;
 
   TObjArray *clusterArr = new TObjArray(event->GetNumberOfCaloClusters());
@@ -1537,7 +1537,7 @@ Int_t  AliEMCALRecoUtils::FindMatchedClusterInClusterArr(AliExternalTrackParam *
   dEta=-999, dPhi=-999;
   Float_t dRMax = fCutR, dEtaMax=fCutEta, dPhiMax=fCutPhi;
   Int_t index = -1;
-  Double_t tmpEta=-999, tmpPhi=-999;
+  Float_t tmpEta=-999, tmpPhi=-999;
 
   Double_t exPos[3] = {0.,0.,0.};
   if(!emcalParam->GetXYZ(exPos)) return index;
@@ -1552,7 +1552,7 @@ Int_t  AliEMCALRecoUtils::FindMatchedClusterInClusterArr(AliExternalTrackParam *
       if(dR > fClusterWindow) continue;
 
       AliExternalTrackParam trkPamTmp (*trkParam);//Retrieve the starting point every time before the extrapolation
-      if(!AliEMCALTracker::ExtrapolateTrackToCluster(&trkPamTmp, cluster, fMass, fStepCluster, tmpEta, tmpPhi)) continue;
+      if(!ExtrapolateTrackToCluster(&trkPamTmp, cluster, fMass, fStepCluster, tmpEta, tmpPhi)) continue;
       if(fCutEtaPhiSum)
         {
           Float_t tmpR=TMath::Sqrt(tmpEta*tmpEta + tmpPhi*tmpPhi);
@@ -1588,19 +1588,84 @@ Int_t  AliEMCALRecoUtils::FindMatchedClusterInClusterArr(AliExternalTrackParam *
   return index;
 }
 
-//________________________________________________________________________________
-Bool_t  AliEMCALRecoUtils::ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Float_t &tmpEta, Float_t &tmpPhi)
+//
+//------------------------------------------------------------------------------
+//
+Bool_t AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(AliExternalTrackParam *trkParam, Double_t emcalR, Double_t mass, Double_t step, Float_t &eta, Float_t &phi)
+{
+  eta = -999, phi = -999;
+  if(!trkParam) return kFALSE;
+  if(!AliTrackerBase::PropagateTrackToBxByBz(trkParam, emcalR, mass, step, kTRUE, 0.8, -1)) return kFALSE;
+  Double_t trkPos[3] = {0.,0.,0.};
+  if(!trkParam->GetXYZ(trkPos)) return kFALSE;
+  TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
+  eta = trkPosVec.Eta();
+  phi = trkPosVec.Phi();
+  if(phi<0)
+    phi += 2*TMath::Pi();
+
+  return kTRUE;
+}
+
+
+//
+//------------------------------------------------------------------------------
+//
+Bool_t AliEMCALRecoUtils::ExtrapolateTrackToPosition(AliExternalTrackParam *trkParam, Float_t *clsPos, Double_t mass, Double_t step, Float_t &tmpEta, Float_t &tmpPhi)
+{
+  //
+  //Return the residual by extrapolating a track param to a global position
+  //
+  tmpEta = -999;
+  tmpPhi = -999;
+  if(!trkParam) return kFALSE;
+  Double_t trkPos[3] = {0.,0.,0.};
+  TVector3 vec(clsPos[0],clsPos[1],clsPos[2]);
+  Double_t alpha =  ((int)(vec.Phi()*TMath::RadToDeg()/20)+0.5)*20*TMath::DegToRad();
+  vec.RotateZ(-alpha); //Rotate the cluster to the local extrapolation coordinate system
+  if(!AliTrackerBase::PropagateTrackToBxByBz(trkParam, vec.X(), mass, step,kTRUE, 0.8, -1)) return kFALSE;
+  if(!trkParam->GetXYZ(trkPos)) return kFALSE; //Get the extrapolated global position
+
+  TVector3 clsPosVec(clsPos[0],clsPos[1],clsPos[2]);
+  TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
+
+  // track cluster matching
+  tmpPhi = clsPosVec.DeltaPhi(trkPosVec);    // tmpPhi is between -pi and pi
+  tmpEta = clsPosVec.Eta()-trkPosVec.Eta();
+
+  return kTRUE;
+}
+
+
+//
+//------------------------------------------------------------------------------
+Bool_t AliEMCALRecoUtils::ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Double_t mass, Double_t step, Float_t &tmpEta, Float_t &tmpPhi)
+{
+  //
+  //Return the residual by extrapolating a track param to a cluster
+  //
+  tmpEta = -999;
+  tmpPhi = -999;
+  if(!cluster || !trkParam) return kFALSE;
+
+  Float_t clsPos[3] = {0.,0.,0.};
+  cluster->GetPosition(clsPos);
+
+  return ExtrapolateTrackToPosition(trkParam, clsPos, mass, step, tmpEta, tmpPhi);
+}
+
+//
+//------------------------------------------------------------------------------
+Bool_t AliEMCALRecoUtils::ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Float_t &tmpEta, Float_t &tmpPhi)
 {
   //
-  //Return the residual by extrapolating a track to a cluster
+  //Return the residual by extrapolating a track param to a clusterfStepCluster
   //
 
-  Double_t dEta = -999, dPhi = -999;
-  Bool_t result = AliEMCALTracker::ExtrapolateTrackToCluster(trkParam, cluster, fMass, fStepCluster, dEta, dPhi);
-  tmpEta=dEta, tmpPhi=dPhi;
-  return result;
+  return ExtrapolateTrackToCluster(trkParam, cluster, fMass, fStepCluster, tmpEta, tmpPhi);
 }
 
+
 //________________________________________________________________________________
 void AliEMCALRecoUtils::GetMatchedResiduals(Int_t clsIndex, Float_t &dEta, Float_t &dPhi)
 {
index 9b83e7c..6552e07 100644 (file)
@@ -242,11 +242,14 @@ public:
   // Track matching
   //----------------------------------------------------
 
-  Bool_t   ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Float_t &tmpEta, Float_t &tmpPhi);
-
   void     FindMatches(AliVEvent *event, TObjArray * clusterArr=0x0, AliEMCALGeometry *geom=0x0);
   Int_t    FindMatchedClusterInEvent(AliESDtrack *track, AliVEvent *event, AliEMCALGeometry *geom, Float_t &dEta, Float_t &dPhi);
   Int_t    FindMatchedClusterInClusterArr(AliExternalTrackParam *emcalParam, AliExternalTrackParam *trkParam, TObjArray * clusterArr, Float_t &dEta, Float_t &dPhi);
+  
+  static Bool_t ExtrapolateTrackToEMCalSurface(AliExternalTrackParam *trkParam, Double_t emcalR, Double_t mass, Double_t step, Float_t &eta, Float_t &phi);
+  static Bool_t ExtrapolateTrackToPosition(AliExternalTrackParam *trkParam, Float_t *clsPos, Double_t mass, Double_t step, Float_t &tmpEta, Float_t &tmpPhi);
+  static Bool_t ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Double_t mass, Double_t step, Float_t &tmpEta, Float_t &tmpPhi);
+  Bool_t ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Float_t &tmpEta, Float_t &tmpPhi);
 
   UInt_t   FindMatchedPosForCluster(Int_t clsIndex) const;
   UInt_t   FindMatchedPosForTrack(Int_t trkIndex)   const;
@@ -401,7 +404,7 @@ private:
   Float_t    fCutMaxDCAToVertexZ;        // Track-to-vertex cut in max absolute distance in z-plane
   Bool_t     fCutDCAToVertex2D;          // If true a 2D DCA cut is made.
   
-  ClassDef(AliEMCALRecoUtils, 15)
+  ClassDef(AliEMCALRecoUtils, 16)
   
 };
 
index 15d62ba..60a574c 100644 (file)
@@ -49,7 +49,7 @@
 #include "AliEMCALClusterizerNxN.h"
 #include "AliEMCALRecPoint.h"
 #include "AliEMCALPID.h"
-#include "AliEMCALTracker.h"
+#include "AliEMCALRecoUtils.h"
 #include "AliRawReader.h"
 #include "AliCDBEntry.h"
 #include "AliCDBManager.h"
@@ -560,7 +560,7 @@ void AliEMCALReconstructor::FillESD(TTree* digitsTree, TTree* clustersTree,
          AliESDtrack * track = esd->GetTrack(itrack) ; // retrieve track
          if(track->GetEMCALcluster()==iClust)
            {
-             Double_t dEta=-999, dPhi=-999;
+             Float_t dEta=-999, dPhi=-999;
              Bool_t isMatch =  CalculateResidual(track, ec, dEta, dPhi);
              if(!isMatch) 
                {
@@ -692,7 +692,7 @@ void AliEMCALReconstructor::ReadDigitsArrayFromTree(TTree *digitsTree) const
 }
 
 //==================================================================================
-Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Double_t &dEta, Double_t &dPhi)const
+Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi)const
 {
   //
   // calculate the residual between track and cluster
@@ -712,7 +712,7 @@ Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCl
   if(!trkParam) return kFALSE;
 
   AliExternalTrackParam trkParamTmp (*trkParam);
-  if(!AliEMCALTracker::ExtrapolateTrackToCluster(&trkParamTmp, cluster, track->GetMass(), GetRecParam()->GetExtrapolateStep(), dEta, dPhi)) return kFALSE;
+  if(!AliEMCALRecoUtils::ExtrapolateTrackToCluster(&trkParamTmp, cluster, track->GetMass(), GetRecParam()->GetExtrapolateStep(), dEta, dPhi)) return kFALSE;
 
   return kTRUE;
 }
index 68f347e..c9c1d2e 100644 (file)
@@ -91,7 +91,7 @@ class AliEMCALReconstructor : public AliReconstructor {
     Double_t   fdEta;        // track - cluster residual in eta
     Double_t   fdPhi;        // track - cluster residual in phi
   };
-  Bool_t CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Double_t &dEta, Double_t &dPhi) const;
+  Bool_t CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi) const;
   
  private:
   
index 81daa8e..8303ccb 100644 (file)
@@ -55,6 +55,7 @@
 #include "AliCDBEntry.h"
 #include "AliCDBManager.h"
 #include "AliEMCALReconstructor.h"
+#include "AliEMCALRecoUtils.h"
 
 #include "AliEMCALTracker.h"
 
@@ -383,8 +384,8 @@ Int_t AliEMCALTracker::FindMatchedCluster(AliESDtrack *track)
   // Find the closest one as matched if the residuals (dEta, dPhi) satisfy the cuts
   //
 
-  Double_t maxEta=fCutEta;
-  Double_t maxPhi=fCutPhi;
+  Float_t maxEta=fCutEta;
+  Float_t maxPhi=fCutPhi;
   Int_t index = -1;
   
   // If the esdFriend is available, use the TPCOuter point as the starting point of extrapolation
@@ -399,8 +400,8 @@ Int_t AliEMCALTracker::FindMatchedCluster(AliESDtrack *track)
 
 
   AliExternalTrackParam trkParamTmp(*trkParam);
-  Double_t eta, phi;
-  if(!ExtrapolateTrackToEMCalSurface(&trkParamTmp, 430., track->GetMass(), fStep, eta, phi)) return index;
+  Float_t eta, phi;
+  if(!AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(&trkParamTmp, 430., track->GetMass(), fStep, eta, phi)) return index;
   if(TMath::Abs(eta)>0.75 || (phi) < 70*TMath::DegToRad() || (phi) > 190*TMath::DegToRad()) return index;
 
   //Perform extrapolation
@@ -416,8 +417,8 @@ Int_t AliEMCALTracker::FindMatchedCluster(AliESDtrack *track)
       
       AliExternalTrackParam trkParTmp(trkParamTmp);
 
-      Double_t tmpEta, tmpPhi;
-      if(!ExtrapolateTrackToPosition(&trkParTmp, clsPos,track->GetMass(), fStep, tmpEta, tmpPhi)) continue;
+      Float_t tmpEta, tmpPhi;
+      if(!AliEMCALRecoUtils::ExtrapolateTrackToPosition(&trkParTmp, clsPos,track->GetMass(), fStep, tmpEta, tmpPhi)) continue;
       if(TMath::Abs(tmpPhi)<TMath::Abs(maxPhi) && TMath::Abs(tmpEta)<TMath::Abs(maxEta))
         {
           maxPhi=tmpPhi;
@@ -428,75 +429,6 @@ Int_t AliEMCALTracker::FindMatchedCluster(AliESDtrack *track)
   return index;
 }
 
-
-//
-//------------------------------------------------------------------------------
-//
-Bool_t AliEMCALTracker::ExtrapolateTrackToEMCalSurface(AliExternalTrackParam *trkParam, Double_t emcalR, Double_t mass, Double_t step, Double_t &eta, Double_t &phi)
-{
-  eta = -999, phi = -999;
-  if(!trkParam) return kFALSE;
-  if(!AliTrackerBase::PropagateTrackToBxByBz(trkParam, emcalR, mass, step, kTRUE, 0.8, -1)) return kFALSE;
-  Double_t trkPos[3] = {0.,0.,0.};
-  if(!trkParam->GetXYZ(trkPos)) return kFALSE;
-  TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
-  eta = trkPosVec.Eta();
-  phi = trkPosVec.Phi();
-  if(phi<0)
-    phi += 2*TMath::Pi();
-
-  return kTRUE;
-}
-
-
-//
-//------------------------------------------------------------------------------
-//
-Bool_t AliEMCALTracker::ExtrapolateTrackToPosition(AliExternalTrackParam *trkParam, Float_t *clsPos, Double_t mass, Double_t step, Double_t &tmpEta, Double_t &tmpPhi)
-{
-  //
-  //Return the residual by extrapolating a track param to a global position
-  //
-  tmpEta = -999;
-  tmpPhi = -999;
-  if(!trkParam) return kFALSE;
-  Double_t trkPos[3] = {0.,0.,0.};
-  TVector3 vec(clsPos[0],clsPos[1],clsPos[2]);
-  Double_t alpha =  ((int)(vec.Phi()*TMath::RadToDeg()/20)+0.5)*20*TMath::DegToRad();
-  vec.RotateZ(-alpha); //Rotate the cluster to the local extrapolation coordinate system
-  if(!AliTrackerBase::PropagateTrackToBxByBz(trkParam, vec.X(), mass, step,kTRUE, 0.8, -1)) return kFALSE;
-  if(!trkParam->GetXYZ(trkPos)) return kFALSE; //Get the extrapolated global position
-
-  TVector3 clsPosVec(clsPos[0],clsPos[1],clsPos[2]);
-  TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
-
-  // track cluster matching
-  tmpPhi = clsPosVec.DeltaPhi(trkPosVec);    // tmpPhi is between -pi and pi
-  tmpEta = clsPosVec.Eta()-trkPosVec.Eta();
-
-  return kTRUE;
-}
-
-
-//
-//------------------------------------------------------------------------------
-//
-Bool_t AliEMCALTracker::ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Double_t mass, Double_t step, Double_t &tmpEta, Double_t &tmpPhi)
-{
-  //
-  //Return the residual by extrapolating a track param to a cluster
-  //
-  tmpEta = -999;
-  tmpPhi = -999;
-  if(!cluster) return kFALSE;
-
-  Float_t clsPos[3] = {0.,0.,0.};
-  cluster->GetPosition(clsPos);
-
-  return ExtrapolateTrackToPosition(trkParam, clsPos, mass, step, tmpEta, tmpPhi);
-}
-
-
 //
 //------------------------------------------------------------------------------
 //
index 739d71d..8ccedf0 100644 (file)
@@ -31,8 +31,6 @@ class TObjArray;
 class AliESDEvent;
 class AliVCluster;
 class AliESDCaloCluster;
-class AliEMCALTrack;
-class AliExternalTrackParam;
 class AliEMCALRecPoint;
 class AliEMCALGeometry;
 
@@ -65,10 +63,6 @@ public:
        void                SetStepLength(Float_t length) {fStep=length;}
        void                SetTrackCorrectionMode(Option_t *option);
 
-       static Bool_t ExtrapolateTrackToEMCalSurface(AliExternalTrackParam *trkParam, Double_t emcalR, Double_t mass, Double_t step, Double_t &eta, Double_t &phi);
-       static Bool_t ExtrapolateTrackToPosition(AliExternalTrackParam *trkParam, Float_t *clsPos, Double_t mass, Double_t step, Double_t &tmpEta, Double_t &tmpPhi);
-       static Bool_t ExtrapolateTrackToCluster(AliExternalTrackParam *trkParam, AliVCluster *cluster, Double_t mass, Double_t step, Double_t &tmpEta, Double_t &tmpPhi);
-
        enum {  kUnmatched = -99999 };
        
        class  AliEMCALMatchCluster : public TObject
@@ -112,7 +106,7 @@ private:
        
        AliEMCALGeometry *fGeom;      //! EMCAL geometry
        
-       ClassDef(AliEMCALTracker, 5)  // EMCAL "tracker"
+       ClassDef(AliEMCALTracker, 6)  // EMCAL "tracker"
 };
 
 #endif