Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:17:04

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef GLOBALVERTEX_GLOBALVERTEXRECO_H
0004 #define GLOBALVERTEX_GLOBALVERTEXRECO_H
0005 
0006 //===========================================================
0007 /// \file GlobalVertexReco.h
0008 /// \brief reconstruct the best possible vertexes by
0009 /// combining results from multiple detectors
0010 /// \author Mike McCumber
0011 //===========================================================
0012 
0013 #include <fun4all/SubsysReco.h>
0014 
0015 #include <string>  // for string
0016 
0017 class PHCompositeNode;
0018 
0019 /// \class GlobalVertexReco
0020 ///
0021 /// \brief simple truth vertex smearing algorithm
0022 ///
0023 class GlobalVertexReco : public SubsysReco
0024 {
0025  public:
0026   GlobalVertexReco(const std::string &name = "GlobalVertexReco");
0027   ~GlobalVertexReco() override = default;
0028 
0029   int InitRun(PHCompositeNode *topNode) override;
0030   int process_event(PHCompositeNode *topNode) override;
0031 
0032   void set_x_defaults(float xdefault, float xerr)
0033   {
0034     _xdefault = xdefault;
0035     _xerr = xerr;
0036   }
0037   void set_y_defaults(float ydefault, float yerr)
0038   {
0039     _ydefault = ydefault;
0040     _yerr = yerr;
0041   }
0042   void set_t_defaults(float tdefault, float terr)
0043   {
0044     _tdefault = tdefault;
0045     _terr = terr;
0046   }
0047 
0048  private:
0049   int CreateNodes(PHCompositeNode *topNode);
0050 
0051   float _xdefault{0.};
0052   float _xerr{0.3};
0053   float _ydefault{0.};
0054   float _yerr{0.3};
0055   float _tdefault{0.};
0056   float _terr{0.2};
0057 };
0058 
0059 #endif  // GLOBALVERTEX_GLOBALVERTEXRECO_H