Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:32

0001 #include "CondFormats/RunInfo/interface/MixingModuleConfig.h"
0002 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0003 
0004 #include <sstream>
0005 
0006 MixingModuleConfig::MixingModuleConfig() { configs_.resize(4); }
0007 MixingInputConfig::MixingInputConfig() {}
0008 
0009 std::ostream& operator<<(std::ostream& os, const MixingModuleConfig& c) {
0010   std::stringstream ss;
0011   os << c.bunchSpace() << "\n" << c.config();
0012   return os;
0013 }
0014 std::ostream& operator<<(std::ostream& os, const MixingInputConfig& c) {
0015   std::stringstream ss;
0016   os << c.type();
0017   return os;
0018 }
0019 
0020 void MixingModuleConfig::read(edm::ParameterSet& pset) {
0021   bs_ = pset.getParameter<int>("bunchspace");
0022   minb_ = (pset.getParameter<int>("minBunch") * 25) / pset.getParameter<int>("bunchspace");
0023   maxb_ = (pset.getParameter<int>("maxBunch") * 25) / pset.getParameter<int>("bunchspace");
0024 
0025   //FIXME. not covering all possible cases (not used anyways)
0026   edm::ParameterSet p0 = pset.getParameter<edm::ParameterSet>("input");
0027   configs_[0].read(p0);
0028 }
0029 
0030 void MixingInputConfig::read(edm::ParameterSet& pset) {
0031   t_ = itype(pset.getParameter<std::string>("type"));
0032   an_ = 0;
0033   //  ia_=0;
0034   dpfv_.clear();
0035   dp_.clear();
0036   moot_ = 0;
0037   ioot_ = 0;
0038 
0039   switch (t_) {
0040     case 1:
0041       an_ = pset.getParameter<double>("averageNumber");
0042       break;
0043     case 2:
0044       an_ = pset.getParameter<double>("averageNumber");
0045       break;
0046     case 3:
0047       //not supposed to be valid
0048     case 4:
0049       dpfv_ = pset.getParameter<edm::ParameterSet>("nbPileupEvents")
0050                   .getParameter<std::vector<int> >("probFunctionVariable");
0051       dp_ = pset.getParameter<edm::ParameterSet>("nbPileupEvents").getParameter<std::vector<double> >("probValue");
0052       break;
0053   }
0054 
0055   if (pset.getUntrackedParameter<bool>("manage_OOT")) {
0056     std::string OOT_type = pset.getUntrackedParameter<std::string>("OOT_type");
0057 
0058     if (OOT_type == "Poisson" || OOT_type == "poisson")
0059       moot_ = 2;
0060     else if (OOT_type == "Fixed" || OOT_type == "fixed") {
0061       moot_ = 1;
0062       ioot_ = pset.getUntrackedParameter<int>("intFixed_OOT", -1);
0063     }
0064   }
0065 }