File indexing completed on 2024-04-06 12:30:36
0001 #include "FWCore/Utilities/interface/EDMException.h"
0002 #include "SimGeneral/HepPDTRecord/interface/PdtEntry.h"
0003 #include <cppunit/extensions/HelperMacros.h>
0004 #include <iostream>
0005 using namespace std;
0006 using namespace edm;
0007
0008 class testPdtEntry : public CppUnit::TestFixture {
0009 CPPUNIT_TEST_SUITE(testPdtEntry);
0010 CPPUNIT_TEST(checkAll);
0011 CPPUNIT_TEST_SUITE_END();
0012
0013 public:
0014 void setUp() override {}
0015 void tearDown() override {}
0016 void checkAll();
0017 };
0018
0019 CPPUNIT_TEST_SUITE_REGISTRATION(testPdtEntry);
0020
0021 void testPdtEntry::checkAll() {
0022 using namespace std;
0023 PdtEntry e(13);
0024 CPPUNIT_ASSERT_THROW(e.name(), cms::Exception);
0025 PdtEntry n("mu-");
0026 CPPUNIT_ASSERT_THROW(n.pdgId(), cms::Exception);
0027
0028 {
0029 ParameterSet cfg;
0030 cfg.addParameter<int>("pdt1", 13);
0031 cfg.addParameter<string>("pdt2", "mu-");
0032 int pdt1 = cfg.getParameter<int>("pdt1");
0033 string pdt2 = cfg.getParameter<string>("pdt2");
0034 PdtEntry e1 = cfg.getParameter<PdtEntry>("pdt1");
0035 PdtEntry e2 = cfg.getParameter<PdtEntry>("pdt2");
0036 CPPUNIT_ASSERT(pdt1 == e1.pdgId());
0037 CPPUNIT_ASSERT(pdt2 == e2.name());
0038 vector<string> p = cfg.getParameterNamesForType<PdtEntry>();
0039 CPPUNIT_ASSERT(p.size() == 2);
0040 }
0041 {
0042 ParameterSet cfg;
0043 cfg.addUntrackedParameter<int>("pdt1", 13);
0044 cfg.addUntrackedParameter<string>("pdt2", "mu-");
0045 int pdt1 = cfg.getUntrackedParameter<int>("pdt1");
0046 string pdt2 = cfg.getUntrackedParameter<string>("pdt2");
0047 PdtEntry e1 = cfg.getUntrackedParameter<PdtEntry>("pdt1");
0048 PdtEntry e2 = cfg.getUntrackedParameter<PdtEntry>("pdt2");
0049 CPPUNIT_ASSERT(pdt1 == e1.pdgId());
0050 CPPUNIT_ASSERT(pdt2 == e2.name());
0051 }
0052 {
0053 ParameterSet cfg;
0054 int pdt1 = cfg.getUntrackedParameter<int>("pdt1", 13);
0055 string pdt2 = cfg.getUntrackedParameter<string>("pdt2", "mu-");
0056 PdtEntry e1 = cfg.getUntrackedParameter<PdtEntry>("pdt1", PdtEntry(13));
0057 PdtEntry e2 = cfg.getUntrackedParameter<PdtEntry>("pdt2", PdtEntry("mu-"));
0058 CPPUNIT_ASSERT(pdt1 == e1.pdgId());
0059 CPPUNIT_ASSERT(pdt2 == e2.name());
0060 }
0061 {
0062 ParameterSet cfg;
0063 cfg.addParameter<vector<int>>("pdt1", vector<int>(1, 13));
0064 cfg.addParameter<vector<string>>("pdt2", vector<string>(1, "mu-"));
0065 vector<int> pdt1 = cfg.getParameter<vector<int>>("pdt1");
0066 vector<string> pdt2 = cfg.getParameter<vector<string>>("pdt2");
0067 vector<PdtEntry> e1 = cfg.getParameter<vector<PdtEntry>>("pdt1");
0068 vector<PdtEntry> e2 = cfg.getParameter<vector<PdtEntry>>("pdt2");
0069 CPPUNIT_ASSERT(e1.size() == pdt1.size());
0070 CPPUNIT_ASSERT(e2.size() == pdt2.size());
0071 CPPUNIT_ASSERT(pdt1.front() == e1.front().pdgId());
0072 CPPUNIT_ASSERT(pdt2.front() == e2.front().name());
0073 }
0074 {
0075 ParameterSet cfg;
0076 cfg.addUntrackedParameter<vector<int>>("pdt1", vector<int>(1, 13));
0077 cfg.addUntrackedParameter<vector<string>>("pdt2", vector<string>(1, "mu-"));
0078 vector<int> pdt1 = cfg.getUntrackedParameter<vector<int>>("pdt1");
0079 vector<string> pdt2 = cfg.getUntrackedParameter<vector<string>>("pdt2");
0080 vector<PdtEntry> e1 = cfg.getUntrackedParameter<vector<PdtEntry>>("pdt1");
0081 vector<PdtEntry> e2 = cfg.getUntrackedParameter<vector<PdtEntry>>("pdt2");
0082 CPPUNIT_ASSERT(e1.size() == pdt1.size());
0083 CPPUNIT_ASSERT(e2.size() == pdt2.size());
0084 CPPUNIT_ASSERT(pdt1.front() == e1.front().pdgId());
0085 CPPUNIT_ASSERT(pdt2.front() == e2.front().name());
0086 }
0087 {
0088 ParameterSet cfg;
0089 vector<int> pdt1 = cfg.getUntrackedParameter<vector<int>>("pdt1", vector<int>(1, 13));
0090 vector<string> pdt2 = cfg.getUntrackedParameter<vector<string>>("pdt2", vector<string>(1, "mu-"));
0091 vector<PdtEntry> e1 = cfg.getUntrackedParameter<vector<PdtEntry>>("pdt1", vector<PdtEntry>(1, PdtEntry(13)));
0092 vector<PdtEntry> e2 = cfg.getUntrackedParameter<vector<PdtEntry>>("pdt2", vector<PdtEntry>(1, PdtEntry("mu-")));
0093 CPPUNIT_ASSERT(e1.size() == pdt1.size());
0094 CPPUNIT_ASSERT(e2.size() == pdt2.size());
0095 CPPUNIT_ASSERT(pdt1.front() == e1.front().pdgId());
0096 CPPUNIT_ASSERT(pdt2.front() == e2.front().name());
0097 }
0098 }