Splitting the variables used to accumulate the sums from the ones used to fill the...
[u/mrichter/AliRoot.git] / ITS / AliITSMeanVertexer.h
index b9a9e760c9c6206aec1b79bb165298820790167a..da2e67e3fb8406f22e681198cd2b23bfc748d1bb 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef ALIITSMEANVERTEXER_H
 #define ALIITSMEANVERTEXER_H
 
-#include <TString.h>
-
 ///////////////////////////////////////////////////////////////////////
 //                                                                   //
 // Class to compute vertex position using SPD local reconstruction   //
 
 /* $Id$ */
 
-class TObject;
+#include <TObject.h>
+
 class TH1F;
 class TH2F;
 class AliRawReader;
 class AliMultiplicity;
 class AliESDVertex;
+class AliITSDetTypeRec;
 
 class AliITSMeanVertexer : public TObject {
 
@@ -33,6 +33,8 @@ class AliITSMeanVertexer : public TObject {
     Bool_t Reconstruct(AliRawReader *rawReader, Bool_t mode = kTRUE);
     void   WriteVertices(const char *filename);
 
+    const TH2F*GetVertexXY() const { return fVertexXY; }
+    const TH1F*GetVertexZ()  const { return fVertexZ;  }
  
  private:
     // copy constructor (NO copy allowed)
@@ -48,18 +50,23 @@ class AliITSMeanVertexer : public TObject {
     TH2F    *fVertexXY;        //! histogram with transverse vertex distribution (vertex diamond)
     TH1F    *fVertexZ;         //! histogram with longitudinal vertex distribution
 
-    Double_t fWeighPos[3];     //! weighted average position
-    Double_t fWeighSig[3];     //! errors on weighted average position
-    Double_t fAverPos[3];      //! average position
-    Double_t fAverPosSq[3][3];  //! average square position for covariance
-    Int_t fNoEventsContr;      //! number of events used for mean vertex
+    Double_t fWeighPosSum[3];    //! weighted average position sum (transient)
+    Double_t fWeighSigSum[3];    //! weighted average position sum (transient)
+    Double_t fAverPosSum[3];     //! average position sum (transient)
+    Double_t fAverPosSqSum[3][3];//! average square position sum for covariance (transient)
+    Double_t fWeighPos[3];       //! weighted average position
+    Double_t fWeighSig[3];       //! errors on weighted average position
+    Double_t fAverPos[3];        //! average position
+    Double_t fAverPosSq[3][3];   //! average square position for covariance
+    Int_t fNoEventsContr;        //! number of events used for mean vertex
     Float_t fTotTracklets;       //! total number of tracklets used (integrated)
-    Float_t fAverTracklets;    //! average number of tracklets per event
-    Float_t fSigmaOnAverTracks; //! RMS of fAverTracklets
+    Float_t fAverTracklets;      //! average number of tracklets per event
+    Float_t fTotTrackletsSq;     //! total squared number of tracklets (transient)
+    Float_t fSigmaOnAverTracks;  //! RMS of fAverTracklets
     Int_t fFilterOnContributors; //! Numb. of contrib must be > fFilter...
-    Int_t fFilterOnTracklets; //! Numb. of tracklets must be > fFilterOnTr...
+    Int_t fFilterOnTracklets;    //! Numb. of tracklets must be > fFilterOnTr...
 
-  ClassDef(AliITSMeanVertexer,0);
+    ClassDef(AliITSMeanVertexer,0)
 };
 
 #endif