diff --git a/data/raw/A1 b/data/raw/A1 deleted file mode 100644 index 398cf81..0000000 Binary files a/data/raw/A1 and /dev/null differ diff --git a/data/raw/A10 b/data/raw/A10 deleted file mode 100644 index 83d95f5..0000000 Binary files a/data/raw/A10 and /dev/null differ diff --git a/data/raw/A100 b/data/raw/A100 deleted file mode 100644 index 95abbd4..0000000 Binary files a/data/raw/A100 and /dev/null differ diff --git a/data/raw/A101 b/data/raw/A101 deleted file mode 100644 index b786641..0000000 Binary files a/data/raw/A101 and /dev/null differ diff --git a/data/raw/A102 b/data/raw/A102 deleted file mode 100644 index 4a3e575..0000000 Binary files a/data/raw/A102 and /dev/null differ diff --git a/data/raw/A103 b/data/raw/A103 deleted file mode 100644 index 9f4d9ed..0000000 Binary files a/data/raw/A103 and /dev/null differ diff --git a/data/raw/A104 b/data/raw/A104 deleted file mode 100644 index 156c50a..0000000 Binary files a/data/raw/A104 and /dev/null differ diff --git a/data/raw/A105 b/data/raw/A105 deleted file mode 100644 index d3a4621..0000000 Binary files a/data/raw/A105 and /dev/null differ diff --git a/data/raw/A106 b/data/raw/A106 deleted file mode 100644 index b861a1a..0000000 Binary files a/data/raw/A106 and /dev/null differ diff --git a/data/raw/A107 b/data/raw/A107 deleted file mode 100644 index 5e6af71..0000000 Binary files a/data/raw/A107 and /dev/null differ diff --git a/data/raw/A108 b/data/raw/A108 deleted file mode 100644 index b28d934..0000000 Binary files a/data/raw/A108 and /dev/null differ diff --git a/data/raw/A109 b/data/raw/A109 deleted file mode 100644 index 7d6f97b..0000000 Binary files a/data/raw/A109 and /dev/null differ diff --git a/data/raw/A11 b/data/raw/A11 deleted file mode 100644 index 657b107..0000000 Binary files a/data/raw/A11 and /dev/null differ diff --git a/data/raw/A110 b/data/raw/A110 deleted file mode 100644 index 2fbe6d9..0000000 Binary files a/data/raw/A110 and /dev/null differ diff --git a/data/raw/A111 b/data/raw/A111 deleted file mode 100644 index 0554487..0000000 Binary files a/data/raw/A111 and /dev/null differ diff --git a/data/raw/A112 b/data/raw/A112 deleted file mode 100644 index eb2d634..0000000 Binary files a/data/raw/A112 and /dev/null differ diff --git a/data/raw/A113 b/data/raw/A113 deleted file mode 100644 index 2d85255..0000000 Binary files a/data/raw/A113 and /dev/null differ diff --git a/data/raw/A114 b/data/raw/A114 deleted file mode 100644 index a5dbb91..0000000 Binary files a/data/raw/A114 and /dev/null differ diff --git a/data/raw/A115 b/data/raw/A115 deleted file mode 100644 index e40b1bc..0000000 Binary files a/data/raw/A115 and /dev/null differ diff --git a/data/raw/A116 b/data/raw/A116 deleted file mode 100644 index 2052556..0000000 Binary files a/data/raw/A116 and /dev/null differ diff --git a/data/raw/A117 b/data/raw/A117 deleted file mode 100644 index f28699e..0000000 Binary files a/data/raw/A117 and /dev/null differ diff --git a/data/raw/A118 b/data/raw/A118 deleted file mode 100644 index 67cee86..0000000 Binary files a/data/raw/A118 and /dev/null differ diff --git a/data/raw/A119 b/data/raw/A119 deleted file mode 100644 index 9227533..0000000 Binary files a/data/raw/A119 and /dev/null differ diff --git a/data/raw/A12 b/data/raw/A12 deleted file mode 100644 index 57e31e8..0000000 Binary files a/data/raw/A12 and /dev/null differ diff --git a/data/raw/A120 b/data/raw/A120 deleted file mode 100644 index 0e630e6..0000000 Binary files a/data/raw/A120 and /dev/null differ diff --git a/data/raw/A121 b/data/raw/A121 deleted file mode 100644 index 24daea1..0000000 Binary files a/data/raw/A121 and /dev/null differ diff --git a/data/raw/A122 b/data/raw/A122 deleted file mode 100644 index c012a54..0000000 Binary files a/data/raw/A122 and /dev/null differ diff --git a/data/raw/A123 b/data/raw/A123 deleted file mode 100644 index d43aa81..0000000 Binary files a/data/raw/A123 and /dev/null differ diff --git a/data/raw/A124 b/data/raw/A124 deleted file mode 100644 index eb31a1f..0000000 Binary files a/data/raw/A124 and /dev/null differ diff --git a/data/raw/A125 b/data/raw/A125 deleted file mode 100644 index e319cf0..0000000 Binary files a/data/raw/A125 and /dev/null differ diff --git a/data/raw/A126 b/data/raw/A126 deleted file mode 100644 index 247376d..0000000 Binary files a/data/raw/A126 and /dev/null differ diff --git a/data/raw/A127 b/data/raw/A127 deleted file mode 100644 index dfc9889..0000000 Binary files a/data/raw/A127 and /dev/null differ diff --git a/data/raw/A128 b/data/raw/A128 deleted file mode 100644 index 58526e6..0000000 Binary files a/data/raw/A128 and /dev/null differ diff --git a/data/raw/A129 b/data/raw/A129 deleted file mode 100644 index a2d6db8..0000000 Binary files a/data/raw/A129 and /dev/null differ diff --git a/data/raw/A13 b/data/raw/A13 deleted file mode 100644 index a9430ba..0000000 Binary files a/data/raw/A13 and /dev/null differ diff --git a/data/raw/A130 b/data/raw/A130 deleted file mode 100644 index 145f1ce..0000000 Binary files a/data/raw/A130 and /dev/null differ diff --git a/data/raw/A131 b/data/raw/A131 deleted file mode 100644 index b45e3e7..0000000 Binary files a/data/raw/A131 and /dev/null differ diff --git a/data/raw/A132 b/data/raw/A132 deleted file mode 100644 index b2a9285..0000000 Binary files a/data/raw/A132 and /dev/null differ diff --git a/data/raw/A133 b/data/raw/A133 deleted file mode 100644 index 0a19d4a..0000000 Binary files a/data/raw/A133 and /dev/null differ diff --git a/data/raw/A134 b/data/raw/A134 deleted file mode 100644 index 2aa46f4..0000000 Binary files a/data/raw/A134 and /dev/null differ diff --git a/data/raw/A135 b/data/raw/A135 deleted file mode 100644 index 70fcc9c..0000000 Binary files a/data/raw/A135 and /dev/null differ diff --git a/data/raw/A136 b/data/raw/A136 deleted file mode 100644 index 2d8d4f8..0000000 Binary files a/data/raw/A136 and /dev/null differ diff --git a/data/raw/A137 b/data/raw/A137 deleted file mode 100644 index e41ccef..0000000 Binary files a/data/raw/A137 and /dev/null differ diff --git a/data/raw/A138 b/data/raw/A138 deleted file mode 100644 index fba11fd..0000000 Binary files a/data/raw/A138 and /dev/null differ diff --git a/data/raw/A139 b/data/raw/A139 deleted file mode 100644 index 499dc61..0000000 Binary files a/data/raw/A139 and /dev/null differ diff --git a/data/raw/A14 b/data/raw/A14 deleted file mode 100644 index 2445a58..0000000 Binary files a/data/raw/A14 and /dev/null differ diff --git a/data/raw/A140 b/data/raw/A140 deleted file mode 100644 index 409dff4..0000000 Binary files a/data/raw/A140 and /dev/null differ diff --git a/data/raw/A141 b/data/raw/A141 deleted file mode 100644 index 14ba534..0000000 Binary files a/data/raw/A141 and /dev/null differ diff --git a/data/raw/A142 b/data/raw/A142 deleted file mode 100644 index af39808..0000000 Binary files a/data/raw/A142 and /dev/null differ diff --git a/data/raw/A143 b/data/raw/A143 deleted file mode 100644 index 29c4646..0000000 Binary files a/data/raw/A143 and /dev/null differ diff --git a/data/raw/A144 b/data/raw/A144 deleted file mode 100644 index 057e78a..0000000 Binary files a/data/raw/A144 and /dev/null differ diff --git a/data/raw/A145 b/data/raw/A145 deleted file mode 100644 index 34562b4..0000000 Binary files a/data/raw/A145 and /dev/null differ diff --git a/data/raw/A146 b/data/raw/A146 deleted file mode 100644 index 95c22b3..0000000 Binary files a/data/raw/A146 and /dev/null differ diff --git a/data/raw/A147 b/data/raw/A147 deleted file mode 100644 index cf56963..0000000 Binary files a/data/raw/A147 and /dev/null differ diff --git a/data/raw/A148 b/data/raw/A148 deleted file mode 100644 index 0c74ce0..0000000 Binary files a/data/raw/A148 and /dev/null differ diff --git a/data/raw/A149 b/data/raw/A149 deleted file mode 100644 index f4197d6..0000000 Binary files a/data/raw/A149 and /dev/null differ diff --git a/data/raw/A15 b/data/raw/A15 deleted file mode 100644 index c0541cc..0000000 Binary files a/data/raw/A15 and /dev/null differ diff --git a/data/raw/A150 b/data/raw/A150 deleted file mode 100644 index 5ed0d85..0000000 Binary files a/data/raw/A150 and /dev/null differ diff --git a/data/raw/A151 b/data/raw/A151 deleted file mode 100644 index 5c0c58c..0000000 Binary files a/data/raw/A151 and /dev/null differ diff --git a/data/raw/A152 b/data/raw/A152 deleted file mode 100644 index db772bd..0000000 Binary files a/data/raw/A152 and /dev/null differ diff --git a/data/raw/A153 b/data/raw/A153 deleted file mode 100644 index 5f0642d..0000000 Binary files a/data/raw/A153 and /dev/null differ diff --git a/data/raw/A154 b/data/raw/A154 deleted file mode 100644 index 5216ded..0000000 Binary files a/data/raw/A154 and /dev/null differ diff --git a/data/raw/A155 b/data/raw/A155 deleted file mode 100644 index 56702fe..0000000 Binary files a/data/raw/A155 and /dev/null differ diff --git a/data/raw/A156 b/data/raw/A156 deleted file mode 100644 index 2c4e967..0000000 Binary files a/data/raw/A156 and /dev/null differ diff --git a/data/raw/A157 b/data/raw/A157 deleted file mode 100644 index 443d61a..0000000 Binary files a/data/raw/A157 and /dev/null differ diff --git a/data/raw/A158 b/data/raw/A158 deleted file mode 100644 index 36df899..0000000 Binary files a/data/raw/A158 and /dev/null differ diff --git a/data/raw/A159 b/data/raw/A159 deleted file mode 100644 index c5c7c34..0000000 Binary files a/data/raw/A159 and /dev/null differ diff --git a/data/raw/A16 b/data/raw/A16 deleted file mode 100644 index 7417951..0000000 Binary files a/data/raw/A16 and /dev/null differ diff --git a/data/raw/A160 b/data/raw/A160 deleted file mode 100644 index 2412a5d..0000000 Binary files a/data/raw/A160 and /dev/null differ diff --git a/data/raw/A161 b/data/raw/A161 deleted file mode 100644 index 0ce8d98..0000000 Binary files a/data/raw/A161 and /dev/null differ diff --git a/data/raw/A162 b/data/raw/A162 deleted file mode 100644 index 1f8983d..0000000 Binary files a/data/raw/A162 and /dev/null differ diff --git a/data/raw/A163 b/data/raw/A163 deleted file mode 100644 index 95e8203..0000000 Binary files a/data/raw/A163 and /dev/null differ diff --git a/data/raw/A164 b/data/raw/A164 deleted file mode 100644 index a32c439..0000000 Binary files a/data/raw/A164 and /dev/null differ diff --git a/data/raw/A165 b/data/raw/A165 deleted file mode 100644 index 76a590d..0000000 Binary files a/data/raw/A165 and /dev/null differ diff --git a/data/raw/A166 b/data/raw/A166 deleted file mode 100644 index 3cb5309..0000000 Binary files a/data/raw/A166 and /dev/null differ diff --git a/data/raw/A167 b/data/raw/A167 deleted file mode 100644 index c8503ca..0000000 Binary files a/data/raw/A167 and /dev/null differ diff --git a/data/raw/A168 b/data/raw/A168 deleted file mode 100644 index b70c315..0000000 Binary files a/data/raw/A168 and /dev/null differ diff --git a/data/raw/A169 b/data/raw/A169 deleted file mode 100644 index 00667dd..0000000 Binary files a/data/raw/A169 and /dev/null differ diff --git a/data/raw/A17 b/data/raw/A17 deleted file mode 100644 index b4c0eb0..0000000 Binary files a/data/raw/A17 and /dev/null differ diff --git a/data/raw/A170 b/data/raw/A170 deleted file mode 100644 index fbc69eb..0000000 Binary files a/data/raw/A170 and /dev/null differ diff --git a/data/raw/A171 b/data/raw/A171 deleted file mode 100644 index 10c8274..0000000 Binary files a/data/raw/A171 and /dev/null differ diff --git a/data/raw/A172 b/data/raw/A172 deleted file mode 100644 index e911384..0000000 Binary files a/data/raw/A172 and /dev/null differ diff --git a/data/raw/A173 b/data/raw/A173 deleted file mode 100644 index bb62f34..0000000 Binary files a/data/raw/A173 and /dev/null differ diff --git a/data/raw/A174 b/data/raw/A174 deleted file mode 100644 index a7a8176..0000000 Binary files a/data/raw/A174 and /dev/null differ diff --git a/data/raw/A175 b/data/raw/A175 deleted file mode 100644 index 323e5da..0000000 Binary files a/data/raw/A175 and /dev/null differ diff --git a/data/raw/A176 b/data/raw/A176 deleted file mode 100644 index 69c7919..0000000 Binary files a/data/raw/A176 and /dev/null differ diff --git a/data/raw/A177 b/data/raw/A177 deleted file mode 100644 index a916242..0000000 Binary files a/data/raw/A177 and /dev/null differ diff --git a/data/raw/A178 b/data/raw/A178 deleted file mode 100644 index 4adbda7..0000000 Binary files a/data/raw/A178 and /dev/null differ diff --git a/data/raw/A179 b/data/raw/A179 deleted file mode 100644 index 1a70270..0000000 Binary files a/data/raw/A179 and /dev/null differ diff --git a/data/raw/A18 b/data/raw/A18 deleted file mode 100644 index d11a69a..0000000 Binary files a/data/raw/A18 and /dev/null differ diff --git a/data/raw/A180 b/data/raw/A180 deleted file mode 100644 index fd6fcb6..0000000 Binary files a/data/raw/A180 and /dev/null differ diff --git a/data/raw/A181 b/data/raw/A181 deleted file mode 100644 index e51bf90..0000000 Binary files a/data/raw/A181 and /dev/null differ diff --git a/data/raw/A182 b/data/raw/A182 deleted file mode 100644 index da1bd9a..0000000 Binary files a/data/raw/A182 and /dev/null differ diff --git a/data/raw/A183 b/data/raw/A183 deleted file mode 100644 index dda5b44..0000000 Binary files a/data/raw/A183 and /dev/null differ diff --git a/data/raw/A184 b/data/raw/A184 deleted file mode 100644 index 2154906..0000000 Binary files a/data/raw/A184 and /dev/null differ diff --git a/data/raw/A185 b/data/raw/A185 deleted file mode 100644 index 2f6d568..0000000 Binary files a/data/raw/A185 and /dev/null differ diff --git a/data/raw/A186 b/data/raw/A186 deleted file mode 100644 index accf59a..0000000 Binary files a/data/raw/A186 and /dev/null differ diff --git a/data/raw/A187 b/data/raw/A187 deleted file mode 100644 index 06e5ad1..0000000 Binary files a/data/raw/A187 and /dev/null differ diff --git a/data/raw/A188 b/data/raw/A188 deleted file mode 100644 index ff7f0b9..0000000 Binary files a/data/raw/A188 and /dev/null differ diff --git a/data/raw/A189 b/data/raw/A189 deleted file mode 100644 index 2d6875b..0000000 Binary files a/data/raw/A189 and /dev/null differ diff --git a/data/raw/A19 b/data/raw/A19 deleted file mode 100644 index 4d6d514..0000000 Binary files a/data/raw/A19 and /dev/null differ diff --git a/data/raw/A190 b/data/raw/A190 deleted file mode 100644 index 80905a3..0000000 Binary files a/data/raw/A190 and /dev/null differ diff --git a/data/raw/A191 b/data/raw/A191 deleted file mode 100644 index 86af2cb..0000000 Binary files a/data/raw/A191 and /dev/null differ diff --git a/data/raw/A192 b/data/raw/A192 deleted file mode 100644 index db5e2b5..0000000 Binary files a/data/raw/A192 and /dev/null differ diff --git a/data/raw/A193 b/data/raw/A193 deleted file mode 100644 index bf1ebb2..0000000 Binary files a/data/raw/A193 and /dev/null differ diff --git a/data/raw/A194 b/data/raw/A194 deleted file mode 100644 index 3d0fa90..0000000 Binary files a/data/raw/A194 and /dev/null differ diff --git a/data/raw/A195 b/data/raw/A195 deleted file mode 100644 index d4496f0..0000000 Binary files a/data/raw/A195 and /dev/null differ diff --git a/data/raw/A196 b/data/raw/A196 deleted file mode 100644 index 23df114..0000000 Binary files a/data/raw/A196 and /dev/null differ diff --git a/data/raw/A197 b/data/raw/A197 deleted file mode 100644 index 6433c5d..0000000 Binary files a/data/raw/A197 and /dev/null differ diff --git a/data/raw/A198 b/data/raw/A198 deleted file mode 100644 index 22d689f..0000000 Binary files a/data/raw/A198 and /dev/null differ diff --git a/data/raw/A199 b/data/raw/A199 deleted file mode 100644 index c3bab20..0000000 Binary files a/data/raw/A199 and /dev/null differ diff --git a/data/raw/A2 b/data/raw/A2 deleted file mode 100644 index 167be6e..0000000 Binary files a/data/raw/A2 and /dev/null differ diff --git a/data/raw/A20 b/data/raw/A20 deleted file mode 100644 index e69c32d..0000000 Binary files a/data/raw/A20 and /dev/null differ diff --git a/data/raw/A200 b/data/raw/A200 deleted file mode 100644 index 8e8e069..0000000 Binary files a/data/raw/A200 and /dev/null differ diff --git a/data/raw/A201 b/data/raw/A201 deleted file mode 100644 index 3a4884f..0000000 Binary files a/data/raw/A201 and /dev/null differ diff --git a/data/raw/A202 b/data/raw/A202 deleted file mode 100644 index f329ac2..0000000 Binary files a/data/raw/A202 and /dev/null differ diff --git a/data/raw/A203 b/data/raw/A203 deleted file mode 100644 index 47f942b..0000000 Binary files a/data/raw/A203 and /dev/null differ diff --git a/data/raw/A204 b/data/raw/A204 deleted file mode 100644 index 3551bba..0000000 Binary files a/data/raw/A204 and /dev/null differ diff --git a/data/raw/A205 b/data/raw/A205 deleted file mode 100644 index b73f499..0000000 Binary files a/data/raw/A205 and /dev/null differ diff --git a/data/raw/A206 b/data/raw/A206 deleted file mode 100644 index 2584593..0000000 Binary files a/data/raw/A206 and /dev/null differ diff --git a/data/raw/A207 b/data/raw/A207 deleted file mode 100644 index ff07d6e..0000000 Binary files a/data/raw/A207 and /dev/null differ diff --git a/data/raw/A208 b/data/raw/A208 deleted file mode 100644 index 9518902..0000000 Binary files a/data/raw/A208 and /dev/null differ diff --git a/data/raw/A209 b/data/raw/A209 deleted file mode 100644 index 990f0de..0000000 Binary files a/data/raw/A209 and /dev/null differ diff --git a/data/raw/A21 b/data/raw/A21 deleted file mode 100644 index 75cfa56..0000000 Binary files a/data/raw/A21 and /dev/null differ diff --git a/data/raw/A210 b/data/raw/A210 deleted file mode 100644 index 1cda247..0000000 Binary files a/data/raw/A210 and /dev/null differ diff --git a/data/raw/A211 b/data/raw/A211 deleted file mode 100644 index 1a83995..0000000 Binary files a/data/raw/A211 and /dev/null differ diff --git a/data/raw/A212 b/data/raw/A212 deleted file mode 100644 index 14a518b..0000000 Binary files a/data/raw/A212 and /dev/null differ diff --git a/data/raw/A213 b/data/raw/A213 deleted file mode 100644 index a8b5afe..0000000 Binary files a/data/raw/A213 and /dev/null differ diff --git a/data/raw/A214 b/data/raw/A214 deleted file mode 100644 index ab2e9a4..0000000 Binary files a/data/raw/A214 and /dev/null differ diff --git a/data/raw/A215 b/data/raw/A215 deleted file mode 100644 index f77a68c..0000000 Binary files a/data/raw/A215 and /dev/null differ diff --git a/data/raw/A216 b/data/raw/A216 deleted file mode 100644 index a5fb0f6..0000000 Binary files a/data/raw/A216 and /dev/null differ diff --git a/data/raw/A217 b/data/raw/A217 deleted file mode 100644 index 6819eab..0000000 Binary files a/data/raw/A217 and /dev/null differ diff --git a/data/raw/A218 b/data/raw/A218 deleted file mode 100644 index 6c92fdf..0000000 Binary files a/data/raw/A218 and /dev/null differ diff --git a/data/raw/A219 b/data/raw/A219 deleted file mode 100644 index 9e2abb8..0000000 Binary files a/data/raw/A219 and /dev/null differ diff --git a/data/raw/A22 b/data/raw/A22 deleted file mode 100644 index 3d59b4d..0000000 Binary files a/data/raw/A22 and /dev/null differ diff --git a/data/raw/A220 b/data/raw/A220 deleted file mode 100644 index d72ff07..0000000 Binary files a/data/raw/A220 and /dev/null differ diff --git a/data/raw/A221 b/data/raw/A221 deleted file mode 100644 index f3ea0a3..0000000 Binary files a/data/raw/A221 and /dev/null differ diff --git a/data/raw/A222 b/data/raw/A222 deleted file mode 100644 index bace53c..0000000 Binary files a/data/raw/A222 and /dev/null differ diff --git a/data/raw/A223 b/data/raw/A223 deleted file mode 100644 index ce6951c..0000000 Binary files a/data/raw/A223 and /dev/null differ diff --git a/data/raw/A224 b/data/raw/A224 deleted file mode 100644 index 84dc04d..0000000 Binary files a/data/raw/A224 and /dev/null differ diff --git a/data/raw/A225 b/data/raw/A225 deleted file mode 100644 index f12e3bc..0000000 Binary files a/data/raw/A225 and /dev/null differ diff --git a/data/raw/A226 b/data/raw/A226 deleted file mode 100644 index 766fe87..0000000 Binary files a/data/raw/A226 and /dev/null differ diff --git a/data/raw/A227 b/data/raw/A227 deleted file mode 100644 index 811305b..0000000 Binary files a/data/raw/A227 and /dev/null differ diff --git a/data/raw/A228 b/data/raw/A228 deleted file mode 100644 index 147b921..0000000 Binary files a/data/raw/A228 and /dev/null differ diff --git a/data/raw/A229 b/data/raw/A229 deleted file mode 100644 index acbed28..0000000 Binary files a/data/raw/A229 and /dev/null differ diff --git a/data/raw/A23 b/data/raw/A23 deleted file mode 100644 index b5db4a3..0000000 Binary files a/data/raw/A23 and /dev/null differ diff --git a/data/raw/A230 b/data/raw/A230 deleted file mode 100644 index 9168e35..0000000 Binary files a/data/raw/A230 and /dev/null differ diff --git a/data/raw/A231 b/data/raw/A231 deleted file mode 100644 index 269a72d..0000000 Binary files a/data/raw/A231 and /dev/null differ diff --git a/data/raw/A232 b/data/raw/A232 deleted file mode 100644 index 18251f0..0000000 Binary files a/data/raw/A232 and /dev/null differ diff --git a/data/raw/A233 b/data/raw/A233 deleted file mode 100644 index ad6795f..0000000 Binary files a/data/raw/A233 and /dev/null differ diff --git a/data/raw/A234 b/data/raw/A234 deleted file mode 100644 index a70dc99..0000000 Binary files a/data/raw/A234 and /dev/null differ diff --git a/data/raw/A235 b/data/raw/A235 deleted file mode 100644 index 4fb2315..0000000 Binary files a/data/raw/A235 and /dev/null differ diff --git a/data/raw/A236 b/data/raw/A236 deleted file mode 100644 index fbc01d0..0000000 Binary files a/data/raw/A236 and /dev/null differ diff --git a/data/raw/A237 b/data/raw/A237 deleted file mode 100644 index cc7e840..0000000 Binary files a/data/raw/A237 and /dev/null differ diff --git a/data/raw/A24 b/data/raw/A24 deleted file mode 100644 index e05a95e..0000000 Binary files a/data/raw/A24 and /dev/null differ diff --git a/data/raw/A25 b/data/raw/A25 deleted file mode 100644 index 10603ff..0000000 Binary files a/data/raw/A25 and /dev/null differ diff --git a/data/raw/A26 b/data/raw/A26 deleted file mode 100644 index a7056a2..0000000 Binary files a/data/raw/A26 and /dev/null differ diff --git a/data/raw/A27 b/data/raw/A27 deleted file mode 100644 index 6654bce..0000000 Binary files a/data/raw/A27 and /dev/null differ diff --git a/data/raw/A28 b/data/raw/A28 deleted file mode 100644 index fd99276..0000000 Binary files a/data/raw/A28 and /dev/null differ diff --git a/data/raw/A29 b/data/raw/A29 deleted file mode 100644 index 2f7c997..0000000 Binary files a/data/raw/A29 and /dev/null differ diff --git a/data/raw/A3 b/data/raw/A3 deleted file mode 100644 index 8ca8eb7..0000000 Binary files a/data/raw/A3 and /dev/null differ diff --git a/data/raw/A30 b/data/raw/A30 deleted file mode 100644 index 18ac799..0000000 Binary files a/data/raw/A30 and /dev/null differ diff --git a/data/raw/A31 b/data/raw/A31 deleted file mode 100644 index 855ad73..0000000 Binary files a/data/raw/A31 and /dev/null differ diff --git a/data/raw/A32 b/data/raw/A32 deleted file mode 100644 index e0bce5a..0000000 Binary files a/data/raw/A32 and /dev/null differ diff --git a/data/raw/A33 b/data/raw/A33 deleted file mode 100644 index 4475685..0000000 Binary files a/data/raw/A33 and /dev/null differ diff --git a/data/raw/A34 b/data/raw/A34 deleted file mode 100644 index 03783c2..0000000 Binary files a/data/raw/A34 and /dev/null differ diff --git a/data/raw/A35 b/data/raw/A35 deleted file mode 100644 index dd4f655..0000000 Binary files a/data/raw/A35 and /dev/null differ diff --git a/data/raw/A36 b/data/raw/A36 deleted file mode 100644 index a4ac419..0000000 Binary files a/data/raw/A36 and /dev/null differ diff --git a/data/raw/A37 b/data/raw/A37 deleted file mode 100644 index 1738736..0000000 Binary files a/data/raw/A37 and /dev/null differ diff --git a/data/raw/A38 b/data/raw/A38 deleted file mode 100644 index b1126cb..0000000 Binary files a/data/raw/A38 and /dev/null differ diff --git a/data/raw/A39 b/data/raw/A39 deleted file mode 100644 index b4126b2..0000000 Binary files a/data/raw/A39 and /dev/null differ diff --git a/data/raw/A4 b/data/raw/A4 deleted file mode 100644 index 34bcdce..0000000 Binary files a/data/raw/A4 and /dev/null differ diff --git a/data/raw/A40 b/data/raw/A40 deleted file mode 100644 index 323c5d1..0000000 Binary files a/data/raw/A40 and /dev/null differ diff --git a/data/raw/A41 b/data/raw/A41 deleted file mode 100644 index 82888ab..0000000 Binary files a/data/raw/A41 and /dev/null differ diff --git a/data/raw/A42 b/data/raw/A42 deleted file mode 100644 index 6b0f54d..0000000 Binary files a/data/raw/A42 and /dev/null differ diff --git a/data/raw/A43 b/data/raw/A43 deleted file mode 100644 index 929eae3..0000000 Binary files a/data/raw/A43 and /dev/null differ diff --git a/data/raw/A44 b/data/raw/A44 deleted file mode 100644 index 91bcd62..0000000 Binary files a/data/raw/A44 and /dev/null differ diff --git a/data/raw/A45 b/data/raw/A45 deleted file mode 100644 index bc5a9e3..0000000 Binary files a/data/raw/A45 and /dev/null differ diff --git a/data/raw/A46 b/data/raw/A46 deleted file mode 100644 index 82fd03b..0000000 Binary files a/data/raw/A46 and /dev/null differ diff --git a/data/raw/A47 b/data/raw/A47 deleted file mode 100644 index 1b9a0c9..0000000 Binary files a/data/raw/A47 and /dev/null differ diff --git a/data/raw/A48 b/data/raw/A48 deleted file mode 100644 index 230b73a..0000000 Binary files a/data/raw/A48 and /dev/null differ diff --git a/data/raw/A49 b/data/raw/A49 deleted file mode 100644 index 10e8f46..0000000 Binary files a/data/raw/A49 and /dev/null differ diff --git a/data/raw/A5 b/data/raw/A5 deleted file mode 100644 index 9f43d77..0000000 Binary files a/data/raw/A5 and /dev/null differ diff --git a/data/raw/A50 b/data/raw/A50 deleted file mode 100644 index a814642..0000000 Binary files a/data/raw/A50 and /dev/null differ diff --git a/data/raw/A51 b/data/raw/A51 deleted file mode 100644 index 19117b4..0000000 Binary files a/data/raw/A51 and /dev/null differ diff --git a/data/raw/A52 b/data/raw/A52 deleted file mode 100644 index f70ad14..0000000 Binary files a/data/raw/A52 and /dev/null differ diff --git a/data/raw/A53 b/data/raw/A53 deleted file mode 100644 index ae854aa..0000000 Binary files a/data/raw/A53 and /dev/null differ diff --git a/data/raw/A54 b/data/raw/A54 deleted file mode 100644 index 7e69517..0000000 Binary files a/data/raw/A54 and /dev/null differ diff --git a/data/raw/A55 b/data/raw/A55 deleted file mode 100644 index 612214e..0000000 Binary files a/data/raw/A55 and /dev/null differ diff --git a/data/raw/A56 b/data/raw/A56 deleted file mode 100644 index 242a3d2..0000000 Binary files a/data/raw/A56 and /dev/null differ diff --git a/data/raw/A57 b/data/raw/A57 deleted file mode 100644 index f6609cf..0000000 Binary files a/data/raw/A57 and /dev/null differ diff --git a/data/raw/A58 b/data/raw/A58 deleted file mode 100644 index bdd6c17..0000000 Binary files a/data/raw/A58 and /dev/null differ diff --git a/data/raw/A59 b/data/raw/A59 deleted file mode 100644 index 03e1338..0000000 Binary files a/data/raw/A59 and /dev/null differ diff --git a/data/raw/A6 b/data/raw/A6 deleted file mode 100644 index 6ca12bc..0000000 Binary files a/data/raw/A6 and /dev/null differ diff --git a/data/raw/A60 b/data/raw/A60 deleted file mode 100644 index 49291d2..0000000 Binary files a/data/raw/A60 and /dev/null differ diff --git a/data/raw/A61 b/data/raw/A61 deleted file mode 100644 index 4b63c0e..0000000 Binary files a/data/raw/A61 and /dev/null differ diff --git a/data/raw/A62 b/data/raw/A62 deleted file mode 100644 index 3f4cf45..0000000 Binary files a/data/raw/A62 and /dev/null differ diff --git a/data/raw/A63 b/data/raw/A63 deleted file mode 100644 index 015ee20..0000000 Binary files a/data/raw/A63 and /dev/null differ diff --git a/data/raw/A64 b/data/raw/A64 deleted file mode 100644 index 5cf5f3d..0000000 Binary files a/data/raw/A64 and /dev/null differ diff --git a/data/raw/A65 b/data/raw/A65 deleted file mode 100644 index 88b4f89..0000000 Binary files a/data/raw/A65 and /dev/null differ diff --git a/data/raw/A66 b/data/raw/A66 deleted file mode 100644 index 29790c6..0000000 Binary files a/data/raw/A66 and /dev/null differ diff --git a/data/raw/A67 b/data/raw/A67 deleted file mode 100644 index 2e54ec8..0000000 Binary files a/data/raw/A67 and /dev/null differ diff --git a/data/raw/A68 b/data/raw/A68 deleted file mode 100644 index c6c699e..0000000 Binary files a/data/raw/A68 and /dev/null differ diff --git a/data/raw/A69 b/data/raw/A69 deleted file mode 100644 index 37216e9..0000000 Binary files a/data/raw/A69 and /dev/null differ diff --git a/data/raw/A7 b/data/raw/A7 deleted file mode 100644 index d5cf11f..0000000 Binary files a/data/raw/A7 and /dev/null differ diff --git a/data/raw/A70 b/data/raw/A70 deleted file mode 100644 index a414310..0000000 Binary files a/data/raw/A70 and /dev/null differ diff --git a/data/raw/A71 b/data/raw/A71 deleted file mode 100644 index 715113b..0000000 Binary files a/data/raw/A71 and /dev/null differ diff --git a/data/raw/A72 b/data/raw/A72 deleted file mode 100644 index 13dc1ac..0000000 Binary files a/data/raw/A72 and /dev/null differ diff --git a/data/raw/A73 b/data/raw/A73 deleted file mode 100644 index 5091685..0000000 Binary files a/data/raw/A73 and /dev/null differ diff --git a/data/raw/A74 b/data/raw/A74 deleted file mode 100644 index f116ab1..0000000 Binary files a/data/raw/A74 and /dev/null differ diff --git a/data/raw/A75 b/data/raw/A75 deleted file mode 100644 index b64a8ea..0000000 Binary files a/data/raw/A75 and /dev/null differ diff --git a/data/raw/A76 b/data/raw/A76 deleted file mode 100644 index 99f3f32..0000000 Binary files a/data/raw/A76 and /dev/null differ diff --git a/data/raw/A77 b/data/raw/A77 deleted file mode 100644 index 879e8f8..0000000 Binary files a/data/raw/A77 and /dev/null differ diff --git a/data/raw/A78 b/data/raw/A78 deleted file mode 100644 index 3de60cc..0000000 Binary files a/data/raw/A78 and /dev/null differ diff --git a/data/raw/A79 b/data/raw/A79 deleted file mode 100644 index ddbe006..0000000 Binary files a/data/raw/A79 and /dev/null differ diff --git a/data/raw/A8 b/data/raw/A8 deleted file mode 100644 index e15b937..0000000 Binary files a/data/raw/A8 and /dev/null differ diff --git a/data/raw/A80 b/data/raw/A80 deleted file mode 100644 index 70a8a64..0000000 Binary files a/data/raw/A80 and /dev/null differ diff --git a/data/raw/A81 b/data/raw/A81 deleted file mode 100644 index 42fabc2..0000000 Binary files a/data/raw/A81 and /dev/null differ diff --git a/data/raw/A82 b/data/raw/A82 deleted file mode 100644 index c689044..0000000 Binary files a/data/raw/A82 and /dev/null differ diff --git a/data/raw/A83 b/data/raw/A83 deleted file mode 100644 index 7c07e4d..0000000 Binary files a/data/raw/A83 and /dev/null differ diff --git a/data/raw/A84 b/data/raw/A84 deleted file mode 100644 index 844e8df..0000000 Binary files a/data/raw/A84 and /dev/null differ diff --git a/data/raw/A85 b/data/raw/A85 deleted file mode 100644 index 8461823..0000000 Binary files a/data/raw/A85 and /dev/null differ diff --git a/data/raw/A86 b/data/raw/A86 deleted file mode 100644 index 4e3935a..0000000 Binary files a/data/raw/A86 and /dev/null differ diff --git a/data/raw/A87 b/data/raw/A87 deleted file mode 100644 index 5f730cb..0000000 Binary files a/data/raw/A87 and /dev/null differ diff --git a/data/raw/A88 b/data/raw/A88 deleted file mode 100644 index 94adccb..0000000 Binary files a/data/raw/A88 and /dev/null differ diff --git a/data/raw/A89 b/data/raw/A89 deleted file mode 100644 index 74931bc..0000000 Binary files a/data/raw/A89 and /dev/null differ diff --git a/data/raw/A9 b/data/raw/A9 deleted file mode 100644 index 178d3b2..0000000 Binary files a/data/raw/A9 and /dev/null differ diff --git a/data/raw/A90 b/data/raw/A90 deleted file mode 100644 index f522f54..0000000 Binary files a/data/raw/A90 and /dev/null differ diff --git a/data/raw/A91 b/data/raw/A91 deleted file mode 100644 index 508c556..0000000 Binary files a/data/raw/A91 and /dev/null differ diff --git a/data/raw/A92 b/data/raw/A92 deleted file mode 100644 index 0202ebc..0000000 Binary files a/data/raw/A92 and /dev/null differ diff --git a/data/raw/A93 b/data/raw/A93 deleted file mode 100644 index 0115040..0000000 Binary files a/data/raw/A93 and /dev/null differ diff --git a/data/raw/A94 b/data/raw/A94 deleted file mode 100644 index 835a3d8..0000000 Binary files a/data/raw/A94 and /dev/null differ diff --git a/data/raw/A95 b/data/raw/A95 deleted file mode 100644 index 76e933e..0000000 Binary files a/data/raw/A95 and /dev/null differ diff --git a/data/raw/A96 b/data/raw/A96 deleted file mode 100644 index d54a0ec..0000000 Binary files a/data/raw/A96 and /dev/null differ diff --git a/data/raw/A97 b/data/raw/A97 deleted file mode 100644 index c88f610..0000000 Binary files a/data/raw/A97 and /dev/null differ diff --git a/data/raw/A98 b/data/raw/A98 deleted file mode 100644 index 91ca5ce..0000000 Binary files a/data/raw/A98 and /dev/null differ diff --git a/data/raw/A99 b/data/raw/A99 deleted file mode 100644 index 3a324a0..0000000 Binary files a/data/raw/A99 and /dev/null differ diff --git a/data/raw/CAM1.DAT b/data/raw/CAM1.DAT deleted file mode 100644 index d79f547..0000000 Binary files a/data/raw/CAM1.DAT and /dev/null differ diff --git a/data/raw/CAM2.DAT b/data/raw/CAM2.DAT deleted file mode 100644 index 142d0f7..0000000 Binary files a/data/raw/CAM2.DAT and /dev/null differ diff --git a/data/raw/MakeRootBin_std.C b/data/raw/MakeRootBin_std.C deleted file mode 100644 index 2c48729..0000000 --- a/data/raw/MakeRootBin_std.C +++ /dev/null @@ -1,100 +0,0 @@ -#include -#define File "Spectra_A.root" -#define N 10 -#define prefix "a_series/A" -void MakeASCII(TH1D* h){ - std::string name = h->GetName(); - name = "c_series_ascii/"+name+".txt"; - std::ofstream out(name); - for(int i = 0; i< h->GetXaxis()->GetNbins();i++){ - out<GetBinContent(i)<SetBinContent(i,buffer[i])/*std::cout<Clone("total_spectrum"); - h_tot1 = (TH1D*) h1->Clone("total_spectrum1"); - h_tot2 = (TH1D*) h1->Clone("total_spectrum2"); - h_tot->Reset(); - h_tot1->Reset(); - h_tot2->Reset(); - } - h1->Add(h2,-1); -// h->Add(ReadFile(n2.c_str()),-1); -// h1->SetName("calib"); -// h1->Write(); - h1->Write(); - h_cnt->SetBinContent(i,h1->Integral(1427,2760)); - h_cnt2->SetBinContent(i,h1->Integral(0,100)); - h_tot->Add(h1); - if(i<96) h_tot1->Add(h1); - if(i>95 && i < 191) h_tot2->Add(h1); - // h3->Write(); - // MakeASCII(h1); - MakeASCII(h1); -// MakeASCII(h3); - } - h_tot->Write(); - h_tot1->Write(); - h_tot2->Write(); - - h_cnt->Write(); -// TH1D* h_cal = ReadFile("a_series/CAM2.DAT","calib"); -// h_cal->Write(); -// f->Close(); -} - - diff --git a/scripts/analyze_raw.py b/scripts/analyze_raw.py deleted file mode 100644 index 25b4a77..0000000 --- a/scripts/analyze_raw.py +++ /dev/null @@ -1,318 +0,0 @@ -#!/usr/bin/env python3 -""" -Analyze raw Tc-99 beta spectra for rate stability and endpoint drift. - -Data is cumulative (no reset between runs), so each file contains all -events accumulated up to that point. To get individual ~1-hour runs, -subtract consecutive files: run_N = cumulative_N - cumulative_(N-1). - -Produces plots of: - - Total count rate vs run number - - Regional count rates (low-energy vs high-energy) - - Low-energy fraction vs run number - - Endpoint position vs run number -""" - -from __future__ import annotations - -import sys -from pathlib import Path -from typing import cast - -import numpy as np -from scipy.stats import linregress - -from exp_data.raw_reader import ( - calibrate_from_am241, - get_run_files, - read_raw_spectrum, - subtract_spectra, -) - -# Energy calibration from Am-241 source: E = offset + gain * channel -# Determined automatically from known Am-241 gamma lines (13.9, 17.8, 26.3 keV) -CALIBRATION_FILE = "data/raw/CAM1.DAT" -_calib_offset, _calib_gain = calibrate_from_am241(CALIBRATION_FILE) -ENERGY_OFFSET = _calib_offset -ENERGY_GAIN = _calib_gain -print(f"Energy calibration: E = {ENERGY_OFFSET:.4f} + {ENERGY_GAIN:.4f} * ch") - -# Approximate Tc-99 endpoint for reference -TC99_ENDPOINT = 294.0 # keV - - -def channel_to_energy(ch: np.ndarray) -> np.ndarray: - """Convert channel index to energy in keV.""" - return ENERGY_OFFSET + ch * ENERGY_GAIN - - -def estimate_endpoint_from_counts( - counts: np.ndarray, - energies_keV: np.ndarray, - guess_endpoint: float = TC99_ENDPOINT, -) -> float: - """Estimate beta endpoint from spectrum using Kurie plot linear extrapolation. - - For allowed beta decay, the Kurie plot K(E) = sqrt(counts / (pWF)) is - linear near the endpoint and extrapolates to zero at E = Q-value. - We use a simplified Kurie plot (sqrt(counts)) since the phase space - factor is slowly varying compared to the sharp drop at the endpoint. - - Fits a line to the last ~15% of the spectrum (in the tail region - where counts are small but above background) and finds the x-intercept. - - Parameters - ---------- - counts : np.ndarray - Count spectrum. - energies_keV : np.ndarray - Energy calibration for each channel. - guess_endpoint : float - Expected endpoint for clamping. - - Returns - ------- - float - Estimated endpoint energy in keV. - """ - # Exclude overflow channel (last channel is always saturated) - counts_work = counts[:-1] - energies_work = energies_keV[:-1] - - # Estimate background from the very tail (last 5%) - n_tail = max(20, int(len(counts_work) * 0.05)) - background = np.median(counts_work[-n_tail:]) - - # Select tail region: last 15% of spectrum, above background - n_tail_region = max(30, int(len(counts_work) * 0.15)) - E_tail = energies_work[-n_tail_region:] - c_tail = counts_work[-n_tail_region:] - - # Only keep channels above background + noise - noise = max(np.sqrt(background), 1.0) - mask = c_tail > (background + noise) - if not mask.any(): - return guess_endpoint - - E_sel = E_tail[mask] - c_sel = c_tail[mask] - - # Kurie plot: K = sqrt(counts - background) - K = np.sqrt(np.maximum(c_sel - background, 0.01)) - - # Linear fit: K = a + b * E, endpoint = -a/b - try: - lin = cast("tuple[float, float, float, float, float]", linregress(E_sel, K)) - slope = lin[0] - intercept = lin[1] - r_val = lin[2] - if slope < 0 and abs(r_val) > 0.3: - endpoint = -intercept / slope - # Clamp to reasonable range (Q ± 100 keV) - endpoint = max(guess_endpoint - 100, min(guess_endpoint + 100, endpoint)) - return float(endpoint) - except (ValueError, ZeroDivisionError): - pass - - # Fallback: use the last channel above background - last_above = E_sel[np.where(c_sel > background)[0][-1]] - return float(last_above) - - -def compute_regional_rates(counts: np.ndarray, energies_keV: np.ndarray) -> dict: - """Compute count rates in different energy regions.""" - total = float(np.sum(counts)) - low_mask = energies_keV < 100 - high_mask = ~low_mask - - return { - "total": total, - "low_energy": float(np.sum(counts[low_mask])), - "high_energy": float(np.sum(counts[high_mask])), - "low_fraction": float(np.sum(counts[low_mask]) / total) if total > 0 else 0.0, - } - - -def main() -> None: - """Main analysis pipeline.""" - data_dir = Path(__file__).parent.parent / "data" / "raw" - output_dir = Path(__file__).parent.parent / "output" - output_dir.mkdir(exist_ok=True) - - # Get run files sorted naturally (A1, A2, ..., A10, A100, ...) - run_files = get_run_files(data_dir, prefix="A") - if len(run_files) < 2: - print(f"Need at least 2 run files, found {len(run_files)}") - sys.exit(1) - - print(f"Found {len(run_files)} cumulative run files") - - # Step 1: Read all cumulative spectra - print("\nReading cumulative spectra...") - cumulative_specs = [] - for i, fpath in enumerate(run_files): - try: - spec = read_raw_spectrum( - fpath, - run_id=fpath.name, - source="Tc99", - ) - cumulative_specs.append(spec) - except (FileNotFoundError, ValueError) as e: - print(f" Skipping {fpath.name}: {e}") - continue - - if len(cumulative_specs) < 2: - print("Need at least 2 valid spectra") - sys.exit(1) - - print(f" Loaded {len(cumulative_specs)} cumulative spectra") - - # Step 2: Subtract consecutive runs to get individual ~1h runs - print("\nSubtracting consecutive runs...") - individual_runs = [] - for i in range(1, len(cumulative_specs)): - diff = subtract_spectra( - cumulative_a=cumulative_specs[i], - cumulative_b=cumulative_specs[i - 1], - run_id=f"run_{i}", - ) - individual_runs.append(diff) - - print(f" Extracted {len(individual_runs)} individual runs") - - # Step 3: Analyze each run - print("\nAnalyzing individual runs...") - run_ids = [] - total_rates = [] - low_rates = [] - high_rates = [] - low_fractions = [] - endpoints = [] - - energies_keV = channel_to_energy(np.arange(len(individual_runs[0].counts))) - - for i, run in enumerate(individual_runs): - run_ids.append(i + 1) - rates = compute_regional_rates(run.counts, energies_keV) - endpoint = estimate_endpoint_from_counts(run.counts, energies_keV) - - total_rates.append(rates["total"]) - low_rates.append(rates["low_energy"]) - high_rates.append(rates["high_energy"]) - low_fractions.append(rates["low_fraction"]) - endpoints.append(endpoint) - - if (i + 1) % 50 == 0: - print(f" Analyzed {i + 1}/{len(individual_runs)} runs") - - run_ids = np.array(run_ids) - total_rates = np.array(total_rates) - low_rates = np.array(low_rates) - high_rates = np.array(high_rates) - low_fractions = np.array(low_fractions) - endpoints = np.array(endpoints) - - # Print summary - print(f"\n{'=' * 60}") - print(f"Analysis of {len(run_ids)} individual Tc-99 runs") - print(f"{'=' * 60}") - print(f"Run range: {min(run_ids)} - {max(run_ids)}") - print(f"Total counts: {min(total_rates):.0f} - {max(total_rates):.0f}") - print(f"Low-energy fraction: {min(low_fractions):.3f} - {max(low_fractions):.3f}") - print(f"Endpoint estimate: {min(endpoints):.1f} - {max(endpoints):.1f} keV") - - # Endpoint drift - if len(run_ids) > 10: - lin_e = cast( - "tuple[float, float, float, float, float]", - linregress(run_ids, endpoints), - ) - slope_e = lin_e[0] - intercept_e = lin_e[1] - r_e = lin_e[2] - print(f"\nEndpoint drift: {slope_e:.3f} keV/run (R²={r_e**2:.4f})") - print(f" Start (run 1): {intercept_e + slope_e * run_ids[0]:.1f} keV") - print( - f" End (run {run_ids[-1]}): {intercept_e + slope_e * run_ids[-1]:.1f} keV" - ) - - # Rate drift - lin_r = cast( - "tuple[float, float, float, float, float]", linregress(run_ids, total_rates) - ) - slope_r = lin_r[0] - r_r = lin_r[2] - print(f"\nTotal count rate drift: {slope_r:.0f} counts/run (R²={r_r**2:.4f})") - - # Save results - results_file = output_dir / "rate_analysis.csv" - try: - with open(results_file, "w") as f: - f.write( - "run,total_counts,low_energy_counts,high_energy_counts," - "low_fraction,endpoint_keV\n" - ) - for i in range(len(run_ids)): - f.write( - f"{run_ids[i]},{total_rates[i]:.0f},{low_rates[i]:.0f}," - f"{high_rates[i]:.0f},{low_fractions[i]:.4f},{endpoints[i]:.1f}\n" - ) - except OSError as exc: - print(f"Cannot write {results_file}: {exc}") - raise SystemExit(1) from exc - print(f"\nResults saved to {results_file}") - - # Plot - try: - import matplotlib.pyplot as plt - - fig, axes = plt.subplots(2, 2, figsize=(14, 10)) - - # Total counts - axes[0, 0].plot(run_ids, total_rates, "k-", lw=1.5) - axes[0, 0].set_xlabel("Run number") - axes[0, 0].set_ylabel("Total counts") - axes[0, 0].set_title("Total count rate per run") - axes[0, 0].grid(True, alpha=0.3) - - # Low-energy fraction - axes[0, 1].plot(run_ids, low_fractions, "b-", lw=1.5) - axes[0, 1].set_xlabel("Run number") - axes[0, 1].set_ylabel("Low-energy fraction (<100 keV)") - axes[0, 1].set_title("Low-energy fraction drift") - axes[0, 1].grid(True, alpha=0.3) - - # Endpoint - axes[1, 0].plot(run_ids, endpoints, "r-", lw=1.5) - axes[1, 0].axhline( - TC99_ENDPOINT, - color="gray", - ls="--", - label=f"Tc-99 Q ≈ {TC99_ENDPOINT} keV", - ) - axes[1, 0].set_xlabel("Run number") - axes[1, 0].set_ylabel("Endpoint (keV)") - axes[1, 0].set_title("Endpoint position drift") - axes[1, 0].legend(fontsize=9) - axes[1, 0].grid(True, alpha=0.3) - - # Low vs high energy - axes[1, 1].plot(run_ids, low_rates, "b-", lw=1.5, label="<100 keV") - axes[1, 1].plot(run_ids, high_rates, "r-", lw=1.5, label=">100 keV") - axes[1, 1].set_xlabel("Run number") - axes[1, 1].set_ylabel("Counts") - axes[1, 1].set_title("Regional count rates") - axes[1, 1].legend(fontsize=9) - axes[1, 1].grid(True, alpha=0.3) - - plt.tight_layout() - plot_file = output_dir / "rate_analysis.png" - fig.savefig(plot_file, dpi=150, bbox_inches="tight") - print(f"Plot saved to {plot_file}") - except ImportError: - print("\nmatplotlib not available — skipping plot generation") - - -if __name__ == "__main__": - main()