def run(): """ Analyze data from the MICE experiment This reads in and processes data taken from the MICE experiment. """ # Set up data cards. data_cards_list = [] data_cards_list.append("output_file_name='scalers'\n") # Convert data_cards to string. data_cards = io.StringIO(unicode("".join(data_cards_list))) # Set up the input that reads from DAQ my_input = MAUS.InputCppDAQOfflineData() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() my_map.append(MAUS.MapCppTOFDigits()) my_map.append(MAUS.MapCppTOFSlabHits()) my_map.append(MAUS.MapCppTOFSpacePoints()) # Histogram reducer. reducer = MAUS.ReducePyScalersTable() # Save images as EPS and meta-data as JSON. output_worker = MAUS.OutputPyFile() # Run the workflow. MAUS.Go(my_input, my_map, reducer, output_worker, data_cards)
def run(): """ Run the macro """ # This input generates empty spills, to be filled by the beam maker later on my_input = MAUS.InputPySpillGenerator() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() my_map.append(MAUS.MapPyBeamMaker()) # beam construction my_map.append(MAUS.MapCppSimulation()) # geant4 simulation my_map.append(MAUS.MapCppTOFMCDigitizer()) # TOF MC Digitizer my_map.append(MAUS.MapCppTOFSlabHits()) # TOF SlabHit Reco my_map.append(MAUS.MapCppTOFSpacePoints()) # TOF SpacePoint Reco #my_map.append(MAUS.MapCppTrackerRecon()) # SciFi recon # can specify datacards here or by using appropriate command line calls datacards = io.StringIO(u"") reducer = MAUS.ReducePyDoNothing() # Then construct a MAUS output component - filename comes from datacards my_output = MAUS.OutputPyJSON() # The Go() drives all the components you pass in, then check the file # (default simulation.out) for output MAUS.Go(my_input, my_map, reducer, my_output, datacards)
def run(): """ Run the macro """ # Use the G4BL JSON chunks as an input to the simulation my_input = MAUS.InputPyJSON() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # No need for the beam maker, as we use G4BL chunks # my_map.append(MAUS.MapPyBeamMaker()) # beam construction # Run the GEANT4 simulation my_map.append(MAUS.MapCppSimulation()) # geant4 simulation # Pre detector set up my_map.append(MAUS.MapCppMCReconSetup()) # geant4 simulation # TOF my_map.append(MAUS.MapCppTOFMCDigitizer()) # TOF MC Digitizer my_map.append(MAUS.MapCppTOFSlabHits()) # TOF MC Slab Hits my_map.append(MAUS.MapCppTOFSpacePoints()) # TOF Space Points # KL my_map.append(MAUS.MapCppKLMCDigitizer()) # KL MC Digitizer my_map.append(MAUS.MapCppKLCellHits()) # KL CellHit Reco # SciFi my_map.append( MAUS.MapCppTrackerMCDigitization()) # SciFi electronics model my_map.append(MAUS.MapCppTrackerClusterRecon()) # SciFi channel clustering my_map.append( MAUS.MapCppTrackerSpacePointRecon()) # SciFi spacepoint recon my_map.append( MAUS.MapCppTrackerPatternRecognition()) # SciFi track finding my_map.append(MAUS.MapCppTrackerPRSeed()) # Set the Seed from PR my_map.append(MAUS.MapCppTrackerTrackFit()) # SciFi track fit # EMR my_map.append(MAUS.MapCppEMRMCDigitization()) # EMR MC Digitization my_map.append(MAUS.MapCppEMRSpacePoints()) # EMR MC Digitization my_map.append(MAUS.MapCppEMRRecon()) # EMR Recon # Ckov my_map.append(MAUS.MapCppCkovMCDigitizer()) # Global Digits - post detector digitisation # Then construct a MAUS output component - filename comes from datacards my_output = MAUS.OutputCppRoot() # can specify datacards here or by using appropriate command line calls datacards = io.StringIO(u"") # The Go() drives all the components you pass in, then check the file # (default simulation.out) for output MAUS.Go(my_input, my_map, MAUS.ReducePyDoNothing(), my_output, datacards)
def run(): """ Analyze data from the MICE experiment This reads in and processes data taken from the MICE experiment. """ # Set up data cards. data_cards_list = [] # batch mode = runs ROOT in batch mode so that canvases are not displayed # 1 = True, Batch Mode # 0 = False, Interactive Mode # setting it to false/0 will cause canvases to pop up on screen and # will get refreshed every N spills set by the refresh_rate data # card. data_cards_list.append("root_batch_mode='%d'\n" % 1) # refresh_rate = once in how many spills should canvases be updated data_cards_list.append("refresh_rate='%d'\n" % 1) # Add auto-numbering to the image tags. If False then each # histogram output for successive spills will have the same tag # so there are no spill-specific histograms. This is the # recommended use for online reconstruction. data_cards_list.append("histogram_auto_number=%s\n" % False) # Default image type is eps. For online use, use PNG. data_cards_list.append("histogram_image_type=\"png\"\n") # Directory for images. Default: $MAUS_WEB_MEDIA_RAW if set # else the current directory is used. # Uncomment and change the following if you want to hard # code a different default path. # data_cards_list.append("image_directory='%s'\n" % os.getcwd()) # Convert data_cards to string. data_cards = io.StringIO(unicode("".join(data_cards_list))) # Set up the input that reads from DAQ # my_input = MAUS.InputCppDAQData() # my_input = MAUS.InputCppDAQOnlineData() my_input = MAUS.InputCppDAQOnlineData() # pylint: disable = E1101 # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # add ReconSetup map -- analyze_data_offline seems to have it already my_map.append(MAUS.MapCppReconSetup()) my_map.append(MAUS.MapCppTOFDigits()) my_map.append(MAUS.MapCppTOFSlabHits()) my_map.append(MAUS.MapCppTOFSpacePoints()) my_map.append(MAUS.MapCppCkovDigits()) # Histogram reducer. reducer = MAUS.ReducePyDoNothing() #reducer = MAUS.ReducePyDoNothing() # Save images as EPS and meta-data as JSON. #output_worker = MAUS.OutputPyDoNothing() output_worker = MAUS.OutputPyJSON() # Run the workflow. MAUS.Go(my_input, my_map, reducer, output_worker, data_cards)
def run(): """ Run the macro """ # This input generates empty spills, to be filled by the beam maker later on my_input = MAUS.InputPySpillGenerator() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # GEANT4 my_map.append(MAUS.MapPyBeamMaker()) # beam construction my_map.append(MAUS.MapCppSimulation()) # geant4 simulation # Pre detector set up my_map.append(MAUS.MapPyMCReconSetup()) # geant4 simulation # TOF my_map.append(MAUS.MapCppTOFMCDigitizer()) # TOF MC Digitizer my_map.append(MAUS.MapCppTOFSlabHits()) # TOF MC Slab Hits my_map.append(MAUS.MapCppTOFSpacePoints()) # TOF Space Points # SciFi my_map.append(MAUS.MapCppTrackerMCDigitization()) # SciFi electronics model my_map.append(MAUS.MapCppTrackerRecon()) # SciFi Recon # KL my_map.append(MAUS.MapCppKLMCDigitizer()) # KL MC Digitizer my_map.append(MAUS.MapCppKLCellHits()) # KL CellHit Reco # EMR my_map.append(MAUS.MapCppEMRMCDigitization()) # EMR MC Digitization my_map.append(MAUS.MapCppEMRSpacePoints()) my_map.append(MAUS.MapCppEMRRecon()) # EMR Recon # Ckov my_map.append(MAUS.MapCppCkovMCDigitizer()) # Global my_map.append(MAUS.MapCppGlobalReconImport()) my_map.append(MAUS.MapCppGlobalTrackMatching()) my_reduce = MAUS.ReducePyDoNothing() # Then construct a MAUS output component - filename comes from datacards #~ my_output = MAUS.OutputCppRoot() my_output = MAUS.OutputPyDoNothing() # can specify datacards here or by using appropriate command line calls datacards = io.StringIO(u"") # The Go() drives all the components you pass in, then check the file # (default simulation.out) for output MAUS.Go(my_input, my_map, my_reduce, my_output, datacards)
def run(): """ Analyze data from the MICE experiment """ # Set up the input that reads from DAQ my_input = MAUS.InputCppDAQOfflineData() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # Trigger my_map.append(MAUS.MapCppReconSetup()) # Detectors my_map.append(MAUS.MapCppTOFDigits()) my_map.append(MAUS.MapCppTOFSlabHits()) my_map.append(MAUS.MapCppTOFSpacePoints()) my_map.append(MAUS.MapCppCkovDigits()) my_map.append(MAUS.MapCppKLDigits()) my_map.append(MAUS.MapCppKLCellHits()) my_map.append(MAUS.MapCppTrackerDigits()) # SciFi real data digitization my_map.append(MAUS.MapCppTrackerClusterRecon()) # SciFi channel clustering my_map.append(MAUS.MapCppTrackerSpacePointRecon()) # SciFi spacepoint recon my_map.append(MAUS.MapCppTrackerPatternRecognition()) # SciFi track finding my_map.append(MAUS.MapCppTrackerPRSeed()) # Set the Seed from PR my_map.append(MAUS.MapCppTrackerTrackFit()) # SciFi track fit my_map.append(MAUS.MapCppEMRPlaneHits()) my_map.append(MAUS.MapCppEMRSpacePoints()) my_map.append(MAUS.MapCppEMRRecon()) my_reduce = MAUS.ReducePyDoNothing() # The Go() drives all the components you pass in then put all the output # into a file called 'mausput' MAUS.Go(my_input, my_map, my_reduce, MAUS.OutputCppRoot())
def run(): """Analyze data from the MICE experiment This will read in and process data taken from the MICE experiment. It will eventually include things like cabling information, calibrations, and fits. """ # Set up the input that reads from DAQ #my_input = MAUS.InputCppDAQData() my_input = MAUS.InputCppDAQOfflineData() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() my_map.append(MAUS.MapCppTOFDigits()) my_map.append(MAUS.MapCppTOFSlabHits()) my_map.append(MAUS.MapCppTOFSpacePoints()) my_map.append(MAUS.MapCppCkovDigits()) reducer = MAUS.ReducePyCkov() # The Go() drives all the components you pass in then put all the output # into a file called 'mausput' MAUS.Go(my_input, my_map, reducer, MAUS.OutputPyImage())
def run(): """ Analyze data from the MICE experiment """ # Set up the input that reads from DAQ my_input = MAUS.InputCppDAQOnlineData() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # Trigger my_map.append(MAUS.MapCppReconSetup()) # Detectors my_map.append(MAUS.MapCppTOFDigits()) my_map.append(MAUS.MapCppTOFSlabHits()) my_map.append(MAUS.MapCppTOFSpacePoints()) my_map.append(MAUS.MapCppCkovDigits()) my_map.append(MAUS.MapCppKLDigits()) my_map.append(MAUS.MapCppKLCellHits()) my_map.append(MAUS.MapCppTrackerDigits()) my_map.append(MAUS.MapCppTrackerRecon()) my_map.append(MAUS.MapCppEMRPlaneHits()) my_map.append(MAUS.MapCppEMRRecon()) my_reduce = MAUS.ReducePyDoNothing() # The Go() drives all the components you pass in then put all the output # into a file called 'mausput' MAUS.Go(my_input, my_map, my_reduce, MAUS.OutputCppRoot())
def run(): """ Run the macro """ # This input generates empty spills, to be filled by the beam maker later on my_input = MAUS.InputPySpillGenerator() # Create an empty array of mappers, then populate it # with the functionality you want to use. my_map = MAUS.MapPyGroup() # G4beamline my_map.append(MAUS.MapPyBeamlineSimulation()) # GEANT4 # my_map.append(MAUS.MapPyBeamMaker()) # beam construction my_map.append(MAUS.MapCppSimulation()) # geant4 simulation # Pre detector set up my_map.append(MAUS.MapPyMCReconSetup()) # geant4 simulation # TOF my_map.append(MAUS.MapCppTOFMCDigitizer()) # TOF MC Digitizer my_map.append(MAUS.MapCppTOFSlabHits()) # TOF MC Slab Hits my_map.append(MAUS.MapCppTOFSpacePoints()) # TOF Space Points # KL my_map.append(MAUS.MapCppKLMCDigitizer()) # KL MC Digitizer my_map.append(MAUS.MapCppKLCellHits()) # KL CellHit Reco # SciFi # MAUS 2.5.0 #my_map.append(MAUS.MapCppTrackerMCDigitization()) # SciFi electronics model #my_map.append(MAUS.MapCppTrackerRecon()) # SciFi Recon my_map.append( MAUS.MapCppTrackerMCDigitization()) # SciFi electronics model my_map.append(MAUS.MapCppTrackerClusterRecon()) # SciFi channel clustering my_map.append( MAUS.MapCppTrackerSpacePointRecon()) # SciFi spacepoint recon my_map.append( MAUS.MapCppTrackerPatternRecognition()) # SciFi track finding my_map.append(MAUS.MapCppTrackerPRSeed()) # Set the Seed from PR my_map.append(MAUS.MapCppTrackerTrackFit()) # SciFi track fit my_map.append( MAUS.MapCppTrackerTOFReFit()) # SciFi track refit based on TOF # EMR my_map.append(MAUS.MapCppEMRMCDigitization()) # EMR MC Digitizer my_map.append(MAUS.MapCppEMRSpacePoints()) # EMR Space Points my_map.append(MAUS.MapCppEMRRecon()) # EMR Recon # Global my_map.append(MAUS.MapCppGlobalReconImport()) my_map.append(MAUS.MapCppGlobalTrackMatching()) # Then construct a MAUS output component - filename comes from datacards my_output = MAUS.OutputCppRoot() # can specify datacards here or by using appropriate command line calls datacards = io.StringIO(u"") # The Go() drives all the components you pass in, then check the file # (default simulation.out) for output MAUS.Go(my_input, my_map, MAUS.ReducePyDoNothing(), my_output, datacards)
def setUpClass(cls): #pylint: disable = C0103 """Construct a MapCppTOFSpacePoints""" cls.mapper = MAUS.MapCppTOFSpacePoints() cls.c = Configuration()