File indexing completed on 2025-12-16 09:19:55
0001
0002
0003 #ifndef GLOBALVERTEX_GLOBALVERTEXRECO_H
0004 #define GLOBALVERTEX_GLOBALVERTEXRECO_H
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <fun4all/SubsysReco.h>
0014 #include "GlobalVertex.h"
0015
0016 #include <string> // for string
0017
0018 class PHCompositeNode;
0019
0020
0021
0022
0023
0024 class GlobalVertexReco : public SubsysReco
0025 {
0026 public:
0027 GlobalVertexReco(const std::string &name = "GlobalVertexReco");
0028 ~GlobalVertexReco() override = default;
0029
0030 int InitRun(PHCompositeNode *topNode) override;
0031 int process_event(PHCompositeNode *topNode) override;
0032
0033 void setVertexType(GlobalVertex::VTXTYPE vtxtype)
0034 {
0035 _vtxtype = vtxtype;
0036 }
0037
0038 void set_x_defaults(float xdefault, float xerr)
0039 {
0040 _xdefault = xdefault;
0041 _xerr = xerr;
0042 }
0043 void set_y_defaults(float ydefault, float yerr)
0044 {
0045 _ydefault = ydefault;
0046 _yerr = yerr;
0047 }
0048 void set_t_defaults(float tdefault, float terr)
0049 {
0050 _tdefault = tdefault;
0051 _terr = terr;
0052 }
0053
0054 private:
0055 int CreateNodes(PHCompositeNode *topNode);
0056 int useVertexType(GlobalVertex::VTXTYPE vtxtype)
0057 {
0058 return ( (_vtxtype == vtxtype) || (_vtxtype == GlobalVertex::VTXTYPE::UNDEFINED) );
0059 }
0060
0061 GlobalVertex::VTXTYPE _vtxtype{GlobalVertex::VTXTYPE::UNDEFINED};
0062
0063 float _xdefault{0.};
0064 float _xerr{0.3};
0065 float _ydefault{0.};
0066 float _yerr{0.3};
0067 float _tdefault{0.};
0068 float _terr{0.2};
0069 };
0070
0071 #endif