def __init__(self, card_name): """ init all the param for the run """ self.mw_card = Cards.Card(card_name) self.info = self.mw_card.info for key, value in self.info.items(): self[key] = value dict.__init__(self.info) self.check_info() #assign special value self.nb_event = self.info['mw_run']['nb_exp_events'] self.nb_card = self.number_of_P_run() try: self.name = self.info['mw_run']['name'] except: self.name = self.take_run_name() self.P_listdir, self.MW_listdir = self.detect_SubProcess() self.nb_event_MW = {} for MW in self.MW_listdir: self.nb_event_MW[MW] = self.nb_event self.init_run_opt() self.def_actif_param() self.Pinupdate = [] self.Minpudate = [] self.startevent = 0
def update_dir(name, make, MW_dir): main = '../../../' os.system("cp ./ident_mw_card.dat " + main + "/Cards/") os.system("cp transfer_card.dat " + main + "/Cards/") os.system("cp data/transfer_card_" + name + ".dat " + main + "/Cards/transfer_card.dat &>/dev/null") os.system("cp data/transfer_card_" + name + ".dat " + main + "/Cards/transfer_card_default.dat &>/dev/null") if make: os.chdir(main + "/Source/") os.system("make") for directory in MW_dir: os.chdir(main + "/SubProcesses/" + directory) os.system( "ln -s ../../Source/MadWeight/transfer_function/TF_param.inc TF_param.inc" ) os.system( "ln -s ../../Source/MadWeight/transfer_function/nb_tf.inc nb_tf.inc" ) os.system("make") os.chdir('../../') else: os.system("make ") # always compile libTF ... os.chdir(main) for directory in MW_dir: os.chdir("SubProcesses/" + directory) os.system( "ln -s ../../Source/MadWeight/transfer_function/TF_param.inc TF_param.inc" ) os.system( "ln -s ../../Source/MadWeight/transfer_function/nb_tf.inc nb_tf.inc" ) os.chdir('../../') #charge card ident = Cards.Card('./Cards/ident_mw_card.dat') madweight = Cards.Card('./Cards/MadWeight_card.dat') transfer = Cards.Card('./Cards/transfer_card.dat') #create output madweight.create_include_file(ident, './Source/madweight_card.inc') transfer.create_include_file_tf(ident, './Source/MadWeight/transfer_function') os.chdir('./Source/MadWeight/transfer_function')
def read_card(name_card): """put all card information in a dictionary""" card = Cards.Card(name_card) return card.info