#include "TDataSetManagerFile.h"
#include "Riostream.h"
#include "TEnv.h"
#include "TFileCollection.h"
#include "TFileInfo.h"
#include "TFile.h"
#include "TFileStager.h"
#include "TLockFile.h"
#include "TMap.h"
#include "TRegexp.h"
#include "TMD5.h"
#include "TMessage.h"
#include "TSystem.h"
#include "TError.h"
#include "TPRegexp.h"
#include "TVirtualMonitoring.h"
#include "TObjArray.h"
#include "THashList.h"
#include "TKey.h"
#include "TTree.h"
#include "TParameter.h"
ClassImp(TDataSetManagerFile)
TDataSetManagerFile::TDataSetManagerFile(const char *group,
const char *user, const char *ins)
: TDataSetManager(group, user, ins)
{
ParseInitOpts(ins);
if (!fUser.IsNull() && !fGroup.IsNull() && !fDataSetDir.IsNull()) {
TString dir;
dir.Form("%s/%s/%s", fDataSetDir.Data(), fGroup.Data(), fUser.Data());
if (gSystem->AccessPathName(dir)) {
if (gSystem->mkdir(dir, kTRUE) != 0) {
TString emsg = dir;
fUser = fCommonUser;
fGroup = fCommonGroup;
ResetBit(TDataSetManager::kCheckQuota);
ResetBit(TDataSetManager::kAllowRegister);
ResetBit(TDataSetManager::kAllowVerify);
ResetBit(TDataSetManager::kAllowStaging);
dir.Form("%s/%s/%s", fDataSetDir.Data(), fGroup.Data(), fUser.Data());
if (gSystem->AccessPathName(dir)) {
Error("TDataSetManagerFile",
"could not attach to a valid the dataset dir; paths tried:");
Error("TDataSetManagerFile", " %s", emsg.Data());
Error("TDataSetManagerFile", " %s", dir.Data());
SetBit(TObject::kInvalidObject);
return;
}
}
}
if (!TestBit(TDataSetManager::kIsSandbox))
fBase.SetUri(TString(Form("/%s/%s/", fGroup.Data(), fUser.Data())));
fDataSetLockFile = Form("%s-dataset-lock", fDataSetDir.Data());
fDataSetLockFile.ReplaceAll("/","%");
fDataSetLockFile.ReplaceAll(":","%");
fDataSetLockFile.Insert(0, Form("%s/", gSystem->TempDirectory()));
fLockFileTimeLimit = 120;
}
if (fMSSUrl.IsNull())
fMSSUrl = gEnv->GetValue("ProofDataSet.MSSUrl", "");
}
void TDataSetManagerFile::ParseInitOpts(const char *ins)
{
SetBit(TObject::kInvalidObject);
if (!ins || strlen(ins) <= 0) return;
Int_t from = 0;
TString s(ins), tok;
while (s.Tokenize(tok, from, " ")) {
if (tok.BeginsWith("dir:"))
fDataSetDir = tok(4, tok.Length());
if (tok.BeginsWith("mss:"))
fMSSUrl = tok(4, tok.Length());
}
if (fDataSetDir.IsNull()) return;
ResetBit(TObject::kInvalidObject);
}
const char *TDataSetManagerFile::GetDataSetPath(const char *group,
const char *user,
const char *dsName)
{
if (fgCommonDataSetTag == group)
group = fCommonGroup;
if (fgCommonDataSetTag == user)
user = fCommonUser;
static TString result;
result.Form("%s/%s/%s/%s.root", fDataSetDir.Data(), group, user, dsName);
if (gDebug > 0)
Info("GetDataSetPath","path: %s", result.Data());
return result;
}
Bool_t TDataSetManagerFile::BrowseDataSets(const char *group,
const char *user,
UInt_t option, TObject *target)
{
TString userDirPath;
userDirPath.Form("%s/%s/%s", fDataSetDir.Data(), group, user);
void *userDir = gSystem->OpenDirectory(userDirPath);
if (!userDir)
return kFALSE;
Bool_t printing = (option & kPrint) ? kTRUE : kFALSE;
Bool_t exporting = (option & kExport) ? kTRUE : kFALSE;
Bool_t updating = (option & kQuotaUpdate) ? kTRUE : kFALSE;
if (printing || updating)
option |= kReadShort;
if (((Int_t)printing + (Int_t)exporting + (Int_t)updating) > 1) {
Error("BrowseDataSets",
"only one of kPrint, kQuotaUpdate or kExport can be specified at once");
return kFALSE;
}
Bool_t fillmap = (!exporting && !printing && !updating) ? kTRUE : kFALSE;
TMap *outmap = (fillmap || exporting) ? (TMap *)target : (TMap *)0;
TList *outlist = (printing) ? (TList *)target : (TList *)0;
TRegexp rg("^[^./][^/]*.root$");
TMap *userMap = 0, *datasetMap = 0;
const char *dsEnt = 0;
while ((dsEnt = gSystem->GetDirEntry(userDir))) {
TString datasetFile(dsEnt);
if (datasetFile.Index(rg) != kNPOS) {
TString datasetName(datasetFile(0, datasetFile.Length()-5));
if (gDebug > 0)
Info("GetDataSets", "found dataset %s of user %s in group %s",
datasetName.Data(), user, group);
TFileCollection *fileList = GetDataSet(group, user, datasetName, option);
if (!fileList) {
Error("GetDataSets", "dataset %s (user %s, group %s) could not be opened",
datasetName.Data(), user, group);
continue;
}
if (gDebug > 0)
fileList->Print();
const char *mapGroup = group;
if (fCommonGroup == mapGroup)
mapGroup = fgCommonDataSetTag.Data();
const char *mapUser = user;
if (fCommonUser == mapUser)
mapUser = fgCommonDataSetTag.Data();
if (fillmap && outmap) {
if (!(userMap = dynamic_cast<TMap*> (outmap->GetValue(mapGroup)))) {
userMap = new TMap;
userMap->SetOwner();
outmap->Add(new TObjString(mapGroup), userMap);
}
if (!(datasetMap = dynamic_cast<TMap*> (userMap->GetValue(mapUser)))) {
datasetMap = new TMap;
datasetMap->SetOwner();
userMap->Add(new TObjString(mapUser), datasetMap);
}
}
if (exporting) {
TString dsNameFormatted(Form("/%s/%s/%s", mapGroup,
mapUser, datasetName.Data()));
if (outmap)
outmap->Add(new TObjString(dsNameFormatted), fileList);
} else if (updating) {
GetQuota(mapGroup, mapUser, datasetName.Data(), fileList);
} else if (printing) {
if (outlist) {
TString dsNameFormatted(Form("/%s/%s/%s", mapGroup,
mapUser, datasetName.Data()));
if (dsNameFormatted.Length() < 42)
dsNameFormatted.Resize(42);
outlist->Add(fileList->ExportInfo(dsNameFormatted));
}
} else {
if (fillmap && datasetMap)
datasetMap->Add(new TObjString(datasetName), fileList);
}
}
}
gSystem->FreeDirectory(userDir);
return kTRUE;
}
TMap *TDataSetManagerFile::GetDataSets(const char *group, const char *user,
UInt_t option)
{
if (group && fgCommonDataSetTag == group)
group = fCommonGroup;
if (user && fgCommonDataSetTag == user)
user = fCommonUser;
if (group && (strcmp(group, "*") == 0 || strlen(group) == 0))
group = 0;
if (user && (strcmp(user, "*") == 0 || strlen(user) == 0))
user = 0;
Bool_t printing = (option & kPrint) ? kTRUE : kFALSE;
Bool_t exporting = (option & kExport) ? kTRUE : kFALSE;
Bool_t updating = (option & kQuotaUpdate) ? kTRUE : kFALSE;
if (((Int_t)printing + (Int_t)exporting + (Int_t)updating) > 1) {
Error("GetDataSets", "only one of '?P', '?Q' or '?E' can be specified at once");
return 0;
}
TObject *result = 0;
if (printing) {
TList *ol = new TList();
ol->SetOwner();
result = ol;
} else if (exporting || !updating) {
TMap *om = new TMap;
om->SetOwner();
result = om;
}
if (gDebug > 0)
Info("GetDataSets", "opening dir %s", fDataSetDir.Data());
if (option & kShowDefault) {
BrowseDataSets(fCommonGroup, fCommonUser, option, result);
user = 0;
}
if (user && group) {
BrowseDataSets(group, user, option, result);
if (!printing) return (TMap *)result;
} else {
void *dataSetDir = 0;
if ((dataSetDir = gSystem->OpenDirectory(fDataSetDir))) {
const char *currentGroup = 0;
while ((currentGroup = gSystem->GetDirEntry(dataSetDir))) {
if (strcmp(currentGroup, ".") == 0 || strcmp(currentGroup, "..") == 0)
continue;
if (group && strcmp(group, currentGroup))
continue;
TString groupDirPath;
groupDirPath.Form("%s/%s", fDataSetDir.Data(), currentGroup);
void *groupDir = gSystem->OpenDirectory(groupDirPath);
if (!groupDir)
continue;
const char *currentUser = 0;
while ((currentUser = gSystem->GetDirEntry(groupDir))) {
if (strcmp(currentUser, ".") == 0 || strcmp(currentUser, "..") == 0)
continue;
if (user && strcmp(user, currentUser))
continue;
BrowseDataSets(currentGroup, currentUser, option, result);
}
gSystem->FreeDirectory(groupDir);
}
gSystem->FreeDirectory(dataSetDir);
}
}
if (printing) {
TList *output = (TList *)result;
output->Sort();
Printf("Dataset URI | # Files | Default tree | # Events | Disk | Staged");
TIter iter4(output);
TObjString* formattedLine = 0;
while ((formattedLine = dynamic_cast<TObjString*> (iter4())))
Printf("%s", formattedLine->String().Data());
SafeDelete(output);
result = 0;
}
return (TMap *)result;
}
TFileCollection *TDataSetManagerFile::GetDataSet(const char *group,
const char *user,
const char *dsName,
UInt_t option,
TMD5 **checksum)
{
TLockFile lock(fDataSetLockFile, fLockFileTimeLimit);
TString path(GetDataSetPath(group, user, dsName));
if (gSystem->AccessPathName(path) != kFALSE) {
Info("GetDataSet", "dataset %s does not exist", path.Data());
return 0;
}
TMD5 *retrievedChecksum = 0;
if (checksum) {
retrievedChecksum = TMD5::FileChecksum(path);
if (!retrievedChecksum) {
Error("GetDataSet", "could not get checksum of %s", path.Data());
return 0;
}
}
TFile *f = TFile::Open(path.Data());
if (!f) {
Error("GetDataSet", "Could not open file %s", path.Data());
if (retrievedChecksum)
delete retrievedChecksum;
return 0;
}
TFileCollection *fileList = 0;
if (option & kReadShort)
fileList = dynamic_cast<TFileCollection*> (f->Get("dataset_short"));
if (!fileList)
fileList = dynamic_cast<TFileCollection*> (f->Get("dataset"));
f->Close();
delete f;
if (checksum)
*checksum = retrievedChecksum;
return fileList;
}
Int_t TDataSetManagerFile::WriteDataSet(const char *group, const char *user,
const char *dsName, TFileCollection *dataset,
UInt_t option, TMD5 *checksum)
{
TLockFile lock(fDataSetLockFile, fLockFileTimeLimit);
Bool_t checkIfExists = ((option & kFileMustExist) || checksum) ? kTRUE : kFALSE;
TString path(GetDataSetPath(group, user, dsName));
if (checkIfExists) {
Long_t tmp;
if (gSystem->GetPathInfo(path, 0, (Long_t*) 0, 0, &tmp) != 0) {
if (gDebug > 0)
Info("WriteDataSet", "Dataset disappeared. Discarding update.");
return 3;
}
}
if (checksum) {
TMD5 *checksum2 = TMD5::FileChecksum(path);
if (!checksum2) {
Error("WriteDataSet", "Could not get checksum of %s", path.Data());
return 0;
}
Bool_t checksumAgrees = (*checksum == *checksum2);
delete checksum2;
if (!checksumAgrees) {
if (gDebug > 0)
Info("WriteDataSet", "Dataset changed. Discarding update.");
return 2;
}
}
TString tempFile(path);
Int_t index = -1;
while (tempFile.Index("/", index+1) >= 0)
index = tempFile.Index("/", index+1);
tempFile.Insert(index+1, ".");
TFile *f = TFile::Open(tempFile, "RECREATE");
if (!f) {
Error("WriteDataSet", "Could not open dataset for writing %s", tempFile.Data());
return 0;
}
dataset->Write("dataset", TObject::kSingleKey);
THashList *list = dataset->GetList();
dataset->SetList(0);
dataset->Write("dataset_short", TObject::kSingleKey);
f->Close();
delete f;
dataset->SetList(list);
if (gSystem->Rename(tempFile, path) != 0) {
Error("WriteDataSet", "Renaming %s to %s failed. Dataset might be corrupted.",
tempFile.Data(), path.Data());
return 0;
}
return 1;
}
Bool_t TDataSetManagerFile::RemoveDataSet(const char *group, const char *user,
const char *dsName)
{
TLockFile lock(fDataSetLockFile, fLockFileTimeLimit);
TString path(GetDataSetPath(group, user, dsName));
return (gSystem->Unlink(path) == 0);
}
Bool_t TDataSetManagerFile::ExistsDataSet(const char *group, const char *user,
const char *dsName)
{
TLockFile lock(fDataSetLockFile, fLockFileTimeLimit);
TString path(GetDataSetPath(group, user, dsName));
return (gSystem->AccessPathName(path) == kFALSE);
}
Int_t TDataSetManagerFile::RegisterDataSet(const char *uri,
TFileCollection *dataSet,
const char *opts)
{
if (!TestBit(TDataSetManager::kAllowRegister))
return -1;
TString dsName;
if (ParseUri(uri, 0, 0, &dsName, 0, kTRUE) == kFALSE) {
Error("RegisterDataSet", "problem parsing uri: %s", uri);
return -1;
}
TString opt(opts);
if (!opt.Contains("O", TString::kIgnoreCase)) {
if (ExistsDataSet(fGroup, fUser, dsName)) {
return -1;
}
}
dataSet->Sort();
TList *uniqueFileList = new TList();
TIter nextFile(dataSet->GetList());
TFileInfo *prevFile = (TFileInfo*)nextFile();
uniqueFileList->Add(prevFile);
while (TFileInfo *obj = (TFileInfo*)nextFile()) {
if (prevFile->Compare(obj)) {
uniqueFileList->Add(obj);
prevFile = obj;
}
}
dataSet->GetList()->SetOwner(0);
dataSet->GetList()->Clear("nodelete");
dataSet->GetList()->SetOwner(1);
dataSet->GetList()->AddAll(uniqueFileList);
uniqueFileList->SetOwner(kFALSE);
delete uniqueFileList;
dataSet->SetName(dsName);
dataSet->ResetBitAll(TFileInfo::kStaged);
dataSet->ResetBitAll(TFileInfo::kCorrupted);
dataSet->RemoveMetaData();
if (opt.Contains("V", TString::kIgnoreCase)) {
if (ScanDataSet(dataSet, (UInt_t)(kReopen | kDebug)) < 0) {
Error("RegisterDataSet", "problems verifying the dataset");
return -1;
}
}
dataSet->Update(fAvgFileSize);
if (TestBit(TDataSetManager::kCheckQuota)) {
if (dataSet->GetTotalSize() <= 0) {
Error("RegisterDataSet", "datasets without size information are not accepted:");
if (fAvgFileSize < 0) {
Error("RegisterDataSet", "you may want to define an average"
" file size to get an estimated dataset size");
}
return -1;
}
UpdateUsedSpace();
Long64_t used = GetGroupUsed(fGroup) + dataSet->GetTotalSize();
Info("RegisterDataSet", "your group %s uses %.1f GB + %.1f GB for the new dataset; "
"the available quota is %.1f GB", fGroup.Data(),
(Float_t) GetGroupUsed(fGroup) / 1073741824,
(Float_t) dataSet->GetTotalSize() / 1073741824,
(Float_t) GetGroupQuota(fGroup) / 1073741824);
if (used > GetGroupQuota(fGroup)) {
Error("RegisterDataSet", "quota exceeded");
return -1;
}
}
Bool_t success = WriteDataSet(fGroup, fUser, dsName, dataSet);
if (!success)
Error("RegisterDataSet", "could not write dataset: %s", dsName.Data());
return ((success) ? 0 : -1);
}
Int_t TDataSetManagerFile::ScanDataSet(const char *uri, UInt_t opt)
{
TString dsName, dsTree;
if ((opt & kSetDefaultTree)) {
if (TestBit(TDataSetManager::kAllowRegister)) {
if (ParseUri(uri, 0, 0, &dsName, &dsTree, kTRUE)) {
TFileCollection *dataset = GetDataSet(fGroup, fUser, dsName);
if (!dataset) return -1;
dataset->SetDefaultTreeName(dsTree.Data());
Int_t rc = WriteDataSet(fGroup, fUser, dsName, dataset);
delete dataset;
return (rc == 0) ? -1 : 0;
}
}
} else {
if (TestBit(TDataSetManager::kAllowVerify)) {
if (ParseUri(uri, 0, 0, &dsName, 0, kTRUE)) {
if (ScanDataSet(fGroup, fUser, dsName, (UInt_t)(kReopen | kDebug)) > 0)
return GetNDisapparedFiles();
}
}
}
return -1;
}
Int_t TDataSetManagerFile::ScanDataSet(const char *group, const char *user,
const char *dsName, UInt_t option)
{
if (!TestBit(TDataSetManager::kAllowVerify))
return -1;
TFileCollection *dataset = GetDataSet(group, user, dsName);
if (!dataset)
return -1;
Int_t result = ScanDataSet(dataset, option);
if (result == 2) {
if (WriteDataSet(group, user, dsName, dataset) == 0) {
delete dataset;
return -2;
}
}
delete dataset;
return result;
}
Int_t TDataSetManagerFile::ScanDataSet(TFileCollection *dataset,
UInt_t option, Int_t filesmax)
{
if (!TestBit(TDataSetManager::kAllowVerify))
return -1;
Bool_t notify = (gDebug > 0 || (option & kDebug)) ? kTRUE : kFALSE;
Int_t maxFiles = ((option & kMaxFiles) && (filesmax > -1)) ? filesmax : -1;
if (maxFiles > -1 && notify)
Info("ScanDataSet", "processing a maximum of %d files", maxFiles);
Bool_t reopen = ((option & kReopen) || (option & kTouch)) ? kTRUE : kFALSE;
Bool_t touch = ((option & kTouch)) ? kTRUE : kFALSE;
fNTouchedFiles = 0;
fNOpenedFiles = 0;
fNDisappearedFiles = 0;
Bool_t changed = kFALSE;
TFileStager *stager = (!fMSSUrl.IsNull()) ? TFileStager::Open(fMSSUrl) : 0;
Bool_t createStager = (stager) ? kFALSE : kTRUE;
TList newStagedFiles;
TIter iter2(dataset->GetList());
TFileInfo *fileInfo = 0;
while ((fileInfo = dynamic_cast<TFileInfo*> (iter2.Next()))) {
fileInfo->ResetUrl();
if (!fileInfo->GetCurrentUrl()) {
Error("ScanDataSet", "GetCurrentUrl() is 0 for %s",
fileInfo->GetFirstUrl()->GetUrl());
continue;
}
if (fileInfo->TestBit(TFileInfo::kStaged)) {
if (fileInfo->TestBit(TFileInfo::kCorrupted)) continue;
if (!reopen) continue;
TUrl url(*(fileInfo->GetCurrentUrl()));
url.SetAnchor("");
if (notify && (fNTouchedFiles+fNDisappearedFiles) % 100 == 0)
Info("ScanDataSet",
"opening %d. file: %s", fNTouchedFiles+fNDisappearedFiles,
fileInfo->GetCurrentUrl()->GetUrl());
TFile *file = TFile::Open(Form("%s?filetype=raw&mxredir=2", url.GetUrl()));
if (file) {
if (touch) {
char tmpChar = 0;
file->ReadBuffer(&tmpChar, 1);
}
file->Close();
delete file;
fNTouchedFiles++;
} else {
if (notify)
Info("ScanDataSet", "file %s disappeared", url.GetUrl());
fileInfo->ResetBit(TFileInfo::kStaged);
fNDisappearedFiles++;
changed = kTRUE;
if (fileInfo->GetNUrls() > 1)
fileInfo->RemoveUrl(fileInfo->GetCurrentUrl()->GetUrl());
}
continue;
}
if (!TestBit(TDataSetManager::kAllowStaging)) continue;
if (maxFiles > 0 && newStagedFiles.GetEntries() >= maxFiles)
continue;
TUrl url(*(fileInfo->GetCurrentUrl()));
url.SetAnchor("");
stager = createStager ? TFileStager::Open(url.GetUrl()) : stager;
Bool_t result = kFALSE;
if (stager) {
result = stager->IsStaged(url.GetUrl());
if (notify && gDebug > 0)
Info("ScanDataSet", "IsStaged: %s: %d", url.GetUrl(), result);
if (createStager)
SafeDelete(stager);
} else {
Warning("ScanDataSet",
"could not get stager instance for '%s'", url.GetUrl());
}
if (!result) continue;
newStagedFiles.Add(fileInfo);
}
SafeDelete(stager);
if (notify && newStagedFiles.GetEntries() > 0)
Info("ScanDataSet",
"opening %d files that appear to be newly staged.",
newStagedFiles.GetEntries());
Bool_t oldStatus = TFile::GetOnlyStaged();
TFile::SetOnlyStaged(kTRUE);
Int_t count = 0;
TIter iter3(&newStagedFiles);
while ((fileInfo = dynamic_cast<TFileInfo*> (iter3.Next()))) {
if (notify && count++ % 100 == 0)
Info("ScanDataSet", "processing %d.'new' file: %s",
count, fileInfo->GetCurrentUrl()->GetUrl());
TUrl *url = fileInfo->GetCurrentUrl();
TFile *file = 0;
TUrl urlNoAnchor(*url);
urlNoAnchor.SetAnchor("");
urlNoAnchor.SetOptions("filetype=raw");
if (!(file = TFile::Open(urlNoAnchor.GetUrl())))
continue;
changed = kTRUE;
fileInfo->SetBit(TFileInfo::kStaged);
TUrl urlDiskServer(*url);
urlDiskServer.SetHost(file->GetEndpointUrl()->GetHost());
fileInfo->AddUrl(urlDiskServer.GetUrl(), kTRUE);
if (notify)
Info("ScanDataSet", "added URL %s", urlDiskServer.GetUrl());
if (file->GetSize() > 0)
fileInfo->SetSize(file->GetSize());
fileInfo->SetUUID(file->GetUUID().AsString());
file->Close();
delete file;
if (!(file = TFile::Open(url->GetUrl()))) {
if (notify)
Info("ScanDataSet", "marking %s as corrupt", url->GetUrl());
fileInfo->SetBit(TFileInfo::kCorrupted);
continue;
}
Int_t oldLevel = gErrorIgnoreLevel;
gErrorIgnoreLevel = kError+1;
if (file->GetListOfKeys()) {
TIter keyIter(file->GetListOfKeys());
TKey *key = 0;
while ((key = dynamic_cast<TKey*> (keyIter.Next()))) {
if (strcmp(key->GetClassName(), "TTree"))
continue;
TString keyStr;
keyStr.Form("/%s", key->GetName());
TFileInfoMeta *metaData = fileInfo->GetMetaData(keyStr);
if (!metaData) {
metaData = new TFileInfoMeta(keyStr, key->GetClassName());
fileInfo->AddMetaData(metaData);
if (notify)
Info("ScanDataSet", "created meta data for tree %s", keyStr.Data());
}
TTree *tree = dynamic_cast<TTree*> (file->Get(key->GetName()));
if (tree) {
if (tree->GetEntries() > 0)
metaData->SetEntries(tree->GetEntries());
if (tree->GetTotBytes() > 0)
metaData->SetTotBytes(tree->GetTotBytes());
if (tree->GetZipBytes() > 0)
metaData->SetZipBytes(tree->GetZipBytes());
}
}
}
gErrorIgnoreLevel = oldLevel;
file->Close();
delete file;
fNOpenedFiles++;
}
TFile::SetOnlyStaged(oldStatus);
dataset->RemoveDuplicates();
dataset->Update(fAvgFileSize);
Int_t result = (changed) ? 2 : 1;
if (result > 0 && notify)
Info("ScanDataSet", "%d files 'new'; %d files touched; %d files disappeared",
GetNOpenedFiles(), GetNTouchedFiles(), GetNDisapparedFiles());
return result;
}
TMap *TDataSetManagerFile::GetDataSets(const char *uri, UInt_t option)
{
TString dsUser, dsGroup;
if (((option & kPrint) || (option & kExport)) && strlen(uri) <= 0)
option |= kShowDefault;
if (ParseUri(uri, &dsGroup, &dsUser, 0, 0, kFALSE, kTRUE))
return GetDataSets(dsGroup, dsUser, option);
return (TMap *)0;
}
TFileCollection *TDataSetManagerFile::GetDataSet(const char *uri, const char *srv)
{
TString dsUser, dsGroup, dsName;
if (!ParseUri(uri, &dsGroup, &dsUser, &dsName))
return (TFileCollection *)0;
TFileCollection *fc = GetDataSet(dsGroup, dsUser, dsName);
if (fc && srv && strlen(srv) > 0) {
TFileCollection *sfc = 0;
TString ss(srv), s;
Int_t from = 0;
while (ss.Tokenize(s, from, ",")) {
TFileCollection *xfc = fc->GetFilesOnServer(s.Data());
if (xfc) {
if (sfc) {
sfc->Add(xfc);
delete xfc;
} else {
sfc = xfc;
}
}
}
delete fc;
fc = sfc;
}
return fc;
}
Bool_t TDataSetManagerFile::RemoveDataSet(const char *uri)
{
TString dsName;
if (TestBit(TDataSetManager::kAllowRegister)) {
if (ParseUri(uri, 0, 0, &dsName, 0, kTRUE)) {
Bool_t rc = RemoveDataSet(fGroup, fUser, dsName);
if (rc) return kTRUE;
Error("RemoveDataSet", "error removing dataset %s", dsName.Data());
}
}
return kFALSE;
}
Bool_t TDataSetManagerFile::ExistsDataSet(const char *uri)
{
TString dsUser, dsGroup, dsName;
if (ParseUri(uri, &dsGroup, &dsUser, &dsName))
return ExistsDataSet(dsGroup, dsUser, dsName);
return kFALSE;
}
void TDataSetManagerFile::UpdateUsedSpace()
{
fGroupUsed.DeleteAll();
fUserUsed.DeleteAll();
GetDataSets(0, 0, (UInt_t)kQuotaUpdate);
}
TDataSetManagerFile.cxx:1 TDataSetManagerFile.cxx:2 TDataSetManagerFile.cxx:3 TDataSetManagerFile.cxx:4 TDataSetManagerFile.cxx:5 TDataSetManagerFile.cxx:6 TDataSetManagerFile.cxx:7 TDataSetManagerFile.cxx:8 TDataSetManagerFile.cxx:9 TDataSetManagerFile.cxx:10 TDataSetManagerFile.cxx:11 TDataSetManagerFile.cxx:12 TDataSetManagerFile.cxx:13 TDataSetManagerFile.cxx:14 TDataSetManagerFile.cxx:15 TDataSetManagerFile.cxx:16 TDataSetManagerFile.cxx:17 TDataSetManagerFile.cxx:18 TDataSetManagerFile.cxx:19 TDataSetManagerFile.cxx:20 TDataSetManagerFile.cxx:21 TDataSetManagerFile.cxx:22 TDataSetManagerFile.cxx:23 TDataSetManagerFile.cxx:24 TDataSetManagerFile.cxx:25 TDataSetManagerFile.cxx:26 TDataSetManagerFile.cxx:27 TDataSetManagerFile.cxx:28 TDataSetManagerFile.cxx:29 TDataSetManagerFile.cxx:30 TDataSetManagerFile.cxx:31 TDataSetManagerFile.cxx:32 TDataSetManagerFile.cxx:33 TDataSetManagerFile.cxx:34 TDataSetManagerFile.cxx:35 TDataSetManagerFile.cxx:36 TDataSetManagerFile.cxx:37 TDataSetManagerFile.cxx:38 TDataSetManagerFile.cxx:39 TDataSetManagerFile.cxx:40 TDataSetManagerFile.cxx:41 TDataSetManagerFile.cxx:42 TDataSetManagerFile.cxx:43 TDataSetManagerFile.cxx:44 TDataSetManagerFile.cxx:45 TDataSetManagerFile.cxx:46 TDataSetManagerFile.cxx:47 TDataSetManagerFile.cxx:48 TDataSetManagerFile.cxx:49 TDataSetManagerFile.cxx:50 TDataSetManagerFile.cxx:51 TDataSetManagerFile.cxx:52 TDataSetManagerFile.cxx:53 TDataSetManagerFile.cxx:54 TDataSetManagerFile.cxx:55 TDataSetManagerFile.cxx:56 TDataSetManagerFile.cxx:57 TDataSetManagerFile.cxx:58 TDataSetManagerFile.cxx:59 TDataSetManagerFile.cxx:60 TDataSetManagerFile.cxx:61 TDataSetManagerFile.cxx:62 TDataSetManagerFile.cxx:63 TDataSetManagerFile.cxx:64 TDataSetManagerFile.cxx:65 TDataSetManagerFile.cxx:66 TDataSetManagerFile.cxx:67 TDataSetManagerFile.cxx:68 TDataSetManagerFile.cxx:69 TDataSetManagerFile.cxx:70 TDataSetManagerFile.cxx:71 TDataSetManagerFile.cxx:72 TDataSetManagerFile.cxx:73 TDataSetManagerFile.cxx:74 TDataSetManagerFile.cxx:75 TDataSetManagerFile.cxx:76 TDataSetManagerFile.cxx:77 TDataSetManagerFile.cxx:78 TDataSetManagerFile.cxx:79 TDataSetManagerFile.cxx:80 TDataSetManagerFile.cxx:81 TDataSetManagerFile.cxx:82 TDataSetManagerFile.cxx:83 TDataSetManagerFile.cxx:84 TDataSetManagerFile.cxx:85 TDataSetManagerFile.cxx:86 TDataSetManagerFile.cxx:87 TDataSetManagerFile.cxx:88 TDataSetManagerFile.cxx:89 TDataSetManagerFile.cxx:90 TDataSetManagerFile.cxx:91 TDataSetManagerFile.cxx:92 TDataSetManagerFile.cxx:93 TDataSetManagerFile.cxx:94 TDataSetManagerFile.cxx:95 TDataSetManagerFile.cxx:96 TDataSetManagerFile.cxx:97 TDataSetManagerFile.cxx:98 TDataSetManagerFile.cxx:99 TDataSetManagerFile.cxx:100 TDataSetManagerFile.cxx:101 TDataSetManagerFile.cxx:102 TDataSetManagerFile.cxx:103 TDataSetManagerFile.cxx:104 TDataSetManagerFile.cxx:105 TDataSetManagerFile.cxx:106 TDataSetManagerFile.cxx:107 TDataSetManagerFile.cxx:108 TDataSetManagerFile.cxx:109 TDataSetManagerFile.cxx:110 TDataSetManagerFile.cxx:111 TDataSetManagerFile.cxx:112 TDataSetManagerFile.cxx:113 TDataSetManagerFile.cxx:114 TDataSetManagerFile.cxx:115 TDataSetManagerFile.cxx:116 TDataSetManagerFile.cxx:117 TDataSetManagerFile.cxx:118 TDataSetManagerFile.cxx:119 TDataSetManagerFile.cxx:120 TDataSetManagerFile.cxx:121 TDataSetManagerFile.cxx:122 TDataSetManagerFile.cxx:123 TDataSetManagerFile.cxx:124 TDataSetManagerFile.cxx:125 TDataSetManagerFile.cxx:126 TDataSetManagerFile.cxx:127 TDataSetManagerFile.cxx:128 TDataSetManagerFile.cxx:129 TDataSetManagerFile.cxx:130 TDataSetManagerFile.cxx:131 TDataSetManagerFile.cxx:132 TDataSetManagerFile.cxx:133 TDataSetManagerFile.cxx:134 TDataSetManagerFile.cxx:135 TDataSetManagerFile.cxx:136 TDataSetManagerFile.cxx:137 TDataSetManagerFile.cxx:138 TDataSetManagerFile.cxx:139 TDataSetManagerFile.cxx:140 TDataSetManagerFile.cxx:141 TDataSetManagerFile.cxx:142 TDataSetManagerFile.cxx:143 TDataSetManagerFile.cxx:144 TDataSetManagerFile.cxx:145 TDataSetManagerFile.cxx:146 TDataSetManagerFile.cxx:147 TDataSetManagerFile.cxx:148 TDataSetManagerFile.cxx:149 TDataSetManagerFile.cxx:150 TDataSetManagerFile.cxx:151 TDataSetManagerFile.cxx:152 TDataSetManagerFile.cxx:153 TDataSetManagerFile.cxx:154 TDataSetManagerFile.cxx:155 TDataSetManagerFile.cxx:156 TDataSetManagerFile.cxx:157 TDataSetManagerFile.cxx:158 TDataSetManagerFile.cxx:159 TDataSetManagerFile.cxx:160 TDataSetManagerFile.cxx:161 TDataSetManagerFile.cxx:162 TDataSetManagerFile.cxx:163 TDataSetManagerFile.cxx:164 TDataSetManagerFile.cxx:165 TDataSetManagerFile.cxx:166 TDataSetManagerFile.cxx:167 TDataSetManagerFile.cxx:168 TDataSetManagerFile.cxx:169 TDataSetManagerFile.cxx:170 TDataSetManagerFile.cxx:171 TDataSetManagerFile.cxx:172 TDataSetManagerFile.cxx:173 TDataSetManagerFile.cxx:174 TDataSetManagerFile.cxx:175 TDataSetManagerFile.cxx:176 TDataSetManagerFile.cxx:177 TDataSetManagerFile.cxx:178 TDataSetManagerFile.cxx:179 TDataSetManagerFile.cxx:180 TDataSetManagerFile.cxx:181 TDataSetManagerFile.cxx:182 TDataSetManagerFile.cxx:183 TDataSetManagerFile.cxx:184 TDataSetManagerFile.cxx:185 TDataSetManagerFile.cxx:186 TDataSetManagerFile.cxx:187 TDataSetManagerFile.cxx:188 TDataSetManagerFile.cxx:189 TDataSetManagerFile.cxx:190 TDataSetManagerFile.cxx:191 TDataSetManagerFile.cxx:192 TDataSetManagerFile.cxx:193 TDataSetManagerFile.cxx:194 TDataSetManagerFile.cxx:195 TDataSetManagerFile.cxx:196 TDataSetManagerFile.cxx:197 TDataSetManagerFile.cxx:198 TDataSetManagerFile.cxx:199 TDataSetManagerFile.cxx:200 TDataSetManagerFile.cxx:201 TDataSetManagerFile.cxx:202 TDataSetManagerFile.cxx:203 TDataSetManagerFile.cxx:204 TDataSetManagerFile.cxx:205 TDataSetManagerFile.cxx:206 TDataSetManagerFile.cxx:207 TDataSetManagerFile.cxx:208 TDataSetManagerFile.cxx:209 TDataSetManagerFile.cxx:210 TDataSetManagerFile.cxx:211 TDataSetManagerFile.cxx:212 TDataSetManagerFile.cxx:213 TDataSetManagerFile.cxx:214 TDataSetManagerFile.cxx:215 TDataSetManagerFile.cxx:216 TDataSetManagerFile.cxx:217 TDataSetManagerFile.cxx:218 TDataSetManagerFile.cxx:219 TDataSetManagerFile.cxx:220 TDataSetManagerFile.cxx:221 TDataSetManagerFile.cxx:222 TDataSetManagerFile.cxx:223 TDataSetManagerFile.cxx:224 TDataSetManagerFile.cxx:225 TDataSetManagerFile.cxx:226 TDataSetManagerFile.cxx:227 TDataSetManagerFile.cxx:228 TDataSetManagerFile.cxx:229 TDataSetManagerFile.cxx:230 TDataSetManagerFile.cxx:231 TDataSetManagerFile.cxx:232 TDataSetManagerFile.cxx:233 TDataSetManagerFile.cxx:234 TDataSetManagerFile.cxx:235 TDataSetManagerFile.cxx:236 TDataSetManagerFile.cxx:237 TDataSetManagerFile.cxx:238 TDataSetManagerFile.cxx:239 TDataSetManagerFile.cxx:240 TDataSetManagerFile.cxx:241 TDataSetManagerFile.cxx:242 TDataSetManagerFile.cxx:243 TDataSetManagerFile.cxx:244 TDataSetManagerFile.cxx:245 TDataSetManagerFile.cxx:246 TDataSetManagerFile.cxx:247 TDataSetManagerFile.cxx:248 TDataSetManagerFile.cxx:249 TDataSetManagerFile.cxx:250 TDataSetManagerFile.cxx:251 TDataSetManagerFile.cxx:252 TDataSetManagerFile.cxx:253 TDataSetManagerFile.cxx:254 TDataSetManagerFile.cxx:255 TDataSetManagerFile.cxx:256 TDataSetManagerFile.cxx:257 TDataSetManagerFile.cxx:258 TDataSetManagerFile.cxx:259 TDataSetManagerFile.cxx:260 TDataSetManagerFile.cxx:261 TDataSetManagerFile.cxx:262 TDataSetManagerFile.cxx:263 TDataSetManagerFile.cxx:264 TDataSetManagerFile.cxx:265 TDataSetManagerFile.cxx:266 TDataSetManagerFile.cxx:267 TDataSetManagerFile.cxx:268 TDataSetManagerFile.cxx:269 TDataSetManagerFile.cxx:270 TDataSetManagerFile.cxx:271 TDataSetManagerFile.cxx:272 TDataSetManagerFile.cxx:273 TDataSetManagerFile.cxx:274 TDataSetManagerFile.cxx:275 TDataSetManagerFile.cxx:276 TDataSetManagerFile.cxx:277 TDataSetManagerFile.cxx:278 TDataSetManagerFile.cxx:279 TDataSetManagerFile.cxx:280 TDataSetManagerFile.cxx:281 TDataSetManagerFile.cxx:282 TDataSetManagerFile.cxx:283 TDataSetManagerFile.cxx:284 TDataSetManagerFile.cxx:285 TDataSetManagerFile.cxx:286 TDataSetManagerFile.cxx:287 TDataSetManagerFile.cxx:288 TDataSetManagerFile.cxx:289 TDataSetManagerFile.cxx:290 TDataSetManagerFile.cxx:291 TDataSetManagerFile.cxx:292 TDataSetManagerFile.cxx:293 TDataSetManagerFile.cxx:294 TDataSetManagerFile.cxx:295 TDataSetManagerFile.cxx:296 TDataSetManagerFile.cxx:297 TDataSetManagerFile.cxx:298 TDataSetManagerFile.cxx:299 TDataSetManagerFile.cxx:300 TDataSetManagerFile.cxx:301 TDataSetManagerFile.cxx:302 TDataSetManagerFile.cxx:303 TDataSetManagerFile.cxx:304 TDataSetManagerFile.cxx:305 TDataSetManagerFile.cxx:306 TDataSetManagerFile.cxx:307 TDataSetManagerFile.cxx:308 TDataSetManagerFile.cxx:309 TDataSetManagerFile.cxx:310 TDataSetManagerFile.cxx:311 TDataSetManagerFile.cxx:312 TDataSetManagerFile.cxx:313 TDataSetManagerFile.cxx:314 TDataSetManagerFile.cxx:315 TDataSetManagerFile.cxx:316 TDataSetManagerFile.cxx:317 TDataSetManagerFile.cxx:318 TDataSetManagerFile.cxx:319 TDataSetManagerFile.cxx:320 TDataSetManagerFile.cxx:321 TDataSetManagerFile.cxx:322 TDataSetManagerFile.cxx:323 TDataSetManagerFile.cxx:324 TDataSetManagerFile.cxx:325 TDataSetManagerFile.cxx:326 TDataSetManagerFile.cxx:327 TDataSetManagerFile.cxx:328 TDataSetManagerFile.cxx:329 TDataSetManagerFile.cxx:330 TDataSetManagerFile.cxx:331 TDataSetManagerFile.cxx:332 TDataSetManagerFile.cxx:333 TDataSetManagerFile.cxx:334 TDataSetManagerFile.cxx:335 TDataSetManagerFile.cxx:336 TDataSetManagerFile.cxx:337 TDataSetManagerFile.cxx:338 TDataSetManagerFile.cxx:339 TDataSetManagerFile.cxx:340 TDataSetManagerFile.cxx:341 TDataSetManagerFile.cxx:342 TDataSetManagerFile.cxx:343 TDataSetManagerFile.cxx:344 TDataSetManagerFile.cxx:345 TDataSetManagerFile.cxx:346 TDataSetManagerFile.cxx:347 TDataSetManagerFile.cxx:348 TDataSetManagerFile.cxx:349 TDataSetManagerFile.cxx:350 TDataSetManagerFile.cxx:351 TDataSetManagerFile.cxx:352 TDataSetManagerFile.cxx:353 TDataSetManagerFile.cxx:354 TDataSetManagerFile.cxx:355 TDataSetManagerFile.cxx:356 TDataSetManagerFile.cxx:357 TDataSetManagerFile.cxx:358 TDataSetManagerFile.cxx:359 TDataSetManagerFile.cxx:360 TDataSetManagerFile.cxx:361 TDataSetManagerFile.cxx:362 TDataSetManagerFile.cxx:363 TDataSetManagerFile.cxx:364 TDataSetManagerFile.cxx:365 TDataSetManagerFile.cxx:366 TDataSetManagerFile.cxx:367 TDataSetManagerFile.cxx:368 TDataSetManagerFile.cxx:369 TDataSetManagerFile.cxx:370 TDataSetManagerFile.cxx:371 TDataSetManagerFile.cxx:372 TDataSetManagerFile.cxx:373 TDataSetManagerFile.cxx:374 TDataSetManagerFile.cxx:375 TDataSetManagerFile.cxx:376 TDataSetManagerFile.cxx:377 TDataSetManagerFile.cxx:378 TDataSetManagerFile.cxx:379 TDataSetManagerFile.cxx:380 TDataSetManagerFile.cxx:381 TDataSetManagerFile.cxx:382 TDataSetManagerFile.cxx:383 TDataSetManagerFile.cxx:384 TDataSetManagerFile.cxx:385 TDataSetManagerFile.cxx:386 TDataSetManagerFile.cxx:387 TDataSetManagerFile.cxx:388 TDataSetManagerFile.cxx:389 TDataSetManagerFile.cxx:390 TDataSetManagerFile.cxx:391 TDataSetManagerFile.cxx:392 TDataSetManagerFile.cxx:393 TDataSetManagerFile.cxx:394 TDataSetManagerFile.cxx:395 TDataSetManagerFile.cxx:396 TDataSetManagerFile.cxx:397 TDataSetManagerFile.cxx:398 TDataSetManagerFile.cxx:399 TDataSetManagerFile.cxx:400 TDataSetManagerFile.cxx:401 TDataSetManagerFile.cxx:402 TDataSetManagerFile.cxx:403 TDataSetManagerFile.cxx:404 TDataSetManagerFile.cxx:405 TDataSetManagerFile.cxx:406 TDataSetManagerFile.cxx:407 TDataSetManagerFile.cxx:408 TDataSetManagerFile.cxx:409 TDataSetManagerFile.cxx:410 TDataSetManagerFile.cxx:411 TDataSetManagerFile.cxx:412 TDataSetManagerFile.cxx:413 TDataSetManagerFile.cxx:414 TDataSetManagerFile.cxx:415 TDataSetManagerFile.cxx:416 TDataSetManagerFile.cxx:417 TDataSetManagerFile.cxx:418 TDataSetManagerFile.cxx:419 TDataSetManagerFile.cxx:420 TDataSetManagerFile.cxx:421 TDataSetManagerFile.cxx:422 TDataSetManagerFile.cxx:423 TDataSetManagerFile.cxx:424 TDataSetManagerFile.cxx:425 TDataSetManagerFile.cxx:426 TDataSetManagerFile.cxx:427 TDataSetManagerFile.cxx:428 TDataSetManagerFile.cxx:429 TDataSetManagerFile.cxx:430 TDataSetManagerFile.cxx:431 TDataSetManagerFile.cxx:432 TDataSetManagerFile.cxx:433 TDataSetManagerFile.cxx:434 TDataSetManagerFile.cxx:435 TDataSetManagerFile.cxx:436 TDataSetManagerFile.cxx:437 TDataSetManagerFile.cxx:438 TDataSetManagerFile.cxx:439 TDataSetManagerFile.cxx:440 TDataSetManagerFile.cxx:441 TDataSetManagerFile.cxx:442 TDataSetManagerFile.cxx:443 TDataSetManagerFile.cxx:444 TDataSetManagerFile.cxx:445 TDataSetManagerFile.cxx:446 TDataSetManagerFile.cxx:447 TDataSetManagerFile.cxx:448 TDataSetManagerFile.cxx:449 TDataSetManagerFile.cxx:450 TDataSetManagerFile.cxx:451 TDataSetManagerFile.cxx:452 TDataSetManagerFile.cxx:453 TDataSetManagerFile.cxx:454 TDataSetManagerFile.cxx:455 TDataSetManagerFile.cxx:456 TDataSetManagerFile.cxx:457 TDataSetManagerFile.cxx:458 TDataSetManagerFile.cxx:459 TDataSetManagerFile.cxx:460 TDataSetManagerFile.cxx:461 TDataSetManagerFile.cxx:462 TDataSetManagerFile.cxx:463 TDataSetManagerFile.cxx:464 TDataSetManagerFile.cxx:465 TDataSetManagerFile.cxx:466 TDataSetManagerFile.cxx:467 TDataSetManagerFile.cxx:468 TDataSetManagerFile.cxx:469 TDataSetManagerFile.cxx:470 TDataSetManagerFile.cxx:471 TDataSetManagerFile.cxx:472 TDataSetManagerFile.cxx:473 TDataSetManagerFile.cxx:474 TDataSetManagerFile.cxx:475 TDataSetManagerFile.cxx:476 TDataSetManagerFile.cxx:477 TDataSetManagerFile.cxx:478 TDataSetManagerFile.cxx:479 TDataSetManagerFile.cxx:480 TDataSetManagerFile.cxx:481 TDataSetManagerFile.cxx:482 TDataSetManagerFile.cxx:483 TDataSetManagerFile.cxx:484 TDataSetManagerFile.cxx:485 TDataSetManagerFile.cxx:486 TDataSetManagerFile.cxx:487 TDataSetManagerFile.cxx:488 TDataSetManagerFile.cxx:489 TDataSetManagerFile.cxx:490 TDataSetManagerFile.cxx:491 TDataSetManagerFile.cxx:492 TDataSetManagerFile.cxx:493 TDataSetManagerFile.cxx:494 TDataSetManagerFile.cxx:495 TDataSetManagerFile.cxx:496 TDataSetManagerFile.cxx:497 TDataSetManagerFile.cxx:498 TDataSetManagerFile.cxx:499 TDataSetManagerFile.cxx:500 TDataSetManagerFile.cxx:501 TDataSetManagerFile.cxx:502 TDataSetManagerFile.cxx:503 TDataSetManagerFile.cxx:504 TDataSetManagerFile.cxx:505 TDataSetManagerFile.cxx:506 TDataSetManagerFile.cxx:507 TDataSetManagerFile.cxx:508 TDataSetManagerFile.cxx:509 TDataSetManagerFile.cxx:510 TDataSetManagerFile.cxx:511 TDataSetManagerFile.cxx:512 TDataSetManagerFile.cxx:513 TDataSetManagerFile.cxx:514 TDataSetManagerFile.cxx:515 TDataSetManagerFile.cxx:516 TDataSetManagerFile.cxx:517 TDataSetManagerFile.cxx:518 TDataSetManagerFile.cxx:519 TDataSetManagerFile.cxx:520 TDataSetManagerFile.cxx:521 TDataSetManagerFile.cxx:522 TDataSetManagerFile.cxx:523 TDataSetManagerFile.cxx:524 TDataSetManagerFile.cxx:525 TDataSetManagerFile.cxx:526 TDataSetManagerFile.cxx:527 TDataSetManagerFile.cxx:528 TDataSetManagerFile.cxx:529 TDataSetManagerFile.cxx:530 TDataSetManagerFile.cxx:531 TDataSetManagerFile.cxx:532 TDataSetManagerFile.cxx:533 TDataSetManagerFile.cxx:534 TDataSetManagerFile.cxx:535 TDataSetManagerFile.cxx:536 TDataSetManagerFile.cxx:537 TDataSetManagerFile.cxx:538 TDataSetManagerFile.cxx:539 TDataSetManagerFile.cxx:540 TDataSetManagerFile.cxx:541 TDataSetManagerFile.cxx:542 TDataSetManagerFile.cxx:543 TDataSetManagerFile.cxx:544 TDataSetManagerFile.cxx:545 TDataSetManagerFile.cxx:546 TDataSetManagerFile.cxx:547 TDataSetManagerFile.cxx:548 TDataSetManagerFile.cxx:549 TDataSetManagerFile.cxx:550 TDataSetManagerFile.cxx:551 TDataSetManagerFile.cxx:552 TDataSetManagerFile.cxx:553 TDataSetManagerFile.cxx:554 TDataSetManagerFile.cxx:555 TDataSetManagerFile.cxx:556 TDataSetManagerFile.cxx:557 TDataSetManagerFile.cxx:558 TDataSetManagerFile.cxx:559 TDataSetManagerFile.cxx:560 TDataSetManagerFile.cxx:561 TDataSetManagerFile.cxx:562 TDataSetManagerFile.cxx:563 TDataSetManagerFile.cxx:564 TDataSetManagerFile.cxx:565 TDataSetManagerFile.cxx:566 TDataSetManagerFile.cxx:567 TDataSetManagerFile.cxx:568 TDataSetManagerFile.cxx:569 TDataSetManagerFile.cxx:570 TDataSetManagerFile.cxx:571 TDataSetManagerFile.cxx:572 TDataSetManagerFile.cxx:573 TDataSetManagerFile.cxx:574 TDataSetManagerFile.cxx:575 TDataSetManagerFile.cxx:576 TDataSetManagerFile.cxx:577 TDataSetManagerFile.cxx:578 TDataSetManagerFile.cxx:579 TDataSetManagerFile.cxx:580 TDataSetManagerFile.cxx:581 TDataSetManagerFile.cxx:582 TDataSetManagerFile.cxx:583 TDataSetManagerFile.cxx:584 TDataSetManagerFile.cxx:585 TDataSetManagerFile.cxx:586 TDataSetManagerFile.cxx:587 TDataSetManagerFile.cxx:588 TDataSetManagerFile.cxx:589 TDataSetManagerFile.cxx:590 TDataSetManagerFile.cxx:591 TDataSetManagerFile.cxx:592 TDataSetManagerFile.cxx:593 TDataSetManagerFile.cxx:594 TDataSetManagerFile.cxx:595 TDataSetManagerFile.cxx:596 TDataSetManagerFile.cxx:597 TDataSetManagerFile.cxx:598 TDataSetManagerFile.cxx:599 TDataSetManagerFile.cxx:600 TDataSetManagerFile.cxx:601 TDataSetManagerFile.cxx:602 TDataSetManagerFile.cxx:603 TDataSetManagerFile.cxx:604 TDataSetManagerFile.cxx:605 TDataSetManagerFile.cxx:606 TDataSetManagerFile.cxx:607 TDataSetManagerFile.cxx:608 TDataSetManagerFile.cxx:609 TDataSetManagerFile.cxx:610 TDataSetManagerFile.cxx:611 TDataSetManagerFile.cxx:612 TDataSetManagerFile.cxx:613 TDataSetManagerFile.cxx:614 TDataSetManagerFile.cxx:615 TDataSetManagerFile.cxx:616 TDataSetManagerFile.cxx:617 TDataSetManagerFile.cxx:618 TDataSetManagerFile.cxx:619 TDataSetManagerFile.cxx:620 TDataSetManagerFile.cxx:621 TDataSetManagerFile.cxx:622 TDataSetManagerFile.cxx:623 TDataSetManagerFile.cxx:624 TDataSetManagerFile.cxx:625 TDataSetManagerFile.cxx:626 TDataSetManagerFile.cxx:627 TDataSetManagerFile.cxx:628 TDataSetManagerFile.cxx:629 TDataSetManagerFile.cxx:630 TDataSetManagerFile.cxx:631 TDataSetManagerFile.cxx:632 TDataSetManagerFile.cxx:633 TDataSetManagerFile.cxx:634 TDataSetManagerFile.cxx:635 TDataSetManagerFile.cxx:636 TDataSetManagerFile.cxx:637 TDataSetManagerFile.cxx:638 TDataSetManagerFile.cxx:639 TDataSetManagerFile.cxx:640 TDataSetManagerFile.cxx:641 TDataSetManagerFile.cxx:642 TDataSetManagerFile.cxx:643 TDataSetManagerFile.cxx:644 TDataSetManagerFile.cxx:645 TDataSetManagerFile.cxx:646 TDataSetManagerFile.cxx:647 TDataSetManagerFile.cxx:648 TDataSetManagerFile.cxx:649 TDataSetManagerFile.cxx:650 TDataSetManagerFile.cxx:651 TDataSetManagerFile.cxx:652 TDataSetManagerFile.cxx:653 TDataSetManagerFile.cxx:654 TDataSetManagerFile.cxx:655 TDataSetManagerFile.cxx:656 TDataSetManagerFile.cxx:657 TDataSetManagerFile.cxx:658 TDataSetManagerFile.cxx:659 TDataSetManagerFile.cxx:660 TDataSetManagerFile.cxx:661 TDataSetManagerFile.cxx:662 TDataSetManagerFile.cxx:663 TDataSetManagerFile.cxx:664 TDataSetManagerFile.cxx:665 TDataSetManagerFile.cxx:666 TDataSetManagerFile.cxx:667 TDataSetManagerFile.cxx:668 TDataSetManagerFile.cxx:669 TDataSetManagerFile.cxx:670 TDataSetManagerFile.cxx:671 TDataSetManagerFile.cxx:672 TDataSetManagerFile.cxx:673 TDataSetManagerFile.cxx:674 TDataSetManagerFile.cxx:675 TDataSetManagerFile.cxx:676 TDataSetManagerFile.cxx:677 TDataSetManagerFile.cxx:678 TDataSetManagerFile.cxx:679 TDataSetManagerFile.cxx:680 TDataSetManagerFile.cxx:681 TDataSetManagerFile.cxx:682 TDataSetManagerFile.cxx:683 TDataSetManagerFile.cxx:684 TDataSetManagerFile.cxx:685 TDataSetManagerFile.cxx:686 TDataSetManagerFile.cxx:687 TDataSetManagerFile.cxx:688 TDataSetManagerFile.cxx:689 TDataSetManagerFile.cxx:690 TDataSetManagerFile.cxx:691 TDataSetManagerFile.cxx:692 TDataSetManagerFile.cxx:693 TDataSetManagerFile.cxx:694 TDataSetManagerFile.cxx:695 TDataSetManagerFile.cxx:696 TDataSetManagerFile.cxx:697 TDataSetManagerFile.cxx:698 TDataSetManagerFile.cxx:699 TDataSetManagerFile.cxx:700 TDataSetManagerFile.cxx:701 TDataSetManagerFile.cxx:702 TDataSetManagerFile.cxx:703 TDataSetManagerFile.cxx:704 TDataSetManagerFile.cxx:705 TDataSetManagerFile.cxx:706 TDataSetManagerFile.cxx:707 TDataSetManagerFile.cxx:708 TDataSetManagerFile.cxx:709 TDataSetManagerFile.cxx:710 TDataSetManagerFile.cxx:711 TDataSetManagerFile.cxx:712 TDataSetManagerFile.cxx:713 TDataSetManagerFile.cxx:714 TDataSetManagerFile.cxx:715 TDataSetManagerFile.cxx:716 TDataSetManagerFile.cxx:717 TDataSetManagerFile.cxx:718 TDataSetManagerFile.cxx:719 TDataSetManagerFile.cxx:720 TDataSetManagerFile.cxx:721 TDataSetManagerFile.cxx:722 TDataSetManagerFile.cxx:723 TDataSetManagerFile.cxx:724 TDataSetManagerFile.cxx:725 TDataSetManagerFile.cxx:726 TDataSetManagerFile.cxx:727 TDataSetManagerFile.cxx:728 TDataSetManagerFile.cxx:729 TDataSetManagerFile.cxx:730 TDataSetManagerFile.cxx:731 TDataSetManagerFile.cxx:732 TDataSetManagerFile.cxx:733 TDataSetManagerFile.cxx:734 TDataSetManagerFile.cxx:735 TDataSetManagerFile.cxx:736 TDataSetManagerFile.cxx:737 TDataSetManagerFile.cxx:738 TDataSetManagerFile.cxx:739 TDataSetManagerFile.cxx:740 TDataSetManagerFile.cxx:741 TDataSetManagerFile.cxx:742 TDataSetManagerFile.cxx:743 TDataSetManagerFile.cxx:744 TDataSetManagerFile.cxx:745 TDataSetManagerFile.cxx:746 TDataSetManagerFile.cxx:747 TDataSetManagerFile.cxx:748 TDataSetManagerFile.cxx:749 TDataSetManagerFile.cxx:750 TDataSetManagerFile.cxx:751 TDataSetManagerFile.cxx:752 TDataSetManagerFile.cxx:753 TDataSetManagerFile.cxx:754 TDataSetManagerFile.cxx:755 TDataSetManagerFile.cxx:756 TDataSetManagerFile.cxx:757 TDataSetManagerFile.cxx:758 TDataSetManagerFile.cxx:759 TDataSetManagerFile.cxx:760 TDataSetManagerFile.cxx:761 TDataSetManagerFile.cxx:762 TDataSetManagerFile.cxx:763 TDataSetManagerFile.cxx:764 TDataSetManagerFile.cxx:765 TDataSetManagerFile.cxx:766 TDataSetManagerFile.cxx:767 TDataSetManagerFile.cxx:768 TDataSetManagerFile.cxx:769 TDataSetManagerFile.cxx:770 TDataSetManagerFile.cxx:771 TDataSetManagerFile.cxx:772 TDataSetManagerFile.cxx:773 TDataSetManagerFile.cxx:774 TDataSetManagerFile.cxx:775 TDataSetManagerFile.cxx:776 TDataSetManagerFile.cxx:777 TDataSetManagerFile.cxx:778 TDataSetManagerFile.cxx:779 TDataSetManagerFile.cxx:780 TDataSetManagerFile.cxx:781 TDataSetManagerFile.cxx:782 TDataSetManagerFile.cxx:783 TDataSetManagerFile.cxx:784 TDataSetManagerFile.cxx:785 TDataSetManagerFile.cxx:786 TDataSetManagerFile.cxx:787 TDataSetManagerFile.cxx:788 TDataSetManagerFile.cxx:789 TDataSetManagerFile.cxx:790 TDataSetManagerFile.cxx:791 TDataSetManagerFile.cxx:792 TDataSetManagerFile.cxx:793 TDataSetManagerFile.cxx:794 TDataSetManagerFile.cxx:795 TDataSetManagerFile.cxx:796 TDataSetManagerFile.cxx:797 TDataSetManagerFile.cxx:798 TDataSetManagerFile.cxx:799 TDataSetManagerFile.cxx:800 TDataSetManagerFile.cxx:801 TDataSetManagerFile.cxx:802 TDataSetManagerFile.cxx:803 TDataSetManagerFile.cxx:804 TDataSetManagerFile.cxx:805 TDataSetManagerFile.cxx:806 TDataSetManagerFile.cxx:807 TDataSetManagerFile.cxx:808 TDataSetManagerFile.cxx:809 TDataSetManagerFile.cxx:810 TDataSetManagerFile.cxx:811 TDataSetManagerFile.cxx:812 TDataSetManagerFile.cxx:813 TDataSetManagerFile.cxx:814 TDataSetManagerFile.cxx:815 TDataSetManagerFile.cxx:816 TDataSetManagerFile.cxx:817 TDataSetManagerFile.cxx:818 TDataSetManagerFile.cxx:819 TDataSetManagerFile.cxx:820 TDataSetManagerFile.cxx:821 TDataSetManagerFile.cxx:822 TDataSetManagerFile.cxx:823 TDataSetManagerFile.cxx:824 TDataSetManagerFile.cxx:825 TDataSetManagerFile.cxx:826 TDataSetManagerFile.cxx:827 TDataSetManagerFile.cxx:828 TDataSetManagerFile.cxx:829 TDataSetManagerFile.cxx:830 TDataSetManagerFile.cxx:831 TDataSetManagerFile.cxx:832 TDataSetManagerFile.cxx:833 TDataSetManagerFile.cxx:834 TDataSetManagerFile.cxx:835 TDataSetManagerFile.cxx:836 TDataSetManagerFile.cxx:837 TDataSetManagerFile.cxx:838 TDataSetManagerFile.cxx:839 TDataSetManagerFile.cxx:840 TDataSetManagerFile.cxx:841 TDataSetManagerFile.cxx:842 TDataSetManagerFile.cxx:843 TDataSetManagerFile.cxx:844 TDataSetManagerFile.cxx:845 TDataSetManagerFile.cxx:846 TDataSetManagerFile.cxx:847 TDataSetManagerFile.cxx:848 TDataSetManagerFile.cxx:849 TDataSetManagerFile.cxx:850 TDataSetManagerFile.cxx:851 TDataSetManagerFile.cxx:852 TDataSetManagerFile.cxx:853 TDataSetManagerFile.cxx:854 TDataSetManagerFile.cxx:855 TDataSetManagerFile.cxx:856 TDataSetManagerFile.cxx:857 TDataSetManagerFile.cxx:858 TDataSetManagerFile.cxx:859 TDataSetManagerFile.cxx:860 TDataSetManagerFile.cxx:861 TDataSetManagerFile.cxx:862 TDataSetManagerFile.cxx:863 TDataSetManagerFile.cxx:864 TDataSetManagerFile.cxx:865 TDataSetManagerFile.cxx:866 TDataSetManagerFile.cxx:867 TDataSetManagerFile.cxx:868 TDataSetManagerFile.cxx:869 TDataSetManagerFile.cxx:870 TDataSetManagerFile.cxx:871 TDataSetManagerFile.cxx:872 TDataSetManagerFile.cxx:873 TDataSetManagerFile.cxx:874 TDataSetManagerFile.cxx:875 TDataSetManagerFile.cxx:876 TDataSetManagerFile.cxx:877 TDataSetManagerFile.cxx:878 TDataSetManagerFile.cxx:879 TDataSetManagerFile.cxx:880 TDataSetManagerFile.cxx:881 TDataSetManagerFile.cxx:882 TDataSetManagerFile.cxx:883 TDataSetManagerFile.cxx:884 TDataSetManagerFile.cxx:885 TDataSetManagerFile.cxx:886 TDataSetManagerFile.cxx:887 TDataSetManagerFile.cxx:888 TDataSetManagerFile.cxx:889 TDataSetManagerFile.cxx:890 TDataSetManagerFile.cxx:891 TDataSetManagerFile.cxx:892 TDataSetManagerFile.cxx:893 TDataSetManagerFile.cxx:894 TDataSetManagerFile.cxx:895 TDataSetManagerFile.cxx:896 TDataSetManagerFile.cxx:897 TDataSetManagerFile.cxx:898 TDataSetManagerFile.cxx:899 TDataSetManagerFile.cxx:900 TDataSetManagerFile.cxx:901 TDataSetManagerFile.cxx:902 TDataSetManagerFile.cxx:903 TDataSetManagerFile.cxx:904 TDataSetManagerFile.cxx:905 TDataSetManagerFile.cxx:906 TDataSetManagerFile.cxx:907 TDataSetManagerFile.cxx:908 TDataSetManagerFile.cxx:909 TDataSetManagerFile.cxx:910 TDataSetManagerFile.cxx:911 TDataSetManagerFile.cxx:912 TDataSetManagerFile.cxx:913 TDataSetManagerFile.cxx:914 TDataSetManagerFile.cxx:915 TDataSetManagerFile.cxx:916 TDataSetManagerFile.cxx:917 TDataSetManagerFile.cxx:918 TDataSetManagerFile.cxx:919 TDataSetManagerFile.cxx:920 TDataSetManagerFile.cxx:921 TDataSetManagerFile.cxx:922 TDataSetManagerFile.cxx:923 TDataSetManagerFile.cxx:924 TDataSetManagerFile.cxx:925 TDataSetManagerFile.cxx:926 TDataSetManagerFile.cxx:927 TDataSetManagerFile.cxx:928 TDataSetManagerFile.cxx:929 TDataSetManagerFile.cxx:930 TDataSetManagerFile.cxx:931 TDataSetManagerFile.cxx:932 TDataSetManagerFile.cxx:933 TDataSetManagerFile.cxx:934 TDataSetManagerFile.cxx:935 TDataSetManagerFile.cxx:936 TDataSetManagerFile.cxx:937 TDataSetManagerFile.cxx:938 TDataSetManagerFile.cxx:939 TDataSetManagerFile.cxx:940 TDataSetManagerFile.cxx:941 TDataSetManagerFile.cxx:942 TDataSetManagerFile.cxx:943 TDataSetManagerFile.cxx:944 TDataSetManagerFile.cxx:945 TDataSetManagerFile.cxx:946 TDataSetManagerFile.cxx:947 TDataSetManagerFile.cxx:948 TDataSetManagerFile.cxx:949 TDataSetManagerFile.cxx:950 TDataSetManagerFile.cxx:951 TDataSetManagerFile.cxx:952 TDataSetManagerFile.cxx:953 TDataSetManagerFile.cxx:954 TDataSetManagerFile.cxx:955 TDataSetManagerFile.cxx:956 TDataSetManagerFile.cxx:957 TDataSetManagerFile.cxx:958 TDataSetManagerFile.cxx:959 TDataSetManagerFile.cxx:960 TDataSetManagerFile.cxx:961 TDataSetManagerFile.cxx:962 TDataSetManagerFile.cxx:963 TDataSetManagerFile.cxx:964 TDataSetManagerFile.cxx:965 TDataSetManagerFile.cxx:966 TDataSetManagerFile.cxx:967 TDataSetManagerFile.cxx:968 TDataSetManagerFile.cxx:969 TDataSetManagerFile.cxx:970 TDataSetManagerFile.cxx:971 TDataSetManagerFile.cxx:972 TDataSetManagerFile.cxx:973 TDataSetManagerFile.cxx:974 TDataSetManagerFile.cxx:975 TDataSetManagerFile.cxx:976 TDataSetManagerFile.cxx:977 TDataSetManagerFile.cxx:978 TDataSetManagerFile.cxx:979 TDataSetManagerFile.cxx:980 TDataSetManagerFile.cxx:981 TDataSetManagerFile.cxx:982 TDataSetManagerFile.cxx:983 TDataSetManagerFile.cxx:984 TDataSetManagerFile.cxx:985 TDataSetManagerFile.cxx:986 TDataSetManagerFile.cxx:987 TDataSetManagerFile.cxx:988 TDataSetManagerFile.cxx:989 TDataSetManagerFile.cxx:990 TDataSetManagerFile.cxx:991 TDataSetManagerFile.cxx:992 TDataSetManagerFile.cxx:993 TDataSetManagerFile.cxx:994 TDataSetManagerFile.cxx:995 TDataSetManagerFile.cxx:996 TDataSetManagerFile.cxx:997 TDataSetManagerFile.cxx:998 TDataSetManagerFile.cxx:999 TDataSetManagerFile.cxx:1000 TDataSetManagerFile.cxx:1001 TDataSetManagerFile.cxx:1002 TDataSetManagerFile.cxx:1003 TDataSetManagerFile.cxx:1004 TDataSetManagerFile.cxx:1005 TDataSetManagerFile.cxx:1006 TDataSetManagerFile.cxx:1007 TDataSetManagerFile.cxx:1008 TDataSetManagerFile.cxx:1009 TDataSetManagerFile.cxx:1010 TDataSetManagerFile.cxx:1011 TDataSetManagerFile.cxx:1012 TDataSetManagerFile.cxx:1013 TDataSetManagerFile.cxx:1014 TDataSetManagerFile.cxx:1015 TDataSetManagerFile.cxx:1016 TDataSetManagerFile.cxx:1017 TDataSetManagerFile.cxx:1018 TDataSetManagerFile.cxx:1019 TDataSetManagerFile.cxx:1020 TDataSetManagerFile.cxx:1021 TDataSetManagerFile.cxx:1022 TDataSetManagerFile.cxx:1023 TDataSetManagerFile.cxx:1024 TDataSetManagerFile.cxx:1025 TDataSetManagerFile.cxx:1026 TDataSetManagerFile.cxx:1027 TDataSetManagerFile.cxx:1028 TDataSetManagerFile.cxx:1029 TDataSetManagerFile.cxx:1030 TDataSetManagerFile.cxx:1031 TDataSetManagerFile.cxx:1032 TDataSetManagerFile.cxx:1033 TDataSetManagerFile.cxx:1034 TDataSetManagerFile.cxx:1035 TDataSetManagerFile.cxx:1036 TDataSetManagerFile.cxx:1037 TDataSetManagerFile.cxx:1038 TDataSetManagerFile.cxx:1039 TDataSetManagerFile.cxx:1040 TDataSetManagerFile.cxx:1041 TDataSetManagerFile.cxx:1042 TDataSetManagerFile.cxx:1043 TDataSetManagerFile.cxx:1044 TDataSetManagerFile.cxx:1045 TDataSetManagerFile.cxx:1046 TDataSetManagerFile.cxx:1047 TDataSetManagerFile.cxx:1048 TDataSetManagerFile.cxx:1049 TDataSetManagerFile.cxx:1050 TDataSetManagerFile.cxx:1051 TDataSetManagerFile.cxx:1052 TDataSetManagerFile.cxx:1053 TDataSetManagerFile.cxx:1054 TDataSetManagerFile.cxx:1055 TDataSetManagerFile.cxx:1056 TDataSetManagerFile.cxx:1057 TDataSetManagerFile.cxx:1058 TDataSetManagerFile.cxx:1059 TDataSetManagerFile.cxx:1060 TDataSetManagerFile.cxx:1061 TDataSetManagerFile.cxx:1062 TDataSetManagerFile.cxx:1063 TDataSetManagerFile.cxx:1064 TDataSetManagerFile.cxx:1065 TDataSetManagerFile.cxx:1066 TDataSetManagerFile.cxx:1067 TDataSetManagerFile.cxx:1068 TDataSetManagerFile.cxx:1069 TDataSetManagerFile.cxx:1070 TDataSetManagerFile.cxx:1071 TDataSetManagerFile.cxx:1072 TDataSetManagerFile.cxx:1073 TDataSetManagerFile.cxx:1074 TDataSetManagerFile.cxx:1075 TDataSetManagerFile.cxx:1076 TDataSetManagerFile.cxx:1077 TDataSetManagerFile.cxx:1078 TDataSetManagerFile.cxx:1079 TDataSetManagerFile.cxx:1080 TDataSetManagerFile.cxx:1081 TDataSetManagerFile.cxx:1082 TDataSetManagerFile.cxx:1083 TDataSetManagerFile.cxx:1084 TDataSetManagerFile.cxx:1085 TDataSetManagerFile.cxx:1086 TDataSetManagerFile.cxx:1087 TDataSetManagerFile.cxx:1088 TDataSetManagerFile.cxx:1089 TDataSetManagerFile.cxx:1090 TDataSetManagerFile.cxx:1091 TDataSetManagerFile.cxx:1092 TDataSetManagerFile.cxx:1093 TDataSetManagerFile.cxx:1094 TDataSetManagerFile.cxx:1095 TDataSetManagerFile.cxx:1096 TDataSetManagerFile.cxx:1097 TDataSetManagerFile.cxx:1098 TDataSetManagerFile.cxx:1099 TDataSetManagerFile.cxx:1100 TDataSetManagerFile.cxx:1101 TDataSetManagerFile.cxx:1102 TDataSetManagerFile.cxx:1103 TDataSetManagerFile.cxx:1104 TDataSetManagerFile.cxx:1105 TDataSetManagerFile.cxx:1106 TDataSetManagerFile.cxx:1107 TDataSetManagerFile.cxx:1108 TDataSetManagerFile.cxx:1109 TDataSetManagerFile.cxx:1110 TDataSetManagerFile.cxx:1111 TDataSetManagerFile.cxx:1112 TDataSetManagerFile.cxx:1113