File indexing completed on 2024-07-05 03:36:27
0001 #include <iostream>
0002 #include <sstream>
0003 #include "CondCore/BeamSpotPlugins/plugins/BeamSpot_PayloadInspector.cc"
0004 #include "CondCore/BeamSpotPlugins/plugins/BeamSpotOnline_PayloadInspector.cc"
0005 #include "CondCore/BeamSpotPlugins/plugins/SimBeamSpot_PayloadInspector.cc"
0006 #include "CondCore/BeamSpotPlugins/plugins/SimBeamSpotHLLHC_PayloadInspector.cc"
0007 #include "CondCore/Utilities/interface/PayloadInspector.h"
0008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0009 #include "FWCore/PluginManager/interface/PluginManager.h"
0010 #include "FWCore/PluginManager/interface/standard.h"
0011 #include "FWCore/PluginManager/interface/SharedLibrary.h"
0012 #include "FWCore/ServiceRegistry/interface/ServiceRegistry.h"
0013
0014 int main(int argc, char** argv) {
0015 Py_Initialize();
0016
0017 edmplugin::PluginManager::Config config;
0018 edmplugin::PluginManager::configure(edmplugin::standard::config());
0019
0020 std::vector<edm::ParameterSet> psets;
0021 edm::ParameterSet pSet;
0022 pSet.addParameter("@service_type", std::string("SiteLocalConfigService"));
0023 psets.push_back(pSet);
0024 edm::ServiceToken servToken(edm::ServiceRegistry::createSet(psets));
0025 edm::ServiceRegistry::Operate operate(servToken);
0026
0027 std::string connectionString("frontier://FrontierProd/CMS_CONDITIONS");
0028
0029
0030 std::string tag = "BeamSpotObjects_PCL_byLumi_v0_prompt";
0031 cond::Time_t start = static_cast<unsigned long long>(1406876667347162);
0032 cond::Time_t end = static_cast<unsigned long long>(1488257707672138);
0033
0034 edm::LogPrint("testBeamSpotPayloadInspector") << "## Exercising BeamSpot plots " << std::endl;
0035
0036 BeamSpotParameters histoParameters;
0037 histoParameters.process(connectionString, PI::mk_input(tag, start, start));
0038 edm::LogPrint("testBeamSpotPayloadInspector") << histoParameters.data() << std::endl;
0039
0040 BeamSpotParametersDiffSingleTag histoParametersDiff;
0041 histoParametersDiff.process(connectionString, PI::mk_input(tag, start, end));
0042 edm::LogPrint("testBeamSpotPayloadInspector") << histoParametersDiff.data() << std::endl;
0043
0044 std::string tag1 = "BeamSpotObjects_Realistic25ns_900GeV_2021PilotBeams_v2_mc";
0045 std::string tag2 = "BeamSpotObjects_Realistic25ns_900GeV_2021PilotBeams_v1_mc";
0046 start = static_cast<unsigned long long>(1);
0047
0048 BeamSpotParametersDiffTwoTags histoParametersDiffTwoTags;
0049 histoParametersDiffTwoTags.process(connectionString, PI::mk_input(tag1, start, start, tag2, start, start));
0050 edm::LogPrint("testBeamSpotPayloadInspector") << histoParametersDiffTwoTags.data() << std::endl;
0051
0052 edm::LogPrint("testBeamSpotPayloadInspector") << "## Exercising BeamSpotOnline plots " << std::endl;
0053
0054
0055 tag = "BeamSpotOnlineTestLegacy";
0056 start = static_cast<unsigned long long>(1443392479297557);
0057 end = static_cast<unsigned long long>(1470910334763033);
0058
0059 edm::LogPrint("") << "###########################################################################\n"
0060 << " DISCLAIMER\n"
0061 << " The following unit test is going to print error messages about\n"
0062 << " out-of-range indices for the BeamSpotOnlineParameters.\n"
0063 << " This normal and expected, since the test payload has been written \n"
0064 << " with an obsolete data layout which doesn't contain few additional \n"
0065 << " parameters, see https://github.com/cms-sw/cmssw/pull/35338 for details. \n"
0066 << " This tests the catching of exceptions coming from reading not existing \n"
0067 << " parameters in the Payload inspector.\n";
0068
0069 BeamSpotOnlineParameters histoOnlineParameters;
0070 histoOnlineParameters.process(connectionString, PI::mk_input(tag, start, start));
0071 edm::LogPrint("testBeamSpotPayloadInspector") << histoOnlineParameters.data() << std::endl;
0072
0073 BeamSpotOnlineParametersDiffSingleTag histoOnlineParametersDiff;
0074 histoOnlineParametersDiff.process(connectionString, PI::mk_input(tag, start, end));
0075 edm::LogPrint("testBeamSpotPayloadInspector") << histoOnlineParametersDiff.data() << std::endl;
0076
0077 tag1 = "BeamSpotOnlineObjects_Ideal_Centered_SLHC_v3_mc";
0078 tag2 = "BeamSpotOnlineObjects_Realistic25ns_13TeVCollisions_RoundOpticsLowSigmaZ_RunBased_v1_mc";
0079 start = static_cast<unsigned long long>(4294967297);
0080
0081 BeamSpotOnlineParametersDiffTwoTags histoOnlineParametersDiffTwoTags;
0082 histoOnlineParametersDiffTwoTags.process(connectionString, PI::mk_input(tag1, start, start, tag2, start, start));
0083 edm::LogPrint("testBeamSpotPayloadInspector") << histoOnlineParametersDiffTwoTags.data() << std::endl;
0084
0085
0086 std::string prepConnectionString("frontier://FrontierPrep/CMS_CONDITIONS");
0087
0088 tag = "SimBeamSpot_Realistic25ns13p6TeVEOY2022CollisionVtxSmearingParameters_v1_mc";
0089 start = static_cast<unsigned long long>(1);
0090 end = static_cast<unsigned long long>(1);
0091
0092 edm::LogPrint("testBeamSpotPayloadInspector") << "## Exercising SimBeamSpot plots " << std::endl;
0093
0094 SimBeamSpotParameters histoSimParameters;
0095 histoSimParameters.process(prepConnectionString, PI::mk_input(tag, start, start));
0096 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimParameters.data() << std::endl;
0097
0098 SimBeamSpotParametersDiffSingleTag histoSimParametersDiff;
0099 histoSimParametersDiff.process(prepConnectionString, PI::mk_input(tag, start, end));
0100 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimParametersDiff.data() << std::endl;
0101
0102 tag1 = "SimBeamSpot_Realistic25ns13p6TeVEOY2022CollisionVtxSmearingParameters_v1_mc";
0103 tag2 = "SimBeamSpot_Realistic25ns13p6TeVEarly2023CollisionVtxSmearingParameters_v1_mc";
0104 start = static_cast<unsigned long long>(1);
0105
0106 SimBeamSpotParametersDiffTwoTags histoSimParametersDiffTwoTags;
0107 histoSimParametersDiffTwoTags.process(prepConnectionString, PI::mk_input(tag1, start, start, tag2, start, start));
0108 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimParametersDiffTwoTags.data() << std::endl;
0109
0110
0111 tag = "SimBeamSpotHLLHC_test_tag_1_v0";
0112
0113 edm::LogPrint("testBeamSpotPayloadInspector") << "## Exercising SimBeamSpotHLLHC plots " << std::endl;
0114
0115 SimBeamSpotHLLHCParameters histoSimHLLHCParameters;
0116 histoSimHLLHCParameters.process(prepConnectionString, PI::mk_input(tag, start, start));
0117 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimHLLHCParameters.data() << std::endl;
0118
0119 SimBeamSpotHLLHCParametersDiffSingleTag histoSimHLLHCParametersDiff;
0120 histoSimHLLHCParametersDiff.process(prepConnectionString, PI::mk_input(tag, start, end));
0121 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimHLLHCParametersDiff.data() << std::endl;
0122
0123 tag1 = "SimBeamSpotHLLHC_test_tag_1_v0";
0124 tag2 = "SimBeamSpotHLLHC_test_tag_2_v0";
0125
0126 SimBeamSpotHLLHCParametersDiffTwoTags histoSimHLLHCParametersDiffTwoTags;
0127 histoSimHLLHCParametersDiffTwoTags.process(prepConnectionString,
0128 PI::mk_input(tag1, start, start, tag2, start, start));
0129 edm::LogPrint("testBeamSpotPayloadInspector") << histoSimHLLHCParametersDiffTwoTags.data() << std::endl;
0130
0131 Py_Finalize();
0132 }