#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 {
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)
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