1 #ifndef _DIMU_ANA_RUS_H_
2 #define _DIMU_ANA_RUS_H_
5 #include <unordered_map>
18 class SQTruthTrackVector;
29 SQTruthTrackVector* trackletVec;
34 std::string m_file_name;
35 std::string m_tree_name;
78 DimuAnaRUS(
const std::string& name=
"DimuAnaRUS");
86 void SetTreeName(
const std::string& name) { m_tree_name = name; }
87 void SetFileName(
const std::string& name) { m_file_name = name; }
102 int fpgaTrigger[5] = {0};
103 int nimTrigger[5] = {0};
105 std::vector<int> hitID;
106 std::vector<int> processID;
107 std::vector<int> hitTrackID;
108 std::vector<int> detectorID;
109 std::vector<int> elementID;
110 std::vector<double> tdcTime;
111 std::vector<double> driftDistance;
115 std::vector<int> gCharge, trackID;
120 gx_st1, gy_st1, gz_st1,
121 gpx_st1, gpy_st1, gpz_st1,
122 gx_st3, gy_st3, gz_st3,
123 gpx_st3, gpy_st3, gpz_st3;
126 rec_dimuon_id, rec_dimuon_true_id, rec_dimuon_track_id_pos, rec_dimuon_track_id_neg;
129 rec_dimuon_x, rec_dimuon_y, rec_dimuon_z,
130 rec_dimuon_px_pos, rec_dimuon_py_pos, rec_dimuon_pz_pos,
131 rec_dimuon_px_neg, rec_dimuon_py_neg, rec_dimuon_pz_neg,
132 rec_dimuon_px_pos_tgt, rec_dimuon_py_pos_tgt, rec_dimuon_pz_pos_tgt,
133 rec_dimuon_px_neg_tgt, rec_dimuon_py_neg_tgt, rec_dimuon_pz_neg_tgt,
134 rec_dimuon_px_pos_dump, rec_dimuon_py_pos_dump, rec_dimuon_pz_pos_dump,
135 rec_dimuon_px_neg_dump, rec_dimuon_py_neg_dump, rec_dimuon_pz_neg_dump;
142 std::vector<std::vector<int>> rec_hit_ids;
143 std::vector<std::vector<double>> rec_track_hit_x;
144 std::vector<std::vector<double>> rec_track_hit_y;
147 rec_track_vx, rec_track_vy, rec_track_vz,
148 rec_track_px, rec_track_py, rec_track_pz,
149 rec_track_x_st1, rec_track_y_st1, rec_track_z_st1,
150 rec_track_px_st1, rec_track_py_st1, rec_track_pz_st1,
151 rec_track_x_st3, rec_track_y_st3, rec_track_z_st3,
152 rec_track_px_st3, rec_track_py_st3, rec_track_pz_st3,
153 rec_track_chisq, rec_track_chisq_tgt, rec_track_chisq_dump, rec_track_chisq_upstream,
154 rec_track_x_tgt, rec_track_y_tgt, rec_track_z_tgt,
155 rec_track_px_tgt, rec_track_py_tgt, rec_track_pz_tgt,
156 rec_track_x_dump, rec_track_y_dump, rec_track_z_dump,
157 rec_track_px_dump, rec_track_py_dump, rec_track_pz_dump;
static int DecodeProcessID(unsigned int encoded)
void SetSaveOnlyDimuon(bool enable)
unsigned int EncodeProcess(int processID, int sourceFlag)
void SetDataTriggerEmu(bool enable)
void SetTreeName(const std::string &name)
int process_event(PHCompositeNode *startNode)
int InitRun(PHCompositeNode *startNode)
int End(PHCompositeNode *startNode)
Called at the end of all processing.
std::pair< int, int > GetDetElemIDFromHitID(int hit_id) const
DimuAnaRUS(const std::string &name="DimuAnaRUS")
void SetOutputFileName(const std::string name)
void SetRecoMode(bool enable)
void SetMCTriggerEmu(bool enable)
void SetRecoDimuMode(bool enable)
std::pair< int, int > GetDetElemIDFromHitID(int hit_id, const std::unordered_map< int, SQHit * > &hit_map) const
void SetFileName(const std::string &name)
UtilTrigger::TrigRoadset m_rs
void SetMCTrueMode(bool enable)
void ResetRecoDimuBranches()
static int DecodeSourceFlag(unsigned int encoded)
void SetProcessId(int proc_id_)
void SetMCDimuonMode(bool enable)
void SetSourceFlag(int flag)
int Init(PHCompositeNode *startNode)
An SQ interface class to hold a list of SQDimuon objects.
An SQ interface class to hold one event header.
An SQ interface class to hold a list of SQHit objects.
An SQ interface class to hold one detector hit.
An SQ interface class to hold one simulated-event header.
An SQ interface class to hold the run-level info.
An SQ interface class to hold a list of SQSpill objects.
An SQ interface class to hold a list of SQTrack objects.
Class to handle the trigger roadset.