| 374 |
PamTrack::PamTrack(const PamTrack& track) { |
PamTrack::PamTrack(const PamTrack& track) { |
| 375 |
|
|
| 376 |
TrkTrack *t = track.trk_track; |
TrkTrack *t = track.trk_track; |
| 377 |
|
ExtTrack *e = track.trk_ext_track; |
| 378 |
CaloTrkVar *c = track.calo_track; |
CaloTrkVar *c = track.calo_track; |
| 379 |
ToFTrkVar *o = track.tof_track; |
ToFTrkVar *o = track.tof_track; |
| 380 |
OrbitalInfoTrkVar *r = track.orb_track; |
OrbitalInfoTrkVar *r = track.orb_track; |
| 381 |
|
|
| 382 |
trk_track = 0; |
trk_ext_track = 0; |
| 383 |
calo_track = 0; |
trk_track = 0; |
| 384 |
tof_track = 0; |
calo_track = 0; |
| 385 |
orb_track = 0; |
tof_track = 0; |
| 386 |
|
orb_track = 0; |
| 387 |
|
if(e) |
| 388 |
|
trk_ext_track = new ExtTrack(*e); |
| 389 |
if (t) |
if (t) |
| 390 |
trk_track = new TrkTrack(*t); |
trk_track = new TrkTrack(*t); |
| 391 |
if (c) |
if (c) |
| 394 |
tof_track = new ToFTrkVar(*o); |
tof_track = new ToFTrkVar(*o); |
| 395 |
if (r) |
if (r) |
| 396 |
orb_track = new OrbitalInfoTrkVar(*r); |
orb_track = new OrbitalInfoTrkVar(*r); |
| 397 |
|
|
| 398 |
candeleteobj = 1; |
candeleteobj = 1; |
| 399 |
pscore = 0; |
pscore = 0; |
| 400 |
iscore = 0; |
iscore = 0; |
| 401 |
|
|
| 402 |
} |
} |
| 403 |
void PamTrack::Clear() { |
void PamTrack::Clear(Option_t *option) { |
| 404 |
|
|
| 405 |
// cout << "PamTrack::Clear() "<<candeleteobj<<endl; |
// cout << "PamTrack::Clear( "<<option<<" ) "<<candeleteobj<<endl; |
| 406 |
if (candeleteobj) { |
if (candeleteobj) { |
| 407 |
|
|
| 408 |
if (trk_ext_track) |
if (trk_ext_track) |
| 409 |
trk_ext_track->ExtTrack::Clear(); |
trk_ext_track->ExtTrack::Clear(option); |
| 410 |
if (trk_track) |
if (trk_track) |
| 411 |
trk_track->TrkTrack::Clear(); |
trk_track->TrkTrack::Clear(); |
| 412 |
if (calo_track) |
if (calo_track) |
| 431 |
// cout << "PamTrack::Delete() "<<candeleteobj<<endl; |
// cout << "PamTrack::Delete() "<<candeleteobj<<endl; |
| 432 |
if (candeleteobj) { |
if (candeleteobj) { |
| 433 |
if (trk_ext_track) { |
if (trk_ext_track) { |
| 434 |
trk_ext_track->ExtTrack::Clear(); |
trk_ext_track->ExtTrack::Clear("C"); |
| 435 |
delete trk_ext_track; |
delete trk_ext_track; |
| 436 |
} |
} |
| 437 |
if (trk_track) { |
if (trk_track) { |
| 576 |
gltsync = 0; // Emiliano |
gltsync = 0; // Emiliano |
| 577 |
fUpdateRunInfo = true; // Emiliano |
fUpdateRunInfo = true; // Emiliano |
| 578 |
fUseDBinRunInfo = true; // Emiliano |
fUseDBinRunInfo = true; // Emiliano |
| 579 |
|
fDiscarded = false; //EM |
| 580 |
isSync = false; // by default assume that the level2 file(s) is(are) not sinchronized between L0/DB and L2, that is we miss some packets in L2 due to nested/DV-skipped events |
isSync = false; // by default assume that the level2 file(s) is(are) not sinchronized between L0/DB and L2, that is we miss some packets in L2 due to nested/DV-skipped events |
| 581 |
il0entry = 0LL; |
il0entry = 0LL; |
| 582 |
// hasL0EE = true; |
// hasL0EE = true; |
| 643 |
|
|
| 644 |
EXT = false; |
EXT = false; |
| 645 |
NUC = false; |
NUC = false; |
| 646 |
trkAlg = "";//default tracking algorythm |
trkAlg = "STD";//default tracking algorythm |
| 647 |
|
|
| 648 |
RUN = true; |
RUN = true; |
| 649 |
|
|
| 1454 |
// create TCloneArrays to store tracks and its images |
// create TCloneArrays to store tracks and its images |
| 1455 |
if (!tsorted) |
if (!tsorted) |
| 1456 |
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 1457 |
tsorted->Delete(); |
tsorted->Clear("C+C");//Delete(); |
| 1458 |
TClonesArray &ttsorted = *tsorted; |
TClonesArray &ttsorted = *tsorted; |
| 1459 |
|
|
| 1460 |
if (!timage) |
if (!timage) |
| 1461 |
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 1462 |
timage->Delete(); |
timage->Clear("C+C");//Delete(); |
| 1463 |
TClonesArray &ttimage = *timage; |
TClonesArray &ttimage = *timage; |
| 1464 |
|
|
| 1465 |
|
|
| 1995 |
//----------------------------------------------------------- |
//----------------------------------------------------------- |
| 1996 |
// create/reset TCloneArrays to store tracks and their images |
// create/reset TCloneArrays to store tracks and their images |
| 1997 |
//----------------------------------------------------------- |
//----------------------------------------------------------- |
| 1998 |
|
|
| 1999 |
|
// cout << " PamLevel2::SortTracksNew() --- Clear TClonesArray objects"<<endl; |
| 2000 |
|
|
| 2001 |
// main tracks from standard alg |
// main tracks from standard alg |
| 2002 |
if (!tsorted) |
// if (!tsorted) |
| 2003 |
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
// tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 2004 |
tsorted->Delete(); |
// tsorted->Clear("C+C");//Delete(); |
| 2005 |
// track images from standard alg |
// // track images from standard alg |
| 2006 |
if (!timage) |
// if (!timage) |
| 2007 |
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
// timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 2008 |
timage->Delete(); |
// timage->Clear("C+C");//Delete(); |
| 2009 |
// tracks from extended algorythm |
// // tracks from extended algorythm |
| 2010 |
if(EXT && !text) |
// if(EXT && !text) |
| 2011 |
text = new TClonesArray("PamTrack",trk_ext_obj->GetEntries()); |
// text = new TClonesArray("PamTrack",trk_ext_obj->GetEntries()); |
| 2012 |
if(text)text->Delete(); |
// if(text)text->Clear("C+C");//Delete(); |
| 2013 |
|
|
| 2014 |
|
if(tsorted)delete tsorted; |
| 2015 |
|
if(timage) delete timage; |
| 2016 |
|
if(text) delete text; |
| 2017 |
|
tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 2018 |
|
timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks()); |
| 2019 |
|
text = new TClonesArray("PamTrack",trk_ext_obj->GetEntries()); |
| 2020 |
|
|
| 2021 |
//----------------------------------------------------------- |
//----------------------------------------------------------- |
| 2022 |
// create/reset TCloneArrays to store tracks and their images |
// create/reset TCloneArrays to store tracks and their images |
| 2023 |
//----------------------------------------------------------- |
//----------------------------------------------------------- |
| 2024 |
if(NUC){ |
if(NUC){ |
| 2025 |
|
|
| 2026 |
|
|
| 2027 |
|
if(tsorted_nuc)delete tsorted_nuc; |
| 2028 |
|
if(timage_nuc) delete timage_nuc; |
| 2029 |
|
if(text_nuc) delete text_nuc; |
| 2030 |
|
tsorted_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
| 2031 |
|
timage_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
| 2032 |
|
text_nuc = new TClonesArray("PamTrack",trk_ext_nuc_obj->GetEntries()); |
| 2033 |
|
|
| 2034 |
// main tracks from standard alg |
// main tracks from standard alg |
| 2035 |
if (!tsorted_nuc) |
// if (!tsorted_nuc) |
| 2036 |
tsorted_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
// tsorted_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
| 2037 |
tsorted_nuc->Delete(); |
// tsorted_nuc->Clear("C+C");//Delete(); |
| 2038 |
// track images from standard alg |
// // track images from standard alg |
| 2039 |
if (!timage_nuc) |
// if (!timage_nuc) |
| 2040 |
timage_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
// timage_nuc = new TClonesArray("PamTrack", trk2_nuc_obj->GetNTracks()); |
| 2041 |
timage_nuc->Delete(); |
// timage_nuc->Clear("C+C");//Delete(); |
| 2042 |
// tracks from extended algorythm |
// // tracks from extended algorythm |
| 2043 |
if(EXT && !text_nuc) |
// if(EXT && !text_nuc) |
| 2044 |
text_nuc = new TClonesArray("PamTrack",trk_ext_nuc_obj->GetEntries()); |
// text_nuc = new TClonesArray("PamTrack",trk_ext_nuc_obj->GetEntries()); |
| 2045 |
if(text_nuc)text_nuc->Delete(); |
// if(text_nuc)text_nuc->Clear("C+C");//Delete(); |
| 2046 |
|
|
| 2047 |
} |
} |
| 2048 |
//-------------------------------------------------- |
//-------------------------------------------------- |
| 2049 |
// retrieve sorting method |
// retrieve sorting method |
| 2605 |
/** |
/** |
| 2606 |
* This method overrides TrkLevel2::GetTracks(), where sorting is done by decreasing number of fit points and increasing chi^2. |
* This method overrides TrkLevel2::GetTracks(), where sorting is done by decreasing number of fit points and increasing chi^2. |
| 2607 |
* PamLevel2::GetTracks() keeps the same track order given by TrkLevel2::GetTracks(), but checks image selection by using calorimeter and ToF tracking information. |
* PamLevel2::GetTracks() keeps the same track order given by TrkLevel2::GetTracks(), but checks image selection by using calorimeter and ToF tracking information. |
| 2608 |
/* |
*/ |
| 2609 |
|
|
| 2610 |
// TRefArray *PamLevel2::GetTracks(){ |
// TRefArray *PamLevel2::GetTracks(){ |
| 2611 |
|
|
| 2623 |
// |
// |
| 2624 |
// |
// |
| 2625 |
//-------------------------------------- |
//-------------------------------------- |
| 2626 |
|
|
| 2627 |
/** |
/** |
| 2628 |
* Retrieves the it-th Pamela "physical" track. |
* Retrieves the it-th Pamela "physical" track. |
| 2629 |
* It override TrkLevel2::GetTrack(int it). |
* It override TrkLevel2::GetTrack(int it). |
| 2630 |
* @param it Track number, ranging from 0 to GetNTracks(). |
* @param it Track number, ranging from 0 to GetNTracks(). |
| 2631 |
*/ |
*/ |
| 2632 |
PamTrack *PamLevel2::GetTrack(int it) { |
PamTrack *PamLevel2::GetTrackOld(int it) { |
| 2633 |
|
|
| 2634 |
PamTrack *track = NULL; |
PamTrack *track = NULL; |
| 2635 |
|
|
| 2646 |
track = (PamTrack*)((*tsorted)[it]); |
track = (PamTrack*)((*tsorted)[it]); |
| 2647 |
} |
} |
| 2648 |
else { |
else { |
| 2649 |
cout << "PamLevel2::GetTrack(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
cout << "PamLevel2::GetTrackOld(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
| 2650 |
<< trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
<< trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
| 2651 |
}; |
}; |
| 2652 |
|
|
| 2662 |
* @param it Track number, ranging from 0 to GetNTracks(). |
* @param it Track number, ranging from 0 to GetNTracks(). |
| 2663 |
* @param alg Algorythm, see SetTrakingAlgorythm(char *alg) for explanation. |
* @param alg Algorythm, see SetTrakingAlgorythm(char *alg) for explanation. |
| 2664 |
*/ |
*/ |
| 2665 |
PamTrack *PamLevel2::GetTrack(int it, char* alg) { |
PamTrack *PamLevel2::GetTrack(int it, const char* alg) { |
| 2666 |
|
|
| 2667 |
TString s(alg); |
TString s(alg); |
| 2668 |
if(!s.CompareTo("") ||!s.CompareTo("STD") )return GetTrack(it); //old algorythm |
if(!s.CompareTo("") ||!s.CompareTo("STD") )return GetTrackOld(it); //old algorythm |
| 2669 |
|
|
| 2670 |
|
|
| 2671 |
SortTracksNew(); |
SortTracksNew(); |
| 2713 |
}; |
}; |
| 2714 |
|
|
| 2715 |
|
|
| 2716 |
|
cout << "PamTrack *PamLevel2::GetTrack("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl; |
| 2717 |
|
|
| 2718 |
return NULL; |
return NULL; |
| 2719 |
|
|
| 2729 |
|
|
| 2730 |
} |
} |
| 2731 |
; |
; |
| 2732 |
Int_t PamLevel2::GetNTracks(char* alg) { |
Int_t PamLevel2::GetNTracks(const char* alg) { |
| 2733 |
|
|
| 2734 |
|
|
| 2735 |
// cout << " trk_nuc_obj->GetEntries() "<<trk_nuc_obj->GetEntries()<<" trk2_nuc_obj->GetNTracks() "<<trk2_nuc_obj->GetNTracks()<<endl; |
// cout << " trk_nuc_obj->GetEntries() "<<trk_nuc_obj->GetEntries()<<" trk2_nuc_obj->GetNTracks() "<<trk2_nuc_obj->GetNTracks()<<endl; |
| 2750 |
if(s.Contains("NUC", TString::kIgnoreCase) && NUC ) |
if(s.Contains("NUC", TString::kIgnoreCase) && NUC ) |
| 2751 |
return trk2_nuc_obj->TrkLevel2::GetNTracks(); |
return trk2_nuc_obj->TrkLevel2::GetNTracks(); |
| 2752 |
|
|
| 2753 |
|
cout << "Int_t PamLevel2::GetNTracks("<<alg<<") -- unrecognised algorithm"<<endl; |
| 2754 |
|
|
| 2755 |
return 0; |
return 0; |
| 2756 |
|
|
| 2757 |
} |
} |
| 2765 |
* Retrieves (if present) the image of the it-th Pamela "physical" track, sorted by the method PamLevel2::SortTracks(). |
* Retrieves (if present) the image of the it-th Pamela "physical" track, sorted by the method PamLevel2::SortTracks(). |
| 2766 |
* @param it Track number, ranging from 0 to GetNTracks(). |
* @param it Track number, ranging from 0 to GetNTracks(). |
| 2767 |
*/ |
*/ |
| 2768 |
PamTrack *PamLevel2::GetTrackImage(int it) { |
PamTrack *PamLevel2::GetTrackImageOld(int it) { |
| 2769 |
|
|
| 2770 |
// *-*-*-*-*-*-*-*-*-*-*-*-* |
// *-*-*-*-*-*-*-*-*-*-*-*-* |
| 2771 |
SortTracks(); |
SortTracks(); |
| 2789 |
}; |
}; |
| 2790 |
} |
} |
| 2791 |
else { |
else { |
| 2792 |
cout << "PamLevel2::GetTrackImage(int) : Tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
cout << "PamLevel2::GetTrackImageOld(int) : Tracker track SeqNo " << it << " does not exist (GetNTracks() = " |
| 2793 |
<< trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
<< trk2_obj->TrkLevel2::GetNTracks() << ")" << endl; |
| 2794 |
}; |
}; |
| 2795 |
|
|
| 2800 |
* @param it Track number, ranging from 0 to GetNTracks(). |
* @param it Track number, ranging from 0 to GetNTracks(). |
| 2801 |
* @param alg Algorythm, see SetTrakingAlgorythm(char *alg) for explanation. |
* @param alg Algorythm, see SetTrakingAlgorythm(char *alg) for explanation. |
| 2802 |
*/ |
*/ |
| 2803 |
PamTrack *PamLevel2::GetTrackImage(int it, char* alg) { |
PamTrack *PamLevel2::GetTrackImage(int it, const char* alg) { |
| 2804 |
|
|
| 2805 |
TString s(alg); |
TString s(alg); |
| 2806 |
if(!s.CompareTo("") || !s.CompareTo("STD"))return GetTrack(it); //old algorythm |
if(!s.CompareTo("") || !s.CompareTo("STD"))return GetTrackImageOld(it); //old algorythm |
| 2807 |
|
|
| 2808 |
|
|
| 2809 |
SortTracksNew(); |
SortTracksNew(); |
| 2821 |
PamTrack *temp = (PamTrack*) t[it]; |
PamTrack *temp = (PamTrack*) t[it]; |
| 2822 |
if (temp->GetTrkTrack()->HasImage()) { |
if (temp->GetTrkTrack()->HasImage()) { |
| 2823 |
return (PamTrack*)((*timage_nuc)[it]); //ok return the track |
return (PamTrack*)((*timage_nuc)[it]); //ok return the track |
| 2824 |
|
}else{ |
| 2825 |
|
return NULL; |
| 2826 |
} |
} |
| 2827 |
|
|
| 2828 |
} |
} |
| 2836 |
PamTrack *temp = (PamTrack*) t[it]; |
PamTrack *temp = (PamTrack*) t[it]; |
| 2837 |
if (temp->GetTrkTrack()->HasImage()) { |
if (temp->GetTrkTrack()->HasImage()) { |
| 2838 |
return (PamTrack*)((*timage)[it]); //ok return the track |
return (PamTrack*)((*timage)[it]); //ok return the track |
| 2839 |
|
}else{ |
| 2840 |
|
return NULL; |
| 2841 |
} |
} |
| 2842 |
} |
} |
| 2843 |
} |
} |
| 2844 |
|
|
| 2845 |
} |
} |
| 2846 |
|
|
| 2847 |
|
cout << "PamTrack *PamLevel2::GetTrackImage("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl; |
| 2848 |
|
|
| 2849 |
return NULL; |
return NULL; |
| 2850 |
|
|
| 3802 |
* "NUCEXT" --> as "EXT", but for nuclei |
* "NUCEXT" --> as "EXT", but for nuclei |
| 3803 |
* "NUCEXTF" --> as "EXTF", but for nuclei |
* "NUCEXTF" --> as "EXTF", but for nuclei |
| 3804 |
*/ |
*/ |
| 3805 |
void PamLevel2::SetTrakingAlgorythm(char *alg){ |
// void PamLevel2::SetTrackingAlgorythm(const char *alg){ |
| 3806 |
|
|
| 3807 |
|
|
| 3808 |
TString s(alg); |
// TString s(alg); |
| 3809 |
if(s.Contains("NUC", TString::kIgnoreCase) && !NUC) |
// if(s.Contains("NUC", TString::kIgnoreCase) && !NUC) |
| 3810 |
cout << "Warning! NUC algorythm requested, but branches are missing"<<endl; |
// cout << "Warning! NUC algorythm requested, but branches are missing"<<endl; |
| 3811 |
if(s.Contains("EXT", TString::kIgnoreCase) && !EXT) |
// if(s.Contains("EXT", TString::kIgnoreCase) && !EXT) |
| 3812 |
cout << "Warning! EXT algorythm requested, but branches are missing"<<endl;; |
// cout << "Warning! EXT algorythm requested, but branches are missing"<<endl;; |
| 3813 |
|
|
| 3814 |
trkAlg = alg; |
// trkAlg = alg; |
| 3815 |
|
|
| 3816 |
}; |
// }; |
| 3817 |
char* PamLevel2::GetTrakingAlgorythm(){ |
// const char* PamLevel2::GetTrackingAlgorythm(){ |
| 3818 |
|
|
| 3819 |
|
|
| 3820 |
cout<<endl<<" Implemented tracking algorythm: "; |
// cout<<endl<<" Implemented tracking algorythm: "; |
| 3821 |
cout<<endl<<" \"\" or \"STD\" --> take the output of the standard tracking algorythm"; |
// cout<<endl<<" \"\" or \"STD\" --> take the output of the standard tracking algorythm"; |
| 3822 |
cout<<endl<<" \"NUC\" --> take the output of the standard tracking algorythm for nuclei cluster selection"; |
// cout<<endl<<" \"NUC\" --> take the output of the standard tracking algorythm for nuclei cluster selection"; |
| 3823 |
cout<<endl<<" \"EXT\" --> in case the standard tracking algorythm has not found any track,"; |
// cout<<endl<<" \"EXT\" --> in case the standard tracking algorythm has not found any track,"; |
| 3824 |
cout<<endl<<" take the output of the extended one"; |
// cout<<endl<<" take the output of the extended one"; |
| 3825 |
cout<<endl<<" \"EXTF\" --> force the extended tracking algorythm"; |
// cout<<endl<<" \"EXTF\" --> force the extended tracking algorythm"; |
| 3826 |
cout<<endl<<" \"NUCEXT\" --> as \"EXT\", but for nuclei "; |
// cout<<endl<<" \"NUCEXT\" --> as \"EXT\", but for nuclei "; |
| 3827 |
cout<<endl<<" \"NUCEXTF\" --> as \"EXTF\", but for nuclei"; |
// cout<<endl<<" \"NUCEXTF\" --> as \"EXTF\", but for nuclei"; |
| 3828 |
|
|
| 3829 |
cout<<endl; |
// cout<<endl; |
| 3830 |
cout<<" <<Currently set algorythm>> "<<trkAlg<<endl; |
// cout<<" <<Currently set algorythm>> "<<trkAlg<<endl; |
| 3831 |
cout<<endl; |
// cout<<endl; |
| 3832 |
|
|
| 3833 |
return trkAlg; |
// return trkAlg; |
| 3834 |
}; |
// }; |
| 3835 |
|
|
| 3836 |
|
|
| 3837 |
|
|
| 4572 |
// cout << "Checking file: "<<f->GetName()<<endl; |
// cout << "Checking file: "<<f->GetName()<<endl; |
| 4573 |
if (!f || f->IsZombie()) { |
if (!f || f->IsZombie()) { |
| 4574 |
cout << "File: " << f->GetName() << " Non valid root file" << endl; |
cout << "File: " << f->GetName() << " Non valid root file" << endl; |
| 4575 |
|
fDiscarded = true; |
| 4576 |
return; |
return; |
| 4577 |
} |
} |
| 4578 |
|
|
| 4779 |
TFile *f = new TFile(name.Data()); |
TFile *f = new TFile(name.Data()); |
| 4780 |
if (!f || f->IsZombie()) { |
if (!f || f->IsZombie()) { |
| 4781 |
cout << "File: " << f->GetName() << " discarded ---- Non valid root file" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Non valid root file" << endl; |
| 4782 |
|
fDiscarded = true; |
| 4783 |
return false; |
return false; |
| 4784 |
} |
} |
| 4785 |
// cout << "Get list of keys: "<<f<<endl; |
// cout << "Get list of keys: "<<f<<endl; |
| 4818 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4819 |
cout << "File: " << f->GetName() << " discarded ---- SelectionList tree has " << nevt |
cout << "File: " << f->GetName() << " discarded ---- SelectionList tree has " << nevt |
| 4820 |
<< " events instead of " << nev << endl; |
<< " events instead of " << nev << endl; |
| 4821 |
|
fDiscarded = true; |
| 4822 |
return false; |
return false; |
| 4823 |
} |
} |
| 4824 |
nev = nevt; |
nev = nevt; |
| 4833 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4834 |
cout << "File: " << f->GetName() << " discarded ---- Trigger tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Trigger tree has " << nevt << " events instead of " |
| 4835 |
<< nev << endl; |
<< nev << endl; |
| 4836 |
|
fDiscarded = true; |
| 4837 |
return false; |
return false; |
| 4838 |
} |
} |
| 4839 |
nev = nevt; |
nev = nevt; |
| 4847 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4848 |
cout << "File: " << f->GetName() << " discarded ---- ToF tree has " << nevt << " events instead of " << nev |
cout << "File: " << f->GetName() << " discarded ---- ToF tree has " << nevt << " events instead of " << nev |
| 4849 |
<< endl; |
<< endl; |
| 4850 |
|
fDiscarded = true; |
| 4851 |
return false; |
return false; |
| 4852 |
} |
} |
| 4853 |
nev = nevt; |
nev = nevt; |
| 4861 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4862 |
cout << "File: " << f->GetName() << " discarded ---- S4 tree has " << nevt << " events instead of " << nev |
cout << "File: " << f->GetName() << " discarded ---- S4 tree has " << nevt << " events instead of " << nev |
| 4863 |
<< endl; |
<< endl; |
| 4864 |
|
fDiscarded = true; |
| 4865 |
return false; |
return false; |
| 4866 |
} |
} |
| 4867 |
nev = nevt; |
nev = nevt; |
| 4876 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4877 |
cout << "File: " << f->GetName() << " discarded ---- NeutronD tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- NeutronD tree has " << nevt << " events instead of " |
| 4878 |
<< nev << endl; |
<< nev << endl; |
| 4879 |
|
fDiscarded = true; |
| 4880 |
return false; |
return false; |
| 4881 |
} |
} |
| 4882 |
nev = nevt; |
nev = nevt; |
| 4890 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4891 |
cout << "File: " << f->GetName() << " discarded ---- Anticounter tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Anticounter tree has " << nevt << " events instead of " |
| 4892 |
<< nev << endl; |
<< nev << endl; |
| 4893 |
|
fDiscarded = true; |
| 4894 |
return false; |
return false; |
| 4895 |
} |
} |
| 4896 |
nev = nevt; |
nev = nevt; |
| 4904 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4905 |
cout << "File: " << f->GetName() << " discarded ---- OrbitalInfo tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- OrbitalInfo tree has " << nevt << " events instead of " |
| 4906 |
<< nev << endl; |
<< nev << endl; |
| 4907 |
|
fDiscarded = true; |
| 4908 |
return false; |
return false; |
| 4909 |
} |
} |
| 4910 |
nev = nevt; |
nev = nevt; |
| 4918 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4919 |
cout << "File: " << f->GetName() << " discarded ---- Tracker tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Tracker tree has " << nevt << " events instead of " |
| 4920 |
<< nev << endl; |
<< nev << endl; |
| 4921 |
|
fDiscarded = true; |
| 4922 |
return false; |
return false; |
| 4923 |
} |
} |
| 4924 |
nev = nevt; |
nev = nevt; |
| 4942 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4943 |
cout << "File: " << f->GetName() << " discarded ---- Calorimeter tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Calorimeter tree has " << nevt << " events instead of " |
| 4944 |
<< nev << endl; |
<< nev << endl; |
| 4945 |
|
fDiscarded = true; |
| 4946 |
return false; |
return false; |
| 4947 |
} |
} |
| 4948 |
nev = nevt; |
nev = nevt; |
| 4965 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
| 4966 |
cout << "File: " << f->GetName() << " discarded ---- h20 tree has " << nevt << " events instead of " << nev |
cout << "File: " << f->GetName() << " discarded ---- h20 tree has " << nevt << " events instead of " << nev |
| 4967 |
<< endl; |
<< endl; |
| 4968 |
|
fDiscarded = true; |
| 4969 |
return false; |
return false; |
| 4970 |
} |
} |
| 4971 |
nev = nevt; |
nev = nevt; |
| 4978 |
SELLI = (Int_t) SELLI__ok; |
SELLI = (Int_t) SELLI__ok; |
| 4979 |
if (SELLI == 0 && SELLI__ok) { |
if (SELLI == 0 && SELLI__ok) { |
| 4980 |
cout << "File: " << f->GetName() << " discarded ---- found SelectionList (it is not a full-event file)" << endl; |
cout << "File: " << f->GetName() << " discarded ---- found SelectionList (it is not a full-event file)" << endl; |
| 4981 |
|
fDiscarded = true; |
| 4982 |
return false; |
return false; |
| 4983 |
} |
} |
| 4984 |
if (SELLI == 1 && !SELLI__ok) { |
if (SELLI == 1 && !SELLI__ok) { |
| 4985 |
cout << "File: " << f->GetName() << " discarded ---- SelectionList missing" << endl; |
cout << "File: " << f->GetName() << " discarded ---- SelectionList missing" << endl; |
| 4986 |
|
fDiscarded = true; |
| 4987 |
return false; |
return false; |
| 4988 |
} |
} |
| 4989 |
|
|
| 5022 |
|
|
| 5023 |
if (CAL1 && !CAL1__ok) { |
if (CAL1 && !CAL1__ok) { |
| 5024 |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel1 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel1 branch" << endl; |
| 5025 |
|
fDiscarded = true; |
| 5026 |
return false; |
return false; |
| 5027 |
}; |
}; |
| 5028 |
if (CAL2 && !CAL2__ok) { |
if (CAL2 && !CAL2__ok) { |
| 5029 |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel2 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel2 branch" << endl; |
| 5030 |
|
fDiscarded = true; |
| 5031 |
return false; |
return false; |
| 5032 |
}; |
}; |
| 5033 |
if (TRK2 && !TRK2__ok) { |
if (TRK2 && !TRK2__ok) { |
| 5034 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel2 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel2 branch" << endl; |
| 5035 |
|
fDiscarded = true; |
| 5036 |
return false; |
return false; |
| 5037 |
}; |
}; |
| 5038 |
if (TRK1 && !TRK1__ok) { |
if (TRK1 && !TRK1__ok) { |
| 5039 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel1 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel1 branch" << endl; |
| 5040 |
|
fDiscarded = true; |
| 5041 |
return false; |
return false; |
| 5042 |
}; |
}; |
| 5043 |
if (TRKh && !TRKh__ok) { |
if (TRKh && !TRKh__ok) { |
| 5044 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkHough branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkHough branch" << endl; |
| 5045 |
|
fDiscarded = true; |
| 5046 |
return false; |
return false; |
| 5047 |
}; |
}; |
| 5048 |
if (ORB && !ORB__ok) { |
if (ORB && !ORB__ok) { |
| 5049 |
cout << "File: " << f->GetName() << " discarded ---- Missing ORB tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ORB tree" << endl; |
| 5050 |
|
fDiscarded = true; |
| 5051 |
return false; |
return false; |
| 5052 |
}; |
}; |
| 5053 |
if (AC && !AC__ok) { |
if (AC && !AC__ok) { |
| 5054 |
cout << "File: " << f->GetName() << " discarded ---- Missing AC tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing AC tree" << endl; |
| 5055 |
|
fDiscarded = true; |
| 5056 |
return false; |
return false; |
| 5057 |
}; |
}; |
| 5058 |
if (S4 && !S4__ok) { |
if (S4 && !S4__ok) { |
| 5059 |
cout << "File: " << f->GetName() << " discarded ---- Missing S4 tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing S4 tree" << endl; |
| 5060 |
|
fDiscarded = true; |
| 5061 |
return false; |
return false; |
| 5062 |
}; |
}; |
| 5063 |
if (TOF && !TOF__ok) { |
if (TOF && !TOF__ok) { |
| 5064 |
cout << "File: " << f->GetName() << " discarded ---- Missing ToF tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ToF tree" << endl; |
| 5065 |
|
fDiscarded = true; |
| 5066 |
return false; |
return false; |
| 5067 |
}; |
}; |
| 5068 |
|
|
| 5069 |
if (ND && !ND__ok) { |
if (ND && !ND__ok) { |
| 5070 |
cout << "File: " << f->GetName() << " discarded ---- Missing ND tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ND tree" << endl; |
| 5071 |
|
fDiscarded = true; |
| 5072 |
return false; |
return false; |
| 5073 |
}; |
}; |
| 5074 |
if (TRG && !TRG__ok) { |
if (TRG && !TRG__ok) { |
| 5075 |
cout << "File: " << f->GetName() << " discarded ---- Missing Trigger tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing Trigger tree" << endl; |
| 5076 |
|
fDiscarded = true; |
| 5077 |
return false; |
return false; |
| 5078 |
}; |
}; |
| 5079 |
if (GP && !GP__ok) { |
if (GP && !GP__ok) { |
| 5080 |
cout << "File: " << f->GetName() << " discarded ---- Missing h20 tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing h20 tree" << endl; |
| 5081 |
|
fDiscarded = true; |
| 5082 |
return false; |
return false; |
| 5083 |
}; |
}; |
| 5084 |
|
|
| 5389 |
for (Int_t i = 0; i < NCLONES; i++) { |
for (Int_t i = 0; i < NCLONES; i++) { |
| 5390 |
if (pam_tree_clone[i]) { |
if (pam_tree_clone[i]) { |
| 5391 |
cout << pam_tree_clone[i]->GetName() << endl; |
cout << pam_tree_clone[i]->GetName() << endl; |
| 5392 |
pam_tree_clone[i]->Write(); |
pam_tree_clone[i]->Write(pam_tree_clone[i]->GetName(),TObject::kOverwrite); |
| 5393 |
}; |
}; |
| 5394 |
} |
} |
| 5395 |
cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl; |
cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl; |