12 #ifndef ROOT_TProofBenchRunDataRead 
   13 #define ROOT_TProofBenchRunDataRead 
   37 class TFileCollection;
 
   39 class TProofBenchMode;
 
   40 class TProofBenchDataSet;
 
   44 class TProofBenchRunDataRead : 
public TProofBenchRun {
 
   49    TPBReadType *fReadType; 
 
   50    TProofBenchDataSet *fDS;              
 
   61    TDirectory  *fDirProofBench;   
 
   65    TList        *fListPerfPlots;            
 
   66    TProfile     *fProfile_perfstat_event;
 
   67    TH2          *fHist_perfstat_event;
 
   68    TProfile     *fProfile_perfstat_evtmax;
 
   69    TProfile     *fNorm_perfstat_evtmax;
 
   70    TProfile     *fProfile_queryresult_event;
 
   71    TProfile     *fNorm_queryresult_event;
 
   72    TProfile     *fProfile_perfstat_IO;
 
   73    TH2          *fHist_perfstat_IO;
 
   74    TProfile     *fProfile_perfstat_IOmax;
 
   75    TProfile     *fNorm_perfstat_IOmax;
 
   76    TProfile     *fProfile_queryresult_IO;
 
   77    TProfile     *fNorm_queryresult_IO;
 
   78    TProfile     *fProfile_cpu_eff;
 
   80    TLegend     *fProfLegend_evt;            
 
   81    TLegend     *fNormLegend_evt;            
 
   82    TLegend     *fProfLegend_mb;            
 
   83    TLegend     *fNormLegend_mb;            
 
   85    TCanvas *fCPerfProfiles;      
 
   89    void BuildHistos(Int_t start, Int_t stop, Int_t step, Bool_t nx);
 
   93    void FillPerfStatProfiles(TTree* t, Int_t nactive);
 
   95    Int_t SetParameters();
 
   96    Int_t DeleteParameters();
 
  100    TProofBenchRunDataRead(TProofBenchDataSet *pbds, TPBReadType *readtype = 0,
 
  101                           TDirectory* dirproofbench=0, TProof* proof=0, TProofNodes* nodes=0,
 
  102                           Long64_t nevents=-1, Int_t ntries=2, Int_t start=1, Int_t stop=-1,
 
  103                           Int_t step=1, Int_t debug=0);
 
  105    virtual ~TProofBenchRunDataRead();
 
  107    void Run(Long64_t, Int_t, Int_t, Int_t, Int_t, Int_t, Int_t) { }
 
  108    void Run(
const char *dset, Int_t start, Int_t stop, Int_t step, Int_t ntries,
 
  111    TFileCollection *GetDataSet(
const char *dset, Int_t nact, Bool_t nx);
 
  113    void DrawPerfProfiles();
 
  115    void Print(Option_t* option=
"") 
const;
 
  117    void SetReadType(TPBReadType *readtype) { fReadType = readtype; }
 
  118    void SetNEvents(Long64_t nevents) { fNEvents = nevents; }
 
  119    void SetNTries(Int_t ntries) { fNTries = ntries; }
 
  120    void SetStart(Int_t start) { fStart = start; }
 
  121    void SetStop(Int_t stop) { fStop = stop; }
 
  122    void SetStep(Int_t step) { fStep = step; }
 
  123    void SetDebug(Int_t debug) { fDebug = debug; }
 
  124    void SetDirProofBench(TDirectory* dir) { fDirProofBench = dir; }
 
  125    void SetFilesPerWrk(Int_t fpw) { fFilesPerWrk = fpw; }
 
  126    void SetReleaseCache(Bool_t on = kTRUE) { fReleaseCache = on; }
 
  128    TPBReadType *GetReadType()
 const { 
return fReadType; }
 
  129    Long64_t GetNEvents()
 const { 
return fNEvents; }
 
  130    Int_t GetNTries()
 const { 
return fNTries; }
 
  131    Int_t GetStart()
 const { 
return fStart; }
 
  132    Int_t GetStop()
 const { 
return fStop; }
 
  133    Int_t GetStep()
 const { 
return fStep; }
 
  134    Int_t GetDebug()
 const { 
return fDebug; }
 
  135    TDirectory* GetDirProofBench()
 const { 
return fDirProofBench; }
 
  136    TCanvas* GetCPerfProfiles()
 const { 
return fCPerfProfiles; }
 
  137    const char* GetName()
 const { 
return fName; }
 
  139    TString GetNameStem() 
const;
 
  141    ClassDef(TProofBenchRunDataRead,0)