Untitled

mail@pastecode.io avatarunknown
python
a month ago
1.7 kB
2
Indexable
Never
data_path = "LArId.db"
conn = sqlite3.connect(data_path)
conn.row_factory  = sqlite3.Row
cursor = conn.cursor()

df = pd.read_sql_query("SELECT ONL_ID, OFF_ID, ETA, PHI, DET, AC, FT, SL, CH, SAM FROM LARID", conn)

df.loc[df['ETA'] < 0 , 'PHI'] = -1*df["PHI"]

data_BAD_path = "LArBad.db"
conn_BAD = sqlite3.connect(data_BAD_path)
#data = pd.read_csv('', sep=" ", header=None)
#sql_query = """SELECT name FROM sqlite_master 
#                WHERE type='table';"""
cursor = conn_BAD.cursor()
conn_BAD.row_factory  = sqlite3.Row
df_bad_UPD1 = pd.read_sql_query("SELECT * FROM BadChannelsUPD1", conn_BAD)
df_bad_UPD4 = pd.read_sql_query("SELECT * FROM BadChannelsUPD4", conn_BAD)

since = 217305
until = 218357

list_bad_UPD4 = df_bad_UPD4.query("since>={0} and until<={1}".format(since, until)).status.tolist()
list_bad_UPD1 = df_bad_UPD1.query("since>={0} and until<={1}".format(since, until)).status.tolist()
dict_BAD_UPD = {"UPD1": list_bad_UPD1,"UPD4": list_bad_UPD4 }
dict_BAD_UPD_df = {"UPD1": list_bad_UPD1,"UPD4": list_bad_UPD4 }



for i_db, i_db_spec in enumerate(['4','1']):
    
    d_bad ={}
    for line in dict_BAD_UPD["UPD"+i_db_spec]:
        d_bad.update(eval(str(line.decode("utf-8").replace('L',''))))
    
    dict_BAD_UPD_df["UPD"+i_db_spec] = pd.DataFrame(d_bad.items(), columns=['ONL_ID', 'UPD'+i_db_spec])
    dict_BAD_UPD_df["UPD"+i_db_spec] = dict_BAD_UPD_df["UPD"+i_db_spec].query("UPD{0} == 2**19 or UPD{0} == 2**8 ".format(i_db_spec))
    
#sporadicBurstNoise 524288 = 2**19
#highNoiseHG 2**8 == 256
result = pd.merge(df, dict_BAD_UPD_df["UPD4"], how="left", on="ONL_ID")
result = pd.merge(result, dict_BAD_UPD_df["UPD1"],how="left", on="ONL_ID")
result = result.fillna(0)