Float_t timebin=y-0.5; // to have time bin in range 0.-255. amd centered on the mid of the bin
if(s==1) zAnode += GetSeg()->NpzHalf(); // right side has anodes from 256. to 511.
Float_t zdet = GetSeg()->GetLocalZFromAnode(zAnode);
- Float_t driftTime = GetSeg()->GetDriftTimeFromTb(timebin) - rsdd->GetTimeOffset();
+ Float_t driftTimeUncorr = GetSeg()->GetDriftTimeFromTb(timebin);
+ Float_t driftTime=driftTimeUncorr-rsdd->GetTimeOffset();
Float_t driftPathMicron = cal->GetDriftPath(driftTime,zAnode);
const Double_t kMicronTocm = 1.0e-4;
Float_t xdet=(driftPathMicron-GetSeg()->Dx())*kMicronTocm; // xdet is negative
AliITSRecPoint cc(milab,hit,info);
cc.SetType(npeaks);
+ cc.SetDriftTime(driftTimeUncorr);
if(clusters) new (cl[ncl]) AliITSRecPoint(cc);
else {
fDetTypeRec->AddRecPoint(cc);
fNy(0),
fChargeRatio(0),
fType(0),
-fDeltaProb(0)
+fDeltaProb(0),
+fDriftTime(0.)
{
// default constructor
}
fNy(info[0]),
fChargeRatio(0),
fType(0),
-fDeltaProb(0)
+fDeltaProb(0),
+fDriftTime(0.)
{
//standard constructor used in AliITSClusterFinderV2
fNy(pt.fNy),
fChargeRatio(pt.fChargeRatio),
fType(pt.fType),
-fDeltaProb(pt.fDeltaProb)
+fDeltaProb(pt.fDeltaProb),
+fDriftTime(pt.fDriftTime)
{
//Copy constructor
*os << fXloc << " " << fZloc << " " << fdEdX << " ";
fmt = os->setf(ios::fixed); // every fixed
*os << fIndex <<" " << fQ << " "<<fLayer <<" "<<fNz<<" "<<fNy<<" ";
- *os << fChargeRatio<<" " << fType << " " << fDeltaProb;
+ *os << fChargeRatio<<" " << fType << " " << fDeltaProb << " " << fDriftTime;
os->flags(fmt); // reset back to old formating.
return;
}
SetVolumeId(lab[0]);// fIsMisalinged = mis;
*is >> fXloc >> fZloc >> fdEdX;
*is >> fIndex >> fQ >> fLayer >> fNz >> fNy >> fChargeRatio >> fType;
- *is >> fDeltaProb;
+ *is >> fDeltaProb >> fDriftTime;
return;
}
void SetPhiR(Float_t y) { fChargeRatio=y; }
void SetType(Int_t type){ fType=type;}
void SetDeltaProbability(Float_t prob){fDeltaProb = prob;}
-
+ void SetDriftTime(Float_t tim) {fDriftTime=tim;}
+
Int_t IsUsed() const {return (fQ<0)?1:0;}
Float_t GetQ() const {return TMath::Abs(fQ);}
Int_t GetDetectorIndex() const { return 0x3FF&fIndex; }
Int_t GetNindex() const { return 0xFFC00&fIndex; } //SSD clusters only
Int_t GetType() const {return fType;} // type of the cluster
Float_t GetDeltaProbability() const{return fDeltaProb;} //probability to belong to the delta ray
-
+ Float_t GetDriftTime() const{return fDriftTime;}
+
protected:
Float_t fXloc ; //X of cluster (local coordinates)
Short_t fNy; //number of digits in y direction
Float_t fChargeRatio; //charge ratio
Int_t fType; //quality factor of the cluster
- Float_t fDeltaProb; // probability to be deleta electron
+ Float_t fDeltaProb; // probability to be delta electron
+ Float_t fDriftTime; // drift time in SDD
- ClassDef(AliITSRecPoint,5) // AliITSRecPoint class
+ ClassDef(AliITSRecPoint,6) // AliITSRecPoint class
};
// Input and output function for standard C++ input/output.
ostream& operator<<(ostream &os,AliITSRecPoint &source);