| 467 |
runfirstentry = 0LL; |
runfirstentry = 0LL; |
| 468 |
runlastentry = 0LL; |
runlastentry = 0LL; |
| 469 |
gltsync = 0; // Emiliano |
gltsync = 0; // Emiliano |
| 470 |
|
fUpdateRunInfo = true; // Emiliano |
| 471 |
|
|
| 472 |
l0_file = NULL; |
l0_file = NULL; |
| 473 |
l0_tree = NULL; |
l0_tree = NULL; |
| 634 |
// |
// |
| 635 |
TIter next2(contents); |
TIter next2(contents); |
| 636 |
TChain *questa = 0; |
TChain *questa = 0; |
| 637 |
while (questa = (TChain*) next2()) { |
while ( (questa = (TChain*)next2()) ) { |
| 638 |
TString name = questa->GetName(); |
TString name = questa->GetName(); |
| 639 |
questa->Delete(); |
questa->Delete(); |
| 640 |
questa = NULL; |
questa = NULL; |
| 748 |
// |
// |
| 749 |
TIter next2(contents); |
TIter next2(contents); |
| 750 |
TChain *questa = 0; |
TChain *questa = 0; |
| 751 |
while (questa = (TChain*) next2()) { |
while ( (questa = (TChain*) next2()) ) { |
| 752 |
TString name = questa->GetName(); |
TString name = questa->GetName(); |
| 753 |
questa->Delete(); |
questa->Delete(); |
| 754 |
questa = NULL; |
questa = NULL; |
| 834 |
} |
} |
| 835 |
; |
; |
| 836 |
|
|
| 837 |
|
void PamLevel2::SkipRunInfoUpdate(){ |
| 838 |
|
printf("\n\n ******** WARNING ******** \n Skip DB connections, DO NOT USE PamLevel2::GetRunInfo() method! \n\n"); |
| 839 |
|
fUpdateRunInfo = false; |
| 840 |
|
this->SetSELLI(2); |
| 841 |
|
printf(" ===============> W A R N I N G <================ \n"); |
| 842 |
|
printf(" in case PamLevel2::CreateCloneTrees() will be called \n"); |
| 843 |
|
printf(" it will be reverted to PadmeAmidala level2 structure , i.e. NO SELECTIONLIST WILL BE CREATED IN THE NEW LEVEL2 FILE! \n\n"); |
| 844 |
|
if ( run_tree_clone ){ |
| 845 |
|
printf(" ===============> W A R N I N G <================ \n"); |
| 846 |
|
printf(" PamLevel2::SkipRunIndoUpdate or PamLevel2::NoDBconnections() has been called together with PamLevel2::CreateCloneTrees() \n"); |
| 847 |
|
printf(" TO AVOID CRASHES call PamLevel2::CreateCloneTrees() after PamLevel2::SkipRunIndoUpdate or PamLevel2::NoDBconnections() \n"); |
| 848 |
|
}; |
| 849 |
|
} |
| 850 |
|
|
| 851 |
//-------------------------------------- |
//-------------------------------------- |
| 852 |
// |
// |
| 853 |
// |
// |
| 2128 |
if (file.EndsWith(".root")) { |
if (file.EndsWith(".root")) { |
| 2129 |
TString filedir; |
TString filedir; |
| 2130 |
cout << ddir << endl; |
cout << ddir << endl; |
| 2131 |
if (ddir != "") { |
if ( ddir != "" ) { |
| 2132 |
filedir = ddir; // take the input dir |
filedir = ddir; // take the input dir |
| 2133 |
} |
} |
| 2134 |
else { |
else { |
| 2136 |
filedir = gSystem->DirName(file); // this will take the path if exist in the list otherwise it will return automatically the working dir |
filedir = gSystem->DirName(file); // this will take the path if exist in the list otherwise it will return automatically the working dir |
| 2137 |
}; |
}; |
| 2138 |
filedir.Append("/"); |
filedir.Append("/"); |
| 2139 |
char *fullpath = gSystem->ConcatFileName(gSystem->DirName(filedir), gSystem->BaseName(file)); |
// char *fullpath = gSystem->ConcatFileName(gSystem->DirName(filedir), gSystem->BaseName(file)); |
| 2140 |
|
char *fullpath = gSystem->ConcatFileName(filedir.Data(), gSystem->BaseName(file)); |
| 2141 |
contents->Add(new TSystemFile(fullpath, gSystem->DirName(fullpath)));// add file to the list |
contents->Add(new TSystemFile(fullpath, gSystem->DirName(fullpath)));// add file to the list |
| 2142 |
cout << fullpath << endl; |
cout << fullpath << endl; |
| 2143 |
delete fullpath; |
delete fullpath; |
| 2902 |
gltsync = new GL_TIMESYNC(GetRunInfo()->ID_ROOT_L0, "ID", dbc, false); //Emiliano // the "false" means not to use level0 file (not necessary here) |
gltsync = new GL_TIMESYNC(GetRunInfo()->ID_ROOT_L0, "ID", dbc, false); //Emiliano // the "false" means not to use level0 file (not necessary here) |
| 2903 |
if (dbc){ |
if (dbc){ |
| 2904 |
dbc->Close();// Emiliano |
dbc->Close();// Emiliano |
| 2905 |
|
delete dbc; |
| 2906 |
dbc=0; |
dbc=0; |
| 2907 |
}; |
}; |
| 2908 |
}; |
}; |
| 3051 |
gltsync = new GL_TIMESYNC(GetRunInfo()->ID_ROOT_L0, "ID", dbc, false); // Emiliano |
gltsync = new GL_TIMESYNC(GetRunInfo()->ID_ROOT_L0, "ID", dbc, false); // Emiliano |
| 3052 |
if (dbc){ |
if (dbc){ |
| 3053 |
dbc->Close(); // Emiliano |
dbc->Close(); // Emiliano |
| 3054 |
|
delete dbc; |
| 3055 |
dbc=0; |
dbc=0; |
| 3056 |
}; |
}; |
| 3057 |
if (gltsync->DBobt(GetRunInfo()->RUNHEADER_OBT) > gltsync->DBobt(GetRunInfo()->RUNTRAILER_OBT)) { // Emiliano |
if (gltsync->DBobt(GetRunInfo()->RUNHEADER_OBT) > gltsync->DBobt(GetRunInfo()->RUNTRAILER_OBT)) { // Emiliano |
| 3093 |
TrkParams::Set(GetRunInfo(), dbc); |
TrkParams::Set(GetRunInfo(), dbc); |
| 3094 |
if (dbc){ |
if (dbc){ |
| 3095 |
dbc->Close(); |
dbc->Close(); |
| 3096 |
|
delete dbc; |
| 3097 |
dbc=0; |
dbc=0; |
| 3098 |
}; |
}; |
| 3099 |
|
|
| 3189 |
TrkParams::Set(GetRunInfo(), dbc); |
TrkParams::Set(GetRunInfo(), dbc); |
| 3190 |
if (dbc){ |
if (dbc){ |
| 3191 |
dbc->Close(); |
dbc->Close(); |
| 3192 |
|
delete dbc; |
| 3193 |
dbc=0; |
dbc=0; |
| 3194 |
}; |
}; |
| 3195 |
// cout << endl; |
// cout << endl; |
| 4242 |
ii = iee; |
ii = iee; |
| 4243 |
// Bool_t UPDATED = UpdateRunInfo(run_tree,ii); |
// Bool_t UPDATED = UpdateRunInfo(run_tree,ii); |
| 4244 |
// Bool_t UPDATED = UpdateRunInfo(ii); |
// Bool_t UPDATED = UpdateRunInfo(ii); |
| 4245 |
UpdateRunInfo(ii); |
if ( fUpdateRunInfo ) UpdateRunInfo(ii); // Emiliano |
| 4246 |
if (SELLI == 0 || SELLI == 2) |
if (SELLI == 0 || SELLI == 2) |
| 4247 |
irunentry = iee - runfirstentry; |
irunentry = iee - runfirstentry; |
| 4248 |
// if(UPDATED && run_tree_clone)run_tree_clone->Fill(); |
// if(UPDATED && run_tree_clone)run_tree_clone->Fill(); |
| 4370 |
} |
} |
| 4371 |
|
|
| 4372 |
dbc->Close(); // EMILIANO, do not leave open connections, open only when needed |
dbc->Close(); // EMILIANO, do not leave open connections, open only when needed |
| 4373 |
|
delete dbc; |
| 4374 |
dbc=0; |
dbc=0; |
| 4375 |
|
|
| 4376 |
}; |
}; |
| 4392 |
}; |
}; |
| 4393 |
if(dbc){ |
if(dbc){ |
| 4394 |
dbc->Close(); // EMILIANO, do not leave open connections, open only when needed |
dbc->Close(); // EMILIANO, do not leave open connections, open only when needed |
| 4395 |
|
delete dbc; |
| 4396 |
dbc=0; |
dbc=0; |
| 4397 |
}; |
}; |
| 4398 |
} |
} |