Removal of the run-loaders from the algorithmic part of the vertexers code. Some...
[u/mrichter/AliRoot.git] / ITS / AliITSMeanVertexer.h
CommitLineData
a3a3a28f 1#ifndef ALIITSMEANVERTEXER_H
2#define ALIITSMEANVERTEXER_H
3
4#include <TString.h>
5
6///////////////////////////////////////////////////////////////////////
7// //
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///////////////////////////////////////////////////////////////////////
12
13/* $Id$ */
14
15class TObject;
16class AliRawReader;
17class AliRunLoader;
18class AliMultiplicity;
19class AliESDVertex;
20
21class AliITSMeanVertexer : public TObject {
22
23 public:
24 // default constructor
25 AliITSMeanVertexer();
26 // standard constructor. filename is the name of the file containing
27 // raw data either in ROOT or DATE format according to file extension
308c2f7c 28 AliITSMeanVertexer(TString &filename);
a3a3a28f 29 // constructor with explicit assignment of names for geometry and loaders
308c2f7c 30 AliITSMeanVertexer(TString &filename, TString &loaderfilename,
31 TString &geometryfilename);
a3a3a28f 32 virtual ~AliITSMeanVertexer();
33 void SetLoaderFileName(TString fn="ITSMeanVertexer.root")
34 {fLoaderFileName = fn;}
35 void SetGeometryFileName(TString fn="geometry.root")
36 {fGeometryFileName = fn;}
37 void SetMeanVertexFileName(TString fn) {fMVFileName = fn;}
38 void SetFilterOnContributors(Int_t nc=1){fFilterOnContributors = nc;}
39 void SetFilterOnTracklets(Int_t nc=1){fFilterOnTracklets = nc;}
40 void SetWriteVertices(Bool_t action){fWriteVertices = action;}
41 Bool_t GetWriteVertices() const {return fWriteVertices;}
42 void Reconstruct();
43 void DoVertices();
44
45
46 protected:
47 // copy constructor (NO copy allowed: the constructor is protected
48 // to avoid misuse)
49 AliITSMeanVertexer(const AliITSMeanVertexer& vtxr);
50 // assignment operator (NO assignment allowed)
51 AliITSMeanVertexer& operator=(const AliITSMeanVertexer& /* vtxr */);
308c2f7c 52 void Init(TString &filename); // initialization invoked by constructors
a3a3a28f 53 Bool_t Filter(AliESDVertex *vert,AliMultiplicity *mult);
54 void AddToMean(AliESDVertex *vert);
55 Bool_t ComputeMean();
56
57 static const TString fgkMVFileNameDefault; //! default for fMVFileName
58 TString fLoaderFileName; //! name of the local file containing loaders
59 TString fGeometryFileName; //! name of the file containing the geometry
60 TString fMVFileName; //! name of the file containing the mean vertex
61 AliRawReader *fRawReader; //! rawreader object
62 AliRunLoader *fRunLoader; //! run loader
63 Double_t fWeighPos[3]; //! weighted average position
64 Double_t fWeighSig[3]; //! errors on weighted average position
65 Double_t fAverPos[3]; //! average position
66 Double_t fAverPosSq[3][3]; //! average square position for covariance
67 Int_t fNoEventsContr; //! number of events used for mean vertex
68 Float_t fTotTracklets; //! total number of tracklets used (integrated)
69 Float_t fAverTracklets; //! average number of tracklets per event
70 Float_t fSigmaOnAverTracks; //! RMS of fAverTracklets
71 Int_t fFilterOnContributors; //! Numb. of contrib must be > fFilter...
72 Int_t fFilterOnTracklets; //! Numb. of tracklets must be > fFilterOnTr...
73 Bool_t fWriteVertices; //! if kTRUE all the vertices are saved to a file
74
75 ClassDef(AliITSMeanVertexer,0);
76};
77
78#endif