diff --git a/src/main/java/org/jlab/clas/timeline/histograms/ChargeMon.java b/src/main/java/org/jlab/clas/timeline/histograms/ChargeMon.java new file mode 100644 index 000000000..be09a1837 --- /dev/null +++ b/src/main/java/org/jlab/clas/timeline/histograms/ChargeMon.java @@ -0,0 +1,16 @@ +package org.jlab.clas.timeline.histograms; + +import org.jlab.groot.data.TDirectory; +import org.jlab.detector.qadb.QadbBinSequence; + +/** + * @author dilks + */ +public class ChargeMon { + + public ChargeMon(QadbBinSequence qa_seq) + { + + } + +} diff --git a/src/main/java/org/jlab/clas/timeline/histograms/QadbBinData.java b/src/main/java/org/jlab/clas/timeline/histograms/QadbBinData.java new file mode 100644 index 000000000..8fa440896 --- /dev/null +++ b/src/main/java/org/jlab/clas/timeline/histograms/QadbBinData.java @@ -0,0 +1,19 @@ +package org.jlab.clas.timeline.histograms; + +import java.util.LinkedHashMap; +import java.util.Map; +import org.jlab.groot.group.DataGroup; + +/** + * @author dilks + */ +public class QadbBinData { + + Map mon = new LinkedHashMap(); + + public String toString() { + return """FIXME + """; + } + +} diff --git a/src/main/java/org/jlab/clas/timeline/run_histograms.java b/src/main/java/org/jlab/clas/timeline/run_histograms.java index 491a6b8c2..aad640fce 100644 --- a/src/main/java/org/jlab/clas/timeline/run_histograms.java +++ b/src/main/java/org/jlab/clas/timeline/run_histograms.java @@ -6,6 +6,9 @@ import java.util.*; import java.text.SimpleDateFormat; +import org.jlab.detector.qadb.QadbBinSequence; +import org.jlab.detector.qadb.QadbBin; + import org.jlab.io.base.DataEvent; import org.jlab.io.hipo.HipoDataSource; import org.jlab.groot.base.GStyle; @@ -32,32 +35,18 @@ public static void main(String[] args) { // get the dataset which contains this run number var dataset = RunDependentCut.findDataset(runNum); - //// instantiate histogramming classes - GeneralMon ana_mon = new GeneralMon(runNum,outputDir,EB,useTB); - DCandFTOF ana_dc_ftof = new DCandFTOF(runNum,outputDir,useTB); - CTOF ana_ctof = new CTOF(runNum,outputDir,useTB); - HTCC ana_htcc = new HTCC(runNum,outputDir); - LTCC ana_ltcc = new LTCC(runNum,outputDir,EB,useTB); - RICH ana_rich = new RICH(runNum,outputDir,EB,useTB); - CND ana_cnd = new CND(runNum,outputDir,useTB); - CVT ana_cvt = dataset != "rgl" ? new CVT() : null; - FT ana_ft = new FT(runNum,outputDir,useTB); - BAND ana_band = new BAND(runNum,outputDir,EB,useTB); - ALERT ana_alert = dataset == "rgl" ? new ALERT(runNum,outputDir,EB,useTB) : null; - helicity ana_helicity = new helicity(); - trigger ana_trigger = new trigger(); - - List toProcessFileNames = new ArrayList(); + // get list of input HIPO files + List input_file_list = new ArrayList(); File file = new File(filelist); Scanner read; try { read = new Scanner(file); - do { + do { String filename = read.next() .replaceAll("^file:", "") .replaceAll("^mss:", ""); if(runNum==0 || filename.contains(String.format("%d",runNum) ) ){ - toProcessFileNames.add(filename); + input_file_list.add(filename); System.out.println("adding "+filename); } @@ -68,22 +57,43 @@ public static void main(String[] args) { System.exit(100); } int progresscount = 0; - int filetot = toProcessFileNames.size(); + int filetot = input_file_list.size(); long startTime = System.currentTimeMillis(); long previousTime = System.currentTimeMillis(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); - for (String runstrg : toProcessFileNames) { + // QADB binning + QadbBinSequence qa_seq = new QadbBinSequence<>(input_file_list, 2000, (bin_num) -> new QadbBinData()); + + // instantiate histogramming classes + GeneralMon ana_mon = new GeneralMon(runNum,outputDir,EB,useTB); + DCandFTOF ana_dc_ftof = new DCandFTOF(runNum,outputDir,useTB); + CTOF ana_ctof = new CTOF(runNum,outputDir,useTB); + HTCC ana_htcc = new HTCC(runNum,outputDir); + LTCC ana_ltcc = new LTCC(runNum,outputDir,EB,useTB); + RICH ana_rich = new RICH(runNum,outputDir,EB,useTB); + CND ana_cnd = new CND(runNum,outputDir,useTB); + CVT ana_cvt = dataset != "rgl" ? new CVT() : null; + FT ana_ft = new FT(runNum,outputDir,useTB); + BAND ana_band = new BAND(runNum,outputDir,EB,useTB); + ALERT ana_alert = dataset == "rgl" ? new ALERT(runNum,outputDir,EB,useTB) : null; + helicity ana_helicity = new helicity(); + trigger ana_trigger = new trigger(); + // QADB mon histogramming + ChargeMon mon_charge = new ChargeMon(qa_seq); + + // loop over input HIPO files + for (String input_file : input_file_list) { progresscount++; - System.out.println(String.format(">>>>>>>>>>>>>>>> %s",runstrg)); - File varTmpDir = new File(runstrg); + System.out.println(String.format(">>>>>>>>>>>>>>>> %s",input_file)); + File varTmpDir = new File(input_file); if(!varTmpDir.exists()) { - System.err.println(String.format("ERROR: FILE DOES NOT EXIST: '%s'",runstrg)); + System.err.println(String.format("ERROR: FILE DOES NOT EXIST: '%s'",input_file)); continue; } - System.out.println("READING NOW "+runstrg); + System.out.println("READING NOW "+input_file); HipoDataSource reader = new HipoDataSource(); - reader.open(runstrg); + reader.open(input_file); while(reader.hasEvent()) { DataEvent event = reader.getNextEvent(); @@ -110,7 +120,7 @@ public static void main(String[] args) { elapsedTime = elapsedTime/1000; totalTime = totalTime/1000; Date date = new Date(); - System.out.println(count/1000 + "k events (this is all analysis on "+runstrg+") ; time : " + dateFormat.format(date) + " , last elapsed : " + elapsedTime + "s ; total elapsed : " + totalTime + "s ; progress : "+progresscount+"/"+filetot); + System.out.println(count/1000 + "k events (this is all analysis on "+input_file+") ; time : " + dateFormat.format(date) + " , last elapsed : " + elapsedTime + "s ; total elapsed : " + totalTime + "s ; progress : "+progresscount+"/"+filetot); previousTime = nowTime; } }