BmnRoot
Loading...
Searching...
No Matches
BmnVertexFinder.h
Go to the documentation of this file.
1#ifndef BMNVERTEXFINDER_H
2#define BMNVERTEXFINDER_H
3
4#include "BmnEnums.h"
5#include "BmnVertex.h"
6#include "BmnKalmanFilter.h"
7#include "BmnGemTrack.h"
8#include "BmnGlobalTrack.h"
9
10#include "FairTask.h"
11#include "FairRunAna.h"
12#include "FairField.h"
13
14#include "TClonesArray.h"
15#include "TString.h"
16#include "TMath.h"
17#include "TVector3.h"
18#include <TStopwatch.h>
19
20using namespace std;
21
22class BmnVertexFinder : public FairTask
23{
24 public:
25 // Constructors/Destructors ---------
27 BmnVertexFinder(Int_t period);
28 virtual ~BmnVertexFinder();
29
30 virtual InitStatus Init();
31 virtual void Exec(Option_t* opt);
32 virtual void Finish();
33
34 BmnVertex FindPrimaryVertex(TClonesArray* tracks);
35 BmnVertex FindSecondaryVertex(TClonesArray* tracks);
36 Float_t FindVZByVirtualPlanes(Float_t z_0, Float_t range, TClonesArray* tracks, Int_t flag);
37
38 private:
39 Double_t CalcRms2D(vector<Double_t> x, vector<Double_t> y);
40 Double_t CalcMeanDist(vector<Double_t> x, vector<Double_t> y);
41
42 // Private Data Members ------------
43 TString fGlobalTracksBranchName;
44 TString fVertexBranchName;
45
46 Int_t fEventNo; // event counter
47 Int_t fPeriodId; // event counter
48
49 TClonesArray* fGlobalTracksArray;
50 TClonesArray* fVertexArray;
51
52 Double_t fTime;
53
54 Bool_t fRobustRefit;
55 FairField* fField;
56 BmnKalmanFilter* fKalman;
57
58 ClassDef(BmnVertexFinder, 1);
59};
60
61#endif /* BMNVERTEXFINDER_H */
virtual void Finish()
BmnVertex FindSecondaryVertex(TClonesArray *tracks)
virtual InitStatus Init()
virtual ~BmnVertexFinder()
virtual void Exec(Option_t *opt)
BmnVertex FindPrimaryVertex(TClonesArray *tracks)
Float_t FindVZByVirtualPlanes(Float_t z_0, Float_t range, TClonesArray *tracks, Int_t flag)
Define enumerations used in tracking.
STL namespace.