Class Reference for E1039 Core & Analysis Software
SQVertexing_v2.h
Go to the documentation of this file.
1 
2 #ifndef _SQVERTEXING_V2_H
3 #define _SQVERTEXING_V2_H
4 
5 #include <fun4all/SubsysReco.h>
6 
7 #include <ktracker/GFField.h>
8 #include <ktracker/GFTrack.h>
9 
10 
11 class TString;
12 class TVector3;
13 class SQTrack;
14 class SQTrackVector;
15 class SQDimuonVector;
16 class SRecEvent;
17 class SRecTrack;
18 class SRecDimuon;
19 
21 {
22  public:
23  SQVertexing_v2(const std::string& name = "SQVertexing_v2", int sign1 = 1, int sign2 = -1);
25 
26  int Init(PHCompositeNode* topNode);
27  int InitRun(PHCompositeNode* topNode);
28  int process_event(PHCompositeNode* topNode);
29  int End(PHCompositeNode* topNode);
30  void InitVar();
31  void set_legacy_rec_container(const bool enable = true) { legacyContainer_in = enable; legacyContainer_out = enable; }
32  void set_legacy_in_container(const bool enable = true) { legacyContainer_in = enable; }
33  void set_legacy_out_container(const bool enable = true) { legacyContainer_out = enable; }
34  void set_single_retracking(const bool enable = true) { enableSingleRetracking = true; }
35 
36  void set_geom_file_name(const std::string& geomFileName) { geom_file_name = geomFileName; }
37 
38  int InitField(PHCompositeNode* topNode);
39  int InitField();
40  int InitGeom(PHCompositeNode* topNode);
41  int InitGeom();
42  int MakeNodes(PHCompositeNode* topNode);
43  int GetNodes(PHCompositeNode* topNode);
44 
45  double swimTrackToVertex(SQGenFit::GFTrack& track, double z, TVector3* pos = nullptr, TVector3* mom = nullptr);
46  double refitTrkToVtx(SQGenFit::GFTrack& track, double z, TVector3* pos = nullptr, TVector3* mom = nullptr);
47  double refitTrkToVtx(SRecTrack* track, double z, TVector3* pos = nullptr, TVector3* mom = nullptr);
48  double findDimuonZVertex(SRecDimuon& dimuon, SQGenFit::GFTrack& track1, SQGenFit::GFTrack& track2);
49  double calcZsclp(double p);
50  bool processOneDimuon(SRecTrack* track1, SRecTrack* track2, SRecDimuon& dimuon);
51  bool processOneMuon(SRecTrack* track);
52 
55 
57 
58  std::string geom_file_name;
60 
63 
65 };
66 
67 #endif
An SQ interface class to hold a list of SQDimuon objects.
An SQ interface class to hold a list of SQTrack objects.
Definition: SQTrackVector.h:19
An SQ interface class to hold one true or reconstructed track.
Definition: SQTrack.h:8
void set_legacy_rec_container(const bool enable=true)
bool processOneMuon(SRecTrack *track)
SQGenFit::GFField * gfield
double findDimuonZVertex(SRecDimuon &dimuon, SQGenFit::GFTrack &track1, SQGenFit::GFTrack &track2)
double refitTrkToVtx(SQGenFit::GFTrack &track, double z, TVector3 *pos=nullptr, TVector3 *mom=nullptr)
void set_legacy_in_container(const bool enable=true)
double calcZsclp(double p)
SQVertexing_v2(const std::string &name="SQVertexing_v2", int sign1=1, int sign2=-1)
double swimTrackToVertex(SQGenFit::GFTrack &track, double z, TVector3 *pos=nullptr, TVector3 *mom=nullptr)
int InitGeom(PHCompositeNode *topNode)
void set_geom_file_name(const std::string &geomFileName)
int InitField(PHCompositeNode *topNode)
std::string geom_file_name
int GetNodes(PHCompositeNode *topNode)
bool legacyContainer_out
int Init(PHCompositeNode *topNode)
bool processOneDimuon(SRecTrack *track1, SRecTrack *track2, SRecDimuon &dimuon)
int process_event(PHCompositeNode *topNode)
int End(PHCompositeNode *topNode)
Called at the end of all processing.
void set_legacy_out_container(const bool enable=true)
int InitRun(PHCompositeNode *topNode)
SRecEvent * recEvent
void set_single_retracking(const bool enable=true)
SQTrackVector * recTrackVec
bool enableSingleRetracking
int MakeNodes(PHCompositeNode *topNode)
SQDimuonVector * recDimuonVec