36 std::vector<std::vector<QString> >
t_data;
104 default:
data = -102;
106 }
else if(
type==
"c_mef" ||
type==
"c_mg") {
127 default:
data = -103;
131 log_error(
"muonTrackData(): invalid type!");
155 if(m_containerEF->hasTrack()) {
159 for(TrackItr = tc->
begin(); TrackItr!=tc->
end(); ++TrackItr) {
165 log_error(
"loadTrackContainer(): invalid muon type flag found: "+
VP1String::str(mt));
171 if(mt==1)
type=
"s_mef";
172 else if(mt==2)
type=
"s_mg";
175 loadMuonTrack(trackNo++,
type);
177 log_info(
"loadTrackContainer(): no SpectrometerTrack found");
181 if(mt==1)
type=
"e_mef";
182 else if(mt==2)
type=
"e_mg";
185 loadMuonTrack(trackNo++,
type);
187 log_info(
"loadTrackContainer(): no ExtrapolatedTrack found");
191 if(mt==1)
type=
"c_mef";
192 else if(mt==2)
type=
"c_mg";
195 loadMuonTrack(trackNo++,
type);
197 log_info(
"loadTrackContainer(): no CombinedTrack found");
214 if(
int(
h_type.size())!=0 &&
int(
h_source.size())!=0 &&
int(
h_id.size())!=0 &&
int(
t_data.size())!=0 &&
int(m_trigData.size())==0) {
216 m_trigData.push_back(
h_type);
218 m_trigData.push_back(
h_id);
220 m_trigData.push_back(
t_data[
q]);
228 log_warning(
"loadTrackContainer(): no tracks found in EF container.");
238 std::vector<QString>
data;
243 double cotTh = muonTrackData(
type,
i);
254 if(
int(
data.size())!=0) {
257 h_type.push_back(
"MuonEF");
258 h_source.push_back(
"SpectrometerTrack");
263 else if(
type==
"s_mg") {
265 h_type.push_back(
"MuGirl");
266 h_source.push_back(
"SpectrometerTrack");
271 else if(
type==
"e_mef") {
273 h_type.push_back(
"MuonEF");
274 h_source.push_back(
"ExtrapolatedTrack");
279 else if(
type==
"e_mg") {
281 h_type.push_back(
"MuGirl");
282 h_source.push_back(
"ExtrapolatedTrack");
287 else if(
type==
"c_mef") {
289 h_type.push_back(
"MuonEF");
290 h_source.push_back(
"CombinedTrack");
295 else if(
type==
"c_mg") {
297 h_type.push_back(
"MuGirl");
298 h_source.push_back(
"CombinedTrack");
304 log_error(
"loadMuonTrack(): invalid type!");
307 log_error(
"loadMuonTrack(): no data available!");
318 bool status = loadTrackContainer();
322 m_qtrigData =
new QTreeWidgetItem(0);
323 m_qtrigData->setText(0, QString(m_trigID));
328 int TWIDTH =
int(m_trigData.size())-
HWIDTH;
330 if(
int(m_trigData.size())>
HWIDTH) {
334 if(!(m_chainIDs.isEmpty())) {
335 QTreeWidgetItem*
chain =
new QTreeWidgetItem(m_qtrigData);
336 chain->setText(0, QString(
"Passed Triggers"));
337 QList<QTreeWidgetItem *> chainItems;
338 for(
int i=0;
i <
int(m_chainIDs.size()); ++
i)
339 chainItems.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_chainIDs[
i])));
340 chain->insertChildren(0, chainItems);
345 QTreeWidgetItem* eftree =
new QTreeWidgetItem(m_qtrigData);
346 eftree->setText(0, QString(
"Muon Type 1 -> EF"));
348 for(
int i=0;
i<TWIDTH; ++
i) {
350 QTreeWidgetItem* eftree_s =
new QTreeWidgetItem(eftree);
352 QList<QTreeWidgetItem *> efitem_s;
354 efitem_s.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
356 eftree_s->insertChildren(0, efitem_s);
360 for(
int i=0;
i<TWIDTH; ++
i) {
362 QTreeWidgetItem* eftree_e =
new QTreeWidgetItem(eftree);
364 QList<QTreeWidgetItem *> efitem_e;
366 efitem_e.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
368 eftree_e->insertChildren(0, efitem_e);
372 for(
int i=0;
i<TWIDTH; ++
i) {
374 QTreeWidgetItem* eftree_c =
new QTreeWidgetItem(eftree);
376 QList<QTreeWidgetItem *> efitem_c;
378 efitem_c.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
380 eftree_c->insertChildren(0, efitem_c);
388 QTreeWidgetItem* mgtree =
new QTreeWidgetItem(m_qtrigData);
389 mgtree->setText(0, QString(
"Muon Type 2 -> MuGirl"));
391 for(
int i=0;
i<TWIDTH; ++
i) {
393 QTreeWidgetItem* mgtree_s =
new QTreeWidgetItem(mgtree);
395 QList<QTreeWidgetItem *> mgitem_s;
397 mgitem_s.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
399 mgtree_s->insertChildren(0, mgitem_s);
403 for(
int i=0;
i<TWIDTH; ++
i) {
405 QTreeWidgetItem* mgtree_e =
new QTreeWidgetItem(mgtree);
407 QList<QTreeWidgetItem *> mgitem_e;
409 mgitem_e.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
411 mgtree_e->insertChildren(0, mgitem_e);
415 for(
int i=0;
i<TWIDTH; ++
i) {
417 QTreeWidgetItem* mgtree_c =
new QTreeWidgetItem(mgtree);
419 QList<QTreeWidgetItem *> mgitem_c;
421 mgitem_c.append(
new QTreeWidgetItem((QTreeWidget*)0, QStringList(m_trigData[
TIDIDX][j]+
sep+m_trigData[
i+
HWIDTH][j])));
423 mgtree_c->insertChildren(0, mgitem_c);
433 if(avail>0) m_qtrigstatus=
true;
435 log_error(
"processQTrigItem(): EF data not available!");
443 return m_qtrigstatus;
453 bool status = loadTrackContainer();
456 if(
int(m_trigData.size())>3 &&
int(m_trigData[0].size())==
int(m_trigData[1].size()) &&
int(m_trigData[1].size())==(
int(m_trigData.size())-3))
462 return m_vtrigstatus;