Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // BeamSpot
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   // BeamSpotOnline
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); /*Run 1 : LS 1 (packed: 4294967297) this needs to be per LS */
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   // SimBeamSpot
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   // SimBeamSpotHLLHC
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 }