]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
changed emcal cuts for low pt tracks and out of acceptance tracks
authorfronchet <fronchet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Sep 2011 20:22:29 +0000 (20:22 +0000)
committerfronchet <fronchet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Sep 2011 20:22:29 +0000 (20:22 +0000)
HLT/global/AliHLTGlobalTrackMatcher.cxx
HLT/global/AliHLTGlobalTrackMatcher.h

index e327ac1d4e881e4de3e4fcf49a1540d2ca2923c2..8896f5280942fc8eda4ed9dd5e583b27bbd699e9 100644 (file)
@@ -58,7 +58,7 @@ void AliHLTGlobalTrackMatcher::DoInit( ) {
 
 
   fMatchDistance = 40*40;
-  fMatchDistanceEMCal = 0.1; // EMCal EtaxPhi cut 
+  fMatchDistanceEMCal = 0.1; // EMCal deltaR(EtaxPhi) cut. It must be refined inside AliESD analysis. 
 
   fPhosMaxX = 355 + TMath::Sqrt(fMatchDistance) + 30;
   fPhosMaxZ = 64.+ TMath::Sqrt(fMatchDistance) + 30;
index b61326a9b10c890e0e0bfd24c035f2dae9577e42..150fba821e662cd72ebbf4ac87decbed7a7dc141 100644 (file)
@@ -107,9 +107,11 @@ Int_t AliHLTGlobalTrackMatcher::Match( TObjArray * trackArray, vector<T*>  &phos
     AliExternalTrackParam * track = static_cast<AliExternalTrackParam*>(trackArray->At(it));
 
     if ( IsTrackCloseToDetector(track, bz, fPhosMaxX, kFALSE, fPhosMaxZ, fPhosRadius ) ) {
+      continue;//marcel test
       MatchTrackToClusters( track, phosClustersVector, nPhosClusters, bestMatchPhos, bz);
 
     } else if ( IsTrackCloseToDetector(track, bz, fEmcalMaxX, kTRUE, fEmcalMaxZ, fEmcalRadius ) ) {
+//        MatchTrackToClusters( track, phosClustersVector, nPhosClusters, bestMatchPhos, bz);
        MatchTrackToEMCalClusters( track, emcalClustersVector, nEmcalClusters, bestMatchEmcal, bz);
     } 
 
@@ -120,7 +122,7 @@ Int_t AliHLTGlobalTrackMatcher::Match( TObjArray * trackArray, vector<T*>  &phos
 
 //MARCEL 
 template <class T>
-Int_t AliHLTGlobalTrackMatcher::MatchTrackToEMCalClusters( AliExternalTrackParam * track,  vector<T*> &clustersVector, Int_t nClusters, Float_t * bestMatch, Double_t /* bz */) {
+Int_t AliHLTGlobalTrackMatcher::MatchTrackToEMCalClusters( AliExternalTrackParam * track,  vector<T*> &clustersVector, Int_t nClusters, Float_t * bestMatch, Double_t  /*bz */) {
   
   //See header file for documentation
   Int_t iResult = 0;
@@ -132,15 +134,24 @@ Int_t AliHLTGlobalTrackMatcher::MatchTrackToEMCalClusters( AliExternalTrackParam
     
      T * cluster = clustersVector.at(ic);
 
-/* The lines below correspond to the method for Track-matching from RecoUtils:ExtrapolatetoCluster
-   In principle, the method ExtrapolateToCluster should be called directly from RecoUtils. The problems is that This method requires AliVCluster
-   which would have to be created inside the GlobalMatcher, since the information this class obtains from the Cluster comes from the
-   data struct with the cluster information. In order to avoid the whole creation of a AliVCluster object, the code from RecoUtils
+/* Comment:July 2011
+   The lines below correspond to the method for Track-matching from RecoUtils:ExtrapolatetoCluster()
+   In principle, the method ExtrapolateToCluster should be called directly from RecoUtils. The problems is that this method requires AliVCluster
+   which would have to be created inside the GlobalMatcher, since the information that this class obtains from the Cluster comes from the
+   data struct. In order to avoid the whole creation of a AliVCluster object, the code from RecoUtils
    was brought here in the same way it is written there.
 */ 
+    if(cluster->E()<1.)continue;  
+    if(track->Pt()<1.)continue;
+
+    // This is a rough cut in acceptance, since it is pointless to try matching with tracks far from the EMCal
+    if(track->Eta()<-.9)continue;
+    if(track->Eta()>.9)continue;
+    if(track->Phi()>4.)continue; 
+    if(track->Phi()<.9)continue;
+    
     cluster->GetPosition(clusterPosition);
     TVector3 VClsPos(clusterPosition[0], clusterPosition[1], clusterPosition[2]); //MARCEL  
-    //Double_t rCluster = TMath::Sqrt(clusterPosition[0]*clusterPosition[0] + clusterPosition[1]*clusterPosition[1]);      
     AliExternalTrackParam *trkParam = new AliExternalTrackParam(*track);//Retrieve the starting point every time before the extrapolation
     Double_t trkPos[3];
     TVector3 vec(clusterPosition[0],clusterPosition[1],clusterPosition[2]);
@@ -148,8 +159,9 @@ Int_t AliHLTGlobalTrackMatcher::MatchTrackToEMCalClusters( AliExternalTrackParam
     vec.RotateZ(-alpha); //Rotate the cluster to the local extrapolation coordinate system
     trkParam->Rotate(alpha); //Rotate the track to the same local extrapolation system
     Float_t fMass=0.139;
-    Float_t fStep=50.;
+    Float_t fStep=100.;
     if(!AliTrackerBase::PropagateTrackToBxByBz(trkParam, vec.X(), fMass, fStep,kFALSE, 0.8, -1)) return kFALSE; 
+
     trkParam->GetXYZ(trkPos); //Get the extrapolated global position
     TVector3 clsPosVec(clusterPosition[0],clusterPosition[1],clusterPosition[2]);
     TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);