371 |
|
|
372 |
} |
} |
373 |
; |
; |
374 |
|
|
375 |
PamTrack::PamTrack(const PamTrack& track) { |
PamTrack::PamTrack(const PamTrack& track) { |
376 |
|
|
377 |
TrkTrack *t = track.trk_track; |
TrkTrack *t = track.trk_track; |
401 |
iscore = 0; |
iscore = 0; |
402 |
|
|
403 |
} |
} |
404 |
|
|
405 |
|
void PamTrack::Copy( PamTrack& track) const { |
406 |
|
|
407 |
|
track.trk_track = trk_track; |
408 |
|
track.trk_ext_track = trk_ext_track; |
409 |
|
track.calo_track = calo_track; |
410 |
|
track.tof_track = tof_track; |
411 |
|
track.orb_track = orb_track; |
412 |
|
|
413 |
|
track.candeleteobj = candeleteobj; |
414 |
|
track.pscore = pscore; |
415 |
|
track.iscore = iscore; |
416 |
|
|
417 |
|
} |
418 |
|
|
419 |
|
|
420 |
|
|
421 |
void PamTrack::Clear(Option_t *option) { |
void PamTrack::Clear(Option_t *option) { |
422 |
|
|
423 |
// cout << "PamTrack::Clear( "<<option<<" ) "<<candeleteobj<<endl; |
// cout << "PamTrack::Clear( "<<option<<" ) "<<candeleteobj<<endl; |
449 |
// cout << "PamTrack::Delete() "<<candeleteobj<<endl; |
// cout << "PamTrack::Delete() "<<candeleteobj<<endl; |
450 |
if (candeleteobj) { |
if (candeleteobj) { |
451 |
if (trk_ext_track) { |
if (trk_ext_track) { |
452 |
trk_ext_track->ExtTrack::Clear("C"); |
// trk_ext_track->ExtTrack::Clear("C");//Clear is called for all the array elements |
453 |
|
trk_ext_track->ExtTrack::Clear("C+C");//Clear is called for all the array elements passing option 'C' |
454 |
delete trk_ext_track; |
delete trk_ext_track; |
455 |
} |
} |
456 |
if (trk_track) { |
if (trk_track) { |
1249 |
return 0; |
return 0; |
1250 |
|
|
1251 |
if (calo2_obj->CaloLevel2::ntrk() == 0) { |
if (calo2_obj->CaloLevel2::ntrk() == 0) { |
1252 |
cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno |
if( seqno >=0 ){ |
1253 |
<< " but no Calorimeter tracks are stored" << endl; |
cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno; |
1254 |
return NULL; |
cout << " but no Calorimeter tracks are stored" << endl; |
1255 |
|
} |
1256 |
|
return NULL; |
1257 |
}; |
}; |
1258 |
|
|
1259 |
CaloTrkVar *c = 0; |
CaloTrkVar *c = 0; |
1266 |
|
|
1267 |
if (!c || seqno != c->trkseqno) { |
if (!c || seqno != c->trkseqno) { |
1268 |
c = 0; |
c = 0; |
1269 |
if (seqno != -1) |
if (seqno != -1 && seqno>=0) |
1270 |
cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno |
cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno |
1271 |
<< " does not match Calorimeter stored tracks" << endl; |
<< " does not match Calorimeter stored tracks" << endl; |
1272 |
}; |
}; |
1385 |
// |
// |
1386 |
// |
// |
1387 |
//-------------------------------------- |
//-------------------------------------- |
1388 |
/** |
// /** |
1389 |
* Give the pamela track associated to a tracker track, retrieving related calorimeter, orbitalinfo and tof track information. |
// * Give the pamela track associated to a tracker track, retrieving related calorimeter, orbitalinfo and tof track information. |
1390 |
*/ |
// */ |
1391 |
PamTrack* PamLevel2::GetPamTrackAlong(TrkTrack* t) { |
// PamTrack* PamLevel2::GetPamTrackAlong(TrkTrack* t) { |
1392 |
|
|
1393 |
cout << "PamLevel2::GetPamTrackAlong(TrkTrack* t) **obsolete** " << endl; |
// cout << "PamLevel2::GetPamTrackAlong(TrkTrack* t) **obsolete** " << endl; |
1394 |
cout << "(if you use it, remember to delete the PamTrack object)" << endl; |
// cout << "(if you use it, remember to delete the PamTrack object)" << endl; |
1395 |
|
|
1396 |
CaloTrkVar *c = 0; |
// CaloTrkVar *c = 0; |
1397 |
ToFTrkVar *o = 0; |
// ToFTrkVar *o = 0; |
1398 |
OrbitalInfoTrkVar *r = 0; |
// OrbitalInfoTrkVar *r = 0; |
1399 |
|
|
1400 |
|
// if (CAL2) |
1401 |
|
// c = GetCaloStoredTrack(t->GetSeqNo()); |
1402 |
|
// if (TOF) |
1403 |
|
// o = GetToFStoredTrack(t->GetSeqNo()); |
1404 |
|
// if (ORB) |
1405 |
|
// r = GetOrbitalInfoStoredTrack(t->GetSeqNo()); |
1406 |
|
|
1407 |
if (CAL2) |
// // if(t && c && o)track = new PamTrack(t,c,o); |
1408 |
c = GetCaloStoredTrack(t->GetSeqNo()); |
// PamTrack *track = new PamTrack(t, c, o, r); |
|
if (TOF) |
|
|
o = GetToFStoredTrack(t->GetSeqNo()); |
|
|
if (ORB) |
|
|
r = GetOrbitalInfoStoredTrack(t->GetSeqNo()); |
|
1409 |
|
|
1410 |
// if(t && c && o)track = new PamTrack(t,c,o); |
// return track; |
|
PamTrack *track = new PamTrack(t, c, o, r); |
|
1411 |
|
|
1412 |
return track; |
// } |
1413 |
|
// ; |
|
} |
|
|
; |
|
1414 |
//-------------------------------------- |
//-------------------------------------- |
1415 |
// |
// |
1416 |
// |
// |
1417 |
//-------------------------------------- |
//-------------------------------------- |
1418 |
/** |
// /** |
1419 |
* Retrieves the it-th stored track. |
// * Retrieves the it-th stored track. |
1420 |
* It override TrkLevel2::GetTrack(int it). |
// * It override TrkLevel2::GetTrack(int it). |
1421 |
* @param itrk Track number, ranging from 0 to GetNTracks(). |
// * @param itrk Track number, ranging from 0 to GetNTracks(). |
1422 |
*/ |
// */ |
1423 |
|
|
1424 |
PamTrack* PamLevel2::GetStoredTrack(Int_t itrk) { |
// PamTrack* PamLevel2::GetStoredTrack(Int_t itrk) { |
1425 |
|
|
1426 |
|
// cout << "PamLevel2::GetStoredTrack(Int_t itrk) **to-be-updated** " << endl; |
1427 |
|
// cout |
1428 |
|
// << "for the moment, better use separately the methods: TrkLevel2::GetStoredTrack(seqno) CaloLevel2::GetCaloTrkVar(Int_t notrack) ToFLevel2::GetToFTrkVar(Int_t notrack) OrbitalInfo::GetOrbitalInfoTrkVar(Int_t notrack)" |
1429 |
|
// << endl; |
1430 |
|
// cout << "(if you use it, remember to delete the PamTrack object)" << endl; |
1431 |
|
// PamTrack *track = 0; |
1432 |
|
|
1433 |
cout << "PamLevel2::GetStoredTrack(Int_t itrk) **to-be-updated** " << endl; |
// if (itrk >= 0 && itrk < trk2_obj->TrkLevel2::ntrk()) { |
|
cout |
|
|
<< "for the moment, better use separately the methods: TrkLevel2::GetStoredTrack(seqno) CaloLevel2::GetCaloTrkVar(Int_t notrack) ToFLevel2::GetToFTrkVar(Int_t notrack) OrbitalInfo::GetOrbitalInfoTrkVar(Int_t notrack)" |
|
|
<< endl; |
|
|
cout << "(if you use it, remember to delete the PamTrack object)" << endl; |
|
|
PamTrack *track = 0; |
|
1434 |
|
|
1435 |
if (itrk >= 0 && itrk < trk2_obj->TrkLevel2::ntrk()) { |
// TrkTrack *t = trk2_obj->TrkLevel2::GetStoredTrack(itrk); |
1436 |
|
// track = GetPamTrackAlong(t); |
1437 |
|
|
1438 |
TrkTrack *t = trk2_obj->TrkLevel2::GetStoredTrack(itrk); |
// } |
1439 |
track = GetPamTrackAlong(t); |
// else { |
1440 |
|
// cout << "PamLevel2::GetStoredTrack(int) : tracker track SeqNo " << itrk << " does not exist (GetNTracks() = " |
1441 |
} |
// << trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
1442 |
else { |
// }; |
|
cout << "PamLevel2::GetStoredTrack(int) : tracker track SeqNo " << itrk << " does not exist (GetNTracks() = " |
|
|
<< trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
|
|
}; |
|
1443 |
|
|
1444 |
return track; |
// return track; |
1445 |
|
|
1446 |
} |
// } |
1447 |
//-------------------------------------- |
//-------------------------------------- |
1448 |
// |
// |
1449 |
|
|
1497 |
Int_t ObjectNumber = TProcessID::GetObjectCount(); |
Int_t ObjectNumber = TProcessID::GetObjectCount(); |
1498 |
|
|
1499 |
// create TCloneArrays to store tracks and its images |
// create TCloneArrays to store tracks and its images |
1500 |
if (!tsorted) |
// if (!tsorted) |
1501 |
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
// tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
1502 |
tsorted->Clear("C+C");//Delete(); |
// tsorted->Clear("C+C");//Delete(); |
1503 |
TClonesArray &ttsorted = *tsorted; |
// if (!timage) |
1504 |
|
// timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
1505 |
|
// timage->Clear("C+C");//Delete(); |
1506 |
|
|
1507 |
if (!timage) |
if(tsorted)delete tsorted; |
1508 |
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
if(timage) delete timage; |
1509 |
timage->Clear("C+C");//Delete(); |
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
1510 |
|
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
1511 |
|
|
1512 |
|
|
1513 |
|
TClonesArray &ttsorted = *tsorted; |
1514 |
TClonesArray &ttimage = *timage; |
TClonesArray &ttimage = *timage; |
1515 |
|
|
1516 |
|
|
2689 |
// *-*-*-*-*-*-*-*-*-*-*-*-* |
// *-*-*-*-*-*-*-*-*-*-*-*-* |
2690 |
if (!tsorted) |
if (!tsorted) |
2691 |
return track; |
return track; |
2692 |
if (!tsorted->GetEntries()) |
// if (!tsorted->GetEntries()) |
2693 |
|
// return track; |
2694 |
|
if (tsorted->GetEntries()==0) |
2695 |
return track; |
return track; |
2696 |
|
|
2697 |
|
|
2698 |
if (it >= 0 && it < trk2_obj->TrkLevel2::GetNTracks()) { |
if ( |
2699 |
track = (PamTrack*)((*tsorted)[it]); |
tsorted && |
2700 |
|
it >= 0 && |
2701 |
|
it < trk2_obj->TrkLevel2::GetNTracks() && |
2702 |
|
it < tsorted->GetEntries() && |
2703 |
|
true) { |
2704 |
|
track = (PamTrack*)((*tsorted)[it]); |
2705 |
} |
} |
2706 |
else { |
else { |
2707 |
cout << "PamLevel2::GetTrackOld(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
cout << "PamLevel2::GetTrackOld(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
2902 |
|
|
2903 |
} |
} |
2904 |
|
|
2905 |
cout << "PamTrack *PamLevel2::GetTrackImage("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl; |
// cout << "PamTrack *PamLevel2::GetTrackImage("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl; |
2906 |
|
|
2907 |
return NULL; |
return NULL; |
2908 |
|
|