Information about SDD drift side (used for alignment) in rec points and track points
authorprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Feb 2010 13:49:53 +0000 (13:49 +0000)
committerprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Feb 2010 13:49:53 +0000 (13:49 +0000)
ITS/AliITSClusterFinderV2SDD.cxx
ITS/AliITSRecPoint.cxx
ITS/AliITSRecPoint.h

index 26d31d3..430a0ec 100644 (file)
@@ -296,6 +296,7 @@ FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2],
          AliITSRecPoint cc(milab,hit,info);
          cc.SetType(npeaks);
          cc.SetDriftTime(driftTimeUncorr);
+         cc.SetDriftSide(s);
          if(clusters) new (cl[ncl]) AliITSRecPoint(cc); 
          else {
            fDetTypeRec->AddRecPoint(cc);
index 2222de9..ac4900e 100644 (file)
@@ -37,7 +37,8 @@
 ClassImp(AliITSRecPoint)
 
 //_____________________________________________________________
-AliITSRecPoint::AliITSRecPoint(): AliCluster(),
+AliITSRecPoint::AliITSRecPoint(): 
+AliCluster(),
 fXloc(0),
 fZloc(0),
 fdEdX(0),
@@ -49,7 +50,8 @@ fNy(0),
 fChargeRatio(0),
 fType(0),
 fDeltaProb(0),
-fDriftTime(0.)
+fDriftTime(0.),
+fDriftSide(0)
 {
     // default constructor
 }
@@ -68,7 +70,8 @@ fNy(info[0]),
 fChargeRatio(0),
 fType(0),
 fDeltaProb(0),
-fDriftTime(0.)
+fDriftTime(0.),
+fDriftSide(0)
 {
   //standard constructor used in AliITSClusterFinderV2
 
@@ -115,19 +118,21 @@ fDriftTime(0.)
 }
 
 //_______________________________________________________________________
-AliITSRecPoint::AliITSRecPoint(const AliITSRecPoint& pt):AliCluster(pt),
-fXloc(pt.fXloc),
-fZloc(pt.fZloc),
-fdEdX(pt.fdEdX),
-fIndex(pt.fIndex),
-fQ(pt.fQ),
-fLayer(pt.fLayer),
-fNz(pt.fNz),
-fNy(pt.fNy),
-fChargeRatio(pt.fChargeRatio),
-fType(pt.fType),
-fDeltaProb(pt.fDeltaProb),
-fDriftTime(pt.fDriftTime)
+AliITSRecPoint::AliITSRecPoint(const AliITSRecPoint& pt):
+  AliCluster(pt),
+  fXloc(pt.fXloc),
+  fZloc(pt.fZloc),
+  fdEdX(pt.fdEdX),
+  fIndex(pt.fIndex),
+  fQ(pt.fQ),
+  fLayer(pt.fLayer),
+  fNz(pt.fNz),
+  fNy(pt.fNy),
+  fChargeRatio(pt.fChargeRatio),
+  fType(pt.fType),
+  fDeltaProb(pt.fDeltaProb),
+  fDriftTime(pt.fDriftTime),
+  fDriftSide(pt.fDriftSide)
 {
   //Copy constructor
 
@@ -173,7 +178,7 @@ void AliITSRecPoint::Print(ostream *os){
     *os << fXloc << " " << fZloc << " " << fdEdX << " ";
     fmt = os->setf(ios::fixed); // every fixed
     *os << fIndex <<" " << fQ << " "<<fLayer <<" "<<fNz<<" "<<fNy<<" ";
-    *os << fChargeRatio<<" " << fType << " " << fDeltaProb << " " << fDriftTime;
+    *os << fChargeRatio<<" " << fType << " " << fDeltaProb << " " << fDriftTime<< " " << fDriftSide;
     os->flags(fmt); // reset back to old formating.
     return;
 }
@@ -240,6 +245,7 @@ Int_t AliITSRecPoint::GetSDDclusterType() const {
 // max. allowed cluster size = 255
   Int_t typ=(fNz&0xFF)<<8;
   typ+=fNy&0xFF;
+  if(fDriftSide==1) typ+=1<<16;
   return typ;
 }
 
@@ -271,7 +277,7 @@ void AliITSRecPoint::Read(istream *is){
     SetVolumeId(lab[0]);// fIsMisalinged = mis;
     *is >> fXloc >> fZloc >> fdEdX;
     *is >> fIndex >> fQ >> fLayer >> fNz >> fNy >> fChargeRatio >> fType;
-    *is >> fDeltaProb >> fDriftTime;
+    *is >> fDeltaProb >> fDriftTime >> fDriftSide;
 
     return;
 }
index 496ce8b..8f10451 100644 (file)
@@ -59,6 +59,7 @@ class AliITSRecPoint : public AliCluster {
   void SetType(Int_t type){ fType=type;}
   void SetDeltaProbability(Float_t prob){fDeltaProb = prob;}
   void SetDriftTime(Float_t tim) {fDriftTime=tim;}
+  void SetDriftSide(Int_t sid) {fDriftSide=sid;}
  
   Int_t IsUsed() const {return (fQ<0)?1:0;}
   Float_t GetQ() const {return TMath::Abs(fQ);}
@@ -73,6 +74,7 @@ class AliITSRecPoint : public AliCluster {
   Int_t GetType() const {return fType;}  // type of the cluster (for SPD the number of pixels in the cluster)
   Float_t GetDeltaProbability() const{return fDeltaProb;} //probability to belong to the delta ray
   Float_t GetDriftTime() const{return  fDriftTime;}
+  Int_t GetDriftSide() const {return fDriftSide;}
   Int_t GetNpixels() const; // for SPD returns fType, i.e. the number of pixels in the cluster (-1 for SDD and SSD)
   Int_t GetSPDclusterType() const; // for SPD returns cluster type according to conventional numbering (-1 for SDD and SSD)
   Int_t GetSDDclusterType() const; 
@@ -98,8 +100,9 @@ class AliITSRecPoint : public AliCluster {
   Int_t    fType;         //quality factor of the cluster
   Float_t  fDeltaProb;    // probability to be delta electron
   Float_t  fDriftTime;    // drift time in SDD
+  Char_t   fDriftSide;    // drift region in SDD (0=left=positive xlocal, 1=right)
     
-  ClassDef(AliITSRecPoint,6)  // AliITSRecPoint class
+  ClassDef(AliITSRecPoint,7)  // AliITSRecPoint class
 };
 // Input and output function for standard C++ input/output.
 ostream& operator<<(ostream &os,AliITSRecPoint &source);