Int_t GetPadRow() const;
Float_t GetPad() const {return fPad+0.5;}
Float_t GetTime() const {return fTime;}
- Float_t GetSigmaY2() const {return fSigmaY2;}
- Float_t GetSigmaZ2() const {return fSigmaZ2;}
+ Float_t GetSigmaY2() const {return (fSigmaY2>0.?(fSigmaY2 - fPad*fPad):0.);}
+ Float_t GetSigmaZ2() const {return (fSigmaZ2>0.?(fSigmaZ2 - fTime*fTime):0.);}
Int_t GetCharge() const;
Int_t GetQMax() const {return -1;}
};
Int_t GetPadRow() const;
Float_t GetPad() const {return fPad+0.5;}
Float_t GetTime() const {return fTime;}
- Float_t GetSigmaY2() const {return fSigmaY2;}
- Float_t GetSigmaZ2() const {return fSigmaZ2;}
+ Float_t GetSigmaY2() const {return (fSigmaY2>0.?(fSigmaY2 - fPad*fPad):0.);}
+ Float_t GetSigmaZ2() const {return (fSigmaZ2>0.?(fSigmaZ2 - fTime*fTime):0.);}
Int_t GetCharge() const;
Int_t GetQMax() const;
};
break;
}
- // FIXME: the HW ClusterFinder returns only the sum
- // sum(q_i*pad_i*pad_i)/sum(q_i)
- // where the mean needs to be subtracted, not yet in the decoder
- // but should be implemented there
float pad =cl->second.Decoder()->GetPad(index);
float time =cl->second.Decoder()->GetTime(index);
float sigmaY2=cl->second.Decoder()->GetSigmaY2(index);
float sigmaZ2=cl->second.Decoder()->GetSigmaZ2(index);
- sigmaY2-=pad*pad;
- sigmaZ2-=time*time;
if (!pDeflater) {
AliHLTTPCRawCluster& c=blockout->fClusters[blockout->fCount];
break;
}
- // FIXME: the HW ClusterFinder returns only the sum
- // sum(q_i*pad_i*pad_i)/sum(q_i)
- // where the mean needs to be subtracted, not yet in the decoder
- // but should be implemented there
float pad =input.GetPad();
float time =input.GetTime();
float sigmaY2=input.GetSigmaY2();
float sigmaZ2=input.GetSigmaZ2();
- sigmaY2-=pad*pad;
- sigmaZ2-=time*time;
if (!pDeflater) {
AliHLTTPCRawCluster& c=blockout->fClusters[blockout->fCount];
float time=cl.GetTime();
float sigmaY2=cl.GetSigmaY2();
float sigmaZ2=cl.GetSigmaZ2();
- sigmaY2-=pad*pad;
sigmaY2*=padpitch*padpitch;
- sigmaZ2-=time*time;
sigmaZ2*=zwidth*zwidth;
c.SetPadRow(padrow);
c.SetCharge(charge);
float time =cl.GetTime();
float sigmaP2=cl.GetSigmaY2();
float sigmaT2=cl.GetSigmaZ2();
- sigmaP2-=pad*pad;
- sigmaT2-=time*time;
c.SetPadRow(padrow);
c.SetCharge(charge);
c.SetPad(pad);