]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITStrackerMI.cxx
Fix for Bug: 58726 including a new QA histogram for ACORDE ESDs (Multiplicity of...
[u/mrichter/AliRoot.git] / ITS / AliITStrackerMI.cxx
index d6d1f7263b937561b093ab56129af19600068d15..3276baa4fc67b8756155fdb1707a0c9f5efd9920 100644 (file)
@@ -373,7 +373,7 @@ Int_t AliITStrackerMI::LoadClusters(TTree *cTree) {
 
         fgLayers[i].InsertCluster(new AliITSRecPoint(*c));
       }
-      clusters->Delete();
+      clusters->Clear();
       // add dead zone "virtual" cluster in SPD, if there is a cluster within 
       // zwindow cm from the dead zone      
       if (i<2 && AliITSReconstructor::GetRecoParam()->GetAddVirtualClustersInDeadZone()) {
@@ -415,8 +415,6 @@ Int_t AliITStrackerMI::LoadClusters(TTree *cTree) {
     fgLayers[i].SortClusters();
   }
 
-  dummy.Clear();
-
   // check whether we have to skip some layers
   SetForceSkippingOfLayer();
 
@@ -802,6 +800,7 @@ Bool_t AliITStrackerMI::GetTrackPoint(Int_t index, AliTrackPoint& p) const {
   p.SetCharge(cl->GetQ());
   p.SetDriftTime(cl->GetDriftTime());
   p.SetChargeRatio(cl->GetChargeRatio());
+  p.SetClusterType(cl->GetClusterType());
   AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer; 
   switch (l) {
   case 0:
@@ -874,6 +873,7 @@ Bool_t AliITStrackerMI::GetTrackPointTrackingError(Int_t index,
   p.SetCharge(cl->GetQ());
   p.SetDriftTime(cl->GetDriftTime());
   p.SetChargeRatio(cl->GetChargeRatio());
+  p.SetClusterType(cl->GetClusterType());
 
   AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer; 
   switch (l) {
@@ -4308,17 +4308,22 @@ Int_t AliITStrackerMI::CheckSkipLayer(const AliITStrackMI *track,
   // without clusters, because we want to skip the layer.
   // In this case the return value is > 0:
   // return 1: the user requested to skip a layer
-  // return 2: track outside z acceptance of SSD/SDD and will cross both SPD
+  // return 2: track outside z acceptance
   //-----------------------------------------------------------------
 
   if (ForceSkippingOfLayer(ilayer)) return 1;
 
-  if (idet<0 && ilayer>1 && AliITSReconstructor::GetRecoParam()->GetExtendedEtaAcceptance()) {
+  Int_t innerLayCanSkip=0; // was 2, changed on 05.11.2009
+
+  if (idet<0 &&  // out in z
+      ilayer>innerLayCanSkip && 
+      AliITSReconstructor::GetRecoParam()->GetExtendedEtaAcceptance()) {
     // check if track will cross SPD outer layer
     Double_t phiAtSPD2,zAtSPD2;
     if (track->GetPhiZat(fgLayers[1].GetR(),phiAtSPD2,zAtSPD2)) {
       if (TMath::Abs(zAtSPD2)<2.*AliITSRecoParam::GetSPDdetzlength()) return 2;
     }
+    return 2; // always allow skipping, changed on 05.11.2009
   }
 
   return 0;
@@ -4460,7 +4465,7 @@ Bool_t AliITStrackerMI::LocalModuleCoord(Int_t ilayer,Int_t idet,
   xloc=0.; 
   zloc=0.;
 
-  if(idet<0) return kFALSE;
+  if(idet<0) return kTRUE; // track out of z acceptance of layer
 
   Int_t ndet=AliITSgeomTGeo::GetNDetectors(ilayer+1); // layers from 1 to 6 
 
@@ -4744,4 +4749,3 @@ void AliITStrackerMI::UseTrackForPlaneEff(const AliITStrackMI* track, Int_t ilay
   }
 return;
 }
-