if run_local:
            RunHelpers.runLocalMultiprocess( run_analysis_fun = this_run_analysis_fun
                                           , data_set_dicts   = the_dicts
                                           , num_processes    = num_processes
                                           , out_dir          = this_out_dir
                                           , flat_ntuples     = False
                                           , sym_link_name    = this_sym_link_name
                                           )

        else:
            run_analysis_fun_loc  = '/'.join( [ os.environ['BASE_WORK_DIR']
                                              , 'BMinusLAnalysis'
                                              , 'RunScripts/'
                                              ]
                                            )
            this_job_dir = '.'.join( [ 'LatestRunDir_bminuslanalysis'
                                     , syst
                                     ]
                                   )

            RunHelpers.runLxBatchMultiProcess( run_analysis_fun      = this_run_analysis_fun
                                             , run_analysis_fun_loc  = run_analysis_fun_loc
                                             , run_analysis_fun_file = 'RunBMinusLAnalysis'
                                             , data_set_dicts        = the_dicts
                                             , out_dir               = this_out_dir
                                             , queue                 = queue
                                             , sym_link_name         = this_sym_link_name
                                             , job_dir               = this_job_dir
                                             )
                          # , 202639:{'label':'202639.MadGraphPythia_AUET2B_CTEQ6L1_SM_TT_directBL_800' , 'num_jobs':1}
                          }

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # add data samples
    data_set_dicts = RunHelpers.addAllSamplesToList( data_samples = data_samples
                                                   , full_sim_mc_samples = full_sim_mc_samples
                                                   , fast_sim_mc_samples = fast_sim_mc_samples
                                                   , file_list_path_base = 'EosFileLists/tnt_102/tnt_102'
                                                   , out_dir = out_dir
                                                   )

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if run_local:
        RunHelpers.runLocalMultiprocess( run_analysis_fun = RunBMinusLAnalysis.runBMinusLAnalysisFun
                                       , data_set_dicts   = data_set_dicts
                                       , num_processes    = num_processes
                                       , out_dir          = out_dir
                                       , flat_ntuples     = False
                                       , sym_link_name    = './NextPlotDir.BMinusL'
                                       )
    else:
        RunHelpers.runLxBatchMultiProcess( run_analysis_fun      = RunBMinusLAnalysis.runBMinusLAnalysisFun
                                        , run_analysis_fun_loc  = '%s/BMinusLAnalysis/RunScripts/' % os.environ['BASE_WORK_DIR']
                                        , run_analysis_fun_file = 'RunBMinusLAnalysis'
                                        , data_set_dicts        = data_set_dicts
                                        , out_dir               = out_dir
                                        , queue                 = '1nh'
                                        , sym_link_name         = './NextPlotDir.BMinusL'
                                        )
        this_out_dir = "__".join([out_dir, syst])
        this_sym_link_name = "".join(["./NextOptNtupDir.BMinusL.", syst])
        print "this sym link name: ", this_sym_link_name

        this_run_analysis_fun = RunBMinusLOptimizeNtupleMaker.runBMinusLOptimizeNtupleMakerFun

        if run_local:
            RunHelpers.runLocalMultiprocess(
                run_analysis_fun=this_run_analysis_fun,
                data_set_dicts=the_dicts,
                num_processes=num_processes,
                out_dir=this_out_dir,
                flat_ntuples=True,
                sym_link_name=this_sym_link_name,
            )

        else:
            run_analysis_fun_loc = "/".join([os.environ["BASE_WORK_DIR"], "BMinusLAnalysis", "RunScripts/"])
            this_job_dir = ".".join(["LatestRunDir_bminusloptimizentuplemaker", syst])

            RunHelpers.runLxBatchMultiProcess(
                run_analysis_fun=this_run_analysis_fun,
                run_analysis_fun_loc=run_analysis_fun_loc,
                run_analysis_fun_file="RunBMinusLOptimizeNtupleMaker",
                data_set_dicts=the_dicts,
                out_dir=this_out_dir,
                queue=queue,
                sym_link_name=this_sym_link_name,
                job_dir=this_job_dir,
            )
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # add data samples
    data_set_dicts = RunHelpers.addAllSamplesToList( egamma_data_samples = egamma_data_samples
                                                   , muon_data_samples   = muon_data_samples
                                                   , full_sim_mc_samples = full_sim_mc_samples
                                                   , fast_sim_mc_samples = fast_sim_mc_samples
                                                   , file_list_path_base = 'EosFileLists/bminusl_ttnt_103/ttnt'
                                                   , out_dir             = out_dir
                                                   )

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if run_local:
        RunHelpers.runLocalMultiprocess( run_analysis_fun = RunBMinusLOptimizeNtupleMaker.runBMinusLOptimizeNtupleMakerFun
                                       , data_set_dicts   = data_set_dicts
                                       , num_processes    = num_processes
                                       , out_dir          = out_dir
                                       , flat_ntuples     = True
                                       , sym_link_name    = './NextOptNtupDir.BMinusL'
                                       )
    else:
        RunHelpers.runLxBatchMultiProcess( run_analysis_fun      = RunBMinusLOptimizeNtupleMaker.runBMinusLOptimizeNtupleMakerFun
                                        , run_analysis_fun_loc  = '%s/BMinusLAnalysis/RunScripts/' % os.environ['BASE_WORK_DIR']
                                        , run_analysis_fun_file = 'RunBMinusLOptimizeNtupleMaker'
                                        , data_set_dicts        = data_set_dicts
                                        , out_dir               = out_dir
                                        , queue                 = '1nh'
                                        , sym_link_name         = './NextOptNtupDir.BMinusL'
                                        , job_dir               = 'LatestRunDir_bminusloptimizentuplemaker'
                                        )
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # add samples
    data_set_dicts = RunHelpers.addAllSamplesToList( data_samples = data_samples
                                                   , full_sim_mc_samples = full_sim_mc_samples
                                                   , fast_sim_mc_samples = fast_sim_mc_samples
                                                   , file_list_path_base = 'EosFileLists/tnt_103/tnt_103_v2'
                                                   , out_dir = out_dir
                                                   )

    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if run_local:
        RunHelpers.runLocalMultiprocess( run_analysis_fun = RunEwkNtupleMaker.runEwkNtupleFun
                                       , data_set_dicts   = data_set_dicts
                                       , num_processes    = num_processes
                                       , out_dir          = out_dir
                                       , flat_ntuples     = False
                                       , sym_link_name    = './NextPlotDir.Ewk'
                                       , do_merge = False
                                       )
    else:
        RunHelpers.runLxBatchMultiProcess( run_analysis_fun      = RunEwkNtupleMaker.runEwkNtupleFun
                                         , run_analysis_fun_loc  = '%s/EwkAnalysis/RunScripts/' % os.environ['BASE_WORK_DIR']
                                         , run_analysis_fun_file = 'RunEwkNtupleMaker'
                                         , data_set_dicts        = data_set_dicts
                                         , out_dir               = out_dir
                                         , queue                 = '1nh'
                                         , sym_link_name         = './NextPlotDir.Ewk'
                                         )