From 524151fa73996817d19ade60c43d3786d5a1d5c0 Mon Sep 17 00:00:00 2001 From: alexancs Date: Thu, 5 Dec 2024 12:21:57 -0600 Subject: [PATCH 1/8] removed unnecessary files --- TopCP/.globus/myCertificate.p12 | Bin 0 -> 3890 bytes TopCP/.globus/usercert.pem | 156 ++++++++++++++++++ TopCP/.globus/userkey.pem | 33 ++++ TopCP/Dockerfile | 27 ++++ TopCP/TopCPToolkit | 1 + TopCP/boot.bash_profile | 4 + TopCP/boot.sh | 7 + TopCP/configs/customConfig/reco.yaml | 234 +++++++++++++++++++++++++++ TopCP/generate/inputs.txt | 1 + TopCP/generate/inputs_top1_loc.txt | 1 + TopCP/generate/output.root | Bin 0 -> 36124 bytes TopCP/generate/url1.txt | 1 + TopCP/generate/url2.txt | 1 + 13 files changed, 466 insertions(+) create mode 100644 TopCP/.globus/myCertificate.p12 create mode 100644 TopCP/.globus/usercert.pem create mode 100644 TopCP/.globus/userkey.pem create mode 100755 TopCP/Dockerfile create mode 160000 TopCP/TopCPToolkit create mode 100755 TopCP/boot.bash_profile create mode 100755 TopCP/boot.sh create mode 100755 TopCP/configs/customConfig/reco.yaml create mode 100755 TopCP/generate/inputs.txt create mode 100644 TopCP/generate/inputs_top1_loc.txt create mode 100644 TopCP/generate/output.root create mode 100644 TopCP/generate/url1.txt create mode 100644 TopCP/generate/url2.txt diff --git a/TopCP/.globus/myCertificate.p12 b/TopCP/.globus/myCertificate.p12 new file mode 100644 index 0000000000000000000000000000000000000000..22ae690e11daf373380de61a5c059f4cd62e717d GIT binary patch literal 3890 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 UQzilOH?9UFmrWG)@~Y&&0I7`bAOHXW literal 0 HcmV?d00001 diff --git a/TopCP/.globus/usercert.pem b/TopCP/.globus/usercert.pem new file mode 100644 index 0000000..f49455a --- /dev/null +++ b/TopCP/.globus/usercert.pem @@ -0,0 +1,156 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 6e:00:5f:57:ee:c4:04:98:94:c6:ec:dd:2b:00:01:00:5f:57:ee + Signature Algorithm: sha512WithRSAEncryption + Issuer: DC=ch, DC=cern, CN=CERN Grid Certification Authority + Validity + Not Before: Jul 2 19:41:13 2024 GMT + Not After : Aug 6 19:41:13 2025 GMT + Subject: DC=ch, DC=cern, OU=Organic Units, OU=Users, CN=alexansc, CN=875827, CN=Alexander Schmidt + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ad:08:75:e7:bd:a3:7c:cb:1a:16:06:d7:05:dd: + b5:23:5a:38:36:65:8f:42:1d:28:a7:8f:1b:86:d3: + 44:0b:11:69:33:a9:1b:48:cf:64:cd:6c:df:a7:e6: + e2:d2:a9:c1:77:6f:65:74:f0:20:8f:05:ab:fe:5c: + 23:85:c4:ee:16:12:91:47:05:cf:ae:35:0d:9d:5b: + ce:bc:e9:34:b0:da:aa:24:17:93:98:d1:65:a2:b4: + b5:05:de:1c:12:2d:a0:ed:41:cf:54:e6:26:da:1c: + a6:88:a0:d8:56:67:44:23:63:92:6d:bf:eb:b8:ff: + b7:04:6b:57:be:3f:f6:4e:b8:fd:4e:1c:ae:22:27: + 65:fd:3e:cc:a7:b6:d0:1e:cb:51:b0:62:b2:d1:46: + dd:39:bf:ac:18:7d:e1:9c:c1:6e:05:3c:2f:67:27: + 08:10:5a:e8:10:7e:44:28:56:cf:ec:23:d4:a9:20: + dd:3d:a6:fc:4f:25:16:5b:36:64:c1:cf:6d:62:ef: + 3f:cd:20:83:4e:ba:1e:65:87:de:04:8d:00:73:fb: + 5b:fc:b3:7d:b3:18:3a:9e:a6:50:56:54:55:9c:30: + ca:0b:cf:77:c0:1d:3f:03:6f:20:bd:7b:0d:fb:ff: + 90:a2:39:d3:a7:47:98:bc:0d:ef:c6:e4:47:4b:1e: + ca:f3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + 76:BD:FC:F4:C5:82:8B:7F:4F:ED:FE:C8:7E:17:6F:63:11:F5:88:9B + X509v3 Authority Key Identifier: + keyid:A5:A0:FD:66:58:FD:B9:DD:7A:E1:B2:9D:9F:A3:D1:E5:50:18:94:E7 + + X509v3 CRL Distribution Points: + + Full Name: + URI:http://cafiles.cern.ch/cafiles/crl/CERN%20Grid%20Certification%20Authority.crl + URI:ldap:///CN=CERN%20Grid%20Certification%20Authority,CN=CERNPKI05,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=cern,DC=ch?certificateRevocationList?base?objectClass=cRLDistributionPoint + + Authority Information Access: + CA Issuers - URI:http://cafiles.cern.ch/cafiles/certificates/CERN%20Grid%20Certification%20Authority(1).crt + CA Issuers - URI:ldap:///CN=CERN%20Grid%20Certification%20Authority,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=cern,DC=ch?cACertificate?base?objectClass=certificationAuthority + OCSP - URI:http://ocsp.cern.ch/ocsp + + X509v3 Key Usage: critical + Digital Signature, Key Encipherment + 1.3.6.1.4.1.311.21.7: + 0..&+.....7......... ...+...7...b....L......d... + X509v3 Extended Key Usage: + Microsoft Encrypted File System, E-mail Protection, TLS Web Client Authentication + 1.3.6.1.4.1.311.21.10: + 0&0.. ++.....7 +..0 +..+.......0 +..+....... + X509v3 Subject Alternative Name: + othername:, email:alexcschmidt17@gmail.com + 1.3.6.1.4.1.311.25.2: + 0D.B. ++.....7....4.2S-1-5-21-1526224874-1540688658-1361462980-11064352 + S/MIME Capabilities: + 050...*.H.. ......0...*.H.. ......0...+....0 +..*.H.. .. + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.96.10.4.2.2.3.1 + Policy: 1.2.840.113612.5.2.2.1 + + Signature Algorithm: sha512WithRSAEncryption + 07:45:c3:e1:31:67:a2:aa:1f:a1:aa:89:7d:5d:f4:8c:3d:ed: + 59:ee:5f:ea:c5:03:81:e8:b0:64:cc:26:bc:2d:90:ef:bc:e7: + 03:36:6d:e0:3e:f8:3e:d0:39:1d:0a:24:f8:5c:9e:fd:b0:9a: + 33:e6:b1:51:a0:b5:0c:53:cd:7b:dd:b6:d0:40:dc:0c:15:ca: + 86:74:75:da:a4:de:4a:ea:93:f2:f1:1c:b6:de:a3:89:fc:d9: + 78:55:03:da:6c:af:3f:17:d4:8d:ac:a4:f0:d6:be:10:c8:75: + 1f:be:f9:24:b4:72:d6:c1:45:c9:53:b4:aa:58:74:63:6a:fa: + 6a:86:d2:6d:f2:9d:79:94:90:fc:6a:19:ee:cb:7c:cd:68:b9: + d9:29:23:9d:0e:9c:83:cd:e3:83:6c:0f:c1:ae:b2:47:4a:ab: + 9a:3a:8b:04:0c:7a:26:9a:a4:77:37:11:66:8e:ba:3d:cb:fd: + 97:1d:3e:d5:53:7d:67:cd:34:1a:0f:c3:5f:0b:24:d7:0a:bf: + ba:3f:0c:cf:56:74:f0:31:37:6c:ad:40:ba:7e:bc:d9:6b:68: + f0:1a:ea:96:11:66:42:0c:8a:3c:b3:73:38:e7:20:62:02:aa: + 7d:1e:ad:9b:70:f9:fa:ad:e4:a5:86:06:46:73:fb:b7:71:a6: + ed:4e:ce:51:04:24:93:99:48:bd:d9:31:bf:d9:77:42:42:4f: + bf:7d:3c:29:46:ae:87:53:0e:17:8d:e9:2d:93:4c:bd:2a:15: + 85:d8:29:06:2d:e8:5d:cf:c4:0c:99:cb:7a:50:e9:e0:14:ae: + 7e:a5:90:02:49:3b:0a:ee:32:78:aa:77:e7:25:fd:4f:3f:39: + 78:f9:b5:e1:4b:68:55:df:3a:0e:d3:e8:dd:21:07:3a:2a:ef: + 5b:cb:10:c7:11:54:52:97:09:ef:6b:a7:af:91:89:dd:37:ba: + e2:58:1f:a1:b9:62:07:d9:5f:2b:7c:d2:99:9a:24:af:1e:78: + 68:2e:67:ff:9c:e3:67:92:b7:8f:3a:e5:11:d6:96:a5:ed:c6: + 6d:41:33:81:45:ba:03:7a:f0:cb:ce:73:7b:2d:f9:9e:a3:68: + 64:41:a0:7e:00:55:10:0b:07:7d:e0:c5:b2:2b:90:44:05:17: + 32:27:42:0a:0d:16:b7:4a:dd:f1:f4:03:08:79:ab:6e:1f:21: + fb:85:41:6e:74:96:f0:87:53:0e:cd:5e:8c:19:6c:7e:c9:bb: + 25:c8:5f:a9:b2:83:a0:be:a1:60:8f:22:b0:1c:21:6b:84:77: + c5:72:15:71:84:a0:df:25:bc:f2:f8:93:f2:07:c8:40:a7:88: + 76:87:31:36:f0:da:dd:89 +-----BEGIN CERTIFICATE----- +MIIJJTCCBw2gAwIBAgITbgBfV+7EBJiUxuzdKwABAF9X7jANBgkqhkiG9w0BAQ0F +ADBWMRIwEAYKCZImiZPyLGQBGRYCY2gxFDASBgoJkiaJk/IsZAEZFgRjZXJuMSow +KAYDVQQDEyFDRVJOIEdyaWQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjQw +NzAyMTk0MTEzWhcNMjUwODA2MTk0MTEzWjCBkjESMBAGCgmSJomT8ixkARkWAmNo +MRQwEgYKCZImiZPyLGQBGRYEY2VybjEWMBQGA1UECxMNT3JnYW5pYyBVbml0czEO +MAwGA1UECxMFVXNlcnMxETAPBgNVBAMTCGFsZXhhbnNjMQ8wDQYDVQQDEwY4NzU4 +MjcxGjAYBgNVBAMTEUFsZXhhbmRlciBTY2htaWR0MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArQh1572jfMsaFgbXBd21I1o4NmWPQh0op48bhtNECxFp +M6kbSM9kzWzfp+bi0qnBd29ldPAgjwWr/lwjhcTuFhKRRwXPrjUNnVvOvOk0sNqq +JBeTmNFlorS1Bd4cEi2g7UHPVOYm2hymiKDYVmdEI2OSbb/ruP+3BGtXvj/2Trj9 +ThyuIidl/T7Mp7bQHstRsGKy0UbdOb+sGH3hnMFuBTwvZycIEFroEH5EKFbP7CPU +qSDdPab8TyUWWzZkwc9tYu8/zSCDTroeZYfeBI0Ac/tb/LN9sxg6nqZQVlRVnDDK +C893wB0/A28gvXsN+/+QojnTp0eYvA3vxuRHSx7K8wIDAQABo4IErTCCBKkwHQYD +VR0OBBYEFHa9/PTFgot/T+3+yH4Xb2MR9YibMB8GA1UdIwQYMBaAFKWg/WZY/bnd +euGynZ+j0eVQGJTnMIIBOAYDVR0fBIIBLzCCASswggEnoIIBI6CCAR+GTmh0dHA6 +Ly9jYWZpbGVzLmNlcm4uY2gvY2FmaWxlcy9jcmwvQ0VSTiUyMEdyaWQlMjBDZXJ0 +aWZpY2F0aW9uJTIwQXV0aG9yaXR5LmNybIaBzGxkYXA6Ly8vQ049Q0VSTiUyMEdy +aWQlMjBDZXJ0aWZpY2F0aW9uJTIwQXV0aG9yaXR5LENOPUNFUk5QS0kwNSxDTj1D +RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29u +ZmlndXJhdGlvbixEQz1jZXJuLERDPWNoP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxp +c3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAWUGCCsG +AQUFBwEBBIIBVzCCAVMwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jYWZpbGVzLmNlcm4u +Y2gvY2FmaWxlcy9jZXJ0aWZpY2F0ZXMvQ0VSTiUyMEdyaWQlMjBDZXJ0aWZpY2F0 +aW9uJTIwQXV0aG9yaXR5KDEpLmNydDCBwgYIKwYBBQUHMAKGgbVsZGFwOi8vL0NO +PUNFUk4lMjBHcmlkJTIwQ2VydGlmaWNhdGlvbiUyMEF1dGhvcml0eSxDTj1BSUEs +Q049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmln +dXJhdGlvbixEQz1jZXJuLERDPWNoP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RD +bGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC5jZXJuLmNoL29jc3AwDgYDVR0PAQH/BAQDAgWgMD0GCSsGAQQBgjcVBwQw +MC4GJisGAQQBgjcVCIO90AmC7Y0Nhu2LK4He9TeFgNBiHoWK40yBtaoEAgFkAgEQ +MCkGA1UdJQQiMCAGCisGAQQBgjcKAwQGCCsGAQUFBwMEBggrBgEFBQcDAjA1Bgkr +BgEEAYI3FQoEKDAmMAwGCisGAQQBgjcKAwQwCgYIKwYBBQUHAwQwCgYIKwYBBQUH +AwIwTQYDVR0RBEYwRKAoBgorBgEEAYI3FAIDoBoMGGFsZXhjc2NobWlkdDE3QGdt +YWlsLmNvbYEYYWxleGNzY2htaWR0MTdAZ21haWwuY29tMFMGCSsGAQQBgjcZAgRG +MESgQgYKKwYBBAGCNxkCAaA0BDJTLTEtNS0yMS0xNTI2MjI0ODc0LTE1NDA2ODg2 +NTgtMTM2MTQ2Mjk4MC0xMTA2NDM1MjBEBgkqhkiG9w0BCQ8ENzA1MA4GCCqGSIb3 +DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwJwYD +VR0gBCAwHjAOBgwrBgEEAWAKBAICAwEwDAYKKoZIhvdMBQICATANBgkqhkiG9w0B +AQ0FAAOCAgEAB0XD4TFnoqofoaqJfV30jD3tWe5f6sUDgeiwZMwmvC2Q77znAzZt +4D74PtA5HQok+Fye/bCaM+axUaC1DFPNe9220EDcDBXKhnR12qTeSuqT8vEctt6j +ifzZeFUD2myvPxfUjayk8Na+EMh1H775JLRy1sFFyVO0qlh0Y2r6aobSbfKdeZSQ +/GoZ7st8zWi52SkjnQ6cg83jg2wPwa6yR0qrmjqLBAx6JpqkdzcRZo66Pcv9lx0+ +1VN9Z800Gg/DXwsk1wq/uj8Mz1Z08DE3bK1Aun682Wto8BrqlhFmQgyKPLNzOOcg +YgKqfR6tm3D5+q3kpYYGRnP7t3Gm7U7OUQQkk5lIvdkxv9l3QkJPv308KUauh1MO +F43pLZNMvSoVhdgpBi3oXc/EDJnLelDp4BSufqWQAkk7Cu4yeKp35yX9Tz85ePm1 +4UtoVd86DtPo3SEHOirvW8sQxxFUUpcJ72unr5GJ3Te64lgfobliB9lfK3zSmZok +rx54aC5n/5zjZ5K3jzrlEdaWpe3GbUEzgUW6A3rwy85zey35nqNoZEGgfgBVEAsH +feDFsiuQRAUXMidCCg0Wt0rd8fQDCHmrbh8h+4VBbnSW8IdTDs1ejBlsfsm7Jchf +qbKDoL6hYI8isBwha4R3xXIVcYSg3yW88viT8gfIQKeIdocxNvDa3Yk= +-----END CERTIFICATE----- diff --git a/TopCP/.globus/userkey.pem b/TopCP/.globus/userkey.pem new file mode 100644 index 0000000..7cd19c1 --- /dev/null +++ b/TopCP/.globus/userkey.pem @@ -0,0 +1,33 @@ +Bag Attributes + localKeyID: 5C 6D E1 AD FA 6B 97 91 97 10 3D 20 BD ED 8A FB A2 82 2B AB +Key Attributes: +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIWlgzRFrbEOUCAggA +MBQGCCqGSIb3DQMHBAhoKUzZzH63mwSCBMg7TBlZiirrV5LdWtt9mklTDyUE/oTz +yijejNHEQOusAacK0o2vv9IbV3KQU2d8kWtB5zasN4wwRdgaNNRUvphg9HXbg3hZ +Jo7XeKMd0N7THYZKQLq4lr4AxQrJSbXNRDihxWWyH6Y/+4agE9wkmy4JHbgDGF8M +42a4kly49sJ737fKXv7Yf0HoUxjPVwMZWNgW2+wDU1e9wq6H0kLDtji4KOPAIW2V +orLNFj+PVfiWgRZ3v26j+gwPohWBJ8Itx/TjndZ6sWasSM6kkSUnjqMpqWLmxReM +QQFK6W9K4FtlH28zQbSO/o5eAgR5+NmxJ4cyuDFtVvBkIGu95dnIpppA3XjjMkDV +bgbvPsV6m0psjFk+fGVHI9GYgM06IRdUW09foCgQPPbJ7MXHboYQbRBPDnY3mQQX +np6egsw1XjNGRk+6kgZkTXpzkINJ89niRyt5t0I1kqT99yX295F3gCZBLcbCrrdX +SM+59hvbwXaXBZJP9tNGrDb+oGZgHxSa0l4AqNhILdjKU2YyjWrpKCb08YlFEv5o +ML8iDqW+jgXen6a47rXvHfjK3fwkfEIgahZFz9PpKWWxkGYHF0CivM5Hjc7d5Lo4 +7l4FGNlL0edJdsXKeByUG9oMhVqLGTTxASFjG/AVWsoouN3RjXzRxNzTY2Byvrk4 +9RzGfaj4w2sAyZNSEErbfFy+fxNZ4gszRwF14bvQVYkPQFRser4T/mtXKtqI+Xsd +k+t0lilj7d+moDqxJiPgt+62/h1d8x1Z6iDmq/Qrq+dudomiAVBIrVAur+4pAng6 +xGQmGKWCQuT62MMSxIQFkjAIKABw5OnK4u9MiZM7A4nmo4Q2i2ZEByNdVUZFJLWL +o7dW6l7qTGxLwPfzeZklWegy0T4PR+VbWhK4rkBMSjMrqB+fdCXXrkmi9l8wZ4by +Ykn9NtXspo7d15qhFXEYJiXRWHxBcBf6EN7LWoYI5V13l2VREDaXffEOxCzC0vRC +2pIPuCdmS4juZmE1WYxTdg6EfpRGuAFJHbiwUlpRlxRt9cd2sz8KEv3I7/+XHCKr +fm6ecI7dRp/zslCe4/2qBAo2YDqhPbaAjUWGm+oykw4vsHy3THJFbGY59OfvBa3G +D9P+eYjIZIUsUP0YJUhUc0zK2+QsoLJ7gEZXCVTKaQJMbkX8oWAogq2IG9rdrTQg +zAXltutSjsa9ca0VUmfzFBg008c83eF+wZwUb28DgcVwUZ2KQqYqyP+YsLlaCMV4 +A89K6U6oCQqjzYBYg8t+/EchNDhWhPZj2zWizDSTPoBaHUv6VCWov8sTPKlSLIzv +cKhw1+oedb/CPSMNhXIxgoFEEdxZ6Tzvx+eBPITSVgcxxq6C6QIeeTSiKkvCUAS8 +tKePpjvnQNkvu/V8yn6jl6+hNf1AtVrVvu97Lham5MtbF06qh1sIxiNGOd3M1/3i +nZltmkmVqUUvpnw27N9omAIfz/NkkOWLUvN4qaMLgBjujuHf5OsFPV9BuHcIOziE +ubCNyA0IGb1Gpprh/SLGs58qigKuTMAIx43o3MGLRsorg294hXTAC0RJUzjE8vme +PsubUCJx/HNL+G7WgLfFJoES39mzyxFIw/K1XTguLPk1xmwuVMjSrEowYEML8F/i +Y+k= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile new file mode 100755 index 0000000..4f3f639 --- /dev/null +++ b/TopCP/Dockerfile @@ -0,0 +1,27 @@ +ARG BASE_IMAGE=gitlab-registry.cern.ch/atlas/athena/analysisbase:25.2.14 +FROM ${BASE_IMAGE} as base + +SHELL [ "/bin/bash", "-c" ] + +USER root + +RUN yum update -y +RUN yum install -y https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm && yum install -y osg-ca-certs + +COPY ./TopCPToolkit /TopCPToolkit +WORKDIR /TopCPToolkit + +RUN mkdir -p generate +ENV RUN_LOC "/TopCPToolkit/generate" +WORKDIR $RUN_LOC +RUN mkdir -p data + +ENV CONFIG_LOC "/TopCPToolkit/source/TopCPToolkit/share/configs/customConfig" +RUN mkdir -p $CONFIG_LOC + +ENV X509_USER_PROXY=/tmp/x509_proxy + +RUN chmod +x /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh + +COPY ./boot.sh / +ENTRYPOINT ["/boot.bash_profile"] \ No newline at end of file diff --git a/TopCP/TopCPToolkit b/TopCP/TopCPToolkit new file mode 160000 index 0000000..ae2a1b2 --- /dev/null +++ b/TopCP/TopCPToolkit @@ -0,0 +1 @@ +Subproject commit ae2a1b246fb8b27162fe3636c08606e5d938527d diff --git a/TopCP/boot.bash_profile b/TopCP/boot.bash_profile new file mode 100755 index 0000000..3e4a888 --- /dev/null +++ b/TopCP/boot.bash_profile @@ -0,0 +1,4 @@ +#!/bin/bash +source /release_setup.sh +source /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh +unset PYTHONHOME \ No newline at end of file diff --git a/TopCP/boot.sh b/TopCP/boot.sh new file mode 100755 index 0000000..5cd125a --- /dev/null +++ b/TopCP/boot.sh @@ -0,0 +1,7 @@ +#!/bin/bash +source /release_setup.sh +source /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh +unset PYTHONHOME + +echo "Arguments received: $@" +exec "$@" \ No newline at end of file diff --git a/TopCP/configs/customConfig/reco.yaml b/TopCP/configs/customConfig/reco.yaml new file mode 100755 index 0000000..4558ebf --- /dev/null +++ b/TopCP/configs/customConfig/reco.yaml @@ -0,0 +1,234 @@ +CommonServices: + systematicsHistogram: 'listOfSystematics' + +PileupReweighting: {} + +EventCleaning: + runEventCleaning: True + +Jets: + - containerName: 'AnaJets' + jetCollection: 'AntiKt4EMPFlowJets' + runJvtUpdate: False + runNNJvtUpdate: True + runGhostMuonAssociation: True + systematicsModelJES: 'Category' + systematicsModelJER: 'Full' + JVT: {} + PtEtaSelection: + minPt: 25000.0 + maxEta: 2.5 + FlavourTagging: + - btagger: 'DL1dv01' + btagWP: 'FixedCutBEff_85' + generator: 'autoconfig' + - btagger: 'DL1dv01' + btagWP: 'FixedCutBEff_77' + generator: 'autoconfig' + - btagger: 'DL1dv01' + btagWP: 'FixedCutBEff_70' + generator: 'autoconfig' + - btagger: 'DL1dv01' + btagWP: 'FixedCutBEff_60' + generator: 'autoconfig' + - btagger: 'DL1dv01' + btagWP: 'Continuous' + generator: 'autoconfig' + # BTaggingScores: + # #- bTagCalibFile : /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/xAODBTaggingEfficiency/13p6TeV/2023-22-13p6TeV-MC21-CDI_Test_2023-08-1_v1.root + # - bTagCalibFile : /workdir/BtaggerCalibration + # taggerName: 'GN2v00LegacyWP' + # #taggerName: 'DL1dv01' + # minPt: 25000.0 + # saveAllProbabilities: True + # eventSelection : '' + FlavourTaggingEventSF: + - containerName: 'AnaJets.baselineJvt' + btagger: 'DL1dv01' + btagWP: 'Continuous' + +Electrons: + - containerName: 'AnaElectrons' + crackVeto: True + IFFClassification: {} + WorkingPoint: + - selectionName: 'loose' + likelihoodWP: 'TightLH' + isolationWP: 'NonIso' + - selectionName: 'tight' + likelihoodWP: 'TightLH' + isolationWP: 'Tight_VarRad' + PtEtaSelection: + minPt: 25000.0 + maxEta: 2.47 + +Muons: + - containerName: 'AnaMuons' + IFFClassification: {} + WorkingPoint: + - selectionName: 'loose' + quality: 'Medium' + isolation: 'NonIso' + - selectionName: 'tight' + quality: 'Medium' + isolation: 'Tight_VarRad' + systematicBreakdown: True + PtEtaSelection: + minPt: 25000.0 + maxEta: 2.5 + + +GeneratorLevelAnalysis: {} + +# containerName and postfix must be defined in their respective blocks +MissingET: + - containerName: 'AnaMET' + # Format should follow Object: '.' + jets: 'AnaJets' + #taus: 'AnaTauJets.tight' + electrons: 'AnaElectrons.tight' + #photons: 'AnaPhotons.tight&&selectPtEta' + muons: 'AnaMuons.tight' + +# containerName and postfix must be defined in their respective blocks +OverlapRemoval: + inputLabel: 'preselectOR' + outputLabel: 'passesOR' + # Format should follow Object: '.' + jets: 'AnaJets.baselineJvt' + #taus: 'AnaTauJets.tight' + electrons: 'AnaElectrons.tight' + #photons: 'AnaPhotons.tight' + muons: 'AnaMuons.tight' + +ObjectCutFlow: + - containerName: 'AnaElectrons' + selectionName: 'tight' + - containerName: 'AnaMuons' + selectionName: 'tight' + # - containerName: 'AnaTauJets' + # selectionName: 'tight' + # - containerName: 'AnaPhotons' + # selectionName: 'tight' + - containerName: 'AnaJets' + selectionName: 'baselineJvt' + +Thinning: + - containerName: 'AnaJets' + outputName: 'OutJets' + selectionName: 'baselineJvt' + - containerName: 'AnaElectrons' + outputName: 'OutElectrons' + selectionName: 'tight||loose' + # - containerName: 'AnaPhotons' + # outputName: 'OutPhotons' + # selectionName: 'tight||loose' + - containerName: 'AnaMuons' + outputName: 'OutMuons' + selectionName: 'tight||loose' + # - containerName: 'AnaTauJets' + # outputName: 'OutTauJets' + # selectionName: 'tight' + +LeptonSF: + - electrons: 'AnaElectrons.tight' + muons: 'AnaMuons.tight' + lepton_postfix: 'tight' + +Trigger: + triggerChainsPerYear: + '2015': + - 'HLT_e24_lhmedium_L1EM20VH || HLT_e60_lhmedium || HLT_e120_lhloose' + - 'HLT_mu20_iloose_L1MU15 || HLT_mu40' + '2016': + - 'HLT_e26_lhtight_nod0_ivarloose || HLT_e60_lhmedium_nod0 || HLT_e140_lhloose_nod0' + - 'HLT_mu26_ivarmedium || HLT_mu50' + '2017': + - 'HLT_e26_lhtight_nod0_ivarloose || HLT_e60_lhmedium_nod0 || HLT_e140_lhloose_nod0' + - 'HLT_mu26_ivarmedium || HLT_mu50' + '2018': + - 'HLT_e26_lhtight_nod0_ivarloose || HLT_e60_lhmedium_nod0 || HLT_e140_lhloose_nod0' + - 'HLT_mu26_ivarmedium || HLT_mu50' + '2022': + - 'HLT_e26_lhtight_ivarloose_L1EM22VHI || HLT_e60_lhmedium_L1EM22VHI || HLT_e140_lhloose_L1EM22VHI' + - 'HLT_mu26_ivarmedium_L1MU14FCH || HLT_mu50_L1MU14FCH' + noFilter: False + electrons: 'AnaElectrons.tight' + muons: 'AnaMuons.tight' + electronID: 'Tight' + electronIsol: 'Tight_VarRad' + muonID: 'Medium' + +EventSelection: + - electrons: 'AnaElectrons.loose' + muons: 'AnaMuons.tight' + jets: 'AnaJets.baselineJvt' + met: 'AnaMET' + btagDecoration: 'ftag_select_DL1dv01_FixedCutBEff_85' + noFilter: False + cutFlowHistograms: True + selectionCutsDict: + 'ejets': | + EL_N 25000 == 1 + MU_N 100 == 0 + JET_N 25000 >= 3 + SAVE + 'mujets': | + MU_N 25000 == 1 + EL_N 100 == 0 + JET_N 25000 >= 3 + SAVE + + +# After configuring each container, many variables will be saved automatically. +Output: + treeName: 'reco' + vars: [OutJets_NOSYS.HadronConeExclTruthLabelID -> jet_TruthFlavour] + metVars: [] + containers: + # Format should follow: ':' + mu_: 'OutMuons' + el_: 'OutElectrons' + jet_: 'OutJets' + met_: 'AnaMET' + '': 'EventInfo' + commands: + # Turn output branches on and off with 'enable' and 'disable' + - disable jet_.*_eff.* + - disable jet_jvtEfficiency.* + - disable trigPassed_HLT.* + - enable trigPassed_HLT_e.* + +AddConfigBlocks: + - modulePath: 'TopCPToolkit.LeptonSFCalculatorConfig' + functionName: 'LeptonSFCalculatorConfig' + algName: 'LeptonSF' + pos: 'Output' + - modulePath: 'TopCPToolkit.KLFitterConfig' + functionName: 'KLFitterConfig' + algName: 'KLFitter' + pos: 'Output' + - modulePath: 'TopCPToolkit.TopSpaNetConfig' + functionName: 'TopSpaNetConfig' + algName: 'SpaNet' + pos: 'Output' + - modulePath: 'TopCPToolkit.particleLevelConfig' + functionName: 'particleLevelConfig' + algName: 'ParticleLevel' + pos: 'Output' + - modulePath: 'TopCPToolkit.truthConfig' + functionName: 'truthConfig' + algName: 'PartonHistory' + pos: 'Output' + - modulePath: 'TopCPToolkit.JetMatchingConfig' + functionName: 'JetMatchingConfig' + algName: 'JetMatching' + pos: 'Output' + - modulePath: 'TopCPToolkit.BTagScoresConfig' + functionName: 'BTagScoresConfig' + algName: 'BTaggingScores' + superBlocks: 'Jets' + - modulePath: 'TopCPToolkit.PartonToJetsMatchConfig' + functionName: 'PartonToJetsMatchConfig' + algName: 'PartonToJetsMatch' + pos: 'Output' \ No newline at end of file diff --git a/TopCP/generate/inputs.txt b/TopCP/generate/inputs.txt new file mode 100755 index 0000000..5a42c63 --- /dev/null +++ b/TopCP/generate/inputs.txt @@ -0,0 +1 @@ +/data/DAOD_PHYS.37620644._000804.pool.root.1 diff --git a/TopCP/generate/inputs_top1_loc.txt b/TopCP/generate/inputs_top1_loc.txt new file mode 100644 index 0000000..14f1429 --- /dev/null +++ b/TopCP/generate/inputs_top1_loc.txt @@ -0,0 +1 @@ +/data_ceph/acs5635/dock/mc20_13TeV/DAOD_PHYS.37620644._000804.pool.root.1 \ No newline at end of file diff --git a/TopCP/generate/output.root b/TopCP/generate/output.root new file mode 100644 index 0000000000000000000000000000000000000000..a2f28a227d5d9af58fb8fcc2da8d98b2cc0a90cd GIT binary patch literal 36124 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 Le70pU+B*DS Date: Thu, 5 Dec 2024 12:48:18 -0600 Subject: [PATCH 2/8] added 'yum install nc' to Dockerfile and removed entrypoint --- TopCP/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile index 4f3f639..3d45dd7 100755 --- a/TopCP/Dockerfile +++ b/TopCP/Dockerfile @@ -7,6 +7,7 @@ USER root RUN yum update -y RUN yum install -y https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm && yum install -y osg-ca-certs +RUN yum install nc COPY ./TopCPToolkit /TopCPToolkit WORKDIR /TopCPToolkit @@ -24,4 +25,4 @@ ENV X509_USER_PROXY=/tmp/x509_proxy RUN chmod +x /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh COPY ./boot.sh / -ENTRYPOINT ["/boot.bash_profile"] \ No newline at end of file +# ENTRYPOINT ["/boot.sh"] \ No newline at end of file From dc30c14e20da48418ca4e2b21e90aaf071f45d1d Mon Sep 17 00:00:00 2001 From: alexancs Date: Thu, 5 Dec 2024 12:57:16 -0600 Subject: [PATCH 3/8] added copying of boot.bash_profile to image --- TopCP/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile index 3d45dd7..6df24c0 100755 --- a/TopCP/Dockerfile +++ b/TopCP/Dockerfile @@ -24,5 +24,6 @@ ENV X509_USER_PROXY=/tmp/x509_proxy RUN chmod +x /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh +COPY ./boot.bash_profile / COPY ./boot.sh / # ENTRYPOINT ["/boot.sh"] \ No newline at end of file From 5ee80829c031240070e24f8fb8fe465d9ca7b56a Mon Sep 17 00:00:00 2001 From: alexancs Date: Thu, 5 Dec 2024 14:05:06 -0600 Subject: [PATCH 4/8] change yum install nc to yum install -y nc --- TopCP/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile index 6df24c0..6368f75 100755 --- a/TopCP/Dockerfile +++ b/TopCP/Dockerfile @@ -7,7 +7,7 @@ USER root RUN yum update -y RUN yum install -y https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm && yum install -y osg-ca-certs -RUN yum install nc +RUN yum install -y nc COPY ./TopCPToolkit /TopCPToolkit WORKDIR /TopCPToolkit From be31adb24037df42ccabb6793db603bfbb9f61ef Mon Sep 17 00:00:00 2001 From: alexancs Date: Fri, 6 Dec 2024 12:54:57 -0600 Subject: [PATCH 5/8] changed user to servicex to avoid creating files owned by root --- TopCP/Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile index 6368f75..14a488f 100755 --- a/TopCP/Dockerfile +++ b/TopCP/Dockerfile @@ -3,8 +3,6 @@ FROM ${BASE_IMAGE} as base SHELL [ "/bin/bash", "-c" ] -USER root - RUN yum update -y RUN yum install -y https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm && yum install -y osg-ca-certs RUN yum install -y nc @@ -24,6 +22,6 @@ ENV X509_USER_PROXY=/tmp/x509_proxy RUN chmod +x /TopCPToolkit/build/x86_64-el9-gcc13-opt/setup.sh -COPY ./boot.bash_profile / -COPY ./boot.sh / -# ENTRYPOINT ["/boot.sh"] \ No newline at end of file +USER servicex + +COPY ./boot.bash_profile / \ No newline at end of file From 01da48183401ea0e8c1ee61f3995c265ec57c942 Mon Sep 17 00:00:00 2001 From: alexancs Date: Fri, 6 Dec 2024 12:59:20 -0600 Subject: [PATCH 6/8] removed unnecessary files from generate directory --- TopCP/generate/{url1.txt => exampleInput.txt} | 0 TopCP/generate/inputs.txt | 1 - TopCP/generate/inputs_top1_loc.txt | 1 - TopCP/generate/output.root | Bin 36124 -> 0 bytes TopCP/generate/url2.txt | 1 - 5 files changed, 3 deletions(-) rename TopCP/generate/{url1.txt => exampleInput.txt} (100%) delete mode 100755 TopCP/generate/inputs.txt delete mode 100644 TopCP/generate/inputs_top1_loc.txt delete mode 100644 TopCP/generate/output.root delete mode 100644 TopCP/generate/url2.txt diff --git a/TopCP/generate/url1.txt b/TopCP/generate/exampleInput.txt similarity index 100% rename from TopCP/generate/url1.txt rename to TopCP/generate/exampleInput.txt diff --git a/TopCP/generate/inputs.txt b/TopCP/generate/inputs.txt deleted file mode 100755 index 5a42c63..0000000 --- a/TopCP/generate/inputs.txt +++ /dev/null @@ -1 +0,0 @@ -/data/DAOD_PHYS.37620644._000804.pool.root.1 diff --git a/TopCP/generate/inputs_top1_loc.txt b/TopCP/generate/inputs_top1_loc.txt deleted file mode 100644 index 14f1429..0000000 --- a/TopCP/generate/inputs_top1_loc.txt +++ /dev/null @@ -1 +0,0 @@ -/data_ceph/acs5635/dock/mc20_13TeV/DAOD_PHYS.37620644._000804.pool.root.1 \ No newline at end of file diff --git a/TopCP/generate/output.root b/TopCP/generate/output.root deleted file mode 100644 index a2f28a227d5d9af58fb8fcc2da8d98b2cc0a90cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36124 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 Le70pU+B*DS Date: Fri, 6 Dec 2024 14:39:15 -0600 Subject: [PATCH 7/8] removed .globus folder --- TopCP/.globus/myCertificate.p12 | Bin 3890 -> 0 bytes TopCP/.globus/usercert.pem | 156 -------------------------------- TopCP/.globus/userkey.pem | 33 ------- 3 files changed, 189 deletions(-) delete mode 100644 TopCP/.globus/myCertificate.p12 delete mode 100644 TopCP/.globus/usercert.pem delete mode 100644 TopCP/.globus/userkey.pem diff --git a/TopCP/.globus/myCertificate.p12 b/TopCP/.globus/myCertificate.p12 deleted file mode 100644 index 22ae690e11daf373380de61a5c059f4cd62e717d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3890 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 UQzilOH?9UFmrWG)@~Y&&0I7`bAOHXW diff --git a/TopCP/.globus/usercert.pem b/TopCP/.globus/usercert.pem deleted file mode 100644 index f49455a..0000000 --- a/TopCP/.globus/usercert.pem +++ /dev/null @@ -1,156 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 6e:00:5f:57:ee:c4:04:98:94:c6:ec:dd:2b:00:01:00:5f:57:ee - Signature Algorithm: sha512WithRSAEncryption - Issuer: DC=ch, DC=cern, CN=CERN Grid Certification Authority - Validity - Not Before: Jul 2 19:41:13 2024 GMT - Not After : Aug 6 19:41:13 2025 GMT - Subject: DC=ch, DC=cern, OU=Organic Units, OU=Users, CN=alexansc, CN=875827, CN=Alexander Schmidt - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:ad:08:75:e7:bd:a3:7c:cb:1a:16:06:d7:05:dd: - b5:23:5a:38:36:65:8f:42:1d:28:a7:8f:1b:86:d3: - 44:0b:11:69:33:a9:1b:48:cf:64:cd:6c:df:a7:e6: - e2:d2:a9:c1:77:6f:65:74:f0:20:8f:05:ab:fe:5c: - 23:85:c4:ee:16:12:91:47:05:cf:ae:35:0d:9d:5b: - ce:bc:e9:34:b0:da:aa:24:17:93:98:d1:65:a2:b4: - b5:05:de:1c:12:2d:a0:ed:41:cf:54:e6:26:da:1c: - a6:88:a0:d8:56:67:44:23:63:92:6d:bf:eb:b8:ff: - b7:04:6b:57:be:3f:f6:4e:b8:fd:4e:1c:ae:22:27: - 65:fd:3e:cc:a7:b6:d0:1e:cb:51:b0:62:b2:d1:46: - dd:39:bf:ac:18:7d:e1:9c:c1:6e:05:3c:2f:67:27: - 08:10:5a:e8:10:7e:44:28:56:cf:ec:23:d4:a9:20: - dd:3d:a6:fc:4f:25:16:5b:36:64:c1:cf:6d:62:ef: - 3f:cd:20:83:4e:ba:1e:65:87:de:04:8d:00:73:fb: - 5b:fc:b3:7d:b3:18:3a:9e:a6:50:56:54:55:9c:30: - ca:0b:cf:77:c0:1d:3f:03:6f:20:bd:7b:0d:fb:ff: - 90:a2:39:d3:a7:47:98:bc:0d:ef:c6:e4:47:4b:1e: - ca:f3 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 76:BD:FC:F4:C5:82:8B:7F:4F:ED:FE:C8:7E:17:6F:63:11:F5:88:9B - X509v3 Authority Key Identifier: - keyid:A5:A0:FD:66:58:FD:B9:DD:7A:E1:B2:9D:9F:A3:D1:E5:50:18:94:E7 - - X509v3 CRL Distribution Points: - - Full Name: - URI:http://cafiles.cern.ch/cafiles/crl/CERN%20Grid%20Certification%20Authority.crl - URI:ldap:///CN=CERN%20Grid%20Certification%20Authority,CN=CERNPKI05,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=cern,DC=ch?certificateRevocationList?base?objectClass=cRLDistributionPoint - - Authority Information Access: - CA Issuers - URI:http://cafiles.cern.ch/cafiles/certificates/CERN%20Grid%20Certification%20Authority(1).crt - CA Issuers - URI:ldap:///CN=CERN%20Grid%20Certification%20Authority,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=cern,DC=ch?cACertificate?base?objectClass=certificationAuthority - OCSP - URI:http://ocsp.cern.ch/ocsp - - X509v3 Key Usage: critical - Digital Signature, Key Encipherment - 1.3.6.1.4.1.311.21.7: - 0..&+.....7......... ...+...7...b....L......d... - X509v3 Extended Key Usage: - Microsoft Encrypted File System, E-mail Protection, TLS Web Client Authentication - 1.3.6.1.4.1.311.21.10: - 0&0.. -+.....7 -..0 -..+.......0 -..+....... - X509v3 Subject Alternative Name: - othername:, email:alexcschmidt17@gmail.com - 1.3.6.1.4.1.311.25.2: - 0D.B. -+.....7....4.2S-1-5-21-1526224874-1540688658-1361462980-11064352 - S/MIME Capabilities: - 050...*.H.. ......0...*.H.. ......0...+....0 -..*.H.. .. - X509v3 Certificate Policies: - Policy: 1.3.6.1.4.1.96.10.4.2.2.3.1 - Policy: 1.2.840.113612.5.2.2.1 - - Signature Algorithm: sha512WithRSAEncryption - 07:45:c3:e1:31:67:a2:aa:1f:a1:aa:89:7d:5d:f4:8c:3d:ed: - 59:ee:5f:ea:c5:03:81:e8:b0:64:cc:26:bc:2d:90:ef:bc:e7: - 03:36:6d:e0:3e:f8:3e:d0:39:1d:0a:24:f8:5c:9e:fd:b0:9a: - 33:e6:b1:51:a0:b5:0c:53:cd:7b:dd:b6:d0:40:dc:0c:15:ca: - 86:74:75:da:a4:de:4a:ea:93:f2:f1:1c:b6:de:a3:89:fc:d9: - 78:55:03:da:6c:af:3f:17:d4:8d:ac:a4:f0:d6:be:10:c8:75: - 1f:be:f9:24:b4:72:d6:c1:45:c9:53:b4:aa:58:74:63:6a:fa: - 6a:86:d2:6d:f2:9d:79:94:90:fc:6a:19:ee:cb:7c:cd:68:b9: - d9:29:23:9d:0e:9c:83:cd:e3:83:6c:0f:c1:ae:b2:47:4a:ab: - 9a:3a:8b:04:0c:7a:26:9a:a4:77:37:11:66:8e:ba:3d:cb:fd: - 97:1d:3e:d5:53:7d:67:cd:34:1a:0f:c3:5f:0b:24:d7:0a:bf: - ba:3f:0c:cf:56:74:f0:31:37:6c:ad:40:ba:7e:bc:d9:6b:68: - f0:1a:ea:96:11:66:42:0c:8a:3c:b3:73:38:e7:20:62:02:aa: - 7d:1e:ad:9b:70:f9:fa:ad:e4:a5:86:06:46:73:fb:b7:71:a6: - ed:4e:ce:51:04:24:93:99:48:bd:d9:31:bf:d9:77:42:42:4f: - bf:7d:3c:29:46:ae:87:53:0e:17:8d:e9:2d:93:4c:bd:2a:15: - 85:d8:29:06:2d:e8:5d:cf:c4:0c:99:cb:7a:50:e9:e0:14:ae: - 7e:a5:90:02:49:3b:0a:ee:32:78:aa:77:e7:25:fd:4f:3f:39: - 78:f9:b5:e1:4b:68:55:df:3a:0e:d3:e8:dd:21:07:3a:2a:ef: - 5b:cb:10:c7:11:54:52:97:09:ef:6b:a7:af:91:89:dd:37:ba: - e2:58:1f:a1:b9:62:07:d9:5f:2b:7c:d2:99:9a:24:af:1e:78: - 68:2e:67:ff:9c:e3:67:92:b7:8f:3a:e5:11:d6:96:a5:ed:c6: - 6d:41:33:81:45:ba:03:7a:f0:cb:ce:73:7b:2d:f9:9e:a3:68: - 64:41:a0:7e:00:55:10:0b:07:7d:e0:c5:b2:2b:90:44:05:17: - 32:27:42:0a:0d:16:b7:4a:dd:f1:f4:03:08:79:ab:6e:1f:21: - fb:85:41:6e:74:96:f0:87:53:0e:cd:5e:8c:19:6c:7e:c9:bb: - 25:c8:5f:a9:b2:83:a0:be:a1:60:8f:22:b0:1c:21:6b:84:77: - c5:72:15:71:84:a0:df:25:bc:f2:f8:93:f2:07:c8:40:a7:88: - 76:87:31:36:f0:da:dd:89 ------BEGIN CERTIFICATE----- -MIIJJTCCBw2gAwIBAgITbgBfV+7EBJiUxuzdKwABAF9X7jANBgkqhkiG9w0BAQ0F -ADBWMRIwEAYKCZImiZPyLGQBGRYCY2gxFDASBgoJkiaJk/IsZAEZFgRjZXJuMSow -KAYDVQQDEyFDRVJOIEdyaWQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjQw -NzAyMTk0MTEzWhcNMjUwODA2MTk0MTEzWjCBkjESMBAGCgmSJomT8ixkARkWAmNo -MRQwEgYKCZImiZPyLGQBGRYEY2VybjEWMBQGA1UECxMNT3JnYW5pYyBVbml0czEO -MAwGA1UECxMFVXNlcnMxETAPBgNVBAMTCGFsZXhhbnNjMQ8wDQYDVQQDEwY4NzU4 -MjcxGjAYBgNVBAMTEUFsZXhhbmRlciBTY2htaWR0MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEArQh1572jfMsaFgbXBd21I1o4NmWPQh0op48bhtNECxFp -M6kbSM9kzWzfp+bi0qnBd29ldPAgjwWr/lwjhcTuFhKRRwXPrjUNnVvOvOk0sNqq -JBeTmNFlorS1Bd4cEi2g7UHPVOYm2hymiKDYVmdEI2OSbb/ruP+3BGtXvj/2Trj9 -ThyuIidl/T7Mp7bQHstRsGKy0UbdOb+sGH3hnMFuBTwvZycIEFroEH5EKFbP7CPU -qSDdPab8TyUWWzZkwc9tYu8/zSCDTroeZYfeBI0Ac/tb/LN9sxg6nqZQVlRVnDDK -C893wB0/A28gvXsN+/+QojnTp0eYvA3vxuRHSx7K8wIDAQABo4IErTCCBKkwHQYD -VR0OBBYEFHa9/PTFgot/T+3+yH4Xb2MR9YibMB8GA1UdIwQYMBaAFKWg/WZY/bnd -euGynZ+j0eVQGJTnMIIBOAYDVR0fBIIBLzCCASswggEnoIIBI6CCAR+GTmh0dHA6 -Ly9jYWZpbGVzLmNlcm4uY2gvY2FmaWxlcy9jcmwvQ0VSTiUyMEdyaWQlMjBDZXJ0 -aWZpY2F0aW9uJTIwQXV0aG9yaXR5LmNybIaBzGxkYXA6Ly8vQ049Q0VSTiUyMEdy -aWQlMjBDZXJ0aWZpY2F0aW9uJTIwQXV0aG9yaXR5LENOPUNFUk5QS0kwNSxDTj1D -RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29u -ZmlndXJhdGlvbixEQz1jZXJuLERDPWNoP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxp -c3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAWUGCCsG -AQUFBwEBBIIBVzCCAVMwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jYWZpbGVzLmNlcm4u -Y2gvY2FmaWxlcy9jZXJ0aWZpY2F0ZXMvQ0VSTiUyMEdyaWQlMjBDZXJ0aWZpY2F0 -aW9uJTIwQXV0aG9yaXR5KDEpLmNydDCBwgYIKwYBBQUHMAKGgbVsZGFwOi8vL0NO -PUNFUk4lMjBHcmlkJTIwQ2VydGlmaWNhdGlvbiUyMEF1dGhvcml0eSxDTj1BSUEs -Q049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmln -dXJhdGlvbixEQz1jZXJuLERDPWNoP2NBQ2VydGlmaWNhdGU/YmFzZT9vYmplY3RD -bGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MCQGCCsGAQUFBzABhhhodHRwOi8v -b2NzcC5jZXJuLmNoL29jc3AwDgYDVR0PAQH/BAQDAgWgMD0GCSsGAQQBgjcVBwQw -MC4GJisGAQQBgjcVCIO90AmC7Y0Nhu2LK4He9TeFgNBiHoWK40yBtaoEAgFkAgEQ -MCkGA1UdJQQiMCAGCisGAQQBgjcKAwQGCCsGAQUFBwMEBggrBgEFBQcDAjA1Bgkr -BgEEAYI3FQoEKDAmMAwGCisGAQQBgjcKAwQwCgYIKwYBBQUHAwQwCgYIKwYBBQUH -AwIwTQYDVR0RBEYwRKAoBgorBgEEAYI3FAIDoBoMGGFsZXhjc2NobWlkdDE3QGdt -YWlsLmNvbYEYYWxleGNzY2htaWR0MTdAZ21haWwuY29tMFMGCSsGAQQBgjcZAgRG -MESgQgYKKwYBBAGCNxkCAaA0BDJTLTEtNS0yMS0xNTI2MjI0ODc0LTE1NDA2ODg2 -NTgtMTM2MTQ2Mjk4MC0xMTA2NDM1MjBEBgkqhkiG9w0BCQ8ENzA1MA4GCCqGSIb3 -DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwJwYD -VR0gBCAwHjAOBgwrBgEEAWAKBAICAwEwDAYKKoZIhvdMBQICATANBgkqhkiG9w0B -AQ0FAAOCAgEAB0XD4TFnoqofoaqJfV30jD3tWe5f6sUDgeiwZMwmvC2Q77znAzZt -4D74PtA5HQok+Fye/bCaM+axUaC1DFPNe9220EDcDBXKhnR12qTeSuqT8vEctt6j -ifzZeFUD2myvPxfUjayk8Na+EMh1H775JLRy1sFFyVO0qlh0Y2r6aobSbfKdeZSQ -/GoZ7st8zWi52SkjnQ6cg83jg2wPwa6yR0qrmjqLBAx6JpqkdzcRZo66Pcv9lx0+ -1VN9Z800Gg/DXwsk1wq/uj8Mz1Z08DE3bK1Aun682Wto8BrqlhFmQgyKPLNzOOcg -YgKqfR6tm3D5+q3kpYYGRnP7t3Gm7U7OUQQkk5lIvdkxv9l3QkJPv308KUauh1MO -F43pLZNMvSoVhdgpBi3oXc/EDJnLelDp4BSufqWQAkk7Cu4yeKp35yX9Tz85ePm1 -4UtoVd86DtPo3SEHOirvW8sQxxFUUpcJ72unr5GJ3Te64lgfobliB9lfK3zSmZok -rx54aC5n/5zjZ5K3jzrlEdaWpe3GbUEzgUW6A3rwy85zey35nqNoZEGgfgBVEAsH -feDFsiuQRAUXMidCCg0Wt0rd8fQDCHmrbh8h+4VBbnSW8IdTDs1ejBlsfsm7Jchf -qbKDoL6hYI8isBwha4R3xXIVcYSg3yW88viT8gfIQKeIdocxNvDa3Yk= ------END CERTIFICATE----- diff --git a/TopCP/.globus/userkey.pem b/TopCP/.globus/userkey.pem deleted file mode 100644 index 7cd19c1..0000000 --- a/TopCP/.globus/userkey.pem +++ /dev/null @@ -1,33 +0,0 @@ -Bag Attributes - localKeyID: 5C 6D E1 AD FA 6B 97 91 97 10 3D 20 BD ED 8A FB A2 82 2B AB -Key Attributes: ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIWlgzRFrbEOUCAggA -MBQGCCqGSIb3DQMHBAhoKUzZzH63mwSCBMg7TBlZiirrV5LdWtt9mklTDyUE/oTz -yijejNHEQOusAacK0o2vv9IbV3KQU2d8kWtB5zasN4wwRdgaNNRUvphg9HXbg3hZ -Jo7XeKMd0N7THYZKQLq4lr4AxQrJSbXNRDihxWWyH6Y/+4agE9wkmy4JHbgDGF8M -42a4kly49sJ737fKXv7Yf0HoUxjPVwMZWNgW2+wDU1e9wq6H0kLDtji4KOPAIW2V -orLNFj+PVfiWgRZ3v26j+gwPohWBJ8Itx/TjndZ6sWasSM6kkSUnjqMpqWLmxReM -QQFK6W9K4FtlH28zQbSO/o5eAgR5+NmxJ4cyuDFtVvBkIGu95dnIpppA3XjjMkDV -bgbvPsV6m0psjFk+fGVHI9GYgM06IRdUW09foCgQPPbJ7MXHboYQbRBPDnY3mQQX -np6egsw1XjNGRk+6kgZkTXpzkINJ89niRyt5t0I1kqT99yX295F3gCZBLcbCrrdX -SM+59hvbwXaXBZJP9tNGrDb+oGZgHxSa0l4AqNhILdjKU2YyjWrpKCb08YlFEv5o -ML8iDqW+jgXen6a47rXvHfjK3fwkfEIgahZFz9PpKWWxkGYHF0CivM5Hjc7d5Lo4 -7l4FGNlL0edJdsXKeByUG9oMhVqLGTTxASFjG/AVWsoouN3RjXzRxNzTY2Byvrk4 -9RzGfaj4w2sAyZNSEErbfFy+fxNZ4gszRwF14bvQVYkPQFRser4T/mtXKtqI+Xsd -k+t0lilj7d+moDqxJiPgt+62/h1d8x1Z6iDmq/Qrq+dudomiAVBIrVAur+4pAng6 -xGQmGKWCQuT62MMSxIQFkjAIKABw5OnK4u9MiZM7A4nmo4Q2i2ZEByNdVUZFJLWL -o7dW6l7qTGxLwPfzeZklWegy0T4PR+VbWhK4rkBMSjMrqB+fdCXXrkmi9l8wZ4by -Ykn9NtXspo7d15qhFXEYJiXRWHxBcBf6EN7LWoYI5V13l2VREDaXffEOxCzC0vRC -2pIPuCdmS4juZmE1WYxTdg6EfpRGuAFJHbiwUlpRlxRt9cd2sz8KEv3I7/+XHCKr -fm6ecI7dRp/zslCe4/2qBAo2YDqhPbaAjUWGm+oykw4vsHy3THJFbGY59OfvBa3G -D9P+eYjIZIUsUP0YJUhUc0zK2+QsoLJ7gEZXCVTKaQJMbkX8oWAogq2IG9rdrTQg -zAXltutSjsa9ca0VUmfzFBg008c83eF+wZwUb28DgcVwUZ2KQqYqyP+YsLlaCMV4 -A89K6U6oCQqjzYBYg8t+/EchNDhWhPZj2zWizDSTPoBaHUv6VCWov8sTPKlSLIzv -cKhw1+oedb/CPSMNhXIxgoFEEdxZ6Tzvx+eBPITSVgcxxq6C6QIeeTSiKkvCUAS8 -tKePpjvnQNkvu/V8yn6jl6+hNf1AtVrVvu97Lham5MtbF06qh1sIxiNGOd3M1/3i -nZltmkmVqUUvpnw27N9omAIfz/NkkOWLUvN4qaMLgBjujuHf5OsFPV9BuHcIOziE -ubCNyA0IGb1Gpprh/SLGs58qigKuTMAIx43o3MGLRsorg294hXTAC0RJUzjE8vme -PsubUCJx/HNL+G7WgLfFJoES39mzyxFIw/K1XTguLPk1xmwuVMjSrEowYEML8F/i -Y+k= ------END ENCRYPTED PRIVATE KEY----- From 8d9c9035a73db0c4c6a47a452a4a2b77d042b91c Mon Sep 17 00:00:00 2001 From: alexancs Date: Fri, 6 Dec 2024 15:02:57 -0600 Subject: [PATCH 8/8] added comments on Dockerfile layers --- TopCP/Dockerfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/TopCP/Dockerfile b/TopCP/Dockerfile index 14a488f..163e251 100755 --- a/TopCP/Dockerfile +++ b/TopCP/Dockerfile @@ -1,5 +1,6 @@ +# use AnalysisBase:25.2.14 as base image. Will be dynamic in the future ARG BASE_IMAGE=gitlab-registry.cern.ch/atlas/athena/analysisbase:25.2.14 -FROM ${BASE_IMAGE} as base +FROM ${BASE_IMAGE} AS base SHELL [ "/bin/bash", "-c" ] @@ -7,14 +8,16 @@ RUN yum update -y RUN yum install -y https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm && yum install -y osg-ca-certs RUN yum install -y nc +# Import TopCPToolkit from local filesystem COPY ./TopCPToolkit /TopCPToolkit WORKDIR /TopCPToolkit +# Make /TopCPToolkit/generate directory where runTop_el.py is executed RUN mkdir -p generate ENV RUN_LOC "/TopCPToolkit/generate" WORKDIR $RUN_LOC -RUN mkdir -p data +# Define config location where user defined YAML files will reside ENV CONFIG_LOC "/TopCPToolkit/source/TopCPToolkit/share/configs/customConfig" RUN mkdir -p $CONFIG_LOC