* provided "as is" without express or implied warranty. *
**************************************************************************/
+/* $Id$ */
+
////////////////////////////////////////////////////
// Stand alone tracker class //
// Origin: Elisabetta Crescio //
////////////////////////////////////////////////////
#include <stdlib.h>
-#include "TArrayI.h"
+
+#include <TArrayI.h>
#include <TBranch.h>
#include <TMath.h>
#include <TObjArray.h>
#include <TTree.h>
-#include "AliRun.h"
+
+#include "AliESD.h"
+#include "AliESDVertex.h"
+#include "AliESDtrack.h"
+#include "AliITSRiemannFit.h"
+#include "AliITSVertexer.h"
#include "AliITSclusterTable.h"
#include "AliITSclusterV2.h"
#include "AliITSgeom.h"
-#include "AliITSRiemannFit.h"
-#include "AliITStrackerSA.h"
#include "AliITStrackSA.h"
-#include "AliITSVertexer.h"
-#include "AliESDVertex.h"
-#include "AliESD.h"
-#include "AliESDtrack.h"
+#include "AliITStrackerSA.h"
+#include "AliRun.h"
ClassImp(AliITStrackerSA)
}
-//______________________________________________________________________
-AliITStrackerSA::AliITStrackerSA(const AliITStrackerSA &trkr) :
- AliITStrackerMI(trkr) {
- // Copy constructor
- // Copies are not allowed. The method is protected to avoid misuse.
- Error("AliITStrackerSA","Copy constructor not allowed\n");
-}
-
-//______________________________________________________________________
-AliITStrackerSA& AliITStrackerSA::operator=(const
- AliITStrackerSA& /* trkr */){
- // Assignment operator
- // Assignment is not allowed. The method is protected to avoid misuse.
- Error("= operator","Assignment operator not allowed\n");
- return *this;
-}
-
//____________________________________________________________________________
AliITStrackerSA::AliITStrackerSA(AliITSgeom *geom, AliITSVertexer *vertexer):AliITStrackerMI(geom)
{
for(Int_t i=0;i<fGeom->GetNlayers();i++){
firstmod[i]=fGeom->GetModuleIndex(i+1,1,1);
}
- AliITStrackV2* otrack2;
+
Int_t nclusters = tr->GetNumberOfClustersSA();
TObjArray** listlayer = new TObjArray*[fGeom->GetNlayers()];
for(Int_t i=0;i<fGeom->GetNlayers();i++){
//fit with Kalman filter using AliITStrackerMI::RefitAt()
- AliITStrackV2* ot = new AliITStrackV2(*trac);
+ AliITStrackMI* ot = new AliITStrackSA(*trac);
ot->ResetCovariance();
ot->ResetClusters();
if(RefitAt(49.,ot,trac)){ //fit from layer 1 to layer 6
- otrack2 = new AliITStrackV2(*ot);
+ AliITStrackMI *otrack2 = new AliITStrackMI(*ot);
otrack2->ResetCovariance();
otrack2->ResetClusters();
//fit from layer 6 to layer 1
Double_t zmax=r*tgl + zvertex + dz;
Double_t zmin=r*tgl + zvertex - dz;
- Int_t ncl=lay.GetNumberOfClusters();
- for (Int_t index=lay.FindClusterIndex(zmin); index<ncl; index++) {
+ Int_t indmin = lay.FindClusterIndex(zmin);
+ Int_t indmax = lay.FindClusterIndex(zmax);
+ for (Int_t index=indmin; index<indmax; index++) {
AliITSclusterV2 *c=lay.GetCluster(index);
if (c->IsUsed()) continue;
if (c->GetQ()<=0) continue;
if (c->TestBit(kSAflag)==kTRUE) continue;
- if (c->GetZ() > zmax) break;
- Double_t phi =fTable->GetPhiCluster(layer,index);
- Double_t lambda=fTable->GetLambdaCluster(layer,index);
+ Double_t phi =fTable->GetPhiCluster(layer,index);
if (TMath::Abs(phi-fPhiEstimate)>phiwindow) continue;
+
+ Double_t lambda=fTable->GetLambdaCluster(layer,index);
if (TMath::Abs(lambda-fLambdac)>lambdawindow) continue;
if(trs->GetNumberOfClustersSA()==15) return 0;