Changes needed to convert AliITSVertexerTrack to AliVertexerTracks (M.Masera)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 31 Mar 2006 09:20:04 +0000 (09:20 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 31 Mar 2006 09:20:04 +0000 (09:20 +0000)
STEER/AliESDVertex.cxx
STEER/AliESDVertex.h
STEER/AliVertex.cxx [new file with mode: 0644]
STEER/AliVertex.h [new file with mode: 0644]
STEER/AliVertexer.h
STEER/ESDLinkDef.h
STEER/libESD.pkg

index 9245985231557a44e50cef49a610694bcf0b355f..d37ee71e13592b4bc9fb055067fc3b2c4d44a6b3 100644 (file)
@@ -34,15 +34,14 @@ ClassImp(AliESDVertex)
 
 //--------------------------------------------------------------------------
 AliESDVertex::AliESDVertex() :
-  TNamed(),
+  AliVertex(),
   fCovXX(0.005*0.005),
   fCovXY(0),
   fCovYY(0.005*0.005),
   fCovXZ(0),
   fCovYZ(0),
   fCovZZ(5.3*5.3),
-  fChi2(0),
-  fNContributors(0)
+  fChi2(0)
 {
   //
   // Default Constructor, set everything to 0
@@ -53,15 +52,14 @@ AliESDVertex::AliESDVertex() :
 //--------------------------------------------------------------------------
 AliESDVertex::AliESDVertex(Double_t positionZ,Double_t sigmaZ,
                           Int_t nContributors,const Char_t *vtxName) :
-  TNamed(vtxName,""),
+  AliVertex(),
   fCovXX(0.005*0.005),
   fCovXY(0),
   fCovYY(0.005*0.005),
   fCovXZ(0),
   fCovYZ(0),
   fCovZZ(sigmaZ*sigmaZ),
-  fChi2(0),
-  fNContributors(nContributors)
+  fChi2(0)
 {
   //
   // Constructor for vertex Z from pixels
@@ -70,6 +68,8 @@ AliESDVertex::AliESDVertex(Double_t positionZ,Double_t sigmaZ,
   SetToZero();
 
   fPosition[2]   = positionZ;
+  SetName(vtxName);
+  SetNContributors(nContributors);
 
 }
 
@@ -77,70 +77,61 @@ AliESDVertex::AliESDVertex(Double_t positionZ,Double_t sigmaZ,
 AliESDVertex::AliESDVertex(Double_t position[3],Double_t covmatrix[6],
                           Double_t chi2,Int_t nContributors,
                           const Char_t *vtxName) :
-  TNamed(vtxName,""),
+  AliVertex(position,0.,nContributors),
   fCovXX(covmatrix[0]),
   fCovXY(covmatrix[1]),
   fCovYY(covmatrix[2]),
   fCovXZ(covmatrix[3]),
   fCovYZ(covmatrix[4]),
   fCovZZ(covmatrix[5]),
-  fChi2(chi2),
-  fNContributors(nContributors)
+  fChi2(chi2)
 {
   //
   // Constructor for vertex in 3D from tracks
   //
 
   SetToZero();
-  fPosition[0]   = position[0];
-  fPosition[1]   = position[1];
-  fPosition[2]   = position[2];
+  SetName(vtxName);
 
 }
 //--------------------------------------------------------------------------
 AliESDVertex::AliESDVertex(Double_t position[3],Double_t sigma[3],
                           const Char_t *vtxName) :
-  TNamed(vtxName,""),
+  AliVertex(position,0.,0),
   fCovXX(sigma[0]*sigma[0]),
   fCovXY(0),
   fCovYY(sigma[1]*sigma[1]),
   fCovXZ(0),
   fCovYZ(0),
   fCovZZ(sigma[2]*sigma[2]),
-  fChi2(0),
-  fNContributors(0)
+  fChi2(0)
 {
   //
   // Constructor for smearing of true position
   //
 
   SetToZero();
-  fPosition[0]   = position[0];
-  fPosition[1]   = position[1];
-  fPosition[2]   = position[2];
+  SetName(vtxName);
 
 }
 //--------------------------------------------------------------------------
 AliESDVertex::AliESDVertex(Double_t position[3],Double_t sigma[3],
                           Double_t snr[3], const Char_t *vtxName) :
-  TNamed(vtxName,""),
+  AliVertex(position,0.,0),
   fCovXX(sigma[0]*sigma[0]),
   fCovXY(0),
   fCovYY(sigma[1]*sigma[1]),
   fCovXZ(0),
   fCovYZ(0),
   fCovZZ(sigma[2]*sigma[2]),
-  fChi2(0),
-  fNContributors(0)
+  fChi2(0)
 {
   //
   // Constructor for Pb-Pb
   //
 
   SetToZero();
-  fPosition[0]   = position[0];
-  fPosition[1]   = position[1];
-  fPosition[2]   = position[2];
+  SetName(vtxName);
 
   fSNR[0]        = snr[0];
   fSNR[1]        = snr[1];
@@ -154,30 +145,11 @@ void AliESDVertex::SetToZero() {
   // Set the content of arrays to 0. Used by constructors
   //
   for(Int_t i=0; i<3; i++){
-    fPosition[i] = 0.;
     fTruePos[i] = 0;
     fSNR[i] = 0.;
   }
 }
 //--------------------------------------------------------------------------
-AliESDVertex::~AliESDVertex() {
-//  
-// Destructor
-//
-
-}
-//--------------------------------------------------------------------------
-void AliESDVertex::GetXYZ(Double_t position[3]) const {
-//
-// Return position of the vertex in global frame
-//
-  position[0] = fPosition[0];
-  position[1] = fPosition[1];
-  position[2] = fPosition[2];
-
-  return;
-}
-//--------------------------------------------------------------------------
 void AliESDVertex::GetSigmaXYZ(Double_t sigma[3]) const {
 //
 // Return errors on vertex position in thrust frame
@@ -202,48 +174,7 @@ void AliESDVertex::GetCovMatrix(Double_t covmatrix[6]) const {
 
   return;
 }
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetXv() const {
-//
-// Return global x
-//
-  return fPosition[0];
-}
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetYv() const {
-//
-// Return global y
-//
-  return fPosition[1];
-}
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetZv() const {
-//
-// Return global z
-//
-  return fPosition[2];
-}
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetXRes() const {
-//
-// Return error on global x
-//
-  return TMath::Sqrt(fCovXX);
-}
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetYRes() const {
-//
-// Return error on global y
-//
-  return TMath::Sqrt(fCovYY);
-}
-//--------------------------------------------------------------------------
-Double_t AliESDVertex::GetZRes() const {
-//
-// Return error on global z
-//
-  return TMath::Sqrt(fCovZZ);
-}
+
 //--------------------------------------------------------------------------
 void AliESDVertex::GetSNR(Double_t snr[3]) const {
 //
index 675a86ec6bb1c5bc7cc58c01939c1563bee6c419..4a9d13259055f8d270333eae3eef70f280688fd1 100644 (file)
  *                                                                           *
  *****************************************************************************/
 
-//---- Root headers -----
-#include <TNamed.h>
 
-class AliESDVertex : public TNamed {
+#include <AliVertex.h>
+
+class AliESDVertex : public AliVertex {
  
  public:
  
@@ -44,20 +44,16 @@ class AliESDVertex : public TNamed {
   AliESDVertex(Double_t position[3],Double_t sigma[3],Double_t snr[3],
               const Char_t *vtxName="Vertex");
 
-  virtual ~AliESDVertex();
+  virtual ~AliESDVertex(){;}
 
 
-  void     GetXYZ(Double_t position[3]) const;
   void     GetSigmaXYZ(Double_t sigma[3]) const;
   void     GetCovMatrix(Double_t covmatrix[6]) const;
   void     GetSNR(Double_t snr[3]) const;
 
-  Double_t GetXv() const;
-  Double_t GetYv() const;
-  Double_t GetZv() const;
-  Double_t GetXRes() const;
-  Double_t GetYRes() const;
-  Double_t GetZRes() const;
+  Double_t GetXRes() const {return TMath::Sqrt(fCovXX);}
+  Double_t GetYRes() const {return TMath::Sqrt(fCovYY);}
+  Double_t GetZRes() const {return TMath::Sqrt(fCovZZ);}
   Double_t GetXSNR() const { return fSNR[0]; }
   Double_t GetYSNR() const { return fSNR[1]; }
   Double_t GetZSNR() const { return fSNR[2]; }
@@ -65,7 +61,6 @@ class AliESDVertex : public TNamed {
   Double_t GetChi2() const { return fChi2; }
   Double_t GetChi2toNDF() const 
     { return fChi2/(2.*(Double_t)fNContributors-3.); }
-  Int_t    GetNContributors() const { return fNContributors; }
 
   void     Print(Option_t* option = "") const;
   void     PrintStatus() const {Print();}
@@ -77,18 +72,16 @@ class AliESDVertex : public TNamed {
 
  protected:
 
-  Double_t fPosition[3];  // vertex position
   Double_t fCovXX,fCovXY,fCovYY,fCovXZ,fCovYZ,fCovZZ;  // vertex covariance matrix
   Double_t fSNR[3];  // S/N ratio
   Double_t fChi2;  // chi2 of vertex fit
-  Int_t    fNContributors;  // # of tracklets/tracks used for the estimate 
   Double_t fTruePos[3];   //true vertex position (for comparison purposes)
 
  private:
 
   void SetToZero();
 
-  ClassDef(AliESDVertex,4)  // Class for Primary Vertex
+  ClassDef(AliESDVertex,5)  // Class for Primary Vertex
 };
 
 #endif
diff --git a/STEER/AliVertex.cxx b/STEER/AliVertex.cxx
new file mode 100644 (file)
index 0000000..8584bc3
--- /dev/null
@@ -0,0 +1,89 @@
+/**************************************************************************
+ * Copyright(c) 2006-2008, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+//-----------------------------------------------------------------
+//           Implementation of the base Vertex class
+//           This class contains the Secondary Vertex
+//           of a set of tracks
+//           And it is the base class for primary vertices
+// Origin: F.Prino, Torino, prino@to.infn.it
+//-----------------------------------------------------------------
+
+#include "AliVertex.h"
+
+
+ClassImp(AliVertex)
+
+//--------------------------------------------------------------------------
+AliVertex::AliVertex() : TNamed() {
+//
+// Default Constructor, set everything to 0
+//
+  for(Int_t k=0;k<3;k++) fPosition[k]   = 0;
+  fSigma = 0;
+  fNContributors=0;
+}
+
+//--------------------------------------------------------------------------
+AliVertex::AliVertex(Double_t position[3],Double_t dispersion,
+               Int_t nContributors): TNamed() {
+  //
+  // Standard Constructor
+  //
+
+  for(Int_t k=0;k<3;k++) fPosition[k]   = position[k];
+  fSigma         = dispersion;
+  fNContributors = nContributors;
+  SetName("BaseVertex");
+
+}
+
+
+//--------------------------------------------------------------------------
+AliVertex::~AliVertex() {
+//  
+// Default Destructor
+//
+
+}
+//--------------------------------------------------------------------------
+void AliVertex::GetXYZ(Double_t position[3]) const {
+//
+// Return position of the vertex in global frame
+//
+  position[0] = fPosition[0];
+  position[1] = fPosition[1];
+  position[2] = fPosition[2];
+
+  return;
+}
+//--------------------------------------------------------------------------
+void AliVertex::Print(Option_t* /*option*/) const {
+//
+// Print out information on all data members
+//
+  printf("Vertex position:\n");
+  printf("   x = %f\n",fPosition[0]);
+  printf("   y = %f\n",fPosition[1]);
+  printf("   z = %f\n",fPosition[2]);
+  printf(" Dispersion = %f\n",fSigma);
+  printf(" # tracks = %d\n",fNContributors);
+
+  return;
+}
+
+
+
+
diff --git a/STEER/AliVertex.h b/STEER/AliVertex.h
new file mode 100644 (file)
index 0000000..c541c5b
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef ALIVERTEX_H
+#define ALIVERTEX_H
+/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+
+//-------------------------------------------------------
+//                    Base Vertex Class
+//   Used for secondary vertices and as a base class for primary vertices
+//   Origin: F. Prino, Torino, prino@to.infn.it
+//-------------------------------------------------------
+
+
+#include <TNamed.h>
+
+class AliVertex : public TNamed {
+ public:
+  AliVertex();
+  AliVertex(Double_t position[3],Double_t dispersion,
+               Int_t nContributors);
+  virtual ~AliVertex();
+
+
+  virtual void   SetXYZ(Double_t pos[3]) 
+                   {for(Int_t j=0; j<3; j++) fPosition[j]=pos[j];}
+  virtual void   SetXv(Double_t xVert) {fPosition[0]=xVert; }
+  virtual void   SetYv(Double_t yVert) {fPosition[1]=yVert; }
+  virtual void   SetZv(Double_t zVert) {fPosition[2]=zVert; }
+  virtual void   SetDispersion(Double_t disp) { fSigma=disp; }
+  virtual void   SetNContributors(Int_t nContr) {fNContributors=nContr; }
+
+  virtual void     GetXYZ(Double_t position[3]) const;
+  virtual Double_t GetXv() const { return fPosition[0]; }
+  virtual Double_t GetYv() const { return fPosition[1]; }
+  virtual Double_t GetZv() const { return fPosition[2]; }
+  virtual Double_t GetDispersion() const { return fSigma; }
+  virtual Int_t    GetNContributors() const { return fNContributors; }
+
+  virtual void     Print(Option_t* option = "") const;
+
+ protected:
+
+  Double_t fPosition[3];  // vertex position
+  Double_t fSigma;  // track dispersion around found vertex
+  Int_t    fNContributors;  // # of tracklets/tracks used for the estimate 
+
+
+  ClassDef(AliVertex,1)  // Class for Primary Vertex
+};
+
+#endif
index 40388ac196245b5a2c9ba2bd9864d3b264e3b233..cb09afcd4d78b22b490fadb4fb8aa94452c0cf78 100644 (file)
@@ -31,7 +31,6 @@ class AliVertexer : public TObject {
     virtual void SetDebug(Int_t debug = 0);
     virtual void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
     virtual void SetLastEvent(Int_t ev){fLastEvent = ev;}
-    virtual void SetUseV2Clusters(Bool_t choice) = 0;
     virtual void WriteCurrentVertex() = 0;
 
  
index 434cc31d9845320ec931d0193d5fb494b2d8cb01..f767447cf60e3360395f7da59f2dd858318babe0 100644 (file)
@@ -17,6 +17,7 @@
 #pragma link C++ class  AliESDHLTtrack+;
 #pragma link C++ class  AliESDv0+;
 #pragma link C++ class  AliESDcascade+;
+#pragma link C++ class  AliVertex+;
 #pragma link C++ class  AliESDVertex+;
 #pragma link C++ class  AliESDpid+;
 #pragma link C++ class  AliESDkink+;
index 75f128a7a4d25c154700acac448220396741fdfe..559f992a01023dc7334868dfe42cb3322825f692 100644 (file)
@@ -1,7 +1,7 @@
 SRCS = AliESD.cxx \
        AliESDtrack.cxx \
        AliESDMuonTrack.cxx AliESDPmdTrack.cxx AliESDHLTtrack.cxx \
-       AliESDv0.cxx AliESDcascade.cxx AliESDVertex.cxx \
+       AliESDv0.cxx AliESDcascade.cxx AliVertex.cxx AliESDVertex.cxx \
        AliESDpid.cxx AliESDkink.cxx AliESDV0MI.cxx \
        AliESDCaloCluster.cxx \
        AliKalmanTrack.cxx AliHelix.cxx AliExternalTrackParam.cxx \