ITS Track Points and Pair Cut on distances in ITS implement
authorskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Jun 2004 13:07:15 +0000 (13:07 +0000)
committerskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 Jun 2004 13:07:15 +0000 (13:07 +0000)
HBTAN/AliHBTPairCut.cxx
HBTAN/AliHBTPairCut.h
HBTAN/HBTAnalysisLinkDef.h

index 8da4c5440e3ffd2afa12a311188b6a5a721de05c..1acdc8e098233ab8578e30416bfb281710af5b5d 100644 (file)
@@ -249,12 +249,19 @@ void AliHBTPairCut::SetAvSeparationRange(Double_t min, Double_t max)
 }
 /**********************************************************/
 
-void AliHBTPairCut::SetPixelSeparation(Double_t drphi, Double_t dz)
+void AliHBTPairCut::SetITSSeparation(Int_t layer, Double_t drphi, Double_t dz)
 {
   //Anti-Merging Cut for first pixel layer
-  AliHbtBasePairCut* cut= FindCut(kHbtPairCutPropPixelSepar);
-  if(cut) cut->SetRange(drphi,dz);//In this cut fMin is drphi, and fMax dz
-  else fCuts[fNCuts++] = new AliHBTPixelSeparationCut(drphi,dz);
+  AliHBTITSSeparationCut* cut= dynamic_cast<AliHBTITSSeparationCut*>(FindCut(kHbtPairCutPropPixelSepar));
+  if(cut) 
+   {
+     if (layer == cut->GetLayer())
+      {
+        cut->SetRange(drphi,dz);//In this cut fMin is drphi, and fMax dz
+        return;
+      }
+   }
+  fCuts[fNCuts++] = new AliHBTITSSeparationCut(layer,drphi,dz);
 }
 /**********************************************************/
 
@@ -404,9 +411,9 @@ Double_t AliHBTSeparationCut::GetValue(AliHBTPair* pair) const
 }
 /******************************************************************/
 
-ClassImp(AliHBTPixelSeparationCut)
+ClassImp(AliHBTITSSeparationCut)
 
-Bool_t AliHBTPixelSeparationCut::Pass(AliHBTPair* pair) const
+Bool_t AliHBTITSSeparationCut::Pass(AliHBTPair* pair) const
 {
  //Checks if two tracks do not cross first pixels too close to each other
  //If two tracks use the same cluster in pixels they are given
@@ -430,8 +437,8 @@ Bool_t AliHBTPixelSeparationCut::Pass(AliHBTPair* pair) const
      return kTRUE;//reject 
    }
   Float_t  x1=0.0,y1=0.0,z1=0.0,x2=0.0,y2=0.0,z2=0.0;
-  tpts1->PositionAt(0,x1,y1,z1);
-  tpts2->PositionAt(0,x2,y2,z2);
+  tpts1->PositionAt(fLayer,x1,y1,z1);
+  tpts2->PositionAt(fLayer,x2,y2,z2);
   
 //  Info("Pass","rphi %f z %f",fMin,fMax);
 //  Info("Pass","P1: %f %f %f", x1,y1,z1);
index 185b3665c28f224adf08bf67fd538f256a05e660..48a64ac6b38dd6c5ab86486b5b1ebbbfd2d7324c 100644 (file)
@@ -61,7 +61,7 @@ class AliHBTPairCut: public TNamed
   void SetQSideCMSLRange(Double_t min, Double_t max);
   void SetQLongCMSLRange(Double_t min, Double_t max);
   void SetAvSeparationRange(Double_t min,Double_t max = 10e5);//Anti-Merging Cut
-  void SetPixelSeparation(Double_t drphi=0.01,Double_t dz = 0.08);//Anti-Merging Cut for first pixel layer
+  void SetITSSeparation(Int_t layer, Double_t drphi=0.01,Double_t dz = 0.08);//Anti-Merging Cut for first pixel layer
   void SetClusterOverlapRange(Double_t min,Double_t max);//Anti-Splitting Max range -0.5 1.0
       
   AliHBTParticleCut* GetFirstPartCut() const {return fFirstPartCut;}
@@ -301,18 +301,19 @@ class AliHBTSeparationCut: public AliHbtBasePairCut
 };
 /******************************************************************/
   
-class AliHBTPixelSeparationCut: public AliHbtBasePairCut
+class AliHBTITSSeparationCut: public AliHbtBasePairCut
 {
 //Anti merging cut for the first layer of pixels
  public:
-  AliHBTPixelSeparationCut(Double_t deltarphi = 0.01, Double_t deltaz = 0.08):
-    AliHbtBasePairCut(deltarphi,deltaz,kHbtPairCutPropPixelSepar){}
-  virtual ~AliHBTPixelSeparationCut(){}
+  AliHBTITSSeparationCut(Int_t layer, Double_t deltarphi = 0.01, Double_t deltaz = 0.08):
+    AliHbtBasePairCut(deltarphi,deltaz,kHbtPairCutPropPixelSepar),fLayer(layer){}
+  virtual ~AliHBTITSSeparationCut(){}
   Bool_t   Pass(AliHBTPair* pair) const;
-
+  Int_t    GetLayer() const {return fLayer;}
  protected:
+  Int_t fLayer;//index of the layer that distance should be measured 0: 1st pixels
   virtual Double_t  GetValue(AliHBTPair* /*pair*/) const {return 0.0;}//not used
-  ClassDef(AliHBTPixelSeparationCut,1)
+  ClassDef(AliHBTITSSeparationCut,1)
 };
 /******************************************************************/
 
index 1a23c242ec9e0bedccf19a967878ab7c0360232d..e9daf3494f193411245bbd84584558cc9eb774b8 100644 (file)
@@ -55,7 +55,7 @@
 #pragma link C++ class AliHBTDeltaThetaCut+;
 #pragma link C++ class AliHBTAvSeparationCut+;
 #pragma link C++ class AliHBTSeparationCut+;
-#pragma link C++ class AliHBTPixelSeparationCut+;
+#pragma link C++ class AliHBTITSSeparationCut+;
 #pragma link C++ class AliHBTCluterOverlapCut+;
 #pragma link C++ class AliHBTOutSideSameSignCut+;
 #pragma link C++ class AliHBTOutSideDiffSignCut+;