コード例 #1
0
ファイル: fanal_setup.py プロジェクト: next-exp/FANAL
    def __init__(self,
                 det_name           : str,
                 input_fname        : str,
                 output_fname       : str,
                 bb_analysis_params : BBAnalysisParams = None,
                 kr_analysis_params : KrAnalysisParams = None,
                 verbosity          : str = 'WARNING'
                ) :

        # The detector
        self.det_name = det_name
        self.detector = get_detector(self.det_name)

        # Input files
        self.input_fname  = input_fname
        self.input_fnames = sorted(glob.glob(self.input_fname))
        assert len(self.input_fnames) > 0, "Provided input files EMPTY"
        self.input_path   = os.path.dirname(self.input_fnames[0])

        # Output files
        self.output_fname = output_fname
        output_path = os.path.dirname(self.output_fname)
        if not os.path.isdir(output_path):
            print(f"  Making PATH {output_path}")
            os.makedirs(output_path)

        # Analysis params
        self.bb_analysis_params = bb_analysis_params
        self.kr_analysis_params = kr_analysis_params

        # The logger
        self.logger = get_logger('Fanal', verbosity)
コード例 #2
0
ファイル: logger_test.py プロジェクト: next-exp/FANAL
def test_logger():
    log_file_name = 'logger_test.log'
    logger = get_logger('Test Logger', logging.INFO, log_file_name)

    logger.warning('This is a warning message.')
    logger.info('This is an info message.')
    logger.debug('This is a debug message.')

    log_file = open(log_file_name, 'r')
    assert log_file.read() == 'Test Logger - This is a warning message.\n' + \
                                 'Test Logger - This is an info message.\n'
コード例 #3
0
from fanal.utils.logger          import get_logger
from fanal.utils.mc_utils        import get_event_numbers_in_file

from fanal.containers.events     import EventCounter
from fanal.containers.events     import EventList
from fanal.containers.tracks     import TrackList
from fanal.containers.voxels     import VoxelList
from fanal.containers.kryptons   import KryptonList

from fanal.analysis.bb_analysis  import analyze_bb_event
from fanal.analysis.kr_analysis  import analyze_kr_event



# The logger
logger = get_logger('Fanal')



def run_bb_analysis(detector     : Detector,
                    input_fnames : List[str],
                    output_fname : str,
                    params       : BBAnalysisParams
                   )            -> Tuple[pd.DataFrame,    # Event Counter
                                         pd.DataFrame,    # Event Data
                                         pd.DataFrame,    # Track Data
                                         pd.DataFrame] :  # Voxel Data:

    ### Data to collect
    all_events    = EventList()
    all_tracks    = TrackList()