57 void clear()
override;
80 <<
"ShifterAndWeighter parameters: " 84 produces< std::vector<cmf::FakeUniverse> >();
85 produces< std::vector<cmf::Location> >();
101 fIsFCJob = p.
get<
bool >(
"IsFeldmanCousinsJob",
false);
116 <<
"nominal location is\n" 120 std::set<std::string> oscParNames;
121 for(
auto const& itr : nominalLoc.
FDLocation()){
122 if(itr.second.IsOscPar())
123 oscParNames.emplace(itr.first);
140 for(
auto const& itr : oscParNames){
171 ";Energy Bin;Poisson Draw",
175 fUniverseLocs.size(),
177 fUniverseLocs.size());
200 std::vector<cmf::Spectrum> poissonSpectrum(
fUniverseLocs.size());
203 std::vector<cmf::Spectrum> asimov (
fAsimovLocs.size() );
205 std::set<cmf::DetType_t>
dets;
211 dets.insert(mpItr.first);
214 <<
"Fill spectrum from " 216 <<
" starting universe " 230 unsigned int uni = 0;
237 <<
"Filling FC Asimov Spectra";
253 <<
" fill Asimov spectrum for " 266 <<
"Asimov spectrum filled " 274 <<
"Finished filling asimov spectrum";
280 <<
"Filling universe spectrum";
289 for(
size_t b = 0;
b < poissonSpectrum[
uni].size(); ++
b){
311 <<
" Finished universe " 322 std::unique_ptr<std::vector<cmf::FakeUniverse>> fakeUniverses = std::make_unique<std::vector<cmf::FakeUniverse>>();
323 std::unique_ptr<std::vector<cmf::Location>> fakeUniverseLocs = std::make_unique<std::vector<cmf::Location>>();
334 <<
"added fake universe " 343 << fakeUniverses->back();
346 r.
put(std::move(fakeUniverses ));
347 r.
put(std::move(fakeUniverseLocs));
#define LOG_DEBUG(stream)
void writeResults(art::Results &r) override
void Initialize(fhicl::ParameterSet const &pset)
void Initialize(fhicl::ParameterSet const &pset)
std::vector< cmf::Location > fAsimovLocs
the Asimov input points, ie no systematic shifts
void FillPoissonSpectrum(std::vector< float > &spectrum, std::vector< float > &poissonSpectrum)
static SelectionUtility * Instance()
art::ProductID put(std::unique_ptr< PROD > &&product)
virtual ~RandomUniverses()
std::vector< cmf::Location > fUniverseLocs
vector of input points for the random universes
TH2D * fPoissonDraws
histogram recording the Poisson draws for each logical bin
void Deserialize(cmf::EventListColl &eventLists, cmf::DataMC_t dataMC=cmf::kBoth, std::set< cmf::DetType_t > const &detectors=std::set< cmf::DetType_t >({cmf::kNEARDET, cmf::kFARDET}))
fhicl::ParameterSet fSAWPars
parameters for the shifter and weighter
static ParameterUtility * Instance()
void CreateLocationWithVariedSystematics(cmf::Location const &nominalLoc, cmf::Location &vecLoc, size_t universeNum)
unsigned int fStartUniverse
which universe to start?
RandomUniverses(fhicl::ParameterSet const &pset)
RandomUniverses & operator=(RandomUniverses const &)=delete
void reconfigure(fhicl::ParameterSet const &p)
#define DEFINE_ART_RESULTS_PLUGIN(klass)
T get(std::string const &key) const
cmf::ParameterSpaceLoc const & FDLocation() const
cmf::ExposureMap const & ExposureMap() const
void Initialize(fhicl::ParameterSet const &pset)
void FillSpectrum(cmf::EventListColl const &eventLists, cmf::ExposureMap const &exposureMap, std::vector< float > &spectrum, std::vector< float > &count, cmf::InteractionType_t intType, bool applyExposureNorm)
static ShifterAndWeighter * Instance()
std::vector< float > Spectrum
void MakeUniverseHistograms(cmf::FakeUniverse &fakeU, unsigned int uNumber)
size_t TotalBins(bool allSels=false)
Module to combine a set of results into a single file currently only does one data product type at a ...
bool fIsFCJob
are we making Feldman Cousins points or not?
std::vector< cmf::EventList > EventListColl
void CreateLocationsWithVariedSystematics(cmf::Location const &nominalLoc, std::vector< cmf::Location > &vecLocs)
void InitShiftsAndWeightsToUse(cmf::Location const &loc, fhicl::ParameterSet const &parset)
static RandomUniverseUtility * Instance()
T * make(ARGS...args) const
cmf::DetType_t BinToDetector(int const &bin, bool allSels=false)
cmf::Location ParametersAsLocation()
void readResults(art::Results const &r) override
std::map< cmf::DetType_t, fhicl::ParameterSet > fManipulatorPars
parameters to make object for deserializing events
#define LOG_VERBATIM(category)
void Initialize(fhicl::ParameterSet const &pset)
const std::string cDetType_Strings[5]
cons_index_list< index_uni, nil_index_list > uni
static CovarianceBinUtility * Instance()
std::string to_string() const
void CreateLocationsWithVariedOscParameters(cmf::Location const &nominalLoc, std::vector< cmf::Location > &vecLoc)