In [1]:
import os
import pymongo
from tqdm import tqdm

# Connect to database                                                                                                                                 
uri = 'mongodb://eb:%s@xenon1t-daq.lngs.infn.it:27017,copslx50.fysik.su.se:27017/run'
uri = uri % os.environ.get('MONGO_PASSWORD')
client = pymongo.MongoClient(uri,
                        replicaSet='runs',
                        read_preference=pymongo.ReadPreference.PRIMARY_PREFERRED)
db = client['run']
collection = db['runs_new']

In [2]:
run_min = 18835
run_max = -1
query = {
    'number': {"$gt": run_min}
}

cursor = collection.find(query, {"number": 1})
if run_max > 0:
    numbers = [d['number'] for d in cursor if d['number'] < run_max]

else:
    numbers = [d['number'] for d in cursor]

print("Will update run numbers:", numbers)


Will update run numbers: [20792, 20791, 20790, 20789, 20788, 20787, 20786, 20785, 20784, 20783, 20782, 20781, 20780, 20779, 20778, 20777, 20776, 20775, 20774, 20773, 20772, 20771, 20770, 20769, 20768, 20767, 20766, 20765, 20764, 20763, 20762, 20761, 20760, 20759, 20758, 20757, 20756, 20755, 20754, 20753, 20752, 20751, 20750, 20749, 20748, 20747, 20746, 20745, 20744, 20743, 20742, 20741, 20740, 20739, 20738, 20737, 20736, 20735, 20734, 20733, 20732, 20731, 20730, 20729, 20728, 20727, 20726, 20725, 20724, 20723, 20722, 20721, 20720, 20719, 20718, 20717, 20716, 20715, 20714, 20713, 20712, 20711, 20710, 20709, 20708, 20707, 20706, 20705, 20704, 20703, 20702, 20701, 20700, 20699, 20698, 20697, 20696, 20695, 20694, 20693, 20692, 20691, 20690, 20689, 20688, 20687, 20686, 20685, 20684, 20683, 20682, 20681, 20680, 20679, 20678, 20677, 20676, 20675, 20674, 20673, 20672, 20671, 20670, 20669, 20668, 20667, 20666, 20665, 20664, 20663, 20662, 20661, 20660, 20659, 20658, 20657, 20656, 20655, 20654, 20653, 20652, 20651, 20650, 20649, 20648, 20647, 20646, 20645, 20644, 20643, 20642, 20641, 20640, 20639, 20638, 20637, 20636, 20635, 20634, 20633, 20632, 20631, 20630, 20629, 20628, 20627, 20626, 20625, 20624, 20623, 20622, 20621, 20620, 20619, 20618, 20617, 20616, 20615, 20614, 20613, 20612, 20611, 20610, 20609, 20608, 20607, 20606, 20605, 20604, 20603, 20602, 20601, 20600, 20599, 20598, 20597, 20596, 20595, 20594, 20593, 20592, 20591, 20590, 20589, 20588, 20587, 20586, 20585, 20584, 20583, 20582, 20581, 20580, 20579, 20578, 20577, 20576, 20575, 20574, 20573, 20572, 20571, 20570, 20569, 20568, 20567, 20566, 20565, 20564, 20563, 20562, 20561, 20560, 20559, 20558, 20557, 20556, 20555, 20554, 20553, 20552, 20551, 20550, 20549, 20548, 20547, 20546, 20545, 20544, 20543, 20542, 20541, 20540, 20539, 20538, 20537, 20536, 20535, 20534, 20533, 20532, 20531, 20530, 20529, 20528, 20527, 20526, 20525, 20524, 20523, 20522, 20521, 20520, 20519, 20518, 20517, 20516, 20515, 20514, 20513, 20512, 20511, 20510, 20509, 20508, 20507, 20506, 20505, 20504, 20503, 20502, 20501, 20500, 20499, 20498, 20497, 20496, 20495, 20494, 20493, 20492, 20491, 20490, 20489, 20488, 20487, 20486, 20485, 20484, 20483, 20482, 20481, 20480, 20479, 20478, 20477, 20476, 20475, 20474, 20473, 20472, 20471, 20470, 20469, 20468, 20467, 20466, 20465, 20464, 20463, 20462, 20461, 20460, 20459, 20458, 20457, 20456, 20455, 20454, 20453, 20452, 20451, 20450, 20449, 20448, 20447, 20446, 20445, 20444, 20443, 20442, 20441, 20440, 20439, 20438, 20437, 20436, 20435, 20434, 20433, 20432, 20431, 20430, 20429, 20428, 20427, 20426, 20425, 20424, 20423, 20422, 20421, 20420, 20419, 20418, 20417, 20416, 20415, 20414, 20413, 20412, 20411, 20410, 20409, 20408, 20407, 20406, 20405, 20404, 20403, 20402, 20401, 20400, 20399, 20398, 20397, 20396, 20395, 20394, 20393, 20392, 20391, 20390, 20389, 20388, 20387, 20386, 20385, 20384, 20383, 20382, 20381, 20380, 20379, 20378, 20377, 20376, 20375, 20374, 20373, 20372, 20371, 20370, 20369, 20368, 20367, 20366, 20365, 20364, 20363, 20362, 20361, 20360, 20359, 20358, 20357, 20356, 20355, 20354, 20353, 20352, 20351, 20350, 20349, 20348, 20347, 20346, 20345, 20344, 20343, 20342, 20341, 20340, 20339, 20338, 20337, 20336, 20335, 20334, 20333, 20332, 20331, 20330, 20329, 20328, 20327, 20326, 20325, 20324, 20323, 20322, 20321, 20320, 20319, 20318, 20317, 20316, 20315, 20314, 20313, 20312, 20311, 20310, 20309, 20308, 20307, 20306, 20305, 20304, 20303, 20302, 20301, 20300, 20299, 20298, 20297, 20296, 20295, 20294, 20293, 20292, 20291, 20290, 20289, 20288, 20287, 20286, 20285, 20284, 20283, 20282, 20281, 20280, 20279, 20278, 20277, 20276, 20275, 20274, 20273, 20272, 20271, 20270, 20269, 20268, 20267, 20266, 20265, 20264, 20263, 20262, 20261, 20260, 20259, 20258, 20257, 20256, 20255, 20254, 20253, 20252, 20251, 20250, 20249, 20248, 20247, 20246, 20245, 20244, 20243, 20242, 20241, 20240, 20239, 20238, 20237, 20236, 20235, 20234, 20233, 20232, 20231, 20230, 20229, 20228, 20227, 20226, 20225, 20224, 20223, 20222, 20221, 20220, 20219, 20218, 20217, 20216, 20215, 20214, 20213, 20212, 20211, 20210, 20209, 20208, 20207, 20206, 20205, 20204, 20203, 20202, 20201, 20200, 20199, 20198, 20197, 20196, 20195, 20194, 20193, 20192, 20191, 20190, 20189, 20188, 20187, 20186, 20185, 20184, 20183, 20182, 20181, 20180, 20179, 20178, 20177, 20176, 20175, 20174, 20173, 20172, 20171, 20170, 20169, 20168, 20167, 20166, 20165, 20164, 20163, 20162, 20161, 20160, 20159, 20158, 20157, 20156, 20155, 20154, 20153, 20152, 20151, 20150, 20149, 20148, 20147, 20146, 20145, 20144, 20143, 20142, 20141, 20140, 20139, 20138, 20137, 20136, 20135, 20134, 20133, 20132, 20131, 20130, 20129, 20128, 20127, 20126, 20125, 20124, 20123, 20122, 20121, 20120, 20119, 20118, 20117, 20116, 20115, 20114, 20113, 20112, 20111, 20110, 20109, 20108, 20107, 20106, 20105, 20104, 20103, 20102, 20101, 20100, 20099, 20098, 20097, 20096, 20095, 20094, 20093, 20092, 20091, 20090, 20089, 20088, 20087, 20086, 20085, 20084, 20083, 20082, 20081, 20080, 20079, 20078, 20077, 20076, 20075, 20074, 20073, 20072, 20071, 20070, 20069, 20068, 20067, 20066, 20065, 20064, 20063, 20062, 20061, 20060, 20059, 20058, 20057, 20056, 20055, 20054, 20053, 20052, 20051, 20050, 20049, 20048, 20047, 20046, 20045, 20044, 20043, 20042, 20041, 20040, 20039, 20038, 20037, 20036, 20035, 20034, 20033, 20032, 20031, 20030, 20029, 20028, 20027, 20026, 20025, 20024, 20023, 20022, 20021, 20020, 20019, 20018, 20017, 20016, 20015, 20014, 20013, 20012, 20011, 20010, 20009, 20008, 20007, 20006, 20005, 20004, 20003, 20002, 20001, 20000, 19999, 19998, 19997, 19996, 19995, 19994, 19993, 19992, 19991, 19990, 19989, 19988, 19987, 19986, 19985, 19984, 19983, 19982, 19981, 19980, 19979, 19978, 19977, 19976, 19975, 19974, 19973, 19972, 19971, 19970, 19969, 19968, 19967, 19966, 19965, 19964, 19963, 19962, 19961, 19960, 19959, 19958, 19957, 19956, 19955, 19954, 19953, 19952, 19951, 19950, 19949, 19948, 19947, 19946, 19945, 19944, 19943, 19942, 19941, 19940, 19939, 19938, 19937, 19936, 19935, 19934, 19933, 19932, 19931, 19930, 19929, 19928, 19927, 19926, 19925, 19924, 19923, 19922, 19921, 19920, 19919, 19918, 19917, 19916, 19915, 19914, 19913, 19912, 19911, 19910, 19909, 19908, 19907, 19906, 19905, 19904, 19903, 19902, 19901, 19900, 19899, 19898, 19897, 19896, 19895, 19894, 19893, 19892, 19891, 19890, 19889, 19888, 19887, 19886, 19885, 19884, 19883, 19882, 19881, 19880, 19879, 19878, 19877, 19876, 19875, 19874, 19873, 19872, 19871, 19870, 19869, 19868, 19867, 19866, 19865, 19864, 19863, 19862, 19861, 19860, 19859, 19858, 19857, 19856, 19855, 19854, 19853, 19852, 19851, 19850, 19849, 19848, 19847, 19846, 19845, 19844, 19843, 19842, 19841, 19840, 19839, 19838, 19837, 19836, 19835, 19834, 19833, 19832, 19831, 19830, 19829, 19828, 19827, 19826, 19825, 19824, 19823, 19822, 19821, 19820, 19819, 19818, 19817, 19816, 19815, 19814, 19813, 19812, 19811, 19810, 19809, 19808, 19807, 19806, 19805, 19804, 19803, 19802, 19801, 19800, 19799, 19798, 19797, 19796, 19795, 19794, 19793, 19792, 19791, 19790, 19789, 19788, 19787, 19786, 19785, 19784, 19783, 19782, 19781, 19780, 19779, 19778, 19777, 19776, 19775, 19774, 19773, 19772, 19771, 19770, 19769, 19768, 19767, 19766, 19765, 19764, 19763, 19762, 19761, 19760, 19759, 19758, 19757, 19756, 19755, 19754, 19753, 19752, 19751, 19750, 19749, 19748, 19747, 19746, 19745, 19744, 19743, 19742, 19741, 19740, 19739, 19738, 19737, 19736, 19735, 19734, 19733, 19732, 19731, 19730, 19729, 19728, 19727, 19726, 19725, 19724, 19723, 19722, 19721, 19720, 19719, 19718, 19717, 19716, 19715, 19714, 19713, 19712, 19711, 19710, 19709, 19708, 19707, 19706, 19705, 19704, 19703, 19702, 19701, 19700, 19699, 19698, 19697, 19696, 19695, 19694, 19693, 19692, 19691, 19690, 19689, 19688, 19687, 19686, 19685, 19684, 19683, 19682, 19681, 19680, 19679, 19678, 19677, 19676, 19675, 19674, 19673, 19672, 19671, 19670, 19669, 19668, 19667, 19666, 19665, 19664, 19663, 19662, 19661, 19660, 19659, 19658, 19657, 19656, 19655, 19654, 19653, 19652, 19651, 19650, 19649, 19648, 19647, 19646, 19645, 19644, 19643, 19642, 19641, 19640, 19639, 19638, 19637, 19636, 19635, 19634, 19633, 19632, 19631, 19630, 19629, 19628, 19627, 19626, 19625, 19624, 19623, 19622, 19621, 19620, 19619, 19618, 19617, 19616, 19615, 19614, 19613, 19612, 19611, 19610, 19609, 19608, 19607, 19606, 19605, 19604, 19603, 19602, 19601, 19600, 19599, 19598, 19597, 19596, 19595, 19594, 19593, 19592, 19591, 19590, 19589, 19588, 19587, 19586, 19585, 19584, 19583, 19582, 19581, 19580, 19579, 19578, 19577, 19576, 19575, 19574, 19573, 19572, 19571, 19570, 19569, 19568, 19567, 19566, 19565, 19564, 19563, 19562, 19561, 19560, 19559, 19558, 19557, 19556, 19555, 19554, 19553, 19552, 19551, 19550, 19549, 19548, 19547, 19546, 19545, 19544, 19543, 19542, 19541, 19540, 19539, 19538, 19537, 19536, 19535, 19534, 19533, 19532, 19531, 19530, 19529, 19528, 19527, 19526, 19525, 19524, 19523, 19522, 19521, 19520, 19519, 19518, 19517, 19516, 19515, 19514, 19513, 19512, 19511, 19510, 19509, 19508, 19507, 19506, 19505, 19504, 19503, 19502, 19501, 19500, 19499, 19498, 19497, 19496, 19495, 19494, 19493, 19492, 19491, 19490, 19489, 19488, 19487, 19486, 19485, 19484, 19483, 19482, 19481, 19480, 19479, 19478, 19477, 19476, 19475, 19474, 19473, 19472, 19471, 19470, 19469, 19468, 19467, 19466, 19465, 19464, 19463, 19462, 19461, 19460, 19459, 19458, 19457, 19456, 19455, 19454, 19453, 19452, 19451, 19450, 19449, 19448, 19447, 19446, 19445, 19444, 19443, 19442, 19441, 19440, 19439, 19438, 19437, 19436, 19435, 19434, 19433, 19432, 19431, 19430, 19429, 19428, 19427, 19426, 19425, 19424, 19423, 19422, 19421, 19420, 19419, 19418, 19417, 19416, 19415, 19414, 19413, 19412, 19411, 19410, 19409, 19408, 19407, 19406, 19405, 19404, 19403, 19402, 19401, 19400, 19399, 19398, 19397, 19396, 19395, 19394, 19393, 19392, 19391, 19390, 19389, 19388, 19387, 19386, 19385, 19384, 19383, 19382, 19381, 19380, 19379, 19378, 19377, 19376, 19375, 19374, 19373, 19372, 19371, 19370, 19369, 19368, 19367, 19366, 19365, 19364, 19363, 19362, 19361, 19360, 19359, 19358, 19357, 19356, 19355, 19354, 19353, 19352, 19351, 19350, 19349, 19348, 19347, 19346, 19345, 19344, 19343, 19342, 19341, 19340, 19339, 19338, 19337, 19336, 19335, 19334, 19333, 19332, 19331, 19330, 19329, 19328, 19327, 19326, 19325, 19324, 19323, 19322, 19321, 19320, 19319, 19318, 19317, 19316, 19315, 19314, 19313, 19312, 19311, 19310, 19309, 19308, 19307, 19306, 19305, 19304, 19303, 19302, 19301, 19300, 19299, 19298, 19297, 19296, 19295, 19294, 19293, 19292, 19291, 19290, 19289, 19288, 19287, 19286, 19285, 19284, 19283, 19282, 19281, 19280, 19279, 19278, 19277, 19276, 19275, 19274, 19273, 19272, 19271, 19270, 19269, 19268, 19267, 19266, 19265, 19264, 19263, 19262, 19261, 19260, 19259, 19258, 19257, 19256, 19255, 19254, 19253, 19252, 19251, 19250, 19249, 19248, 19247, 19246, 19245, 19244, 19243, 19242, 19241, 19240, 19239, 19238, 19237, 19236, 19235, 19234, 19233, 19232, 19231, 19230, 19229, 19228, 19227, 19226, 19225, 19224, 19223, 19222, 19221, 19220, 19219, 19218, 19217, 19216, 19215, 19214, 19213, 19212, 19211, 19210, 19209, 19208, 19207, 19206, 19205, 19204, 19203, 19202, 19201, 19200, 19199, 19198, 19197, 19196, 19195, 19194, 19193, 19192, 19191, 19190, 19189, 19188, 19187, 19186, 19185, 19184, 19183, 19182, 19181, 19180, 19179, 19178, 19177, 19176, 19175, 19174, 19173, 19172, 19171, 19170, 19169, 19168, 19167, 19166, 19165, 19164, 19163, 19162, 19161, 19160, 19159, 19158, 19157, 19156, 19155, 19154, 19153, 19152, 19151, 19150, 19149, 19148, 19147, 19146, 19145, 19144, 19143, 19142, 19141, 19140, 19139, 19138, 19137, 19136, 19135, 19134, 19133, 19132, 19131, 19130, 19129, 19128, 19127, 19126, 19125, 19124, 19123, 19122, 19121, 19120, 19119, 19118, 19117, 19116, 19115, 19114, 19113, 19112, 19111, 19110, 19109, 19108, 19107, 19106, 19105, 19104, 19103, 19102, 19101, 19100, 19099, 19098, 19097, 19096, 19095, 19094, 19093, 19092, 19091, 19090, 19089, 19088, 19087, 19086, 19085, 19084, 19083, 19082, 19081, 19080, 19079, 19078, 19077, 19076, 19075, 19074, 19073, 19072, 19071, 19070, 19069, 19068, 19067, 19066, 19065, 19064, 19063, 19062, 19061, 19060, 19059, 19058, 19057, 19056, 19055, 19054, 19053, 19052, 19051, 19050, 19049, 19048, 19047, 19046, 19045, 19044, 19043, 19042, 19041, 19040, 19039, 19038, 19037, 19036, 19035, 19034, 19033, 19032, 19031, 19030, 19029, 19028, 19027, 19026, 19025, 19024, 19023, 19022, 19021, 19020, 19019, 19018, 19017, 19016, 19015, 19014, 19013, 19012, 19011, 19010, 19009, 19008, 19007, 19006, 19005, 19004, 19003, 19002, 19001, 19000, 18999, 18998, 18997, 18996, 18995, 18994, 18993, 18992, 18991, 18990, 18989, 18988, 18987, 18986, 18985, 18984, 18983, 18982, 18981, 18980, 18979, 18978, 18977, 18976, 18975, 18974, 18973, 18972, 18971, 18970, 18969, 18968, 18967, 18966, 18965, 18964, 18963, 18962, 18961, 18960, 18959, 18958, 18957, 18956, 18955, 18954, 18953, 18952, 18951, 18950, 18949, 18948, 18947, 18946, 18945, 18944, 18943, 18942, 18941, 18940, 18939, 18938, 18937, 18936, 18935, 18934, 18933, 18932, 18931, 18930, 18929, 18928, 18927, 18926, 18925, 18924, 18923, 18922, 18921, 18920, 18919, 18918, 18917, 18916, 18915, 18914, 18913, 18912, 18911, 18910, 18909, 18908, 18907, 18906, 18905, 18904, 18903, 18902, 18901, 18900, 18899, 18898, 18897, 18896, 18895, 18894, 18893, 18892, 18891, 18890, 18889, 18888, 18887, 18886, 18885, 18884, 18883, 18882, 18881, 18880, 18879, 18878, 18877, 18876, 18875, 18874, 18873, 18872, 18871, 18870, 18869, 18868, 18867, 18866, 18865, 18864, 18863, 18862, 18861, 18860, 18859, 18858, 18857, 18856, 18855, 18854, 18853, 18852, 18851, 18850, 18849, 18848, 18847, 18846, 18845, 18844, 18843, 18842, 18841, 18840, 18839, 18838, 18837, 18836]

In [ ]:
# Replace NN file
version = "1.5"
nn_filename = "XENON1T_NN_v8_mc_v030_20180613_postSR1.npz"

for number in tqdm(numbers):

    try:
        collection.update_one({"number": number}, {"$set": {"processor.NeuralNet|PosRecNeuralNet.neural_net_file": nn_filename, "processor.correction_versions.SetNeuralNetwork": version}})
        
    except:
        print(number)