56
68
MAUS::DataStructure::Global::Track* KLTrack =
57
69
new MAUS::DataStructure::Global::Track();
58
70
MakeKLTracks(global_event, GlobalSpacePointArray, KLTrack);
59
if (KLTrack->GetTrackPoints().size() == 0) delete KLTrack;
71
if (KLTrack->GetTrackPoints().size() == 0) {
61
76
// Adding global tracks for case where global event contains both SciFi and TOF tracks
62
77
// (And KL track if applicable)
63
if (!SciFiTrackArray->empty() && !TOFTrackArray.empty()) {
64
for (unsigned int i = 0; i < SciFiTrackArray->size(); i++) {
65
for (unsigned int j = 0; j < TOFTrackArray.size(); j++) {
66
MAUS::DataStructure::Global::Track* GlobalTrack =
67
new MAUS::DataStructure::Global::Track();
68
GlobalTrack->set_mapper_name(mapper_name);
69
MAUS::DataStructure::Global::Track* tempSciFiTrack =
70
SciFiTrackArray->at(i);
71
if (!tempSciFiTrack) {
72
throw(Exception(Exception::recoverable,
73
"Found an empty SciFi track pointer.",
74
"MapCppGlobalPID::TrackMatching"));
76
MAUS::DataStructure::Global::Track* tempTOFTrack = TOFTrackArray[j];
78
throw(Exception(Exception::recoverable,
79
"Found an empty TOF track pointer.",
80
"MapCppGlobalPID::TrackMatching"));
82
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
83
tempSciFiTrackPointArray = tempSciFiTrack->GetTrackPoints();
84
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
85
tempTOFTrackPointArray = tempTOFTrack->GetTrackPoints();
86
for (unsigned int k = 0; k < tempTOFTrackPointArray.size(); k++) {
87
MAUS::DataStructure::Global::TrackPoint* tempTOFTrackPoint =
88
const_cast<MAUS::DataStructure::Global::TrackPoint*>
89
(tempTOFTrackPointArray[k]);
90
tempTOFTrackPoint->set_mapper_name(mapper_name);
91
GlobalTrack->AddTrackPoint(tempTOFTrackPoint);
93
for (unsigned int k = 0; k < tempSciFiTrackPointArray.size(); k++) {
94
MAUS::DataStructure::Global::TrackPoint* tempSciFiTrackPoint =
95
const_cast<MAUS::DataStructure::Global::TrackPoint*>
96
(tempSciFiTrackPointArray[k]);
97
tempSciFiTrackPoint->set_mapper_name(mapper_name);
98
GlobalTrack->AddTrackPoint(tempSciFiTrackPoint);
100
if (KLTrack/*->GetTrackPoints().size() > 0*/) {
101
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
102
tempKLTrackPointArray = KLTrack->GetTrackPoints();
103
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
104
MAUS::DataStructure::Global::TrackPoint* tempKLTrackPoint =
105
const_cast<MAUS::DataStructure::Global::TrackPoint*>
106
(tempKLTrackPointArray[l]);
107
tempKLTrackPoint->set_mapper_name(mapper_name);
108
GlobalTrack->AddTrackPoint(tempKLTrackPoint);
111
global_event->add_track_recursive(GlobalTrack);
78
if (ImportedSciFiTrack != NULL && !TOFTrackArray.empty()) {
79
for (unsigned int j = 0; j < TOFTrackArray.size(); j++) {
80
MAUS::DataStructure::Global::Track* GlobalTrack = TOFTrackArray[j]->Clone();
81
GlobalTrack->set_mapper_name(mapper_name);
82
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
83
tempSciFiTrackPointArray = ImportedSciFiTrack->GetTrackPoints();
84
for (unsigned int k = 0; k < tempSciFiTrackPointArray.size(); k++) {
85
MAUS::DataStructure::Global::TrackPoint* tempSciFiTrackPoint =
86
const_cast<MAUS::DataStructure::Global::TrackPoint*>
87
(tempSciFiTrackPointArray[k]);
88
tempSciFiTrackPoint->set_mapper_name(mapper_name);
89
GlobalTrack->AddTrackPoint(tempSciFiTrackPoint);
91
if (KLTrack != NULL) {
92
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
93
tempKLTrackPointArray = KLTrack->GetTrackPoints();
94
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
95
MAUS::DataStructure::Global::TrackPoint* tempKLTrackPoint =
96
const_cast<MAUS::DataStructure::Global::TrackPoint*>
97
(tempKLTrackPointArray[l]);
98
tempKLTrackPoint->set_mapper_name(mapper_name);
99
GlobalTrack->AddTrackPoint(tempKLTrackPoint);
102
global_event->add_track_recursive(GlobalTrack);
116
106
// Adding global tracks for case where global event contains only TOF tracks
117
107
// (And KL track if applicable)
118
if (SciFiTrackArray->empty() && !TOFTrackArray.empty()) {
108
if (ImportedSciFiTrack == NULL && !TOFTrackArray.empty()) {
119
109
for (unsigned int i = 0; i < TOFTrackArray.size(); i++) {
120
MAUS::DataStructure::Global::Track* GlobalTrack =
121
new MAUS::DataStructure::Global::Track();
110
MAUS::DataStructure::Global::Track* GlobalTrack = TOFTrackArray[i]->Clone();
122
111
GlobalTrack->set_mapper_name(mapper_name);
123
MAUS::DataStructure::Global::Track* tempTOFTrack = TOFTrackArray[i];
125
throw(Exception(Exception::recoverable,
126
"Found an empty TOF track pointer.",
127
"MapCppGlobalPID::TrackMatching"));
129
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
130
tempTOFTrackPointArray = tempTOFTrack->GetTrackPoints();
131
for (unsigned int j = 0; j < tempTOFTrackPointArray.size(); j++) {
132
MAUS::DataStructure::Global::TrackPoint* tempTOFTrackPoint =
133
const_cast<MAUS::DataStructure::Global::TrackPoint*>
134
(tempTOFTrackPointArray[j]);
135
GlobalTrack->AddTrackPoint(tempTOFTrackPoint);
137
if (KLTrack/*->GetTrackPoints().size() > 0*/) {
112
if (KLTrack != NULL) {
138
113
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
139
114
tempKLTrackPointArray = KLTrack->GetTrackPoints();
140
115
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
152
127
// Adding global tracks for case where global event contains only SciFi tracks
153
128
// (And KL track if applicable)
154
if (!SciFiTrackArray->empty() && TOFTrackArray.empty()) {
155
for (unsigned int i = 0; i < SciFiTrackArray->size(); i++) {
156
MAUS::DataStructure::Global::Track* GlobalTrack =
157
new MAUS::DataStructure::Global::Track();
158
GlobalTrack->set_mapper_name(mapper_name);
159
MAUS::DataStructure::Global::Track* tempSciFiTrack =
160
SciFiTrackArray->at(i);
161
if (!tempSciFiTrack) {
162
throw(Exception(Exception::recoverable,
163
"Found an empty SciFi track pointer.",
164
"MapCppGlobalPID::TrackMatching"));
129
if (ImportedSciFiTrack != NULL && TOFTrackArray.empty()) {
130
MAUS::DataStructure::Global::Track* GlobalTrack = ImportedSciFiTrack->Clone();
131
GlobalTrack->set_mapper_name(mapper_name);
132
if (KLTrack != NULL) {
166
133
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
167
tempSciFiTrackPointArray = tempSciFiTrack->GetTrackPoints();
168
for (unsigned int j = 0; j < tempSciFiTrackPointArray.size(); j++) {
169
MAUS::DataStructure::Global::TrackPoint* tempSciFiTrackPoint =
134
tempKLTrackPointArray = KLTrack->GetTrackPoints();
135
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
136
MAUS::DataStructure::Global::TrackPoint* tempKLTrackPoint =
170
137
const_cast<MAUS::DataStructure::Global::TrackPoint*>
171
(tempSciFiTrackPointArray[j]);
172
tempSciFiTrackPoint->set_mapper_name(mapper_name);
173
GlobalTrack->AddTrackPoint(tempSciFiTrackPoint);
175
if (KLTrack/*->GetTrackPoints().size() > 0*/) {
176
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
177
tempKLTrackPointArray = KLTrack->GetTrackPoints();
178
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
179
MAUS::DataStructure::Global::TrackPoint* tempKLTrackPoint =
180
const_cast<MAUS::DataStructure::Global::TrackPoint*>
181
(tempKLTrackPointArray[l]);
182
tempKLTrackPoint->set_mapper_name(mapper_name);
183
GlobalTrack->AddTrackPoint(tempKLTrackPoint);
186
global_event->add_track_recursive(GlobalTrack);
138
(tempKLTrackPointArray[l]);
139
tempKLTrackPoint->set_mapper_name(mapper_name);
140
GlobalTrack->AddTrackPoint(tempKLTrackPoint);
143
global_event->add_track_recursive(GlobalTrack);
190
146
// Adding global tracks for case where global event contains only a KL track
191
if (SciFiTrackArray->empty() && TOFTrackArray.empty() && KLTrack) {
192
MAUS::DataStructure::Global::Track* GlobalTrack =
193
new MAUS::DataStructure::Global::Track();
147
if (ImportedSciFiTrack == NULL && TOFTrackArray.empty() && KLTrack != NULL) {
148
MAUS::DataStructure::Global::Track* GlobalTrack = KLTrack->Clone();
194
149
GlobalTrack->set_mapper_name(mapper_name);
195
std::vector<const MAUS::DataStructure::Global::TrackPoint*>
196
tempKLTrackPointArray = KLTrack->GetTrackPoints();
197
for (unsigned int l = 0; l < tempKLTrackPointArray.size(); l++) {
198
MAUS::DataStructure::Global::TrackPoint* tempKLTrackPoint =
199
const_cast<MAUS::DataStructure::Global::TrackPoint*>
200
(tempKLTrackPointArray[l]);
201
tempKLTrackPoint->set_mapper_name(mapper_name);
202
GlobalTrack->AddTrackPoint(tempKLTrackPoint);
204
150
global_event->add_track_recursive(GlobalTrack);