19 #include "RConfigure.h"
31 ClassImp(TProofBenchDataSet);
36 TProofBenchDataSet::TProofBenchDataSet(TProof *proof)
38 fProof = proof ? proof : gProof;
46 Int_t TProofBenchDataSet::ReleaseCache(
const char *dset)
49 TPBHandleDSType type(TPBHandleDSType::kReleaseCache);
50 if (Handle(dset, &type) != 0) {
51 Error(
"ReleaseCache",
"problems clearing cache for '%s'", dset);
63 Int_t TProofBenchDataSet::RemoveFiles(
const char *dset)
66 TPBHandleDSType type(TPBHandleDSType::kRemoveFiles);
67 if (Handle(dset, &type) != 0) {
68 Error(
"RemoveFiles",
"problems removing files for '%s'", dset);
72 if (!fProof || (fProof && fProof->RemoveDataSet(dset) != 0)) {
73 Error(
"RemoveFiles",
"problems removing meta-information for dataset '%s'", dset);
84 Int_t TProofBenchDataSet::CopyFiles(
const char *dset,
const char *destdir)
87 if (!destdir || (destdir && strlen(destdir) <= 0)) {
88 Error(
"CopyFiles",
"specifying a destination dir is mandatory!");
93 if (fProof) fProof->SetParameter(
"PROOF_Benchmark_DestDir", destdir);
96 TPBHandleDSType type(TPBHandleDSType::kCopyFiles);
97 if (Handle(dset, &type) != 0) {
98 Error(
"CopyFiles",
"problems copying files for '%s'", dset);
111 Int_t TProofBenchDataSet::Handle(
const char *dset, TObject *type)
114 if (!dset || (dset && strlen(dset) <= 0)) {
115 Error(
"Handle",
"a valid dataset name is mandatory");
120 if (!fProof || (fProof && !fProof->ExistsDataSet(dset))) {
121 Error(
"Handle",
"dataset '%s' does not exist", dset);
126 TFileCollection *fc = fProof->GetDataSet(dset);
128 Error(
"Handle",
"TFileCollection object for dataset '%s' could not be retrieved", dset);
133 TMap *fcmap = fc->GetFilesPerServer(fProof->GetMaster(), kTRUE);
135 Error(
"Handle",
"could not create map with per-server info for dataset '%s'", dset);
141 TString selName(
"TSelHandleDataSet");
142 if (!TClass::GetClass(selName)) {
144 TString par = TString::Format(
"%s/%s%s.par", TROOT::GetEtcDir().Data(), kPROOF_BenchParDir, kPROOF_BenchDataSelPar);
145 Info(
"Handle",
"Uploading '%s' ...", par.Data());
146 if (fProof->UploadPackage(par) != 0) {
147 Error(
"Handle",
"problems uploading '%s' - cannot continue", par.Data());
150 Info(
"Handle",
"Enabling '%s' ...", kPROOF_BenchDataSelPar);
151 if (fProof->EnablePackage(kPROOF_BenchDataSelPar) != 0) {
152 Error(
"Handle",
"problems enabling '%s' - cannot continue", kPROOF_BenchDataSelPar);
156 if (!TClass::GetClass(selName)) {
157 Error(
"Handle",
"failed to load '%s'", selName.Data());
163 fcmap->SetName(
"PROOF_FilesToProcess");
164 fProof->AddInput(fcmap);
168 if (TProof::GetParameter(fProof->GetInputList(),
"PROOF_Packetizer", oldpack) != 0) oldpack =
"";
169 fProof->SetParameter(
"PROOF_Packetizer",
"TPacketizerFile");
172 fProof->AddInput(type);
173 fProof->Process(selName, (Long64_t) fc->GetNFiles());
174 if (fProof->GetInputList()) fProof->GetInputList()->Remove(type);
177 if (!oldpack.IsNull())
178 fProof->SetParameter(
"PROOF_Packetizer", oldpack);
180 fProof->DeleteParameters(
"PROOF_Packetizer");
183 fProof->GetInputList()->Remove(fcmap);