566 |
|
|
567 |
run_obj = 0;//new GL_RUN(); |
run_obj = 0;//new GL_RUN(); |
568 |
soft_obj = 0;// Emiliano |
soft_obj = 0;// Emiliano |
569 |
|
proc_obj = 0;// Emiliano |
570 |
irun = -1LL; |
irun = -1LL; |
571 |
irunt = -1LL; |
irunt = -1LL; |
572 |
totrunentry = 0LL; |
totrunentry = 0LL; |
577 |
gltsync = 0; // Emiliano |
gltsync = 0; // Emiliano |
578 |
fUpdateRunInfo = true; // Emiliano |
fUpdateRunInfo = true; // Emiliano |
579 |
fUseDBinRunInfo = true; // Emiliano |
fUseDBinRunInfo = true; // Emiliano |
580 |
|
fDiscarded = false; //EM |
581 |
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 |
582 |
il0entry = 0LL; |
il0entry = 0LL; |
583 |
// hasL0EE = true; |
// hasL0EE = true; |
593 |
|
|
594 |
run_tree = NULL; |
run_tree = NULL; |
595 |
run_tree_clone = NULL; |
run_tree_clone = NULL; |
596 |
|
|
597 |
|
proc_tree = NULL; |
598 |
|
proc_tree_clone = NULL; |
599 |
|
|
600 |
sel_tree = NULL; |
sel_tree = NULL; |
601 |
sel_tree_clone = NULL; |
sel_tree_clone = NULL; |
602 |
|
|
628 |
if (strcmp(pamdbpsw, "")) |
if (strcmp(pamdbpsw, "")) |
629 |
psw = pamdbpsw; |
psw = pamdbpsw; |
630 |
|
|
631 |
|
customString = ""; |
632 |
|
|
633 |
// sorted_tracks = 0;//new TRefArray(); |
// sorted_tracks = 0;//new TRefArray(); |
634 |
|
|
635 |
CAL0 = false; |
CAL0 = false; |
646 |
ND = true; |
ND = true; |
647 |
AC = true; |
AC = true; |
648 |
ORB = true; |
ORB = true; |
649 |
|
PROC = true; |
650 |
GP = false; |
GP = false; |
651 |
|
|
652 |
EXT = false; |
EXT = false; |
689 |
delete run_obj; |
delete run_obj; |
690 |
if (soft_obj) |
if (soft_obj) |
691 |
delete soft_obj; //Emiliano |
delete soft_obj; //Emiliano |
692 |
|
if (proc_obj) |
693 |
|
delete proc_obj; //Emiliano |
694 |
|
|
695 |
// cout << "void PamLevel2::Clear()"<<endl; |
// cout << "void PamLevel2::Clear()"<<endl; |
696 |
if (h0_obj) |
if (h0_obj) |
891 |
orb2_obj->Clear(); |
orb2_obj->Clear(); |
892 |
if (gp_obj) |
if (gp_obj) |
893 |
gp_obj->Clear(); |
gp_obj->Clear(); |
894 |
|
if (proc_obj) |
895 |
|
proc_obj->Clear(); |
896 |
|
|
897 |
// if(sorted_tracks)sorted_tracks->Clear(); |
// if(sorted_tracks)sorted_tracks->Clear(); |
898 |
// sorted_tracks.Clear(); |
// sorted_tracks.Clear(); |
973 |
if (sel_tree) |
if (sel_tree) |
974 |
sel_tree->Delete();; |
sel_tree->Delete();; |
975 |
sel_tree = NULL; |
sel_tree = NULL; |
976 |
|
|
977 |
|
if (proc_tree) |
978 |
|
proc_tree->Delete(); |
979 |
|
proc_tree = NULL; |
980 |
// |
// |
981 |
// Close file |
// Close file |
982 |
// |
// |
1000 |
ac_obj = 0; |
ac_obj = 0; |
1001 |
orb2_obj = 0; |
orb2_obj = 0; |
1002 |
gp_obj = 0; |
gp_obj = 0; |
1003 |
|
proc_obj = 0; |
1004 |
|
|
1005 |
trk_ext_obj = 0; |
trk_ext_obj = 0; |
1006 |
trk_ext_nuc_obj = 0; |
trk_ext_nuc_obj = 0; |
1032 |
// |
// |
1033 |
run_obj = 0;//new GL_RUN(); |
run_obj = 0;//new GL_RUN(); |
1034 |
soft_obj = 0;// Emiliano |
soft_obj = 0;// Emiliano |
1035 |
|
proc_obj = 0;// Emiliano |
1036 |
irun = -1; |
irun = -1; |
1037 |
irunt = -1; |
irunt = -1; |
1038 |
totrunentry = 0LL; |
totrunentry = 0LL; |
1207 |
if (!objname.CompareTo("SoftInfo")) |
if (!objname.CompareTo("SoftInfo")) |
1208 |
return &soft_obj; // Emiliano |
return &soft_obj; // Emiliano |
1209 |
|
|
1210 |
|
if (!objname.CompareTo("ProcInfo")){ |
1211 |
|
if (!proc_obj) |
1212 |
|
proc_obj = new ProcInfo(); |
1213 |
|
return &proc_obj; // Emiliano |
1214 |
|
} |
1215 |
|
|
1216 |
return NULL; |
return NULL; |
1217 |
} |
} |
1218 |
; |
; |
3328 |
TChain *G = 0; |
TChain *G = 0; |
3329 |
|
|
3330 |
TChain *L = 0; |
TChain *L = 0; |
3331 |
|
TChain *P = 0; |
3332 |
|
|
3333 |
if (TRK2 || TRK1 || TRKh) |
if (TRK2 || TRK1 || TRKh) |
3334 |
T = new TChain("Tracker"); |
T = new TChain("Tracker"); |
3348 |
B = new TChain("OrbitalInfo"); |
B = new TChain("OrbitalInfo"); |
3349 |
if (GP) |
if (GP) |
3350 |
G = new TChain("h20"); |
G = new TChain("h20"); |
3351 |
|
if (PROC) |
3352 |
|
P = new TChain("ProcessingInfo"); |
3353 |
L = new TChain("SelectionList"); |
L = new TChain("SelectionList"); |
3354 |
|
|
3355 |
// loop over files and create chains |
// loop over files and create chains |
3377 |
B->Add(name); |
B->Add(name); |
3378 |
if (GP) |
if (GP) |
3379 |
G->Add(name); |
G->Add(name); |
3380 |
|
if (P) |
3381 |
|
P->Add(name); |
3382 |
if (SELLI == 1) |
if (SELLI == 1) |
3383 |
L->Add(name); |
L->Add(name); |
3384 |
}; |
}; |
3504 |
L->Delete(); |
L->Delete(); |
3505 |
}; |
}; |
3506 |
|
|
3507 |
|
//ProcessingInfo EM |
3508 |
|
if ( P && P->GetEntries() ){ |
3509 |
|
cout << "----------------------------------------------------" << endl; |
3510 |
|
cout << ">>> Found ProcessingInfo <<<" << endl; |
3511 |
|
// L->SetBranchAddress("RunEntry",&irun); |
3512 |
|
P->SetBranchAddress("ProcInfo", &proc_obj);//NEWNEW |
3513 |
|
proc_tree = P; |
3514 |
|
} |
3515 |
// -------------------------------------------- |
// -------------------------------------------- |
3516 |
// return the pamela chain with all the friends |
// return the pamela chain with all the friends |
3517 |
// -------------------------------------------- |
// -------------------------------------------- |
3518 |
|
|
3519 |
pam_tree = Trout; |
pam_tree = Trout; |
|
|
|
3520 |
return Trout; |
return Trout; |
3521 |
} |
} |
3522 |
|
|
4608 |
// cout << "Checking file: "<<f->GetName()<<endl; |
// cout << "Checking file: "<<f->GetName()<<endl; |
4609 |
if (!f || f->IsZombie()) { |
if (!f || f->IsZombie()) { |
4610 |
cout << "File: " << f->GetName() << " Non valid root file" << endl; |
cout << "File: " << f->GetName() << " Non valid root file" << endl; |
4611 |
|
fDiscarded = true; |
4612 |
return; |
return; |
4613 |
} |
} |
4614 |
|
|
4815 |
TFile *f = new TFile(name.Data()); |
TFile *f = new TFile(name.Data()); |
4816 |
if (!f || f->IsZombie()) { |
if (!f || f->IsZombie()) { |
4817 |
cout << "File: " << f->GetName() << " discarded ---- Non valid root file" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Non valid root file" << endl; |
4818 |
|
fDiscarded = true; |
4819 |
return false; |
return false; |
4820 |
} |
} |
4821 |
// cout << "Get list of keys: "<<f<<endl; |
// cout << "Get list of keys: "<<f<<endl; |
4854 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4855 |
cout << "File: " << f->GetName() << " discarded ---- SelectionList tree has " << nevt |
cout << "File: " << f->GetName() << " discarded ---- SelectionList tree has " << nevt |
4856 |
<< " events instead of " << nev << endl; |
<< " events instead of " << nev << endl; |
4857 |
|
fDiscarded = true; |
4858 |
return false; |
return false; |
4859 |
} |
} |
4860 |
nev = nevt; |
nev = nevt; |
4869 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4870 |
cout << "File: " << f->GetName() << " discarded ---- Trigger tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Trigger tree has " << nevt << " events instead of " |
4871 |
<< nev << endl; |
<< nev << endl; |
4872 |
|
fDiscarded = true; |
4873 |
return false; |
return false; |
4874 |
} |
} |
4875 |
nev = nevt; |
nev = nevt; |
4883 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4884 |
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 |
4885 |
<< endl; |
<< endl; |
4886 |
|
fDiscarded = true; |
4887 |
return false; |
return false; |
4888 |
} |
} |
4889 |
nev = nevt; |
nev = nevt; |
4897 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4898 |
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 |
4899 |
<< endl; |
<< endl; |
4900 |
|
fDiscarded = true; |
4901 |
return false; |
return false; |
4902 |
} |
} |
4903 |
nev = nevt; |
nev = nevt; |
4912 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4913 |
cout << "File: " << f->GetName() << " discarded ---- NeutronD tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- NeutronD tree has " << nevt << " events instead of " |
4914 |
<< nev << endl; |
<< nev << endl; |
4915 |
|
fDiscarded = true; |
4916 |
return false; |
return false; |
4917 |
} |
} |
4918 |
nev = nevt; |
nev = nevt; |
4926 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4927 |
cout << "File: " << f->GetName() << " discarded ---- Anticounter tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Anticounter tree has " << nevt << " events instead of " |
4928 |
<< nev << endl; |
<< nev << endl; |
4929 |
|
fDiscarded = true; |
4930 |
return false; |
return false; |
4931 |
} |
} |
4932 |
nev = nevt; |
nev = nevt; |
4940 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4941 |
cout << "File: " << f->GetName() << " discarded ---- OrbitalInfo tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- OrbitalInfo tree has " << nevt << " events instead of " |
4942 |
<< nev << endl; |
<< nev << endl; |
4943 |
|
fDiscarded = true; |
4944 |
return false; |
return false; |
4945 |
} |
} |
4946 |
nev = nevt; |
nev = nevt; |
4954 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4955 |
cout << "File: " << f->GetName() << " discarded ---- Tracker tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Tracker tree has " << nevt << " events instead of " |
4956 |
<< nev << endl; |
<< nev << endl; |
4957 |
|
fDiscarded = true; |
4958 |
return false; |
return false; |
4959 |
} |
} |
4960 |
nev = nevt; |
nev = nevt; |
4978 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
4979 |
cout << "File: " << f->GetName() << " discarded ---- Calorimeter tree has " << nevt << " events instead of " |
cout << "File: " << f->GetName() << " discarded ---- Calorimeter tree has " << nevt << " events instead of " |
4980 |
<< nev << endl; |
<< nev << endl; |
4981 |
|
fDiscarded = true; |
4982 |
return false; |
return false; |
4983 |
} |
} |
4984 |
nev = nevt; |
nev = nevt; |
5001 |
if (nev && nevt != nev) { |
if (nev && nevt != nev) { |
5002 |
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 |
5003 |
<< endl; |
<< endl; |
5004 |
|
fDiscarded = true; |
5005 |
return false; |
return false; |
5006 |
} |
} |
5007 |
nev = nevt; |
nev = nevt; |
5014 |
SELLI = (Int_t) SELLI__ok; |
SELLI = (Int_t) SELLI__ok; |
5015 |
if (SELLI == 0 && SELLI__ok) { |
if (SELLI == 0 && SELLI__ok) { |
5016 |
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; |
5017 |
|
fDiscarded = true; |
5018 |
return false; |
return false; |
5019 |
} |
} |
5020 |
if (SELLI == 1 && !SELLI__ok) { |
if (SELLI == 1 && !SELLI__ok) { |
5021 |
cout << "File: " << f->GetName() << " discarded ---- SelectionList missing" << endl; |
cout << "File: " << f->GetName() << " discarded ---- SelectionList missing" << endl; |
5022 |
|
fDiscarded = true; |
5023 |
return false; |
return false; |
5024 |
} |
} |
5025 |
|
|
5058 |
|
|
5059 |
if (CAL1 && !CAL1__ok) { |
if (CAL1 && !CAL1__ok) { |
5060 |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel1 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel1 branch" << endl; |
5061 |
|
fDiscarded = true; |
5062 |
return false; |
return false; |
5063 |
}; |
}; |
5064 |
if (CAL2 && !CAL2__ok) { |
if (CAL2 && !CAL2__ok) { |
5065 |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel2 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing CaloLevel2 branch" << endl; |
5066 |
|
fDiscarded = true; |
5067 |
return false; |
return false; |
5068 |
}; |
}; |
5069 |
if (TRK2 && !TRK2__ok) { |
if (TRK2 && !TRK2__ok) { |
5070 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel2 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel2 branch" << endl; |
5071 |
|
fDiscarded = true; |
5072 |
return false; |
return false; |
5073 |
}; |
}; |
5074 |
if (TRK1 && !TRK1__ok) { |
if (TRK1 && !TRK1__ok) { |
5075 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel1 branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkLevel1 branch" << endl; |
5076 |
|
fDiscarded = true; |
5077 |
return false; |
return false; |
5078 |
}; |
}; |
5079 |
if (TRKh && !TRKh__ok) { |
if (TRKh && !TRKh__ok) { |
5080 |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkHough branch" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing TrkHough branch" << endl; |
5081 |
|
fDiscarded = true; |
5082 |
return false; |
return false; |
5083 |
}; |
}; |
5084 |
if (ORB && !ORB__ok) { |
if (ORB && !ORB__ok) { |
5085 |
cout << "File: " << f->GetName() << " discarded ---- Missing ORB tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ORB tree" << endl; |
5086 |
|
fDiscarded = true; |
5087 |
return false; |
return false; |
5088 |
}; |
}; |
5089 |
if (AC && !AC__ok) { |
if (AC && !AC__ok) { |
5090 |
cout << "File: " << f->GetName() << " discarded ---- Missing AC tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing AC tree" << endl; |
5091 |
|
fDiscarded = true; |
5092 |
return false; |
return false; |
5093 |
}; |
}; |
5094 |
if (S4 && !S4__ok) { |
if (S4 && !S4__ok) { |
5095 |
cout << "File: " << f->GetName() << " discarded ---- Missing S4 tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing S4 tree" << endl; |
5096 |
|
fDiscarded = true; |
5097 |
return false; |
return false; |
5098 |
}; |
}; |
5099 |
if (TOF && !TOF__ok) { |
if (TOF && !TOF__ok) { |
5100 |
cout << "File: " << f->GetName() << " discarded ---- Missing ToF tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ToF tree" << endl; |
5101 |
|
fDiscarded = true; |
5102 |
return false; |
return false; |
5103 |
}; |
}; |
5104 |
|
|
5105 |
if (ND && !ND__ok) { |
if (ND && !ND__ok) { |
5106 |
cout << "File: " << f->GetName() << " discarded ---- Missing ND tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing ND tree" << endl; |
5107 |
|
fDiscarded = true; |
5108 |
return false; |
return false; |
5109 |
}; |
}; |
5110 |
if (TRG && !TRG__ok) { |
if (TRG && !TRG__ok) { |
5111 |
cout << "File: " << f->GetName() << " discarded ---- Missing Trigger tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing Trigger tree" << endl; |
5112 |
|
fDiscarded = true; |
5113 |
return false; |
return false; |
5114 |
}; |
}; |
5115 |
if (GP && !GP__ok) { |
if (GP && !GP__ok) { |
5116 |
cout << "File: " << f->GetName() << " discarded ---- Missing h20 tree" << endl; |
cout << "File: " << f->GetName() << " discarded ---- Missing h20 tree" << endl; |
5117 |
|
fDiscarded = true; |
5118 |
return false; |
return false; |
5119 |
}; |
}; |
5120 |
|
|
5214 |
// cout << i<< "\t | "<<GetRunInfo()->ID<<"\t "<<GetRunInfo()->NEVENTS<< "\t "<<GetRunInfo()->RUNHEADER_TIME<<" <---> "<<GetRunInfo()->RUNTRAILER_TIME<<endl; |
// cout << i<< "\t | "<<GetRunInfo()->ID<<"\t "<<GetRunInfo()->NEVENTS<< "\t "<<GetRunInfo()->RUNHEADER_TIME<<" <---> "<<GetRunInfo()->RUNTRAILER_TIME<<endl; |
5215 |
run_tree_clone->Fill(); |
run_tree_clone->Fill(); |
5216 |
} |
} |
5217 |
cout << "----------------------------------------------------" << endl; |
// |
5218 |
|
// replicate processinginfo tree |
5219 |
|
// |
5220 |
|
if ( PROC ){ // EMEMEM |
5221 |
|
proc_tree_clone = new TTree("ProcessingInfo","Log of data processing"); |
5222 |
|
proc_tree_clone->Branch("ProcInfo", "ProcInfo", GetPointerTo("ProcInfo")); |
5223 |
|
cout << "ProcessingInfo: branch ProcessingInfo" << endl; |
5224 |
|
// ------------------ |
5225 |
|
// replicate processinginfo tree |
5226 |
|
// ------------------ |
5227 |
|
// cout << "----------------------------------------------------"<<endl; |
5228 |
|
// cout << "irun\t | RUN\t NEVENTS\t absolute time"<<endl; |
5229 |
|
for (Int_t i = 0; i < proc_tree->GetEntries(); i++) { |
5230 |
|
proc_tree->GetEntry(i); |
5231 |
|
// cout << i<< "\t | "<<endl; |
5232 |
|
proc_tree_clone->Fill(); |
5233 |
|
} |
5234 |
|
if ( SELLI != 2 ){ |
5235 |
|
proc_obj->runID = 0; |
5236 |
|
TTimeStamp *dt = new TTimeStamp(); |
5237 |
|
proc_obj->date = dt->AsString(); |
5238 |
|
delete dt; |
5239 |
|
proc_obj->commandLine = Form("PamelaLevel2 was called: CAL2 %i CAL1 %i CAL0 %i TRK2 %i TRK1 %i TRKh %i TRK0 %i TOF %i TOF0 %i TRG %i \n S4 %i ND %i AC %i ORB %i GP %i EXT %i NUC %i RUN %i ISGP %i SELLI %i \n Custom string = %s",CAL2,CAL1,CAL0,TRK2,TRK1,TRKh,TRK0,TOF,TOF0,TRG,S4,ND,AC,ORB,GP,EXT,NUC,RUN,ISGP,SELLI,customString.Data()); |
5240 |
|
proc_obj->outputFilename = ofile->GetName(); |
5241 |
|
proc_obj->localDir = gSystem->WorkingDirectory(); |
5242 |
|
proc_obj->uname = gSystem->GetFromPipe("uname -a"); |
5243 |
|
if (!dbc || (dbc && !dbc->IsConnected())) SetDBConnection(); |
5244 |
|
proc_obj->DB = Form("mysql://%s/%s",dbc->GetHost(),dbc->GetDB()); |
5245 |
|
dbc->Close(); |
5246 |
|
proc_tree_clone->Fill(); |
5247 |
|
} |
5248 |
|
cout << "----------------------------------------------------" << endl; |
5249 |
|
} |
5250 |
// ------------------------------------ |
// ------------------------------------ |
5251 |
// add branch with dead and live times |
// add branch with dead and live times |
5252 |
// ------------------------------------ |
// ------------------------------------ |
5437 |
if (!name.CompareTo(na)) |
if (!name.CompareTo(na)) |
5438 |
return sel_tree_clone; |
return sel_tree_clone; |
5439 |
} |
} |
5440 |
|
if (proc_tree_clone && PROC) { |
5441 |
|
TString na = proc_tree_clone->GetName(); |
5442 |
|
if (!name.CompareTo(na)) |
5443 |
|
return proc_tree_clone; |
5444 |
|
} |
5445 |
return NULL; |
return NULL; |
5446 |
|
|
5447 |
} |
} |
5461 |
for (Int_t i = 0; i < NCLONES; i++) { |
for (Int_t i = 0; i < NCLONES; i++) { |
5462 |
if (pam_tree_clone[i]) { |
if (pam_tree_clone[i]) { |
5463 |
cout << pam_tree_clone[i]->GetName() << endl; |
cout << pam_tree_clone[i]->GetName() << endl; |
5464 |
pam_tree_clone[i]->Write(); |
pam_tree_clone[i]->Write(pam_tree_clone[i]->GetName(),TObject::kOverwrite); |
5465 |
}; |
}; |
5466 |
} |
} |
5467 |
|
|
5468 |
|
if ( PROC ){//EMEMEMEM |
5469 |
|
proc_tree_clone->Write("ProcessingInfo",TObject::kOverwrite); |
5470 |
|
} |
5471 |
cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl; |
cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl; |
5472 |
|
|
5473 |
} |
} |