MakeSeeds(inner, outer, turn);
nseed=fSeeds->GetEntriesFast();
- printf("\n turn %d, step %d: number of seeds for TRD inward %d\n",
- turn, i, nseed);
+ // printf("\n turn %d, step %d: number of seeds for TRD inward %d\n",
+ // turn, i, nseed);
for (Int_t i=0; i<nseed; i++) {
AliTRDtrack *pt=(AliTRDtrack*)fSeeds->UncheckedAt(i), &t=*pt;
MakeSeeds(inner, outer, turn);
nseed=fSeeds->GetEntriesFast();
- printf("\n turn %d, step %d: number of seeds for TRD inward %d\n",
- turn, i, nseed);
+ // printf("\n turn %d, step %d: number of seeds for TRD inward %d\n",
+ // turn, i, nseed);
for (Int_t i=0; i<nseed; i++) {
AliTRDtrack *pt=(AliTRDtrack*)fSeeds->UncheckedAt(i), &t=*pt;
AliTRDtrack *track = new AliTRDtrack(*seed);
track->SetSeedLabel(lbl);
fNseeds++;
-
+ Float_t p4 = track->GetC();
+ //
Int_t expectedClr = FollowBackProlongation(*track);
if (track->GetNumberOfClusters()<expectedClr/3){
AliTRDtrack *track1 = new AliTRDtrack(*seed);
delete track1;
delete track2;
}
-
+ if (TMath::Abs(track->GetC()-p4)/TMath::Abs(p4)>0.2) {
+ delete track;
+ continue; //too big change of curvature - to be checked
+ }
Int_t foundClr = track->GetNumberOfClusters();
if (foundClr >= foundMin) {
if(foundClr >= 2) {
//Propagation to the TOF (I.Belikov)
if (track->GetStop()==kFALSE){
- Double_t xTOF = 375.5;
- PropagateToOuterPlane(*track,xTOF);
Double_t xtof=378.;
Double_t c2=track->GetC()*xtof - track->GetEta();
- if (TMath::Abs(c2)>=0.9999999){
- delete track;
- continue;
- }
-
+ if (TMath::Abs(c2)>=0.85) continue;
+ Double_t xTOF0 = 375.5;
+ PropagateToOuterPlane(*track,xTOF0);
+ //
Double_t ymax=xtof*TMath::Tan(0.5*AliTRDgeometry::GetAlpha());
Double_t y=track->GetYat(xtof);
if (y > ymax) {
if (!track->Rotate(AliTRDgeometry::GetAlpha())) {
delete track;
- return 1;
+ continue;
}
} else if (y <-ymax) {
if (!track->Rotate(-AliTRDgeometry::GetAlpha())) {
delete track;
- return 1;
+ continue;
}
}
//AliTRDtrack *pt = seed2;
AliTRDtrack &t=*pt;
FollowProlongation(t, innerTB);
-
+ /*
if (t.GetNumberOfClusters()<seed->GetTRDclusters(indexes3)*0.5){
// debug - why we dont go back?
AliTRDtrack *pt2 = new AliTRDtrack(*seed2,seed2->GetAlpha());
FollowProlongation(*pt2, innerTB);
delete pt2;
}
-
+ */
if (t.GetNumberOfClusters() >= foundMin) {
// UseClusters(&t);
//CookLabel(pt, 1-fgkLabelFraction);
if(PropagateToTPC(t)) {
seed->UpdateTrackParams(pt, AliESDtrack::kTRDrefit);
+ }else{
+ //if not prolongation to TPC - propagate without update
+ AliTRDtrack* seed2 = new AliTRDtrack(*seed);
+ seed2->ResetCovariance(5.);
+ AliTRDtrack *pt2 = new AliTRDtrack(*seed2,seed2->GetAlpha());
+ delete seed2;
+ if (PropagateToTPC(*pt2))
+ seed->UpdateTrackParams(pt2, AliESDtrack::kTRDrefit);
+ delete pt2;
}
+
delete seed2;
delete pt;
}
index=ncl;
fTrSec[trackingSector]->GetLayer(layer)->InsertCluster(c,index);
}
- printf("\r\n");
+ // printf("\r\n");
//
//
/*
// Loop through all entries in the tree
Int_t nbytes;
AliTRDcluster *c = 0;
- // printf("\n");
+ // printf("\n");
for (Int_t iEntry = 0; iEntry < nEntries; iEntry++) {
Int_t nbytes;
AliTRDcluster *c = 0;
- printf("\n");
+ // printf("\n");
for (Int_t iEntry = 0; iEntry < nEntries; iEntry++) {
// Get the number of points in the detector
Int_t nCluster = clusterArray->GetEntriesFast();
- printf("\n Read %d clusters from entry %d", nCluster, iEntry);
+ // printf("\n Read %d clusters from entry %d", nCluster, iEntry);
// Loop through all TRD digits
for (Int_t iCluster = 0; iCluster < nCluster; iCluster++) {
clusterTree->GetBranch("TRDcluster")->SetAddress(&clusterArray);
Int_t nEntries = (Int_t) clusterTree->GetEntries();
- printf("found %d entries in %s.\n",nEntries,clusterTree->GetName());
+ // printf("found %d entries in %s.\n",nEntries,clusterTree->GetName());
// Loop through all entries in the tree
Int_t nbytes;
AliTRDcluster *c = 0;
- printf("\n");
+ // printf("\n");
for (Int_t iEntry = 0; iEntry < nEntries; iEntry++) {