1 #ifndef ALIITSMEANVERTEXER_H
2 #define ALIITSMEANVERTEXER_H
4 ///////////////////////////////////////////////////////////////////////
6 // Class to compute vertex position using SPD local reconstruction //
7 // An average vertex position using all the events //
8 // is built and saved //
9 ///////////////////////////////////////////////////////////////////////
18 class AliMultiplicity;
20 class AliITSDetTypeRec;
22 class AliITSMeanVertexer : public TObject {
25 // default constructor
27 virtual ~AliITSMeanVertexer();
31 void SetFilterOnContributors(Int_t nc=1){fFilterOnContributors = nc;}
32 void SetFilterOnTracklets(Int_t nc=1){fFilterOnTracklets = nc;}
33 Bool_t Reconstruct(AliRawReader *rawReader, Bool_t mode = kTRUE);
34 void WriteVertices(const char *filename);
36 const TH2F*GetVertexXY() const { return fVertexXY; }
37 const TH1F*GetVertexZ() const { return fVertexZ; }
40 // copy constructor (NO copy allowed)
41 AliITSMeanVertexer(const AliITSMeanVertexer& vtxr);
42 // assignment operator (NO assignment allowed)
43 AliITSMeanVertexer& operator=(const AliITSMeanVertexer& /* vtxr */);
45 Bool_t Filter(AliESDVertex *vert,AliMultiplicity *mult);
46 void AddToMean(AliESDVertex *vert);
49 AliITSDetTypeRec *fDetTypeRec; //! ITS reco class
50 TH2F *fVertexXY; //! histogram with transverse vertex distribution (vertex diamond)
51 TH1F *fVertexZ; //! histogram with longitudinal vertex distribution
53 Double_t fWeighPos[3]; //! weighted average position
54 Double_t fWeighSig[3]; //! errors on weighted average position
55 Double_t fAverPos[3]; //! average position
56 Double_t fAverPosSq[3][3]; //! average square position for covariance
57 Int_t fNoEventsContr; //! number of events used for mean vertex
58 Float_t fTotTracklets; //! total number of tracklets used (integrated)
59 Float_t fAverTracklets; //! average number of tracklets per event
60 Float_t fSigmaOnAverTracks; //! RMS of fAverTracklets
61 Int_t fFilterOnContributors; //! Numb. of contrib must be > fFilter...
62 Int_t fFilterOnTracklets; //! Numb. of tracklets must be > fFilterOnTr...
64 ClassDef(AliITSMeanVertexer,0)