From 2b0a1623b445ce197ae41cf3527ac6c67fadd4e4 Mon Sep 17 00:00:00 2001 From: Hades DAQ Date: Tue, 12 Mar 2019 13:33:12 +0100 Subject: [PATCH] RICH HV settings and RICH daq files --- rich/addresses_concentrator.db_20180829 | 79 ++ rich/addresses_dirich.db_20190213 | 866 ++++++++++++++++++ rich/register_tdc_rich.db | 3 +- rich/retransmission.sh | 33 + rich/retransmission_clear_errorcounter.sh | 14 + rich/retransmission_status.sh | 27 + rich/retransmission_status_conc.sh | 25 + rich/retransmission_test.sh | 26 + rich/startup.script | 7 +- rich/trb_dirich_threshold | 1 + .../HV_generator/PMT_positioning_GSI.tsv | 498 ++++++++++ richhv/rich700/HV_generator/gain_alignement | Bin 0 -> 114656 bytes .../rich700/HV_generator/gain_alignement.cpp | 148 +++ richhv/rich700/README | 13 + .../gain_alignement_HV_1.5E+06.dat | 75 ++ .../gain_alignement_HV_1.5E+06_fifth.dat | 75 ++ .../gain_alignement_HV_1.5E+06_noWLS.dat | 75 ++ .../gain_alignement_HV_2.0E+06.dat | 75 ++ .../gain_alignement_HV_2.5E+06.dat | 75 ++ .../gain_alignement_HV_3.0E+06.dat | 75 ++ richhv/rich700/infoHV.sh | 13 + richhv/rich700/setCrate.sh | 9 + richhv/rich700/setHV.sh | 22 + richhv/rich700/setHV_val.sh | 16 + richhv/rich700/setHVon_off.sh | 40 + richhv/rich700/setHVon_off_old.sh | 23 + 26 files changed, 2311 insertions(+), 2 deletions(-) create mode 100644 rich/addresses_concentrator.db_20180829 create mode 100644 rich/addresses_dirich.db_20190213 create mode 100755 rich/retransmission.sh create mode 100755 rich/retransmission_clear_errorcounter.sh create mode 100755 rich/retransmission_status.sh create mode 100755 rich/retransmission_status_conc.sh create mode 100755 rich/retransmission_test.sh create mode 160000 rich/trb_dirich_threshold create mode 100644 richhv/rich700/HV_generator/PMT_positioning_GSI.tsv create mode 100755 richhv/rich700/HV_generator/gain_alignement create mode 100644 richhv/rich700/HV_generator/gain_alignement.cpp create mode 100644 richhv/rich700/README create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06.dat create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_fifth.dat create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_noWLS.dat create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_2.0E+06.dat create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_2.5E+06.dat create mode 100644 richhv/rich700/generated_HV_sets/gain_alignement_HV_3.0E+06.dat create mode 100755 richhv/rich700/infoHV.sh create mode 100755 richhv/rich700/setCrate.sh create mode 100755 richhv/rich700/setHV.sh create mode 100755 richhv/rich700/setHV_val.sh create mode 100755 richhv/rich700/setHVon_off.sh create mode 100755 richhv/rich700/setHVon_off_old.sh diff --git a/rich/addresses_concentrator.db_20180829 b/rich/addresses_concentrator.db_20180829 new file mode 100644 index 0000000..f064c8e --- /dev/null +++ b/rich/addresses_concentrator.db_20180829 @@ -0,0 +1,79 @@ +#Address # S/N # FPGA # Design # TRB # +################################################### + +# serials are 3 digits, no trailing '0' + +0x8204 068 0 0 1 +0x8205 054 0 0 1 +0x8206 076 0 0 1 +0x8211 037 0 0 1 +0x8212 067 0 0 1 +0x8213 077 0 0 1 +0x8214 080 0 0 1 +0x8215 089 0 0 1 +0x8216 087 0 0 1 +0x8217 023 0 0 1 +0x8218 046 0 0 1 +0x8221 053 0 0 1 +0x8222 099 0 0 1 +0x8223 066 0 0 1 +0x8224 088 0 0 1 +0x8225 084 0 0 1 +0x8226 093 0 0 1 +0x8227 090 0 0 1 +0x8228 014 0 0 1 +0x8229 092 0 0 1 +0x8231 052 0 0 1 +0x8239 106 0 0 1 +0x8240 097 0 0 1 +0x8241 074 0 0 1 +0x8242 096 0 0 1 +0x8243 071 0 0 1 +0x8244 083 0 0 1 +0x8245 061 0 0 1 +0x8246 016 0 0 1 +0x8247 018 0 0 1 +0x8248 015 0 0 1 +0x8249 104 0 0 1 +0x824a 085 0 0 1 +0x8250 047 0 0 1 +0x8251 055 0 0 1 +0x8252 094 0 0 1 +0x8254 051 0 0 1 +0x8256 102 0 0 1 +0x8258 021 0 0 1 +0x8259 091 0 0 1 +0x825a 029 0 0 1 #was 40 +0x8260 056 0 0 1 +0x8261 043 0 0 1 +0x8262 064 0 0 1 +0x8263 069 0 0 1 +0x8264 072 0 0 1 +0x8265 086 0 0 1 +0x8266 109 0 0 1 +0x8267 078 0 0 1 +0x8268 012 0 0 1 +0x8269 105 0 0 1 +0x826a 011 0 0 1 +0x8271 065 0 0 1 +0x8279 022 0 0 1 +0x8281 063 0 0 1 +0x8282 070 0 0 1 +0x8283 073 0 0 1 +0x8284 075 0 0 1 +0x8285 044 0 0 1 #was 13 +0x8286 107 0 0 1 +0x8287 019 0 0 1 +0x8288 017 0 0 1 +0x8289 010 0 0 1 +0x8291 038 0 0 1 +0x8292 100 0 0 1 +0x8293 098 0 0 1 +0x8294 079 0 0 1 +0x8295 050 0 0 1 #was 20 +0x8296 108 0 0 1 +0x8297 025 0 0 1 +0x8298 045 0 0 1 +0x82a4 082 0 0 1 +0x82a5 048 0 0 1 +0x82a6 081 0 0 1 diff --git a/rich/addresses_dirich.db_20190213 b/rich/addresses_dirich.db_20190213 new file mode 100644 index 0000000..b733ff0 --- /dev/null +++ b/rich/addresses_dirich.db_20190213 @@ -0,0 +1,866 @@ +#Address # S/N # FPGA # Design # TRB # +################################################### +0x7000 0001 1 0 1 +0x7001 1 1 0 1 +0x7010 0760 1 0 1 +0x7011 0742 1 0 1 +0x7020 0740 1 0 1 +0x7021 0391 1 0 1 +0x7030 0743 1 0 1 +0x7031 0769 1 0 1 +0x7040 1085 1 0 1 +0x7041 1076 1 0 1 +0x7050 1059 1 0 1 +0x7051 1048 1 0 1 +0x7060 1078 1 0 1 +0x7061 0521 1 0 1 +0x7070 0501 1 0 1 +0x7071 0882 1 0 1 +0x7080 0859 1 0 1 +0x7081 0878 1 0 1 +0x7090 0853 1 0 1 +0x7091 0854 1 0 1 +0x70a0 0509 1 0 1 +0x70a1 0508 1 0 1 +0x70b0 0514 1 0 1 +0x70b1 0490 1 0 1 +0x7100 0571 1 0 1 +0x7101 1045 1 0 1 #was 0580 +0x7110 0350 1 0 1 +0x7111 0346 1 0 1 +0x7120 0347 1 0 1 +0x7121 0352 1 0 1 +0x7130 0425 1 0 1 +0x7131 0441 1 0 1 +0x7140 0051 1 0 1 +0x7141 0110 1 0 1 +0x7150 1192 1 0 1 +0x7151 1043 1 0 1 +0x7160 1200 1 0 1 +0x7161 1042 1 0 1 +0x7170 0660 1 0 1 +0x7171 0682 1 0 1 +0x7180 0764 1 0 1 +0x7181 0766 1 0 1 +0x7190 0782 1 0 1 +0x7191 0787 1 0 1 +0x71a0 0876 1 0 1 +0x71a1 0901 1 0 1 +0x71b0 0862 1 0 1 +0x71b1 0855 1 0 1 +0x7200 0504 1 0 1 +0x7201 0702 1 0 1 +0x7210 0200 1 0 1 +0x7211 0689 1 0 1 +0x7220 0631 1 0 1 +0x7221 0700 1 0 1 +0x7230 1114 1 0 1 +0x7231 0820 1 0 1 +0x7240 0802 1 0 1 +0x7241 0487 1 0 1 +0x7250 1053 1 0 1 +0x7251 1190 1 0 1 +0x7260 1189 1 0 1 +0x7261 1193 1 0 1 +0x7270 0644 1 0 1 +0x7271 0837 1 0 1 +0x7280 0696 1 0 1 +0x7281 0786 1 0 1 +0x7290 0765 1 0 1 +0x7291 0785 1 0 1 +0x72a0 0868 1 0 1 +0x72a1 0874 1 0 1 +0x72b0 0875 1 0 1 +0x72b1 0884 1 0 1 +0x7300 1061 1 0 1 # was 699 +0x7301 0584 1 0 1 +0x7310 0690 1 0 1 +0x7311 0645 1 0 1 +0x7320 0377 1 0 1 +0x7321 0605 1 0 1 +0x7330 0815 1 0 1 +0x7331 0811 1 0 1 +0x7340 0816 1 0 1 +0x7341 0808 1 0 1 +0x7350 1188 1 0 1 +0x7351 1196 1 0 1 +0x7360 1060 1 0 1 +0x7361 1191 1 0 1 +0x7370 0756 1 0 1 +0x7371 0780 1 0 1 +0x7380 0754 1 0 1 +0x7381 0783 1 0 1 +0x7390 0778 1 0 1 +0x7391 0781 1 0 1 +0x73a0 0886 1 0 1 +0x73a1 0873 1 0 1 +0x73b0 0898 1 0 1 +0x73b1 0553 1 0 1 +0x7400 0567 1 0 1 +0x7401 0588 1 0 1 +0x7410 0622 1 0 1 +0x7411 0598 1 0 1 +0x7420 0460 1 0 1 +0x7421 0687 1 0 1 +0x7430 0812 1 0 1 +0x7431 0806 1 0 1 +0x7440 0809 1 0 1 +0x7441 0810 1 0 1 +0x7450 0846 1 0 1 +0x7451 1103 1 0 1 +0x7460 1194 1 0 1 #20180606 was 0849 +0x7461 1195 1 0 1 +0x7470 0767 1 0 1 +0x7471 0757 1 0 1 +0x7480 0779 1 0 1 +0x7481 0755 1 0 1 +0x7490 0776 1 0 1 +0x7491 0788 1 0 1 +0x7500 0578 1 0 1 +0x7501 0564 1 0 1 +0x7510 0604 1 0 1 +0x7511 0613 1 0 1 +0x7520 0692 1 0 1 +0x7521 0344 1 0 1 +0x7530 0804 1 0 1 +0x7531 0805 1 0 1 +0x7540 0807 1 0 1 +0x7541 0803 1 0 1 +0x7550 1094 1 0 1 +0x7551 1100 1 0 1 +0x7560 0547 1 0 1 +0x7561 0834 1 0 1 +0x7570 0759 1 0 1 +0x7571 0777 1 0 1 +0x7580 0768 1 0 1 +0x7581 0774 1 0 1 +0x7590 0773 1 0 1 +0x7591 0775 1 0 1 +0x7600 0577 1 0 1 +0x7601 0261 1 0 1 +0x7610 0342 1 0 1 +0x7611 0600 1 0 1 +0x7620 0556 1 0 1 +0x7621 0693 1 0 1 +0x7630 0830 1 0 1 +0x7631 0829 1 0 1 +0x7640 0832 1 0 1 +0x7641 0831 1 0 1 +0x7650 1099 1 0 1 +0x7651 0739 1 0 1 +0x7660 0849 1 0 1 +0x7661 1096 1 0 1 +0x7670 0753 1 0 1 +0x7671 0784 1 0 1 +0x7680 0752 1 0 1 +0x7681 0748 1 0 1 +0x7690 0744 1 0 1 +0x7691 0772 1 0 1 +0x7700 0586 1 0 1 +0x7701 0587 1 0 1 +0x7710 0559 1 0 1 #was 595 20180619 +0x7711 0188 1 0 1 +0x7720 0819 1 0 1 +0x7721 0817 1 0 1 +0x7730 0828 1 0 1 +0x7731 0699 1 0 1 #was 827 20180619 +0x7740 0793 1 0 1 +0x7741 0838 1 0 1 +0x7750 0840 1 0 1 +0x7751 0841 1 0 1 +0x7760 0511 1 0 1 +0x7761 0500 1 0 1 +0x7770 0533 1 0 1 +0x7771 0551 1 0 1 +0x7800 0611 1 0 1 +0x7801 0583 1 0 1 +0x7810 0596 1 0 1 +0x7811 0594 1 0 1 +0x7820 0844 1 0 1 +0x7821 0851 1 0 1 +0x7830 0826 1 0 1 +0x7831 0825 1 0 1 +0x7840 0796 1 0 1 +0x7841 0798 1 0 1 +0x7850 0792 1 0 1 +0x7851 0791 1 0 1 +0x7860 0499 1 0 1 +0x7861 0463 1 0 1 +0x7870 1058 1 0 1 +0x7871 0675 1 0 1 +0x7900 0607 1 0 1 +0x7901 0614 1 0 1 +0x7910 0602 1 0 1 +0x7911 0591 1 0 1 +0x7920 1062 1 0 1 # was 850 +0x7921 0842 1 0 1 +0x7930 0823 1 0 1 +0x7931 0822 1 0 1 +0x7940 0797 1 0 1 +0x7941 1104 1 0 1 +0x7950 0790 1 0 1 +0x7951 0789 1 0 1 +0x7a00 1119 1 0 1 +0x7a01 0555 1 0 1 +0x7a10 1109 1 0 1 +0x7a11 1108 1 0 1 +0x7a20 1115 1 0 1 +0x7a21 1112 1 0 1 +0x7a30 1113 1 0 1 +0x7a31 0357 1 0 1 +0x7b00 0880 1 0 1 +0x7b01 0686 1 0 1 +0x7b10 0506 1 0 1 +0x7b11 1065 1 0 1 +0x7b20 0609 1 0 1 +0x7b21 0484 1 0 1 +0x7b30 0852 1 0 1 +0x7b31 0869 1 0 1 +0x7002 1 1 0 1 +0x7003 1 1 0 1 +0x7012 0159 1 0 1 +0x7013 0054 1 0 1 +0x7022 0056 1 0 1 +0x7023 0058 1 0 1 +0x7032 0153 1 0 1 +0x7033 0161 1 0 1 +0x7042 0152 1 0 1 +0x7043 0157 1 0 1 +0x7052 0150 1 0 1 +0x7053 0169 1 0 1 +0x7062 0052 1 0 1 +0x7063 0060 1 0 1 +0x7072 0099 1 0 1 +0x7073 0069 1 0 1 +0x7082 0095 1 0 1 +0x7083 0120 1 0 1 +0x7092 0085 1 0 1 +0x7093 0061 1 0 1 +0x70a2 0354 1 0 1 +0x70a3 1037 1 0 1 +0x70b2 0919 1 0 1 #was 923 20180905 +0x70b3 0795 1 0 1 #was 911 20180905 +0x7102 0568 1 0 1 +0x7103 0581 1 0 1 +0x7112 0423 1 0 1 +0x7113 0132 1 0 1 +0x7122 0403 1 0 1 +0x7123 0412 1 0 1 +0x7132 0356 1 0 1 +0x7133 0219 1 0 1 +0x7142 0375 1 0 1 +0x7143 0405 1 0 1 +0x7152 0162 1 0 1 +0x7153 0171 1 0 1 +0x7162 0148 1 0 1 +0x7163 0149 1 0 1 +0x7172 0265 1 0 1 +0x7173 0263 1 0 1 +0x7182 0324 1 0 1 +0x7183 0326 1 0 1 +0x7192 0086 1 0 1 +0x7193 0264 1 0 1 +0x71a2 0229 1 0 1 +0x71a3 0629 1 0 1 +0x71b2 0297 1 0 1 +0x71b3 0624 1 0 1 +0x7202 0713 1 0 1 +0x7203 0720 1 0 1 +0x7212 0220 1 0 1 +0x7213 0241 1 0 1 +0x7222 0429 1 0 1 +0x7223 0249 1 0 1 +0x7232 0398 1 0 1 +0x7233 0408 1 0 1 +0x7242 0385 1 0 1 +0x7243 0393 1 0 1 +0x7252 0170 1 0 1 +0x7253 0167 1 0 1 +0x7262 0172 1 0 1 +0x7263 0168 1 0 1 +0x7272 0319 1 0 1 +0x7273 0278 1 0 1 +0x7282 0271 1 0 1 +0x7283 0270 1 0 1 +0x7292 0106 1 0 1 +0x7293 0309 1 0 1 +0x72a2 0480 1 0 1 #was 105 +0x72a3 0771 1 0 1 #was 123 +0x72b2 0654 1 0 1 +0x72b3 0727 1 0 1 +0x7302 0714 1 0 1 +0x7303 0721 1 0 1 +0x7312 0250 1 0 1 +0x7313 0239 1 0 1 +0x7322 0224 1 0 1 +0x7323 0253 1 0 1 +0x7332 0380 1 0 1 +0x7333 0381 1 0 1 +0x7342 0392 1 0 1 +0x7343 0400 1 0 1 +0x7352 0055 1 0 1 +0x7353 0166 1 0 1 +0x7362 0164 1 0 1 +0x7363 0165 1 0 1 +0x7372 0247 1 0 1 +0x7373 0364 1 0 1 +0x7382 0638 1 0 1 #was 140 +0x7383 0240 1 0 1 +0x7392 0442 1 0 1 +0x7393 0059 1 0 1 +0x73a2 0634 1 0 1 +0x73a3 0623 1 0 1 +0x73b2 0625 1 0 1 +0x73b3 0670 1 0 1 +0x7402 0585 1 0 1 +0x7403 0576 1 0 1 +0x7412 0194 1 0 1 +0x7413 0197 1 0 1 +0x7422 0214 1 0 1 +0x7423 0189 1 0 1 +0x7432 0209 1 0 1 +0x7433 0174 1 0 1 +0x7442 0130 1 0 1 +0x7443 0175 1 0 1 +0x7452 0397 1 0 1 +0x7453 0406 1 0 1 +0x7462 0384 1 0 1 +0x7463 0388 1 0 1 +0x7472 0131 1 0 1 +0x7473 0373 1 0 1 +0x7482 0133 1 0 1 +0x7483 0359 1 0 1 +0x7492 0145 1 0 1 +0x7493 0160 1 0 1 +0x7502 0589 1 0 1 +0x7503 0570 1 0 1 +0x7512 0193 1 0 1 +0x7513 0199 1 0 1 +0x7522 0182 1 0 1 +0x7523 0204 1 0 1 +0x7532 0205 1 0 1 +0x7533 0212 1 0 1 +0x7542 0206 1 0 1 +0x7543 0468 1 0 1 +0x7552 0421 1 0 1 +0x7553 0396 1 0 1 +0x7562 0394 1 0 1 +0x7563 0395 1 0 1 +0x7572 0401 1 0 1 +0x7573 0404 1 0 1 +0x7582 0372 1 0 1 +0x7583 0387 1 0 1 +0x7592 0374 1 0 1 +0x7593 0366 1 0 1 +0x7602 0579 1 0 1 +0x7603 0467 1 0 1 #was 590 +0x7612 0477 1 0 1 +0x7613 0476 1 0 1 +0x7622 0479 1 0 1 +0x7623 0474 1 0 1 +0x7632 0207 1 0 1 +0x7633 0215 1 0 1 +0x7642 0198 1 0 1 +0x7643 0216 1 0 1 +0x7652 0419 1 0 1 +0x7653 0414 1 0 1 +0x7662 0413 1 0 1 +0x7663 0415 1 0 1 +0x7672 0371 1 0 1 +0x7673 0376 1 0 1 +0x7682 0370 1 0 1 +0x7683 0399 1 0 1 +0x7692 0386 1 0 1 +0x7693 0369 1 0 1 +0x7702 0658 1 0 1 +0x7703 0662 1 0 1 +0x7712 0669 1 0 1 +0x7713 0708 1 0 1 +0x7722 0125 1 0 1 +0x7723 0074 1 0 1 +0x7732 0107 1 0 1 +0x7733 0223 1 0 1 +0x7742 0180 1 0 1 +0x7743 0202 1 0 1 +0x7752 0196 1 0 1 +0x7753 0195 1 0 1 +0x7762 0917 1 0 1 +0x7763 0735 1 0 1 +0x7772 0751 1 0 1 +0x7773 0909 1 0 1 +0x7802 0657 1 0 1 +0x7803 0663 1 0 1 +0x7812 0672 1 0 1 +0x7813 0668 1 0 1 +0x7822 0121 1 0 1 +0x7823 0064 1 0 1 +0x7832 0296 1 0 1 +0x7833 0221 1 0 1 +0x7842 0552 1 0 1 +0x7843 0203 1 0 1 +0x7852 0201 1 0 1 +0x7853 0191 1 0 1 +0x7862 1090 1 0 1 +0x7863 1149 1 0 1 +0x7872 0903 1 0 1 +0x7873 1040 1 0 1 +0x7902 0655 1 0 1 +0x7903 0725 1 0 1 +0x7912 0667 1 0 1 +0x7913 0724 1 0 1 +0x7922 0126 1 0 1 +0x7923 0098 1 0 1 +0x7932 0139 1 0 1 +0x7933 0222 1 0 1 +0x7942 0183 1 0 1 +0x7943 0063 1 0 1 +0x7952 0179 1 0 1 +0x7953 0190 1 0 1 +0x7a02 0492 1 0 1 +0x7a03 0302 1 0 1 +0x7a12 0695 1 0 1 +0x7a13 0593 1 0 1 +0x7a22 0677 1 0 1 +0x7a23 0717 1 0 1 +0x7a32 0650 1 0 1 +0x7a33 0630 1 0 1 +0x7b02 0894 1 0 1 +0x7b03 0465 1 0 1 +0x7b12 0486 1 0 1 +0x7b13 1079 1 0 1 +0x7b22 0466 1 0 1 +0x7b23 0684 1 0 1 +0x7b32 0489 1 0 1 +0x7b33 0900 1 0 1 +0x7004 1 1 0 1 +0x7005 1 1 0 1 +0x7014 0144 1 0 1 +0x7015 0143 1 0 1 +0x7024 0142 1 0 1 +0x7025 0147 1 0 1 +0x7034 0050 1 0 1 +0x7035 0277 1 0 1 +0x7044 0254 1 0 1 +0x7045 0151 1 0 1 +0x7054 0580 1 0 1 #was 146 20180619 +0x7055 0154 1 0 1 +0x7064 0262 1 0 1 +0x7065 0260 1 0 1 +0x7074 0118 1 0 1 +0x7075 0081 1 0 1 +0x7084 0075 1 0 1 +0x7085 0087 1 0 1 +0x7094 0071 1 0 1 +0x7095 0096 1 0 1 +0x70a4 1033 1 0 1 +0x70a5 0493 1 0 1 +0x70b4 0908 1 0 1 +0x70b5 0762 1 0 1 #was 914 20180905 +0x7104 0447 1 0 1 +0x7105 0440 1 0 1 +0x7114 0252 1 0 1 +0x7115 0236 1 0 1 +0x7124 0246 1 0 1 +0x7125 0234 1 0 1 +0x7134 0267 1 0 1 +0x7135 0266 1 0 1 +0x7144 0268 1 0 1 +0x7145 0269 1 0 1 +0x7154 0318 1 0 1 +0x7155 0314 1 0 1 +0x7164 0305 1 0 1 +0x7165 0290 1 0 1 +0x7174 0112 1 0 1 +0x7175 0079 1 0 1 +0x7184 0092 1 0 1 +0x7185 0114 1 0 1 +0x7194 0100 1 0 1 +0x7195 0115 1 0 1 +0x71a4 0534 1 0 1 +0x71a5 0080 1 0 1 +0x71b4 0537 1 0 1 +0x71b5 0067 1 0 1 +0x7204 0444 1 0 1 +0x7205 0185 1 0 1 +0x7214 0226 1 0 1 +0x7215 0245 1 0 1 +0x7224 0235 1 0 1 +0x7225 0233 1 0 1 +0x7234 0334 1 0 1 +0x7235 0259 1 0 1 +0x7244 0255 1 0 1 +0x7245 0257 1 0 1 +0x7254 0283 1 0 1 +0x7255 0310 1 0 1 +0x7264 0280 1 0 1 +0x7265 0294 1 0 1 +0x7274 0548 1 0 1 +0x7275 0094 1 0 1 +0x7284 0068 1 0 1 +0x7285 0108 1 0 1 +0x7294 0116 1 0 1 +0x7295 0117 1 0 1 +0x72a4 0518 1 0 1 +0x72a5 0530 1 0 1 +0x72b4 0528 1 0 1 +0x72b5 0550 1 0 1 +0x7304 0426 1 0 1 +0x7305 0187 1 0 1 +0x7314 0225 1 0 1 +0x7315 0237 1 0 1 +0x7324 0243 1 0 1 +0x7325 0232 1 0 1 +0x7334 0331 1 0 1 +0x7335 0256 1 0 1 +0x7344 0332 1 0 1 +0x7345 0336 1 0 1 +0x7354 0301 1 0 1 +0x7355 0295 1 0 1 +0x7364 0291 1 0 1 +0x7365 0300 1 0 1 +0x7374 0122 1 0 1 +0x7375 0097 1 0 1 +0x7384 0124 1 0 1 +0x7385 0102 1 0 1 +0x7394 0127 1 0 1 +0x7395 0113 1 0 1 +0x73a4 0539 1 0 1 +0x73a5 0524 1 0 1 +0x73b4 0541 1 0 1 +0x73b5 0545 1 0 1 +0x7404 0438 1 0 1 +0x7405 0434 1 0 1 +0x7414 0367 1 0 1 +0x7415 0420 1 0 1 +0x7424 0424 1 0 1 +0x7425 0363 1 0 1 +0x7434 0335 1 0 1 +0x7435 0285 1 0 1 +0x7444 0315 1 0 1 +0x7445 0333 1 0 1 +0x7454 0292 1 0 1 +0x7455 0298 1 0 1 +0x7464 0289 1 0 1 +0x7465 0293 1 0 1 +0x7474 0088 1 0 1 +0x7475 0103 1 0 1 +0x7484 0129 1 0 1 +0x7485 0111 1 0 1 +0x7494 0104 1 0 1 +0x7495 0090 1 0 1 +0x7504 0432 1 0 1 +0x7505 0439 1 0 1 +0x7514 0339 1 0 1 +0x7515 0409 1 0 1 +0x7524 0389 1 0 1 +0x7525 0361 1 0 1 +0x7534 0311 1 0 1 +0x7535 0306 1 0 1 +0x7544 0303 1 0 1 +0x7545 0313 1 0 1 +0x7554 0274 1 0 1 +0x7555 0299 1 0 1 +0x7564 0288 1 0 1 +0x7565 0275 1 0 1 +0x7574 0066 1 0 1 +0x7575 0128 1 0 1 +0x7584 0089 1 0 1 +0x7585 0070 1 0 1 +0x7594 0072 1 0 1 +0x7595 0077 1 0 1 +0x7604 0244 1 0 1 +0x7605 0428 1 0 1 +0x7614 0418 1 0 1 +0x7615 0422 1 0 1 +0x7624 0411 1 0 1 +0x7625 0417 1 0 1 +0x7634 0316 1 0 1 +0x7635 0317 1 0 1 +0x7644 0308 1 0 1 +0x7645 0304 1 0 1 +0x7654 0286 1 0 1 +0x7655 0284 1 0 1 +0x7664 0323 1 0 1 +0x7665 0329 1 0 1 +0x7674 0078 1 0 1 +0x7675 0093 1 0 1 +0x7684 0091 1 0 1 +0x7685 0073 1 0 1 +0x7694 0084 1 0 1 +0x7695 0076 1 0 1 +0x7704 0512 1 0 1 #was 648 180619 +0x7705 0606 1 0 1 +0x7714 0688 1 0 1 +0x7715 0649 1 0 1 +0x7724 0453 1 0 1 +0x7725 0218 1 0 1 +0x7734 0451 1 0 1 +0x7735 0488 1 0 1 #was 177, 20180619 ; #was 850, 20180620 +0x7744 0321 1 0 1 +0x7745 0281 1 0 1 +0x7754 0330 1 0 1 +0x7755 0327 1 0 1 +0x7764 0763 1 0 1 +0x7765 0272 1 0 1 +0x7774 1073 1 0 1 +0x7775 0520 1 0 1 +0x7804 0651 1 0 1 +0x7805 0610 1 0 1 +0x7814 0694 1 0 1 +0x7815 0679 1 0 1 +0x7824 0452 1 0 1 +0x7825 0450 1 0 1 +0x7834 0456 1 0 1 +0x7835 0457 1 0 1 +0x7844 0325 1 0 1 +0x7845 0282 1 0 1 +0x7854 0287 1 0 1 +0x7855 0279 1 0 1 +0x7864 0507 1 0 1 +0x7865 0918 1 0 1 +0x7874 0365 1 0 1 +0x7875 0213 1 0 1 +0x7904 0621 1 0 1 +0x7905 0615 1 0 1 +0x7914 0661 1 0 1 +0x7915 0343 1 0 1 +0x7924 0455 1 0 1 +0x7925 0459 1 0 1 +0x7934 0184 1 0 1 +0x7935 0454 1 0 1 +0x7944 0320 1 0 1 +0x7945 0276 1 0 1 +0x7954 0328 1 0 1 +0x7955 0322 1 0 1 +0x7a04 0925 1 0 1 +0x7a05 0109 1 0 1 +0x7a14 0711 1 0 1 +0x7a15 0136 1 0 1 +0x7a24 0704 1 0 1 +0x7a25 0722 1 0 1 +0x7a34 0656 1 0 1 +0x7a35 0904 1 0 1 #was 723; 30.08.2018 +0x7b04 0912 1 0 1 +0x7b05 0761 1 0 1 +0x7b14 0681 1 0 1 +0x7b15 0176 1 0 1 +0x7b24 0560 1 0 1 +0x7b25 0525 1 0 1 +0x7b34 0495 1 0 1 +0x7b35 0496 1 0 1 +0x7006 1 1 0 1 +0x7007 1 1 0 1 +0x7016 0156 1 0 1 +0x7017 0747 1 0 1 +0x7026 0390 1 0 1 +0x7027 0746 1 0 1 +0x7036 0750 1 0 1 +0x7037 0770 1 0 1 +0x7046 1080 1 0 1 +0x7047 1041 1 0 1 +0x7056 1038 1 0 1 +0x7057 1039 1 0 1 +0x7066 1198 1 0 1 +0x7067 1199 1 0 1 +0x7076 0799 1 0 1 +0x7077 0888 1 0 1 +0x7086 0861 1 0 1 +0x7087 0879 1 0 1 +0x7096 0864 1 0 1 +0x7097 0870 1 0 1 +0x70a6 0482 1 0 1 +0x70a7 0652 1 0 1 +0x70b6 0582 1 0 1 +0x70b7 0491 1 0 1 +0x7106 0449 1 0 1 +0x7107 0461 1 0 1 +0x7116 0718 1 0 1 +0x7117 0710 1 0 1 +0x7126 0716 1 0 1 +0x7127 0719 1 0 1 +0x7136 1144 1 0 1 +0x7137 1170 1 0 1 +0x7146 1145 1 0 1 +0x7147 1165 1 0 1 +0x7156 1049 1 0 1 +0x7157 1047 1 0 1 +0x7166 1084 1 0 1 +0x7167 1056 1 0 1 +0x7176 1052 1 0 1 +0x7177 1072 1 0 1 +0x7186 1092 1 0 1 +0x7187 1088 1 0 1 +0x7196 0642 1 0 1 +0x7197 0531 1 0 1 #was 410 +0x71a6 0857 1 0 1 +0x71a7 0881 1 0 1 +0x71b6 0893 1 0 1 +0x71b7 0889 1 0 1 +0x7206 0458 1 0 1 +0x7207 0446 1 0 1 +0x7216 0706 1 0 1 +0x7217 0715 1 0 1 +0x7226 0709 1 0 1 +0x7227 0671 1 0 1 +0x7236 1142 1 0 1 +0x7237 1163 1 0 1 +0x7246 1143 1 0 1 +0x7247 1164 1 0 1 +0x7256 1057 1 0 1 +0x7257 0848 1 0 1 +0x7266 1055 1 0 1 +0x7267 1054 1 0 1 +0x7276 1093 1 0 1 +0x7277 1067 1 0 1 +0x7286 1070 1 0 1 +0x7287 1068 1 0 1 +0x7296 0519 1 0 1 +0x7297 0155 1 0 1 +0x72a6 0856 1 0 1 +0x72a7 0892 1 0 1 +0x72b6 0871 1 0 1 +0x72b7 0858 1 0 1 +0x7306 0192 1 0 1 +0x7307 0448 1 0 1 +0x7316 0726 1 0 1 +0x7317 0697 1 0 1 +0x7326 0673 1 0 1 +0x7327 0728 1 0 1 +0x7336 1138 1 0 1 +0x7337 1141 1 0 1 +0x7346 1146 1 0 1 +0x7347 1162 1 0 1 +0x7356 1075 1 0 1 +0x7357 1046 1 0 1 +0x7366 0561 1 0 1 +0x7367 1082 1 0 1 +0x7376 1069 1 0 1 +0x7377 1091 1 0 1 +0x7386 1063 1 0 1 +0x7387 0536 1 0 1 +0x7396 0558 1 0 1 +0x7397 0542 1 0 1 +0x73a6 0890 1 0 1 +0x73a7 0872 1 0 1 +0x73b6 0863 1 0 1 +0x73b7 0860 1 0 1 +0x7406 0427 1 0 1 +0x7407 0431 1 0 1 +0x7416 0601 1 0 1 +0x7417 0353 1 0 1 +0x7426 0616 1 0 1 +0x7427 0231 1 0 1 +0x7436 0643 1 0 1 +0x7437 0685 1 0 1 +0x7446 0134 1 0 1 +0x7447 0678 1 0 1 +0x7456 1157 1 0 1 +0x7457 1131 1 0 1 +0x7466 1130 1 0 1 +0x7467 1151 1 0 1 +0x7476 1074 1 0 1 +0x7477 1064 1 0 1 +0x7486 1087 1 0 1 +0x7487 0543 1 0 1 +0x7496 0532 1 0 1 +0x7497 0529 1 0 1 +0x7506 0433 1 0 1 +0x7507 0436 1 0 1 +0x7516 0635 1 0 1 +0x7517 0627 1 0 1 +0x7526 0626 1 0 1 +0x7527 0619 1 0 1 +0x7536 0639 1 0 1 +0x7537 0691 1 0 1 +0x7546 0646 1 0 1 +0x7547 0683 1 0 1 +0x7556 1155 1 0 1 +0x7557 1159 1 0 1 +0x7566 1154 1 0 1 +0x7567 1153 1 0 1 +0x7576 0741 1 0 1 +0x7577 0734 1 0 1 +0x7586 1098 1 0 1 +0x7587 0736 1 0 1 +0x7596 0676 1 0 1 +0x7597 0732 1 0 1 +0x7606 0430 1 0 1 +0x7607 0435 1 0 1 +0x7616 0592 1 0 1 +0x7617 0599 1 0 1 +0x7626 0647 1 0 1 +0x7627 0612 1 0 1 +0x7636 0632 1 0 1 +0x7637 0653 1 0 1 +0x7646 0345 1 0 1 +0x7647 0349 1 0 1 +0x7656 1161 1 0 1 +0x7657 1177 1 0 1 +0x7666 1160 1 0 1 +0x7667 1158 1 0 1 +0x7676 0731 1 0 1 +0x7677 1097 1 0 1 +0x7686 0738 1 0 1 +0x7687 0835 1 0 1 +0x7696 0836 1 0 1 +0x7697 0733 1 0 1 +0x7706 0119 1 0 1 +0x7707 1105 1 0 1 +0x7716 1184 1 0 1 +0x7717 1183 1 0 1 +0x7726 1117 1 0 1 +0x7727 1110 1 0 1 +0x7736 1122 1 0 1 +0x7737 1118 1 0 1 +0x7746 1136 1 0 1 +0x7747 1152 1 0 1 +0x7756 1133 1 0 1 +0x7757 1150 1 0 1 +0x7766 0497 1 0 1 +0x7767 0920 1 0 1 #was 703 20180905 +0x7776 0737 1 0 1 +0x7777 1044 1 0 1 +0x7806 0674 1 0 1 +0x7807 0258 1 0 1 +0x7816 0485 1 0 1 +0x7817 1180 1 0 1 +0x7826 1139 1 0 1 +0x7827 1120 1 0 1 +0x7836 1124 1 0 1 +0x7837 1121 1 0 1 +0x7846 1168 1 0 1 +0x7847 1172 1 0 1 +0x7856 1174 1 0 1 +0x7857 1135 1 0 1 +0x7866 0502 1 0 1 +0x7867 0498 1 0 1 +0x7876 0464 1 0 1 +0x7877 1125 1 0 1 +0x7906 0382 1 0 1 +0x7907 0251 1 0 1 +0x7916 1185 1 0 1 +0x7917 1186 1 0 1 +0x7926 1134 1 0 1 +0x7927 1132 1 0 1 +0x7936 1137 1 0 1 +0x7937 1126 1 0 1 +0x7946 1167 1 0 1 +0x7947 1148 1 0 1 +0x7956 1166 1 0 1 +0x7957 1173 1 0 1 +0x7a06 0730 1 0 1 +0x7a07 0337 1 0 1 +0x7a16 1187 1 0 1 +0x7a17 1181 1 0 1 +0x7a26 1182 1 0 1 +0x7a27 1179 1 0 1 +0x7a36 1175 1 0 1 +0x7a37 1176 1 0 1 +0x7b06 0705 1 0 1 +0x7b07 0910 1 0 1 +0x7b16 0462 1 0 1 +0x7b17 0516 1 0 1 +0x7b26 0546 1 0 1 +0x7b27 0494 1 0 1 +0x7b36 0469 1 0 1 +0x7b37 1083 1 0 1 diff --git a/rich/register_tdc_rich.db b/rich/register_tdc_rich.db index e0f5707..89dc812 100644 --- a/rich/register_tdc_rich.db +++ b/rich/register_tdc_rich.db @@ -10,5 +10,6 @@ # TDC # Type # C0 # C1 # C2 # C3 # C4 # C5 # ################################################################################################# #0xfe51 0 0x50003000 0x802800c8 0xFFFFFFFF 0x00000000 0x00000010 0x00000000 # dirich TDC - 0xfe51 0 0x50003000 0x802800c8 0xFFFFFFFF 0x00000000 0x0000000a 0xffffffff # dirich TDC +#0xfe51 0 0x50003000 0x802800c8 0xFFFFFFFF 0x00000000 0x0000000a 0xffffffff # dirich TDC # Trigger Window active from -1000 to +200 + 0xfe51 0 0x50003000 0x87d800a0 0xFFFFFFFF 0x00000000 0x0000000a 0xffffffff # dirich TDC # Trigger Window active from - 800 to -200 diff --git a/rich/retransmission.sh b/rich/retransmission.sh new file mode 100755 index 0000000..aca4fb2 --- /dev/null +++ b/rich/retransmission.sh @@ -0,0 +1,33 @@ +echo "Waiting 10s, then start to work"; +sleep 10 + +ERRORMASK=0x3c0000 +#ERRORMASK=0x180000 +#ERRORMASK=0x10000 +##ERRORMASE=0x80000 + +for i in 1 2 3 4 5 6 +do +trbcmd w 0xfe51 0xb144 $ERRORMASK +trbcmd w 0xfe52 0xb75c $ERRORMASK +trbcmd w 0xfe52 0xb754 $ERRORMASK +trbcmd w 0xfe52 0xb35c $ERRORMASK +trbcmd w 0xfe52 0xb354 $ERRORMASK +trbcmd w 0xfe52 0xb74c $ERRORMASK +trbcmd w 0xfe52 0xb744 $ERRORMASK +trbcmd w 0xfe52 0xb144 $ERRORMASK +trbcmd w 0xfe52 0xb14c $ERRORMASK +trbcmd w 0xfe52 0xb344 $ERRORMASK +trbcmd w 0xfe52 0xb34c $ERRORMASK +trbcmd w 0xfe52 0xb154 $ERRORMASK +trbcmd w 0xfe52 0xb15c $ERRORMASK + +done + +trbcmd setbit 0xfe51 0x22 0x8000000 +#trbcmd setbit 0xfe51 0x22 0x0000000 +sleep 0.1 +trbcmd setbit 0xfe52 0x22 0x8000000 +#trbcmd setbit 0xfe52 0x22 0x0000000 + + diff --git a/rich/retransmission_clear_errorcounter.sh b/rich/retransmission_clear_errorcounter.sh new file mode 100755 index 0000000..d398e1c --- /dev/null +++ b/rich/retransmission_clear_errorcounter.sh @@ -0,0 +1,14 @@ +trbcmd w 0xfe51 0xb145 0x1 + +trbcmd w 0xfe52 0xb75d 0x1 +trbcmd w 0xfe52 0xb755 0x1 +trbcmd w 0xfe52 0xb35d 0x1 +trbcmd w 0xfe52 0xb355 0x1 +trbcmd w 0xfe52 0xb74d 0x1 +trbcmd w 0xfe52 0xb745 0x1 +trbcmd w 0xfe52 0xb145 0x1 +trbcmd w 0xfe52 0xb14d 0x1 +trbcmd w 0xfe52 0xb345 0x1 +trbcmd w 0xfe52 0xb34d 0x1 +trbcmd w 0xfe52 0xb155 0x1 +trbcmd w 0xfe52 0xb15d 0x1 diff --git a/rich/retransmission_status.sh b/rich/retransmission_status.sh new file mode 100755 index 0000000..bb90593 --- /dev/null +++ b/rich/retransmission_status.sh @@ -0,0 +1,27 @@ +trbcmd r 0xfe51 0xb145 | grep -v "0x00000000" + +echo "Concentrator retransmission" +echo "SFP0" +trbcmd r 0xfe52 0xb75d | grep -v "0x00000000" +echo "SFP1" +trbcmd r 0xfe52 0xb755 | grep -v "0x00000000" +echo "SFP2" +trbcmd r 0xfe52 0xb35d | grep -v "0x00000000" +echo "SFP3" +trbcmd r 0xfe52 0xb355 | grep -v "0x00000000" +echo "SFP4" +trbcmd r 0xfe52 0xb74d | grep -v "0x00000000" +echo "SFP5" +trbcmd r 0xfe52 0xb745 | grep -v "0x00000000" +echo "SFP6" +trbcmd r 0xfe52 0xb145 | grep -v "0x00000000" +echo "SFP7" +trbcmd r 0xfe52 0xb14d | grep -v "0x00000000" +echo "SFP8" +trbcmd r 0xfe52 0xb345 | grep -v "0x00000000" +echo "SFP9" +trbcmd r 0xfe52 0xb34d | grep -v "0x00000000" +echo "SFP10" +trbcmd r 0xfe52 0xb155 | grep -v "0x00000000" +echo "SFP11" +trbcmd r 0xfe52 0xb15d | grep -v "0x00000000" diff --git a/rich/retransmission_status_conc.sh b/rich/retransmission_status_conc.sh new file mode 100755 index 0000000..1d0debd --- /dev/null +++ b/rich/retransmission_status_conc.sh @@ -0,0 +1,25 @@ +echo "Concentrator retransmission" +echo "SFP0" +trbcmd r $1 0xb75d +echo "SFP1" +trbcmd r $1 0xb755 +echo "SFP2" +trbcmd r $1 0xb35d +echo "SFP3" +trbcmd r $1 0xb355 +echo "SFP4" +trbcmd r $1 0xb74d +echo "SFP5" +trbcmd r $1 0xb745 +echo "SFP6" +trbcmd r $1 0xb145 +echo "SFP7" +trbcmd r $1 0xb14d +echo "SFP8" +trbcmd r $1 0xb345 +echo "SFP9" +trbcmd r $1 0xb34d +echo "SFP10" +trbcmd r $1 0xb155 +echo "SFP11" +trbcmd r $1 0xb15d diff --git a/rich/retransmission_test.sh b/rich/retransmission_test.sh new file mode 100755 index 0000000..54f9df5 --- /dev/null +++ b/rich/retransmission_test.sh @@ -0,0 +1,26 @@ +ERRORMASK=0x3c0000 +#ERRORMASK=0x10000 +##ERRORMASE=0x80000 + +for i in 1 2 3 4 5 6 +do +trbcmd w 0xfe51 0xb144 $ERRORMASK +trbcmd w 0xfe52 0xb75c $ERRORMASK +trbcmd w 0xfe52 0xb754 $ERRORMASK +trbcmd w 0xfe52 0xb35c $ERRORMASK +trbcmd w 0xfe52 0xb354 $ERRORMASK +trbcmd w 0xfe52 0xb74c $ERRORMASK +trbcmd w 0xfe52 0xb744 $ERRORMASK +trbcmd w 0xfe52 0xb144 $ERRORMASK +trbcmd w 0xfe52 0xb14c $ERRORMASK +trbcmd w 0xfe52 0xb344 $ERRORMASK +trbcmd w 0xfe52 0xb34c $ERRORMASK +trbcmd w 0xfe52 0xb154 $ERRORMASK +trbcmd w 0xfe52 0xb15c $ERRORMASK + +done + +#trbcmd setbit 0xfe51 0x22 0x8000000 +#trbcmd setbit 0xfe52 0x22 0x8000000 + + diff --git a/rich/startup.script b/rich/startup.script index ddff939..d2759d8 100644 --- a/rich/startup.script +++ b/rich/startup.script @@ -4,6 +4,9 @@ exec_cmd{local} /home/hadaq/trbsoft/hadesdaq/rich/merge_serial_address.pl /home/hadaq/trbsoft/hadesdaq/rich/serials_dirich.db /home/hadaq/trbsoft/hadesdaq/rich/addresses_dirich.db !endif +#exec_cmd{local} /home/hadaq/trbsoft/hadesdaq/rich/retransmission.sh + + trbcmd loadbit 0xfe52 0xd580 0x6 0x2 #switch trigger input correctly trbcmd loadbit 0xfe51 0x7111 0x0000ffff 170 #max event size @@ -11,4 +14,6 @@ trbcmd loadbit 0xfe51 0x7114 0x00ff0000 0x00050000 #minimum event size load_register register_tdc_rich.db -trbcmd w 0x0110 0xe120 0x240 +trbcmd w 0x0110 0xe120 0x240 # set to 36° + +#trbcmd w 0x0110 0xe120 0x400 diff --git a/rich/trb_dirich_threshold b/rich/trb_dirich_threshold new file mode 160000 index 0000000..ac56f9e --- /dev/null +++ b/rich/trb_dirich_threshold @@ -0,0 +1 @@ +Subproject commit ac56f9ee2bc5b30623ed0118368a9423e9c6228f diff --git a/richhv/rich700/HV_generator/PMT_positioning_GSI.tsv b/richhv/rich700/HV_generator/PMT_positioning_GSI.tsv new file mode 100644 index 0000000..d96c9e7 --- /dev/null +++ b/richhv/rich700/HV_generator/PMT_positioning_GSI.tsv @@ -0,0 +1,498 @@ +#PMTNR PMTPos-Nr Backplane HV-Modul HV-Channel Comment +##################INNER-PART################# + + +###GAIN-CLASS 0 + +################################### +HA1481 1 28 2 0 +HA1225 5 28 2 0 +HA0691 3 28 2 0 +HA0127 6 28 2 0 +HA0907 2 28 2 0 +HA0183 4 28 2 0 +################################### +HA1240 1 27 0 1 +HA1546 5 27 0 1 +HA1482 3 27 0 1 +HA0994 6 27 0 1 +HA0130 2 27 0 1 +HA1422 4 27 0 1 +################################### +HA1710 1 48 2 4 +HA2101 5 48 2 4 +HA0674 3 48 2 4 +HA0688 6 48 2 4 +HA0973 2 48 2 4 +HA0963 4 48 2 4 +################################### +HA1069 1 86 1 15 +HA0874 5 86 1 15 +HA0752 3 86 1 15 +HA0554 6 86 1 15 +HA0545 2 86 1 15 +HA1460 4 86 1 15 +################################### +HA0826 1 26 3 11 +HA1499 5 26 3 11 +HA1480 3 26 3 11 +NA0027 6 26 3 11 +HA0855 2 26 3 11 +HA0773 4 26 3 11 +################################### +HA1101 1 84 1 13 +HA0837 5 84 1 13 +HA0965 3 84 1 13 +HA1093 6 84 1 13 +HA1023 2 84 1 13 +HA0540 4 84 1 13 +################################### +HA2103 1 83 0 11 +HA0725 5 83 0 11 +HA0727 3 83 0 11 +HA1047 6 83 0 11 +HA1976 2 83 0 11 +HA0650 4 83 0 11 +################################### +HA1110 1 62 0 7 +HA0690 5 62 0 7 +HA0760 3 62 0 7 +HA0772 6 62 0 7 +HA0796 2 62 0 7 +HA0756 4 62 0 7 +################################### +HA1237 1 43 1 4 +HA0979 5 43 1 4 +HA0976 3 43 1 4 +HA0850 6 43 1 4 +HA1424 2 43 1 4 +HA0856 4 43 1 4 + +###GAIN-CLASS 1 + +################################### +HA1113 1 88 3 2 +HA1319 5 88 3 2 +HA1685 3 88 3 2 +HA0875 6 88 3 2 +HA0184 2 88 3 2 +HA0806 4 88 3 2 +################################### +HA1172 1 58 3 15 +HA1258 5 58 3 15 +HA1116 3 58 3 15 +HA0782 6 58 3 15 +HA1967 2 58 3 15 +HA0128 4 58 3 15 +################################### +HA0827 1 68 3 7 +HA0876 5 68 3 7 +HA0780 3 68 3 7 +HA1495 6 68 3 7 +HA0822 2 68 3 7 +HA0851 4 68 3 7 +################################### +HA1136 1 67 3 3 +HA1220 5 67 3 3 +HA1510 3 67 3 3 +HA1540 6 67 3 3 +HA0177 2 67 3 3 +HA0692 4 67 3 3 +################################### +HA1223 1 25 3 8 +HA0999 5 25 3 8 +HA1906 3 25 3 8 +HA1126 6 25 3 8 +HA1508 2 25 3 8 +HA1050 4 25 3 8 +################################### +HA1321 1 85 1 14 Was typed in as 94 +HA1366 5 85 1 14 Was typed in as 94 +HA2092 3 85 1 14 Was typed in as 94 +HA1467 6 85 1 14 Was typed in as 94 +HA1613 2 85 1 14 Was typed in as 94 +HA0849 4 85 1 14 Was typed in as 94 +################################### +HA1195 1 52 0 15 +HA1153 5 52 0 15 +HA2120 3 52 0 15 +HA0792 6 52 0 15 +HA0763 2 52 0 15 +HA0992 4 52 0 15 +################################### +HA1102 1 22 0 9 +HA1149 5 22 0 9 +HA0269 3 22 0 9 +NA0409 6 22 0 9 +HA0244 2 22 0 9 +HA1060 4 22 0 9 +################################### +HA1328 1 23 2 13 +HA0328 5 23 2 13 +HA0877 3 23 2 13 +HA1513 6 23 2 13 +HA0781 2 23 2 13 +HA1544 4 23 2 13 + +###GAIN-CLASS 2 + +################################### +HA1315 1 66 3 4 +HA2158 5 66 3 4 +HA0149 3 66 3 4 +HA1042 6 66 3 4 +HA0405 2 66 3 4 +HA1092 4 66 3 4 +################################### +HA1701 1 65 1 7 +HA1115 5 65 1 7 +HA0700 3 65 1 7 +HA0791 6 65 1 7 +HA0765 2 65 1 7 +HA1582 4 65 1 7 +################################### +HA1135 1 47 2 6 +HA1218 5 47 2 6 +HA1000 3 47 2 6 +HA1066 6 47 2 6 +HA0416 2 47 2 6 +HA1616 4 47 2 6 +################################### +HA1198 1 46 2 5 +HA1684 5 46 2 5 +HA1348 3 46 2 5 +HA1185 6 46 2 5 +HA0884 2 46 2 5 +HA0322 4 46 2 5 +################################### +HA1279 1 87 3 0 +HA0420 5 87 3 0 +HA1357 3 87 3 0 +HA1938 6 87 3 0 +HA1880 2 87 3 0 +HA1715 4 87 3 0 +################################### +HA1107 1 63 0 5 +HA1180 5 63 0 5 +HA1074 3 63 0 5 +HA0679 6 63 0 5 +HA0329 2 63 0 5 +HA0962 4 63 0 5 +################################### +HA0578 1 44 1 3 +HA0675 5 44 1 3 +HA2102 3 44 1 3 +HA0325 6 44 1 3 +HA0699 2 44 1 3 +HA0330 4 44 1 3 + +###GAIN-CLASS 3 + +################################### +HA1698 1 45 3 14 +HA1234 5 45 3 14 +HA1199 3 45 3 14 +HA1233 6 45 3 14 +HA0882 2 45 3 14 +HA0274 4 45 3 14 +################################### +HA0263 1 54 0 4 +HA1205 5 54 0 4 +HA0148 3 54 0 4 +HA0977 6 54 0 4 +HA1128 2 54 0 4 +HA0327 4 54 0 4 +################################### +HA1228 1 56 0 2 +HA1202 5 56 0 2 +HA1725 3 56 0 2 +HA1608 6 56 0 2 +HA1280 2 56 0 2 +HA1125 4 56 0 2 +################################### +HA1179 1 64 0 14 +HA1272 5 64 0 14 +HA1134 3 64 0 14 +HA1694 6 64 0 14 +HA1130 2 64 0 14 +HA1548 4 64 0 14 +################################### +HA1702 1 82 0 10 +HA1138 5 82 0 10 +HA1181 3 82 0 10 +HA1231 6 82 0 10 +HA1065 2 82 0 10 +HA1627 4 82 0 10 + +###GAIN-CLASS 4 + +################################### +HA0830 1 24 3 9 +HA1248 5 24 3 9 +HA1152 3 24 3 9 +HA0667 6 24 3 9 +HA1318 2 24 3 9 +HA1675 4 24 3 9 +################################### +HA1247 1 42 1 1 +HA1188 5 42 1 1 +HA1700 3 42 1 1 +NA0044 6 42 1 1 +NA0412 2 42 1 1 +HA1649 4 42 1 1 + +##################OUTER-PART################# + + +###GAIN-CLASS 0 + +################################### +HA0750 1 21 2 14 +HA2225 5 21 2 14 +HA0911 3 21 2 14 +HA1423 6 21 2 14 +HA0601 2 21 2 14 +HA0409 4 21 2 14 +################################### +HA0857 1 81 0 12 +HA1452 5 81 0 12 +HA1461 3 81 0 12 +HA1421 6 81 0 12 +HA1426 2 81 0 12 +HA0989 4 81 0 12 +################################### +HA0501 1 17 0 0 +HA0986 5 17 0 0 +HA0528 3 17 0 0 +HA0491 6 17 0 0 +HA0749 2 17 0 0 +HA0735 4 17 0 0 +################################### +HA0676 1 a4 1 5 +HA0460 5 a4 1 5 +HA0648 3 a4 1 5 +HA0910 6 a4 1 5 +HA1479 2 a4 1 5 +HA1949 4 a4 1 5 +################################### +HA1405 1 69 2 10 +HA0823 5 69 2 10 +HA0336 3 69 2 10 +HA0649 6 69 2 10 +HA0490 2 69 2 10 +HA1371 4 69 2 10 +################################### +HA1417 1 59 2 7 +HA0971 5 59 2 7 +HA0572 3 59 2 7 +HA0739 6 59 2 7 +HA0425 2 59 2 7 +HA0656 4 59 2 7 + +###GAIN-CLASS 1 + +################################### +HA1447 1 40 0 8 +HA0858 5 40 0 8 +HA0296 3 40 0 8 +HA1535 6 40 0 8 +HA1437 2 40 0 8 +HA0887 4 40 0 8 +################################### +HA1975 1 41 1 0 +HA1525 5 41 1 0 +HA0969 3 41 1 0 +HA0467 6 41 1 0 +HA0462 2 41 1 0 +HA0741 4 41 1 0 +################################### +HA0758 1 16 4 1 +HA0914 5 16 4 1 +HA0553 3 16 4 1 +HA0574 6 16 4 1 +HA0482 2 16 4 1 +HA0885 4 16 4 1 +################################### +HA0909 1 79 4 4 +HA1488 5 79 4 4 +HA0463 3 79 4 4 +HA0811 6 79 4 4 +HA0442 2 79 4 4 +HA0523 4 79 4 4 + +###GAIN-CLASS 2 + +################################### +HA1043 1 13 3 10 +HA1428 5 13 3 10 +HA0810 3 13 3 10 +HA0645 6 13 3 10 +HA0751 2 13 3 10 +HA0481 4 13 3 10 +################################### +HA0764 1 14 3 12 +HA0400 5 14 3 12 +HA1394 3 14 3 12 +HA0493 6 14 3 12 +HA0398 2 14 3 12 +HA0500 4 14 3 12 +################################### +HA0340 1 49 2 12 +HA0369 5 49 2 12 +HA0375 3 49 2 12 +NA0173 6 49 2 12 +HA1396 2 49 2 12 +HA1456 4 49 2 12 +################################### +HA1429 1 97 3 1 +HA0571 5 97 3 1 +HA0464 3 97 3 1 +HA0641 6 97 3 1 +HA1531 2 97 3 1 +HA0603 4 97 3 1 +################################### +HA0414 1 6 4 0 +HA0731 5 6 4 0 +HA0292 3 6 4 0 +HA0520 6 6 4 0 +HA0841 2 6 4 0 +HA0295 4 6 4 0 + +###GAIN-CLASS 3 + +################################### +HA0344 1 12 1 2 +NA0097 5 12 1 2 +HA0804 3 12 1 2 +HA1721 6 12 1 2 +HA0589 2 12 1 2 +HA0388 4 12 1 2 +################################### +HA1660 1 51 1 8 +HA0477 5 51 1 8 +HA0498 3 51 1 8 +HA1957 6 51 1 8 +HA0843 2 51 1 8 +HA1397 4 51 1 8 +################################### +HA1450 1 60 0 6 +HA1568 5 60 0 6 +HA0411 3 60 0 6 +HA1529 6 60 0 6 +HA0342 2 60 0 6 +NA0069 4 60 0 6 +################################### +HA0946 1 4 4 2 +HA0761 5 4 4 2 +HA1476 3 4 4 2 +HA1420 6 4 4 2 +HA0842 2 4 4 2 +HA0456 4 4 4 2 +################################### +HA0809 1 94 1 11 +HA0696 5 94 1 11 +NA0457 3 94 1 11 +HA0345 6 94 1 11 +HA1446 2 94 1 11 +HA0587 4 94 1 11 +################################### +HA1542 1 a6 1 10 +HA0844 5 a6 1 10 +HA2054 3 a6 1 10 +HA1468 6 a6 1 10 +HA0743 2 a6 1 10 +HA0282 4 a6 1 10 +################################### +HA0681 1 89 3 6 +HA1090 5 89 3 6 +HA1448 3 89 3 6 +HA0441 6 89 3 6 +HA1952 2 89 3 6 +HA0429 4 89 3 6 +################################### +HA0268 1 29 2 1 +HA1045 5 29 2 1 +HA1497 3 29 2 1 +HA1966 6 29 2 1 +NA0117 2 29 2 1 +HA1940 4 29 2 1 + +###GAIN-CLASS 4 + +################################### +HA1020 1 15 3 13 +NA0051 5 15 3 13 +HA0680 3 15 3 13 +HA0192 6 15 3 13 +HA0396 2 15 3 13 +HA0915 4 15 3 13 +################################### +HA1739 1 61 0 13 +HA0310 5 61 0 13 +HA2250 3 61 0 13 +HA1087 6 61 0 13 +HA0580 2 61 0 13 +NA0101 4 61 0 13 +################################### +HA0236 1 31 2 15 +HA0293 5 31 2 15 +HA1454 3 31 2 15 +HA1587 6 31 2 15 +NA0388 2 31 2 15 +HA0817 4 31 2 15 +################################### +HA1245 1 71 2 3 +HA0848 5 71 2 3 +HA1123 3 71 2 3 +HA1474 6 71 2 3 +HA0929 2 71 2 3 +HA0434 4 71 2 3 +################################### +HA0374 1 93 1 12 +HA0576 5 93 1 12 +NA0399 3 93 1 12 +HA0495 6 93 1 12 +HA0450 2 93 1 12 +HA0430 4 93 1 12 +################################### +HA0273 1 92 0 3 +HA1133 5 92 0 3 +HA1722 3 92 0 3 +HA0443 6 92 0 3 +HA0548 2 92 0 3 +HA0077 4 92 0 3 +################################### +HA0333 1 95 1 6 +HA0934 5 95 1 6 +HA1878 3 95 1 6 +HA1643 6 95 1 6 +HA1053 2 95 1 6 +HA0889 4 95 1 6 +################################### +HA1083 1 96 1 9 +HA0390 5 96 1 9 +HA0394 3 96 1 9 +HA0917 6 96 1 9 +NA0190 2 96 1 9 +NA0451 4 96 1 9 +################################### +HA0933 1 39 2 2 +HA1075 5 39 2 2 +HA0546 3 39 2 2 +HA1485 6 39 2 2 +HA1767 2 39 2 2 +HA0465 4 39 2 2 +################################### +HA1501 1 6a 2 8 +HA0621 5 6a 2 8 +HA0845 3 6a 2 8 +HA0630 6 6a 2 8 +HA0444 2 6a 2 8 +HA2057 4 6a 2 8 +################################### +HA1297 1 4a 2 11 +HA0384 5 4a 2 11 +NA0146 3 4a 2 11 +HA2010 6 4a 2 11 +NA0144 2 4a 2 11 +HA0084 4 4a 2 11 \ No newline at end of file diff --git a/richhv/rich700/HV_generator/gain_alignement b/richhv/rich700/HV_generator/gain_alignement new file mode 100755 index 0000000000000000000000000000000000000000..284b87ed470eeb36cbd3cfbd0e3e702d7d968f0f GIT binary patch literal 114656 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 IR&iqg9|92!^#A|> literal 0 HcmV?d00001 diff --git a/richhv/rich700/HV_generator/gain_alignement.cpp b/richhv/rich700/HV_generator/gain_alignement.cpp new file mode 100644 index 0000000..efbbb87 --- /dev/null +++ b/richhv/rich700/HV_generator/gain_alignement.cpp @@ -0,0 +1,148 @@ +#include +#include +#include +#include +#include +#include +#include "TCanvas.h" +#include "TColor.h" +#include "TGaxis.h" +#include "TLatex.h" +#include "TObject.h" +#include "TH1.h" +#include "TH2.h" +#include "TFile.h" +#include "TTree.h" +#include "TIterator.h" +#include "TLine.h" +#include "TBox.h" +#include "TText.h" +#include "TF1.h" +#include "TROOT.h" +#include "TRint.h" +#include "TStyle.h" +#include "TList.h" +#include "TGraph.h" +#include "TStopwatch.h" +#include "TArrow.h" +#include "TMath.h" +#include "TLegend.h" +#include "TPaletteAxis.h" +#include "TPaveText.h" +#include "TPaveStats.h" + +using namespace std; + +map> fits; + +const long double gwanted_gain[5] = {1.5E6,1.5E6,2.0E6,2.5E6,3.0E6}; + +class PMT +{ + public: + string PMTstring; + double a; + double b; + long double HV_at_Gain; + long double Dark_at_Temp30; + long double Eff; +}; + +class Backplane +{ + public: + int HV_ch; + int HV_module; + array PMTs; + + double HV_setting(void){ + double HV_gain_sum=0; + int counter=6; + for(auto& PMT : PMTs){ + if(PMT.HV_at_Gain==0){ + cerr << "No PMT-Gain defined. For: " << PMT.PMTstring << endl; + counter--; + continue; + } + HV_gain_sum+=PMT.HV_at_Gain; + } + return (HV_gain_sum/counter) > 1100 ? 1100 : HV_gain_sum/counter; + } +}; +map Backplanes; + +int main(Int_t argc, const char* argv[]){ + for(int i=1;iGet("hinfo"); + int pmt_position = hinfo->GetBinContent(9); + int PMTnumber = hinfo->GetBinContent(pmt_position+4); + char PMTPrefix[] = {'H','A','D','A','N','A','Z','B'}; + string PMTnumber_string; + PMTnumber_string = Form("%c%c%04i",PMTPrefix[PMTnumber/100000*2],PMTPrefix[PMTnumber/100000*2+1],PMTnumber%100000); + + TH1D* histo = (TH1D*)Datafile->Get(Form("Gain vs. HV of %s at std. V",PMTnumber_string.c_str())); + array temp_array; + temp_array.at(0) = histo->GetBinContent(27); + temp_array.at(1) = histo->GetBinContent(28); + if(fits.count(PMTnumber_string)==0) + fits.emplace(PMTnumber_string,temp_array); + } + for(int i=0;i<5;++i){ + std::ifstream input_file("PMT_positioning_GSI.tsv"); + while(!input_file.eof()){ + Backplane temp_backplane; + PMT temp_pmt; + string line; + string dummy; + getline(input_file, line); + istringstream iss(line); + iss >> dummy; + if(dummy =="" || dummy.at(0) == '#') continue; + + string PMTName = dummy; + int PMTNr_at_Bckpln; + iss >> PMTNr_at_Bckpln; + // cout << dummy << endl; + temp_pmt.PMTstring = PMTName; + temp_pmt.a=fits.at(dummy).at(1); + temp_pmt.b=fits.at(dummy).at(0); + temp_pmt.HV_at_Gain=pow((long double)gwanted_gain[i],(long double)1./(temp_pmt.b*10))*11./pow(temp_pmt.a,1./temp_pmt.b); + temp_pmt.HV_at_Gain = temp_pmt.HV_at_Gain>1500 ? 0 : temp_pmt.HV_at_Gain; + // cout << pow((long double)gwanted_gain[i],(long double)1./temp_pmt.b*10)*11./pow(temp_pmt.a,1./temp_pmt.b) << endl; + // cout << << " " << PMTName << " " << temp_pmt.a << " " << temp_pmt.b << " " << endl; + // cout << pow(temp_pmt.a,10)*pow(1000,temp_pmt.b*10)/pow(11,temp_pmt.b*10) << endl; + + string BackplaneNr_str; + iss >> BackplaneNr_str; + int BackplaneNr = stoi(BackplaneNr_str,NULL,16); + iss >> temp_backplane.HV_module; + iss >> temp_backplane.HV_ch; + + if( Backplanes.count(BackplaneNr)==0 ){ + Backplanes.emplace(BackplaneNr,temp_backplane); + } + Backplanes.at(BackplaneNr).PMTs.at(PMTNr_at_Bckpln-1) = temp_pmt; + } + std::ofstream output_file(Form("gain_alignement_HV_%.1llE.dat",gwanted_gain[i])); + cout << Form("gain_alignement_HV_%.0llE.dat",gwanted_gain[i]) << endl; + cout << "# aligned to: " << gwanted_gain[i] << endl; + output_file << "# aligned to: " << gwanted_gain[i] << endl; + for(auto& one_Backplane : Backplanes){ + // if(one_Backplane.first == 0x65 || one_Backplane.first == 0x46){ + // output_file << "# " << hex << one_Backplane.first << std::dec << " " << one_Backplane.second.HV_module << " " << one_Backplane.second.HV_ch << " " << one_Backplane.second.HV_setting() << endl; + // output_file << hex << one_Backplane.first << std::dec << " " << one_Backplane.second.HV_module << " " << one_Backplane.second.HV_ch << " " << 0 << endl; + // } + // else{ + output_file << hex << one_Backplane.first << std::dec << " " << one_Backplane.second.HV_module << " " << one_Backplane.second.HV_ch << " " << one_Backplane.second.HV_setting() << endl; + output_file << hex << one_Backplane.first << std::dec << " " << one_Backplane.second.HV_module << " " << one_Backplane.second.HV_ch << " " << one_Backplane.second.HV_setting() << endl; + // } + } + // for(int i : {0x13,0x69,0x97}){ + // cout << hex << i << std::dec << " " << Backplanes.at(i).HV_module << " " << Backplanes.at(i).HV_ch << " " << Backplanes.at(i).HV_setting() << endl; + // for(auto j : Backplanes.at(i).PMTs){ + // cout << "\t" << j.PMTstring << " " << j.HV_at_Gain << " " << j.a << " " << j.b << endl; + // } + // } + } +} diff --git a/richhv/rich700/README b/richhv/rich700/README new file mode 100644 index 0000000..c483fa5 --- /dev/null +++ b/richhv/rich700/README @@ -0,0 +1,13 @@ +Set HV via: setHV.sh FILENAME + +set all HV to fixed value: setHV_val.sh ANY_FILENAME VALUE +Here the Filename is only used to choose the channels which should be set + +switch HV: on/off setHVon_off.sh ANY_FILENAME 0/1 +Here the Filename is only used to choose the channels which should be set + +switch Crate on/off: setCrate.sh 0/1 + +get HV info: infoHV.sh ANY_FILENAME +Here the Filename is only used to choose the channels which should be set + diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06.dat new file mode 100644 index 0000000..a053d72 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06.dat @@ -0,0 +1,75 @@ +# aligned to: 1.5e+06 +4 4 2 920.147 +5 4 10 891.983 +6 4 0 903.903 +11 4 11 870.299 +12 1 2 923.31 +13 3 10 898.685 +14 3 12 904.893 +15 3 13 962.04 +16 4 1 886.173 +17 0 0 814.616 +18 4 9 893.356 +21 2 14 855.263 +22 0 9 887.43 +23 2 13 884.95 +24 3 9 956.924 +25 3 8 880.327 +26 3 11 844.952 +27 0 1 859.792 +28 2 0 843.887 +29 2 1 923.82 +31 2 15 953.738 +39 2 2 953.188 +40 0 8 882.679 +41 1 0 883.711 +42 1 1 975.93 +43 1 4 856.269 +44 1 3 901.345 +45 3 14 918.5 +46 2 5 901.649 +47 2 6 899.775 +48 2 4 842.717 +49 2 12 905.082 +4a 2 11 955.955 +50 4 5 867.633 +51 1 8 920.154 +52 0 15 887.534 +54 0 4 916.327 +56 0 2 923.049 +58 3 15 893.771 +59 2 7 859.396 +5a 4 3 935.922 +60 0 6 923.593 +61 0 13 963.483 +62 0 7 855.062 +63 0 5 903.804 +64 0 14 920.364 +65 1 7 903.483 +66 3 4 904.223 +67 3 3 886.344 +68 3 7 872.132 +69 2 10 840.513 +6a 2 8 970.549 +71 2 3 963.882 +79 4 4 883.86 +81 0 12 846.884 +82 0 10 921.593 +83 0 11 859.336 +84 1 13 837.951 +85 1 14 887.219 +86 1 15 857.468 +87 3 0 904.465 +88 3 2 885.65 +89 3 6 920.446 +91 4 6 980.02 +92 0 3 967.012 +93 1 12 943.155 +94 1 11 930.19 +95 1 6 968.686 +96 1 9 953.899 +97 3 1 907.429 +98 4 8 926.035 +a4 1 5 860.339 +a5 4 7 970.975 +a6 1 10 926.854 diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_fifth.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_fifth.dat new file mode 100644 index 0000000..eedece9 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_fifth.dat @@ -0,0 +1,75 @@ +# aligned to: 1.5e+06 +4 4 2 920.147 +5 4 10 891.983 +6 4 0 903.903 +11 4 11 870.299 +#12 1 2 923.31 +13 3 10 898.685 +14 3 12 904.893 +15 3 13 962.04 +16 4 1 886.173 +#17 0 0 814.616 +18 4 9 893.356 +#21 2 14 855.263 +22 0 9 887.43 +23 2 13 884.95 +#24 3 9 956.924 +25 3 8 880.327 +#26 3 11 844.952 +27 0 1 859.792 +28 2 0 843.887 +#29 2 1 923.82 +31 2 15 953.738 +39 2 2 953.188 +40 0 8 882.679 +41 1 0 883.711 +42 1 1 975.93 +43 1 4 856.269 +44 1 3 901.345 +45 3 14 918.5 +46 2 5 901.649 +47 2 6 899.775 +48 2 4 842.717 +49 2 12 905.082 +4a 2 11 955.955 +50 4 5 867.633 +51 1 8 920.154 +#52 0 15 887.534 +54 0 4 916.327 +56 0 2 923.049 +#58 3 15 893.771 +59 2 7 859.396 +5a 4 3 935.922 +60 0 6 923.593 +61 0 13 963.483 +62 0 7 855.062 +63 0 5 903.804 +64 0 14 920.364 +65 1 7 903.483 +66 3 4 904.223 +67 3 3 886.344 +68 3 7 872.132 +69 2 10 840.513 +6a 2 8 970.549 +71 2 3 963.882 +79 4 4 883.86 +#81 0 12 846.884 +82 0 10 921.593 +83 0 11 859.336 +#84 1 13 837.951 +85 1 14 887.219 +#86 1 15 857.468 +87 3 0 904.465 +88 3 2 885.65 +#89 3 6 920.446 +91 4 6 980.02 +#92 0 3 967.012 +93 1 12 943.155 +94 1 11 930.19 +95 1 6 968.686 +96 1 9 953.899 +#97 3 1 907.429 +98 4 8 926.035 +a4 1 5 860.339 +a5 4 7 970.975 +a6 1 10 926.854 diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_noWLS.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_noWLS.dat new file mode 100644 index 0000000..80f7b06 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_1.5E+06_noWLS.dat @@ -0,0 +1,75 @@ +# aligned to: 1.5e+06 +4 4 2 920.147 +5 4 10 891.983 +6 4 0 903.903 +11 4 11 870.299 +12 1 2 923.31 +13 3 10 898.685 +14 3 12 904.893 +15 3 13 962.04 +16 4 1 886.173 +17 0 0 814.616 +18 4 9 893.356 +21 2 14 855.263 +22 0 9 887.43 +23 2 13 884.95 +24 3 9 956.924 +25 3 8 880.327 +26 3 11 844.952 +27 0 1 859.792 +28 2 0 843.887 +29 2 1 923.82 +31 2 15 953.738 +39 2 2 953.188 +40 0 8 882.679 +41 1 0 883.711 +42 1 1 975.93 +43 1 4 856.269 +#44 1 3 901.345 +#45 3 14 918.5 +#46 2 5 901.649 +47 2 6 899.775 +48 2 4 842.717 +49 2 12 905.082 +4a 2 11 955.955 +50 4 5 867.633 +51 1 8 920.154 +52 0 15 887.534 +#54 0 4 916.327 +#56 0 2 923.049 +58 3 15 893.771 +59 2 7 859.396 +5a 4 3 935.922 +60 0 6 923.593 +61 0 13 963.483 +62 0 7 855.062 +63 0 5 903.804 +#64 0 14 920.364 +#65 1 7 903.483 +#66 3 4 904.223 +67 3 3 886.344 +68 3 7 872.132 +69 2 10 840.513 +6a 2 8 970.549 +71 2 3 963.882 +79 4 4 883.86 +81 0 12 846.884 +82 0 10 921.593 +83 0 11 859.336 +84 1 13 837.951 +85 1 14 887.219 +86 1 15 857.468 +87 3 0 904.465 +88 3 2 885.65 +89 3 6 920.446 +91 4 6 980.02 +92 0 3 967.012 +93 1 12 943.155 +94 1 11 930.19 +95 1 6 968.686 +96 1 9 953.899 +97 3 1 907.429 +98 4 8 926.035 +a4 1 5 860.339 +a5 4 7 970.975 +a6 1 10 926.854 diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.0E+06.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.0E+06.dat new file mode 100644 index 0000000..4a31066 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.0E+06.dat @@ -0,0 +1,75 @@ +# aligned to: 2e+06 +4 4 2 960.765 +5 4 10 932.26 +6 4 0 944.805 +11 4 11 911.617 +12 1 2 963.588 +13 3 10 937.871 +14 3 12 945.307 +15 3 13 1008.96 +16 4 1 926.033 +17 0 0 858.103 +18 4 9 933.169 +21 2 14 895.894 +22 0 9 928.037 +23 2 13 924.385 +24 3 9 1002.39 +25 3 8 919.76 +26 3 11 885.285 +27 0 1 899.664 +28 2 0 884.074 +29 2 1 964.069 +31 2 15 999.658 +39 2 2 998.098 +40 0 8 923.094 +41 1 0 922.989 +42 1 1 1027 +43 1 4 896.701 +44 1 3 942.103 +45 3 14 958.842 +46 2 5 941.567 +47 2 6 939.307 +48 2 4 884.284 +49 2 12 944.394 +4a 2 11 1000.97 +50 4 5 907.308 +51 1 8 960.774 +52 0 15 926.37 +54 0 4 955.286 +56 0 2 963.38 +58 3 15 932.601 +59 2 7 899.916 +5a 4 3 976.437 +60 0 6 963.752 +61 0 13 1010.06 +62 0 7 895.237 +63 0 5 943.462 +64 0 14 960.584 +65 1 7 942.83 +66 3 4 943.145 +67 3 3 926.365 +68 3 7 912.645 +69 2 10 881.742 +6a 2 8 1019 +71 2 3 1011.43 +79 4 4 923.621 +81 0 12 887.246 +82 0 10 961.955 +83 0 11 900.107 +84 1 13 880.148 +85 1 14 925.948 +86 1 15 898.602 +87 3 0 943.299 +88 3 2 925.247 +89 3 6 961.222 +91 4 6 1033.02 +92 0 3 1015.32 +93 1 12 985.871 +94 1 11 970.147 +95 1 6 1009.65 +96 1 9 1000.26 +97 3 1 947.878 +98 4 8 966.423 +a4 1 5 901.092 +a5 4 7 1019.84 +a6 1 10 967.478 diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.5E+06.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.5E+06.dat new file mode 100644 index 0000000..77d1de3 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_2.5E+06.dat @@ -0,0 +1,75 @@ +# aligned to: 2.5e+06 +4 4 2 993.503 +5 4 10 964.753 +6 4 0 977.803 +11 4 11 945.012 +12 1 2 996.037 +13 3 10 969.443 +14 3 12 977.895 +15 3 13 1046.94 +16 4 1 958.181 +17 0 0 893.435 +18 4 9 965.269 +21 2 14 928.736 +22 0 9 960.815 +23 2 13 956.18 +24 3 9 1039.15 +25 3 8 951.561 +26 3 11 917.902 +27 0 1 931.863 +28 2 0 916.563 +29 2 1 996.495 +31 2 15 1036.81 +39 2 2 1034.39 +40 0 8 955.713 +41 1 0 954.654 +42 1 1 1068.52 +43 1 4 929.377 +44 1 3 974.984 +45 3 14 991.351 +46 2 5 973.743 +47 2 6 971.163 +48 2 4 917.935 +49 2 12 976.061 +4a 2 11 1037.36 +50 4 5 939.328 +51 1 8 993.513 +52 0 15 957.66 +54 0 4 986.645 +56 0 2 995.874 +58 3 15 963.88 +59 2 7 932.661 +5a 4 3 1009.07 +60 0 6 996.103 +61 0 13 1047.73 +62 0 7 927.698 +63 0 5 975.42 +64 0 14 992.99 +65 1 7 974.529 +66 3 4 974.488 +67 3 3 958.651 +68 3 7 945.365 +69 2 10 915.121 +6a 2 8 1058.29 +71 2 3 1049.94 +79 4 4 955.691 +81 0 12 919.877 +82 0 10 994.475 +83 0 11 933.065 +84 1 13 914.338 +85 1 14 957.15 +86 1 15 931.865 +87 3 0 974.566 +88 3 2 957.178 +89 3 6 994.092 +91 4 6 1076.14 +92 0 3 1054.47 +93 1 12 1020.34 +94 1 11 1002.32 +95 1 6 1042.67 +96 1 9 1037.77 +97 3 1 980.492 +98 4 8 998.962 +a4 1 5 934.032 +a5 4 7 1059.47 +a6 1 10 1000.21 diff --git a/richhv/rich700/generated_HV_sets/gain_alignement_HV_3.0E+06.dat b/richhv/rich700/generated_HV_sets/gain_alignement_HV_3.0E+06.dat new file mode 100644 index 0000000..e993d47 --- /dev/null +++ b/richhv/rich700/generated_HV_sets/gain_alignement_HV_3.0E+06.dat @@ -0,0 +1,75 @@ +# aligned to: 3e+06 +4 4 2 1021.08 +5 4 10 992.143 +6 4 0 1005.62 +11 4 11 973.204 +12 1 2 1023.36 +13 3 10 996.027 +14 3 12 1005.35 +15 3 13 1079.03 +16 4 1 985.276 +17 0 0 923.387 +18 4 9 992.315 +21 2 14 956.463 +22 0 9 988.458 +23 2 13 982.971 +24 3 9 1070.19 +25 3 8 978.359 +26 3 11 945.45 +27 0 1 959.028 +28 2 0 943.996 +29 2 1 1023.8 +31 2 15 1068.2 +39 2 2 1065.02 +40 0 8 983.22 +41 1 0 981.333 +42 1 1 1100 +43 1 4 956.96 +44 1 3 1002.7 +45 3 14 1018.73 +46 2 5 1000.85 +47 2 6 997.992 +48 2 4 946.38 +49 2 12 1002.72 +4a 2 11 1068.09 +50 4 5 966.328 +51 1 8 1021.09 +52 0 15 984.011 +54 0 4 1013.03 +56 0 2 1023.24 +58 3 15 990.216 +59 2 7 960.301 +5a 4 3 1036.54 +60 0 6 1023.34 +61 0 13 1079.56 +62 0 7 955.095 +63 0 5 1002.34 +64 0 14 1020.28 +65 1 7 1001.22 +66 3 4 1000.87 +67 3 3 985.866 +68 3 7 972.969 +69 2 10 943.336 +6a 2 8 1091.53 +71 2 3 1082.51 +79 4 4 982.718 +81 0 12 947.43 +82 0 10 1021.86 +83 0 11 960.89 +84 1 13 943.258 +85 1 14 983.423 +86 1 15 959.958 +87 3 0 1000.88 +88 3 2 984.084 +89 3 6 1021.78 +91 4 6 1100 +92 0 3 1087.6 +93 1 12 1049.39 +94 1 11 1029.4 +95 1 6 1070.5 +96 1 9 1069.46 +97 3 1 1007.97 +98 4 8 1026.36 +a4 1 5 961.842 +a5 4 7 1093.02 +a6 1 10 1027.78 diff --git a/richhv/rich700/infoHV.sh b/richhv/rich700/infoHV.sh new file mode 100755 index 0000000..8815273 --- /dev/null +++ b/richhv/rich700/infoHV.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + HV=$(caget -t HAD:RICH:HV:CR1:0:$module:$channel:VoltageMeasure) + RES=$(caget -t HAD:RICH:HV:CR1:0:$module:$channel:Resistance) + SWITCH=$(caget -t HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn) + echo -e $HV '\t\t' $RES '\t\t' $SWITCH +done < $1 diff --git a/richhv/rich700/setCrate.sh b/richhv/rich700/setCrate.sh new file mode 100755 index 0000000..267782a --- /dev/null +++ b/richhv/rich700/setCrate.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +caput HAD:RICH:HV:CR1:0:1000:PowerOn $1 ; +#caput HAD:RICH:HV:CR1:0:0:VoltageRampSpeed 20.0 ; +#caput HAD:RICH:HV:CR1:0:1:VoltageRampSpeed 20.0 ; +#caput HAD:RICH:HV:CR1:0:2:VoltageRampSpeed 20.0 ; +#caput HAD:RICH:HV:CR1:0:3:VoltageRampSpeed 20.0 ; +#caput HAD:RICH:HV:CR1:0:4:VoltageRampSpeed 20.0 ; +#caput HAD:RICH:HV:CR1:0:5:VoltageRampSpeed 20.0 ; diff --git a/richhv/rich700/setHV.sh b/richhv/rich700/setHV.sh new file mode 100755 index 0000000..5f747d9 --- /dev/null +++ b/richhv/rich700/setHV.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ $# -ne 1 ] + then + echo "Need one argument." + echo "Usage ./setHV.sh \"file with saved module-nr's. and HV\"" + exit 1 +fi + + +export LC_NUMERIC=en_US +while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + HV=${words[3]} + HV=$(printf "%.*f" 1 $HV) +# echo $HV + caput HAD:RICH:HV:CR1:0:$module:$channel:VoltageSet $HV +done < $1 diff --git a/richhv/rich700/setHV_val.sh b/richhv/rich700/setHV_val.sh new file mode 100755 index 0000000..bcc0064 --- /dev/null +++ b/richhv/rich700/setHV_val.sh @@ -0,0 +1,16 @@ +#!/bin/bash +if [ $# -ne 2 ] + then + echo "Need two arguments." + echo "Usage ./setHV_val.sh \"file with saved module-nr's.\" \"Value for HV\"" + exit 1 +fi + +while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + caput HAD:RICH:HV:CR1:0:$module:$channel:VoltageSet $2 +done < $1 diff --git a/richhv/rich700/setHVon_off.sh b/richhv/rich700/setHVon_off.sh new file mode 100755 index 0000000..a649be0 --- /dev/null +++ b/richhv/rich700/setHVon_off.sh @@ -0,0 +1,40 @@ +#!/bin/bash +if [ $# -ne 2 ] + then + echo "Need two arguments." + echo "Usage ./setHVon_off.sh \"file with saved module-nr's.\" {1,2,3}" + echo "1 = switch all on" + echo "0 = switch all off" + echo "2 = switch all off if at least one module is \"on\"" + exit 1 +fi +SET_VAL=1 +if(( $2==2 )) +then + while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + HV=${words[3]} + current_setting=$(caget -t HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn) + if [[ "$current_setting" == "Channel on" ]] + then + SET_VAL=0 + fi + done < $1 +else + SET_VAL=$2 +fi + +while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + HV=${words[3]} + caput HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn $SET_VAL +done < $1 + diff --git a/richhv/rich700/setHVon_off_old.sh b/richhv/rich700/setHVon_off_old.sh new file mode 100755 index 0000000..9199b87 --- /dev/null +++ b/richhv/rich700/setHVon_off_old.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +while read line + do + [[ $line == "#"* ]] && continue + words=( $line ) + module=${words[1]} + channel=${words[2]} + HV=${words[3]} + if(( $2==2 )) + then + current_setting=$(caget -t HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn) + if [[ "$current_setting" == "Channel off" ]] + then + caput HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn 1 + else + caput HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn 0 + fi + #echo $current_setting + else + caput HAD:RICH:HV:CR1:0:$module:$channel:Control:setOn $2 + fi +done < $1 -- 2.43.0