File indexing completed on 2025-08-06 08:13:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef SCORRELATORQAMAKER_SMAKETRACKQATUPLE_H
0011 #define SCORRELATORQAMAKER_SMAKETRACKQATUPLE_H
0012
0013
0014 #include <string>
0015 #include <vector>
0016 #include <utility>
0017
0018 #include <TF1.h>
0019 #include <TNtuple.h>
0020 #include <Math/Vector3D.h>
0021
0022 #include <fun4all/SubsysReco.h>
0023 #include <fun4all/Fun4AllReturnCodes.h>
0024 #include <fun4all/Fun4AllHistoManager.h>
0025
0026 #include <phool/phool.h>
0027 #include <phool/getClass.h>
0028 #include <phool/PHIODataNode.h>
0029 #include <phool/PHNodeIterator.h>
0030 #include <phool/PHCompositeNode.h>
0031
0032 #include <trackbase_historic/SvtxTrack.h>
0033 #include <trackbase_historic/SvtxTrackMap.h>
0034 #include <trackbase_historic/TrackAnalysisUtils.h>
0035
0036 #include <scorrelatorutilities/Tools.h>
0037 #include <scorrelatorutilities/Types.h>
0038 #include <scorrelatorutilities/Constants.h>
0039 #include <scorrelatorutilities/Interfaces.h>
0040
0041 #include "SBaseQAPlugin.h"
0042 #include "SMakeTrackQATupleConfig.h"
0043
0044
0045 using namespace std;
0046
0047
0048
0049 namespace SColdQcdCorrelatorAnalysis {
0050
0051
0052
0053 class SMakeTrackQATuple : public SubsysReco, public SBaseQAPlugin<SMakeTrackQATupleConfig> {
0054
0055 public:
0056
0057
0058 SMakeTrackQATuple(const string& name = "TrackQATuple") : SubsysReco(name) {};
0059 ~SMakeTrackQATuple() {};
0060
0061
0062 int Init(PHCompositeNode*) override;
0063 int process_event(PHCompositeNode*) override;
0064 int End(PHCompositeNode*) override;
0065
0066 private:
0067
0068
0069 void InitTuple();
0070 void SaveOutput();
0071 void DoTrackLoop(PHCompositeNode* topNode);
0072 bool IsGoodTrack(SvtxTrack* track, PHCompositeNode* topNode);
0073
0074
0075 vector<float> m_vecTrackLeaves;
0076
0077
0078 TNtuple* m_ntTrackQA;
0079
0080 };
0081
0082 }
0083
0084 #endif
0085
0086