diff --git a/app/CalibADC/analyze_output.o b/app/CalibADC/analyze_output.o new file mode 100644 index 00000000..15b6dbf2 Binary files /dev/null and b/app/CalibADC/analyze_output.o differ diff --git a/app/Supera/APILArLite/supera.fcl b/app/Supera/APILArLite/supera.fcl index b253cf7c..6528499d 120000 --- a/app/Supera/APILArLite/supera.fcl +++ b/app/Supera/APILArLite/supera.fcl @@ -1 +1 @@ -/Users/kazuhiro/PlayGit/LArCV/app/Supera/larfmwk_shared/supera.fcl \ No newline at end of file +/Users/erezcohen/larcv/app/Supera/larfmwk_shared/supera.fcl \ No newline at end of file diff --git a/mac/pyrgb/display/rgbdisplay.py b/mac/pyrgb/display/rgbdisplay.py index 41c16e77..422f196b 100644 --- a/mac/pyrgb/display/rgbdisplay.py +++ b/mac/pyrgb/display/rgbdisplay.py @@ -35,13 +35,16 @@ class RGBDisplay(QtGui.QWidget): def __init__(self, argv): + print "# super" super(RGBDisplay, self).__init__() + print "# RGBDisplay" # DataManager for loading the plot image self.dm = DataManager(argv) + print "# self.dm" # Size the canvas - self.resize(1200, 700) + self.resize(800,600)#1200, 700) # Graphics window which will hold the image self.win = pg.GraphicsWindow() @@ -69,7 +72,7 @@ def __init__(self, argv): self.layout.addLayout(self.lay_inputs, 2, 0) - + print "# Navigation box" # ------------------------------------------------------- # Navigation box self._makeNavFrame() @@ -340,22 +343,28 @@ def prepare_rse_navigation(self): def openCaffe(self): if re.search("Disable", self.rgbcaffe.text()) is None: self.rgbcaffe.setText("Disable RGBCaffe") - self.resize(1200, 900) +# self.resize(1200, 900) + self.resize(800, 600) self.layout.addLayout(self.caffe_layout.grid(True), 5, 0) else: self.rgbcaffe.setText("Enable RGBCaffe") self.layout.removeItem(self.caffe_layout.grid(False)) - self.resize(1200, 700) +# self.resize(1200, 700) + self.resize(800, 600) + def openROITool(self): if re.search("Disable", self.rgbroi.text()) is None: self.rgbroi.setText("Disable ROITool") - self.resize(1200, 1000) +# self.resize(1200, 1000) + self.resize(800, 600) self.layout.addLayout(self.roitool_layout.grid(True), 5, 0) else: self.rgbroi.setText("Enable ROITool") self.layout.removeItem(self.roitool_layout.grid(False)) - self.resize(1200, 700) +# self.resize(1200, 700) + self.resize(800, 600) + # opencv editor, if/els statement is for opening and closing the pane def openCVEditor(self): @@ -364,14 +373,18 @@ def openCVEditor(self): if re.search("Disable", self.rgbcv2.text()) is None: self.rgbcv2.setText("Disable OpenCV") - self.resize(1200, 900) +# self.resize(1200, 900) + self.resize(800, 600) + self.layout.addLayout(self.cv2_layout.grid(True), 5, 0) self.plt.addItem(self.swindow) self.cv2_enabled = True else: self.rgbcv2.setText("Enable OpenCV") self.layout.removeItem(self.cv2_layout.grid(False)) - self.resize(1200, 700) +# self.resize(1200, 700) + self.resize(800, 600) + self.plt.removeItem(self.swindow) self.cv2_enabled = False @@ -535,8 +548,10 @@ def plotData(self): self.image_producer, self.roi_producer, self.views) - - + # Erez, Aug-05, 2016 + print "TTree entry number ",self.rse_map[self.wanted_rse] + self.event.setText("%d"%(self.rse_map[self.wanted_rse])) + else: # original way # get the image from the datamanager self.image, hasroi = self.dm.get_event_image(event, diff --git a/mac/pyrgb/display/roilayout.py b/mac/pyrgb/display/roilayout.py index 628ccb8b..014d996e 100644 --- a/mac/pyrgb/display/roilayout.py +++ b/mac/pyrgb/display/roilayout.py @@ -400,8 +400,10 @@ def _makeFileFrame(self): self.input_prod_label.setFixedWidth(60) self.output_prod_label.setFixedWidth(60) - self.input_roi = QtGui.QLineEdit("ROI filename") - self.input_roi_producer = QtGui.QLineEdit("ROI producer") + # i hard coded these lines just because i love retyping the production file name so much every time... + self.input_roi = QtGui.QLineEdit("ROI filename") #"/Users/erezcohen/Desktop/uBoone/EXTBNB_DATA/larcv_files/roi_files/roi_9131runs_multipscore0.95_595evts_03082016.root" + self.input_roi_producer = QtGui.QLineEdit("protonBDT")#"ROI producer") + # -------------------------------------------------------------------------------------------------------- self.input_prod = None self.output_roi = QtGui.QLineEdit("ROI filename") @@ -435,21 +437,52 @@ def reloadROI(self): event = int(self.event.text()) rse = ( self.dm.run, self.dm.subrun, self.dm.event ) + + # Aug-05, 2016 + # i (erez) modified the following lines to synchronize ROIs navigation with RGB navigation based on Rub/Sub/Evt + # please go over them to see if its efficient and so on... + # --------------------------------------------------------------------------------------------- + print "in reloadROI, self.user_rois.keys() = ",self.user_rois.keys() + wanted_rse = [int(self.run.text()), int(self.subrun.text()), int(self.event_num.text())] + print "the RGB image that is loaded is (r/s/e): ",wanted_rse +# print "user ROIs: ", self.user_rois + print "event: ",event + # If no user ROIs, look through imported ROIs if event not in self.user_rois.keys(): - - if rse in self.imported_rse_dict: - print "rse in imported list ",rse - idx = self.imported_rse_dict[rse] - self.in_iom.read_entry(idx) - roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod) - self.user_rois_larcv[event] = [roi for roi in roiarray.ROIArray()] - print "reloading ",self.user_rois_larcv[event]," from file" - self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event]) - else: - print rse," not in user_rois nor in imported dict." - return + print "event not in self.user_rois.keys(): ",event + + # if we dont have this event already in our list, + # go over the TTree entries + for entry in range(self.in_iom.get_n_entries()): + read_entry = self.in_iom.read_entry(entry) + event_base = self.in_iom.get_data(larcv.kProductROI,"protonBDT") + curren_rse = [event_base.run(),event_base.subrun(),event_base.event()] + + # and if we find this event + if curren_rse == wanted_rse: + roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod) + self.user_rois_larcv[entry] = [roi for roi in roiarray.ROIArray()] + print "reloading ",self.user_rois_larcv[entry]," from file, entry ",entry,", rse ", wanted_rse + self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event]) + + +# the previous code block (Aug-05,2016) +# --------------------------------------------------------------------------------------------- +# if rse in self.imported_rse_dict: +# print "rse in imported list ",rse +# idx = self.imported_rse_dict[rse] +# self.in_iom.read_entry(idx) +# roiarray = self.in_iom.get_data(larcv.kProductROI,self.input_prod) +# self.user_rois_larcv[event] = [roi for roi in roiarray.ROIArray()] +# print "reloading ",self.user_rois_larcv[event]," from file" +# self.user_rois[event] = self.larcv2roi(self.user_rois_larcv[event]) +# else: +# print rse," not in user_rois nor in imported dict." +# return +# --------------------------------------------------------------------------------------------- + # set to active rois self.rois = self.user_rois[event] print "active rois: ",len(self.rois) diff --git a/mac/pyrgb/lib/datamanager.py b/mac/pyrgb/lib/datamanager.py index 8450bf2c..82659d24 100644 --- a/mac/pyrgb/lib/datamanager.py +++ b/mac/pyrgb/lib/datamanager.py @@ -14,21 +14,19 @@ class DataManager(object): def __init__(self,argv): - + self.iom = IOManager(argv) self.keys ={} self.IF = ImageFactory() - + # get keys from rootfile, iterate over the enum # and see what's in the root file for i in xrange(larcv.kProductUnknown): product = larcv.ProductName(i) - self.keys[product] = [] - producers=self.iom.iom.producer_list(i) - + for p in producers: self.keys[product].append(p) @@ -36,7 +34,7 @@ def __init__(self,argv): self.run = -1 self.subrun = -1 self.event = -1 - + def get_nchannels(self,ii,imgprod) : # Sorry Vic I hacked this diff --git a/production/v05/supera_bnb.cfg b/production/v05/supera_bnb.cfg index 25965913..1a2950a9 100644 --- a/production/v05/supera_bnb.cfg +++ b/production/v05/supera_bnb.cfg @@ -11,9 +11,9 @@ Supera: { OpDigitProducer: "pmtreadout" MCRecoProducer: "mcreco" GenProducer: "generator" - MinTime: 2400 + MinTime: 0 # 2400 MinWire: 0 - ShiftTPCTick: 2400 + ShiftTPCTick: 0 # 2400 #EventImageRows: [6048,6048,6048] #EventImageRows: [1008,1008,1008] #EventImageCols: [3456,3456,3456] diff --git a/python/larcv/__init__.py b/python/larcv/__init__.py index 35df7a8c..93df4da6 100644 --- a/python/larcv/__init__.py +++ b/python/larcv/__init__.py @@ -8,7 +8,8 @@ larcv_dir = os.environ['LARCV_LIBDIR'] for l in [x for x in os.listdir(larcv_dir) if x.endswith('.so')]: ROOT.gSystem.Load(l) -from larcv import larcv +from ROOT import larcv +#from larcv import larcv k=larcv.logger # this line to load C++ functions if 'LARCV_NUMPY' in os.environ and os.environ['LARCV_NUMPY'] == '1': larcv.load_pyutil