/////////////////////////////////////////////////////////////////////////////// TOfflineMon* gOfflineMon; int offline_monitor() { gOfflineMon = new TOfflineMon; //----------------------------------------------------------------------------- // configure monitoring //----------------------------------------------------------------------------- TOfflineMonitor* mon; cout<<"---------------------------------------------------------------"<Getenv("OFFLINE_MON_DIR"); // parsFile = TString(mon_dir) + "/GlobalMonitor/Enabled.dat"; // FILE* fIn = fopen(parsFile.Data(),"r"); // while(fscanf(fIn,"%s %d", dummy, &mask)!=EOF) { // if(strncmp(dummy,"ENSTORE",7)==0 && mask==1) fEnstoreEnabled=false; // if(strncmp(dummy,"CALIBS",6)==0 && mask==1) fCalibrationsEnabled=false; // if(strncmp(dummy,"ANADCACHE",9)==0 && mask==1) fDCacheEnabled=false; // if(strncmp(dummy,"CONDORCAF",9)==0 && mask==1) fCafCondorEnabled=false; // if(strncmp(dummy,"GROUPCAF",8)==0 && mask==1) fCafGroupEnabled=false; // } // 1) Enstore // if(fEnstoreEnabled) { mon = new TEnstoreMonitor("EnstoreMonitor"); mon->SetInputDirName("/cdf/data58/s0/production/monitor/enstore/"); mon->SetNtupleFileName("/cdf/data58/s0/production/monitor/ntuples/enstore"); gOfflineMon->AddMonitor(mon); // } // only if enabled // 2) dCache // if(fDCacheEnabled) { mon = new TDCacheMonitor("DCacheMonitor"); mon->SetInputDirName("/cdf/data58/s0/production/monitor/dCache/"); mon->SetNtupleFileName("/cdf/data58/s0/production/monitor/ntuples/dCache"); gOfflineMon->AddMonitor(mon); // } // only if enabled // 3) Condor Caf // if(fCafCondorEnabled) { mon = new TCafCondorMonitor("CafCondorMonitor"); mon->SetInputDirName("/cdf/data58/s0/production/monitor/CAFcondor/"); mon->SetNtupleFileName("/cdf/data58/s0/production/monitor/ntuples/cafcondor.root"); gOfflineMon->AddMonitor(mon); // } // 4) Group Caf // if(fCafGroupEnabled) { mon = new TCafGroupMonitor("CafGroupMonitor"); mon->SetInputDirName("/cdf/data58/s0/production/monitor/CAFgroup/"); mon->SetNtupleFileName("/cdf/data58/s0/production/monitor/ntuples/cafgroup.root"); gOfflineMon->AddMonitor(mon); // } // only if enabled // 5) Calibrations // if(fCalibrationsEnabled) { mon = new TCalibrationsMonitor("CalibrationsMonitor"); mon->SetInputDirName("/cdf/home/cdfopr/www/calibrations/"); gOfflineMon->AddMonitor(mon); // } // only if enabled // last) Global mon = new TGlobalMonitor("GlobalMonitor"); mon->SetInputDirName("/cdf/data58/s0/production/monitor/global/"); mon->SetNtupleFileName("/cdf/data58/s0/production/monitor/ntuples/global.root"); gOfflineMon->AddMonitor(mon); //----------------------------------------------------------------------------- // configure monitoring //----------------------------------------------------------------------------- gOfflineMon->Init(); cout<<"Init done"<UpdateNtuple(); cout<<"UpdateNtuple done"<MakePlots(); cout<<"MakePlots done"<MakeHtml (); cout<<"MakeHtml done"<