return kTRUE;
}
+//____________________________________________________________________
+Float_t AliTRDseedV1::GetQperTB(Int_t tb) const
+{
+ //
+ // Charge of the clusters at timebin
+ //
+ Float_t Q = 0;
+ if(fClusters[tb] /*&& fClusters[tb]->IsInChamber()*/)
+ Q += TMath::Abs(fClusters[tb]->GetQ());
+ if(fClusters[tb+kNtb] /*&& fClusters[tb+kNtb]->IsInChamber()*/)
+ Q += TMath::Abs(fClusters[tb+kNtb]->GetQ());
+ return Q/TMath::Sqrt(1. + fYref[1]*fYref[1] + fZref[1]*fZref[1]);
+}
+
//____________________________________________________________________
Float_t AliTRDseedV1::GetdQdl() const
{
//____________________________________________________________________
-Float_t AliTRDseedV1::GetOccupancyTB() const
+Int_t AliTRDseedV1::GetTBoccupancy() const
{
-// Returns procentage of TB occupied by clusters
+// Returns no. of TB occupied by clusters
Int_t n(0);
- AliTRDcluster *c(NULL);
- for(int ic=0; ic<AliTRDtrackerV1::GetNTimeBins(); ic++){
- if(!(c = fClusters[ic]) && !(c = fClusters[ic+kNtb])) continue;
+ for(int ic(0); ic<kNtb; ic++){
+ if(!fClusters[ic] && !fClusters[ic+kNtb]) continue;
n++;
}
+ return n;
+}
+
+//____________________________________________________________________
+Int_t AliTRDseedV1::GetTBcross() const
+{
+// Returns no. of TB occupied by 2 clusters for pad row cross tracklets
- return Float_t(n)/AliTRDtrackerV1::GetNTimeBins();
+ if(!IsRowCross()) return 0;
+ Int_t n(0);
+ for(int ic(0); ic<kNtb; ic++){
+ if(fClusters[ic] && fClusters[ic+kNtb]) n++;
+ }
+ return n;
}
//____________________________________________________________________
// Parameters
// - chamber : pointer to tracking chamber container used to search the tracklet
// - tilt : switch for tilt correction during road building [default true]
+// - chgPos : mark same[kFALSE] and opposite[kTRUE] sign tracks with respect to Bz field sign [default true]
+// - ev : event number for debug purposes [default = -1]
// Output
// - true : if tracklet found successfully. Failure can happend because of the following:
// -
if(fkReconstructor->IsHLT()) cp.SetRPhiMethod(AliTRDcluster::kCOG);
if(!IsCalibrated()) Calibrate();
- Int_t kroadyShift(0);
+/* Int_t kroadyShift(0);
Float_t bz(AliTrackerBase::GetBz());
if(TMath::Abs(bz)>2.){
if(bz<0.) kroadyShift = chgPos ? +1 : -1;
else kroadyShift = chgPos ? -1 : +1;
- }
- AliDebug(4, Form("\n syTrk[cm]=%4.2f dydxTrk[deg]=%+6.2f rs[%d] Chg[%c] rY[cm]=%4.2f rZ[cm]=%5.2f TC[%c]", syRef, TMath::ATan(fYref[1])*TMath::RadToDeg(), kroadyShift, chgPos?'+':'-', kroady, kroadz, tilt?'y':'n'));
+ }*/
+ AliDebug(4, Form("\n syTrk[cm]=%4.2f dydxTrk[deg]=%+6.2f Chg[%c] rY[cm]=%4.2f rZ[cm]=%5.2f TC[%c]", syRef, TMath::ATan(fYref[1])*TMath::RadToDeg(), chgPos?'+':'-', kroady, kroadz, tilt?'y':'n'));
Double_t phiTrk(TMath::ATan(fYref[1])),
thtTrk(TMath::ATan(fZref[1]));
} else {
kScalePulls = attach->GetScaleCov();//*lyScaler;
}
+ // Retrieve chamber status
+ SetChmbGood(calibration->IsChamberGood(fDet));
+ if(!IsChmbGood()) kScalePulls*=10.;
}
Double_t xc[kNclusters], yc[kNclusters], sy[kNclusters];
Int_t n(0), // clusters used in fit