BmnRoot
Loading...
Searching...
No Matches
SrcVertexFinder.h
Go to the documentation of this file.
1#ifndef SRCVERTEXFINDER_H
2#define SRCVERTEXFINDER_H
3
4#include "BmnEnums.h"
5#include "BmnGemStripHit.h"
6#include "BmnGemTrack.h"
7#include "BmnGlobalTrack.h"
8#include "BmnKalmanFilter.h"
9#include "BmnVertex.h"
10
11#include "FairField.h"
12#include "FairRunAna.h"
13#include "FairTask.h"
14
15#include "TClonesArray.h"
16#include "TMath.h"
17#include "TString.h"
18#include "TVector3.h"
19#include <TStopwatch.h>
20
21using namespace std;
22
23class SrcVertexFinder : public FairTask
24{
25 public:
26 // Constructors/Destructors ---------
28 SrcVertexFinder(Int_t period, Bool_t isExp);
29 virtual ~SrcVertexFinder();
30
31 virtual InitStatus Init();
32 virtual void Exec(Option_t* opt);
33 virtual void Finish();
34
35 void FindVertexAnalitically(vector<BmnTrack>& lTracks, vector<BmnTrack>& rTracks);
36 void FindVertexByVirtualPlanes(vector<BmnTrack>& lTracks, vector<BmnTrack>& rTracks);
37 Float_t FindVZByVirtualPlanes(Float_t z_0, Float_t range, vector<BmnTrack> tracks, Float_t& minDist);
38 void CreateArmCandidates(vector<BmnTrack>& lTracks, vector<BmnTrack>& rTracks);
39
40 private:
41 Double_t CalcMeanDist(vector<Double_t> x, vector<Double_t> y);
42
43 Int_t fEventNo; // event counter
44 Int_t fPeriodId; // event counter
45
46 //in branches
47 TClonesArray* fGlobalTracksArray;
48 TClonesArray* fGemHitsArray;
49 TClonesArray* fTof400HitsArray;
50 TClonesArray* fMwpcTracksArray;
51 //out branches
52 TClonesArray* fVertexArray;
53 TClonesArray* fArmTracksArray;
54
55 Double_t fTime;
56
57 Bool_t fisExp;
58 FairField* fField;
59 BmnKalmanFilter* fKalman;
60
61 ClassDef(SrcVertexFinder, 1);
62};
63
64#endif /* SRCVERTEXFINDER_H */
void FindVertexAnalitically(vector< BmnTrack > &lTracks, vector< BmnTrack > &rTracks)
virtual ~SrcVertexFinder()
void FindVertexByVirtualPlanes(vector< BmnTrack > &lTracks, vector< BmnTrack > &rTracks)
void CreateArmCandidates(vector< BmnTrack > &lTracks, vector< BmnTrack > &rTracks)
virtual void Finish()
Float_t FindVZByVirtualPlanes(Float_t z_0, Float_t range, vector< BmnTrack > tracks, Float_t &minDist)
virtual InitStatus Init()
virtual void Exec(Option_t *opt)
STL namespace.