]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCtrackerMI.cxx
Small correction in Digits2Raw
[u/mrichter/AliRoot.git] / TPC / AliTPCtrackerMI.cxx
index c781370510b86b42fd36cde93d45412907c5a8a3..a8500a27decbc07ea478f783632d00d944ce5b8a 100644 (file)
 /* $Id$ */
 
 
-#include <TObjArray.h>
-#include <TFile.h>
-#include <TTree.h>
-#include <TClonesArray.h>
 
 #include "Riostream.h"
+#include <TClonesArray.h>
+#include <TFile.h>
+#include <TObjArray.h>
+#include <TTree.h>
 
-#include "AliTPCclusterMI.h"
 #include "AliComplexCluster.h"
-#include "AliTPCParam.h"
-#include "AliTPCClustersRow.h"
-#include "AliTPCpolyTrack.h"
-#include "TStopwatch.h"
 #include "AliESD.h"
 #include "AliHelix.h"
-//
 #include "AliRunLoader.h"
-//
+#include "AliTPCClustersRow.h"
+#include "AliTPCParam.h"
+#include "AliTPCclusterMI.h"
+#include "AliTPCpolyTrack.h"
 #include "AliTPCreco.h" 
 #include "AliTPCtrackerMI.h"
+#include "TStopwatch.h"
 
-
+#include "AliTPCReconstructor.h"
+//
 
 ClassImp(AliTPCseed)
 ClassImp(AliTPCtrackerMI)
@@ -67,7 +66,7 @@ public:
 };
 
 Double_t AliTPCFastMath::fgFastAsin[20000];
-AliTPCFastMath gAliTPCFastMath;
+AliTPCFastMath gAliTPCFastMath; // needed to fill the LUT
 
 AliTPCFastMath::AliTPCFastMath(){
   //
@@ -258,7 +257,22 @@ AliTracker(), fkNIS(par->GetNInnerSector()/2), fkNOS(par->GetNOuterSector()/2)
   fDebug     =0;
   fEvent     =0;
 }
-
+//________________________________________________________________________
+AliTPCtrackerMI::AliTPCtrackerMI(const AliTPCtrackerMI &t):
+  AliTracker(t),
+  fkNIS(t.fkNIS),
+  fkNOS(t.fkNOS)
+{
+  //------------------------------------
+  // dummy copy constructor
+  //------------------------------------------------------------------
+}
+AliTPCtrackerMI & AliTPCtrackerMI::operator=(const AliTPCtrackerMI& /*r*/){
+  //------------------------------
+  // dummy 
+  //--------------------------------------------------------------
+  return *this;
+}
 //_____________________________________________________________________________
 AliTPCtrackerMI::~AliTPCtrackerMI() {
   //------------------------------------------------------------------
@@ -276,9 +290,9 @@ void AliTPCtrackerMI::SetIO()
 {
   //
   fNewIO   =  kTRUE;
-  fInput   =  AliRunLoader::GetTreeR("TPC", kFALSE,AliConfig::fgkDefaultEventFolderName);
+  fInput   =  AliRunLoader::GetTreeR("TPC", kFALSE,AliConfig::GetDefaultEventFolderName());
   
-  fOutput  =  AliRunLoader::GetTreeT("TPC", kTRUE,AliConfig::fgkDefaultEventFolderName);
+  fOutput  =  AliRunLoader::GetTreeT("TPC", kTRUE,AliConfig::GetDefaultEventFolderName());
   if (fOutput){
     AliTPCtrack *iotrack= new AliTPCtrack;
     fOutput->Branch("tracks","AliTPCtrack",&iotrack,32000,100);
@@ -1402,23 +1416,34 @@ AliTPCclusterMI *AliTPCtrackerMI::GetClusterMI(Int_t index) const {
 
   const AliTPCRow * tpcrow=0;
   AliTPCclusterMI * clrow =0;
+
   if (sec<fkNIS*2){
     tpcrow = &(fInnerSec[sec%fkNIS][row]);
-    if (sec<fkNIS) 
+    if (tpcrow==0) return 0;
+
+    if (sec<fkNIS) {
+      if (tpcrow->fN1<=ncl) return 0;
       clrow = tpcrow->fClusters1;
-    else
+    }
+    else {
+      if (tpcrow->fN2<=ncl) return 0;
       clrow = tpcrow->fClusters2;
+    }
   }
-  else{
+  else {
     tpcrow = &(fOuterSec[(sec-fkNIS*2)%fkNOS][row]);
-    if (sec-2*fkNIS<fkNOS)
+    if (tpcrow==0) return 0;
+
+    if (sec-2*fkNIS<fkNOS) {
+      if (tpcrow->fN1<=ncl) return 0;
       clrow = tpcrow->fClusters1;
-    else
+    }
+    else {
+      if (tpcrow->fN2<=ncl) return 0;
       clrow = tpcrow->fClusters2;
+    }
   }
-  if (tpcrow==0) return 0;
-  if (tpcrow->GetN()<=ncl) return 0;
-  //  return (AliTPCclusterMI*)(*tpcrow)[ncl];      
+
   return &(clrow[ncl]);      
   
 }
@@ -1516,7 +1541,7 @@ Int_t AliTPCtrackerMI::FollowToNext(AliTPCseed& t, Int_t nr) {
   } 
   else
     {
-      if (TMath::Abs(z)<(1.05*x+10)) t.fNFoundable++;
+      if (TMath::Abs(z)<(AliTPCReconstructor::GetCtgRange()*x+10)) t.fNFoundable++;
       else
        return 0;
     }   
@@ -1613,7 +1638,7 @@ Int_t AliTPCtrackerMI::FollowToNextFast(AliTPCseed& t, Int_t nr) {
   } 
   else
     {
-      if (TMath::Abs(z)>(1.05*x+10)) t.SetClusterIndex2(row,-1);
+      if (TMath::Abs(z)>(AliTPCReconstructor::GetCtgRange()*x+10)) t.SetClusterIndex2(row,-1);
     }   
   //calculate 
   
@@ -1696,7 +1721,7 @@ Int_t AliTPCtrackerMI::UpdateClusters(AliTPCseed& t,  Int_t nr) {
   } 
   else
     {
-      if (TMath::Abs(t.GetZ())<(1.05*t.GetX()+10)) t.fNFoundable++;
+      if (TMath::Abs(t.GetZ())<(AliTPCReconstructor::GetCtgRange()*t.GetX()+10)) t.fNFoundable++;
       else
        return 0;      
     }
@@ -4950,7 +4975,11 @@ AliTPCseed::AliTPCseed():AliTPCtrack(){
   fCurrentSigmaY2=0;
   fCurrentSigmaZ2=0;
 }
-
+AliTPCseed::AliTPCseed(const AliTPCseed &s):AliTPCtrack(s){
+  //---------------------
+  // dummy copy constructor
+  //-------------------------
+}
 AliTPCseed::AliTPCseed(const AliTPCtrack &t):AliTPCtrack(t){
   //
   //copy constructor
@@ -5237,7 +5266,7 @@ void AliTPCseed::CookdEdx(Double_t low, Double_t up,Int_t i1, Int_t i2, Bool_t o
          //  TMath::Abs( Int_t(iz) - iz + 0.5);
          //ampc *= 1.15*(1-0.3*dy);
          //ampc *= 1.15*(1-0.3*dz);
-         //      Float_t zfactor = (1.05-0.0004*TMath::Abs(point->GetCPoint().GetZ()));
+         //      Float_t zfactor = (AliTPCReconstructor::GetCtgRange()-0.0004*TMath::Abs(point->GetCPoint().GetZ()));
          //ampc               *=zfactor; 
        }
        else{