1 #ifndef ALIITSMEANVERTEXER_H
2 #define ALIITSMEANVERTEXER_H
6 ///////////////////////////////////////////////////////////////////////
8 // Class to compute vertex position using SPD local reconstruction //
9 // An average vertex position using all the events //
10 // is built and saved //
11 ///////////////////////////////////////////////////////////////////////
19 class AliMultiplicity;
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);
38 // copy constructor (NO copy allowed)
39 AliITSMeanVertexer(const AliITSMeanVertexer& vtxr);
40 // assignment operator (NO assignment allowed)
41 AliITSMeanVertexer& operator=(const AliITSMeanVertexer& /* vtxr */);
43 Bool_t Filter(AliESDVertex *vert,AliMultiplicity *mult);
44 void AddToMean(AliESDVertex *vert);
47 AliITSDetTypeRec *fDetTypeRec; //! ITS reco class
48 TH2F *fVertexXY; //! histogram with transverse vertex distribution (vertex diamond)
49 TH1F *fVertexZ; //! histogram with longitudinal vertex distribution
51 Double_t fWeighPos[3]; //! weighted average position
52 Double_t fWeighSig[3]; //! errors on weighted average position
53 Double_t fAverPos[3]; //! average position
54 Double_t fAverPosSq[3][3]; //! average square position for covariance
55 Int_t fNoEventsContr; //! number of events used for mean vertex
56 Float_t fTotTracklets; //! total number of tracklets used (integrated)
57 Float_t fAverTracklets; //! average number of tracklets per event
58 Float_t fSigmaOnAverTracks; //! RMS of fAverTracklets
59 Int_t fFilterOnContributors; //! Numb. of contrib must be > fFilter...
60 Int_t fFilterOnTracklets; //! Numb. of tracklets must be > fFilterOnTr...
62 ClassDef(AliITSMeanVertexer,0);