// #include "TTree.h" #include "TBranch.h" #include "TFile.h" #include "TSystem.h" #include "OfflineMon/TEncpMon.hh" ClassImp(TEncpMon) //_____________________________________________________________________________ TEncpMon::TEncpMon() { fData = new TEncpData(); fEnstoreUrl = new TUrl("http://www-cdfen.fnal.gov/enstore/encp_enstore_system.html"); } //_____________________________________________________________________________ TEncpMon::~TEncpMon() { delete fData; delete fEnstoreUrl; } //_____________________________________________________________________________ int TEncpMon::ParseUrl(const char* Fn1, const char* Fn2) { TString cmd; cmd = Form("%s/cdfopr/scripts/parse_encp_history %s > %s", gSystem->Getenv("WORK_DIR"),Fn1,Fn2); int rc = gSystem->Exec(cmd.Data()); return rc; } //_____________________________________________________________________________ int TEncpMon::UpdateNtuple(const char* AsciiFile, const char* RootFile) { TFile* ntuple_file = new TFile(RootFile,"recreate"); TTree* tree = new TTree("encp","encp"); TBranch* br = tree->Branch("encp","TEncpData", &fData); //----------------------------------------------------------------------------- // read the data file and fill the ntuple //----------------------------------------------------------------------------- FILE* f = fopen(AsciiFile,"r"); char c[200]; int nmax = 200; //----------------------------------------------------------------------------- // first line: names of the streams, first - input, the rest output //----------------------------------------------------------------------------- // 1140032930 by031f87.0057mcl0 1444480882 cdfenmvr25a IA4218 147 1408.63 91.68 0.03 1501.29 0 20.20 30.90 45.80 15.00 15.00 int date; char filename[100], mover[100], tape_label[100]; while (fgets(c,nmax,f) > 0) { sscanf(c,"%i %s %i %s %s %i %f %f %f %f %i %f %f %f %f %f", &date, filename, &fData->fFileSize, mover, tape_label, &fData->fFileNumber, &fData->fQWaitTime, &fData->fTransferTime, &fData->fSeekTime, &fData->fTimeToNow, &fData->fRc, &fData->fDiskRate, &fData->fDriveRate, &fData->fNetworkRate, &fData->fTransferRate, &fData->fOverallRate); fData->fDate = date; fData->fServer = "fncdfsrv6"; fData->fUser = "cdfopr"; fData->fFileName = filename; fData->fMover = mover; fData->fTapeLabel = tape_label; fData->fRW = 2; tree->Fill(); } ntuple_file->Write(); delete ntuple_file; return 0; }