// apply fitted correction
Float_t x = td*vd + GetXcorr(fLocalTimeBin);
- if(x>.5*AliTRDgeometry::CamHght()+AliTRDgeometry::CdrHght()) SetInChamber(kFALSE);
+ if(x>0.&&x<.5*AliTRDgeometry::CamHght()+AliTRDgeometry::CdrHght()) SetInChamber();
return x;
if(y1) (*y1)*=W;
if(y2) (*y2)*=W;
- return y0-fCenter*W;
+ return y0+fCenter*W+(IsRPhiMethod(kLUT)?GetYcorr(AliTRDgeometry::GetLayer(fDetector), fCenter):0.);
}
//_____________________________________________________________________________
//_____________________________________________________________________________
void AliTRDcluster::Print(Option_t *o) const
{
- AliInfo(Form("Det[%3d] LTrC[%+6.2f %+6.2f %+6.2f] Q[%5.1f] Stat[in(%c) use(%c) sh(%c)]",
+ AliInfo(Form("Det[%3d] LTrC[%+6.2f %+6.2f %+6.2f] Q[%5.1f] FLAG[in(%c) use(%c) sh(%c)] Y[%s]",
fDetector, GetX(), GetY(), GetZ(), fQ,
- IsInChamber() ? 'y' : 'n', IsUsed() ? 'y' : 'n', IsShared() ? 'y' : 'n'));
+ IsInChamber() ? 'y' : 'n',
+ IsUsed() ? 'y' : 'n',
+ IsShared() ? 'y' : 'n',
+ IsRPhiMethod(kGAUS)?"GAUS":(IsRPhiMethod(kLUT)?"LUT":"COG")
+ ));
if(strcmp(o, "a")!=0) return;
AliInfo(Form("LChC[c(%3d) r(%2d) t(%2d)] t-t0[%2d] Npad[%d] cen[%5.3f] mask[%d]", fPadCol, fPadRow, fPadTime, fLocalTimeBin, fNPads, fCenter, fClusterMasking));
// Get COG position
// Used for clusters with more than 3 pads - where LUT not applicable
//
-
Double_t sum = fSignals[1]
+fSignals[2]
+fSignals[3]
// Alex Bercuci <A.Bercuci@gsi.de>
// Theodor Rascanu <trascanu@stud.uni-frankfurt.de>
//
- Double_t w1 = fSignals[2]*fSignals[2];
- Double_t w2 = fSignals[4]*fSignals[4];
+ Double_t w1 = fSignals[2]*fSignals[2];
+ Double_t w2 = fSignals[4]*fSignals[4];
+ Double_t w = w1+w2;
+ if(w<1.){
+ AliError("Missing side signals for cluster.");
+ Print("a");
+ return 0.;
+ }
+
//Double_t s2w = s2/W/W;
Float_t y1r = fSignals[2]>0 ? (-0.5 + s2w*TMath::Log(fSignals[3]/(Float_t)fSignals[2])) : 0.;
Float_t y2r = fSignals[4]>0 ? (0.5 + s2w*TMath::Log(fSignals[4]/(Float_t)fSignals[3])) : 0.;
if(y1) (*y1) = y1r;
if(y2) (*y2) = y2r;
- return fCenter = (w1*y1r+w2*y2r)/(w1+w2);
+ return fCenter = (w1*y1r+w2*y2r)/w;
}