Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
cmf::CovarianceMatrixMaker Class Reference
Inheritance diagram for cmf::CovarianceMatrixMaker:
art::ResultsProducer art::ProductRegistryHelper art::Consumer

Public Types

template<typename UserConfig , typename KeysToIgnore = void>
using Table = ProducerTable< UserConfig, detail::PluginConfig, KeysToIgnore >
 

Public Member Functions

 CovarianceMatrixMaker (fhicl::ParameterSet const &pset)
 
 ~CovarianceMatrixMaker ()=default
 
 CovarianceMatrixMaker (CovarianceMatrixMaker const &)=delete
 
 CovarianceMatrixMaker (CovarianceMatrixMaker &&)=delete
 
CovarianceMatrixMakeroperator= (CovarianceMatrixMaker const &)=delete
 
CovarianceMatrixMakeroperator= (CovarianceMatrixMaker &&)=delete
 
void readResults (art::Results const &r) override
 
void writeResults (art::Results &r) override
 
void clear () override
 
void beginJob () override
 
void reconfigure (fhicl::ParameterSet const &pset)
 
void doBeginJob ()
 
void doEndJob ()
 
void doBeginSubRun (SubRunPrincipal const &)
 
void doEndSubRun (SubRunPrincipal const &)
 
void doBeginRun (RunPrincipal const &)
 
void doEndRun (RunPrincipal const &)
 
void doEvent (EventPrincipal const &)
 
void doReadResults (ResultsPrincipal const &)
 
void doWriteResults (ResultsPrincipal &)
 
void doClear ()
 
void registerProducts (MasterProductRegistry &mpr, ProductDescriptions &producedProducts, ModuleDescription const &md)
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

template<class P >
void produces (std::string const &instanceName={})
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void setModuleDescription (ModuleDescription const &md)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Private Member Functions

void SetSystematicParameter (cmf::Location &loc)
 
void FillSpectrum (cmf::EventListColl const &eventLists, cmf::ExposureMap const &exposureMap, cmf::Location const &loc, TH1D *spectrumBin, std::map< long, TH1D * > &spectraEnergy)
 

Private Attributes

art::ServiceHandle< art::TFileServicefTFS
 TFileService. More...
 
int fIterations
 number of iterations for picking sigmas More...
 
TRandom3 fRand
 RNG for picking the variation in parameters. More...
 
fhicl::ParameterSet fManipulatorParameters
 the fake point parameters More...
 
TH2D * fSystCovarianceMatrix
 Syst Covariance matrix. More...
 
TH1D * fNominalSpectrum
 Nominal spectrum for each detector/beam/selection. More...
 
std::map< long, TH1D * > fNominalEnergySpectra
 Nominal energy spectrum for each detector/file/beam/selection. More...
 
TH1D * fPlus1SigmaSpectrum
 Plus 1 Sigma shifted spectrum for each detector/beam/selection. More...
 
std::map< long, TH1D * > fPlus1SigmaEnergySpectra
 Plus 1 Sigma shifted energy spectrum for each detector/file/beam/selection. More...
 
TH1D * fMinus1SigmaSpectrum
 Minus 1 Sigma shifted spectrum for each detector/beam/selection. More...
 
std::map< long, TH1D * > fMinus1SigmaEnergySpectra
 Minus 1 Sigma shifted energy spectrum for each detector/file/beam/selection. More...
 
TH1D * fShiftedSpectrum
 Shifted spectrum for each detector/beam/selection. More...
 
TH2D * fShiftedSpectrumByUniverse
 Shifted spectrum as a function of universe. More...
 
std::map< long, TH1D * > fShiftedEnergySpectra
 Shifted energy spectrum for each detector/file/beam/selection. More...
 
std::map< std::string, TH1D * > fShifts
 Shifts selected for each parameter adjusted. More...
 
TH2D * fShiftWeights
 Weights from shifts selected for each parameter adjusted. More...
 
fhicl::ParameterSet fSAWParameters
 shifter and weighter parameters More...
 

Detailed Description

Definition at line 37 of file CovarianceMatrixMaker_plugin.cc.

Member Typedef Documentation

template<typename UserConfig , typename KeysToIgnore = void>
using art::ResultsProducer::Table = ProducerTable<UserConfig, detail::PluginConfig, KeysToIgnore>
inherited

Definition at line 114 of file ResultsProducer.h.

Constructor & Destructor Documentation

cmf::CovarianceMatrixMaker::CovarianceMatrixMaker ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 84 of file CovarianceMatrixMaker_plugin.cc.

References reconfigure().

85  : fRand(TRandom3(0))
86  , fSystCovarianceMatrix(nullptr)
87  , fNominalSpectrum(nullptr)
88  , fPlus1SigmaSpectrum(nullptr)
89  , fMinus1SigmaSpectrum(nullptr)
90  , fShiftedSpectrum(nullptr)
92  , fShiftWeights(nullptr)
93  {
94  this->reconfigure(pset);
95  }
TH1D * fNominalSpectrum
Nominal spectrum for each detector/beam/selection.
TH2D * fShiftWeights
Weights from shifts selected for each parameter adjusted.
void reconfigure(fhicl::ParameterSet const &pset)
TH1D * fShiftedSpectrum
Shifted spectrum for each detector/beam/selection.
TH2D * fShiftedSpectrumByUniverse
Shifted spectrum as a function of universe.
TH2D * fSystCovarianceMatrix
Syst Covariance matrix.
TH1D * fMinus1SigmaSpectrum
Minus 1 Sigma shifted spectrum for each detector/beam/selection.
TH1D * fPlus1SigmaSpectrum
Plus 1 Sigma shifted spectrum for each detector/beam/selection.
TRandom3 fRand
RNG for picking the variation in parameters.
cmf::CovarianceMatrixMaker::~CovarianceMatrixMaker ( )
default
cmf::CovarianceMatrixMaker::CovarianceMatrixMaker ( CovarianceMatrixMaker const &  )
delete
cmf::CovarianceMatrixMaker::CovarianceMatrixMaker ( CovarianceMatrixMaker &&  )
delete

Member Function Documentation

void cmf::CovarianceMatrixMaker::beginJob ( )
overridevirtual

Reimplemented from art::ResultsProducer.

Definition at line 125 of file CovarianceMatrixMaker_plugin.cc.

References bins, cmf::cBeamType_Strings, cmf::cBeamTypes(), cmf::cDetIds(), cmf::cDetType_Strings, cmf::cSelectionType_Strings, fillBadChanDBTables::det, fIterations, fMinus1SigmaSpectrum, fNominalEnergySpectra, fNominalSpectrum, fPlus1SigmaSpectrum, fRand, fShiftedSpectrum, fShiftedSpectrumByUniverse, fShifts, fShiftWeights, fSystCovarianceMatrix, fTFS, cmf::CovarianceBinUtility::Instance(), cmf::ParameterUtility::Instance(), findDuplicateFiles::key, cmf::kFHC, cmf::kNCSelection, cmf::kNEARDET, cmf::kNuESelectionHighPID, cmf::kNuESelectionLowPID, cmf::kNuESelectionPeripheral, cmf::kNuMuSelectionQ1, cmf::kNuMuSelectionQ2, cmf::kNuMuSelectionQ3, cmf::kNuMuSelectionQ4, LOG_DEBUG, art::TFileDirectory::make(), fetch_tb_beamline_files::md, cmf::CovarianceBinUtility::SelectionHighEdges(), cmf::CovarianceBinUtility::SelectionLowEdge(), string, plotROC::title, and cmf::CovarianceBinUtility::TotalBins().

126  {
127  // Create histograms for the covariance matrix, the nominal spectrum and
128  // the shifted values
129  // Each axis accounts for both detectors, both beam types and all desired selections
130  // Don't break out the interaction types or file types because they aren't known in
131  // the data
133 
134  fSystCovarianceMatrix = fTFS->make<TH2D>("CovarianceMatrix",
135  ";Energy Bin;Energy Bin",
136  numBins,
137  1,
138  numBins + 1,
139  numBins,
140  1,
141  numBins + 1);
142 
143  fNominalSpectrum = fTFS->make<TH1D>("NominalBin",
144  ";Energy Bin;Events",
145  numBins,
146  1,
147  numBins + 1);
148 
149  fShiftedSpectrum = fTFS->make<TH1D>("ShiftedBin",
150  ";Energy Bin;Events",
151  numBins,
152  1,
153  numBins + 1);
154 
155  fPlus1SigmaSpectrum = fTFS->make<TH1D>("Plus1SigmaSpectrum",
156  ";Energy Bin;Events",
157  numBins,
158  1,
159  numBins + 1);
160 
161  fMinus1SigmaSpectrum = fTFS->make<TH1D>("Minus1SigmaSpectrum",
162  ";Energy Bin;Events",
163  numBins,
164  1,
165  numBins + 1);
166 
167  fShiftedSpectrumByUniverse = fTFS->make<TH2D>("ShiftedBinByUniverse",
168  ";Energy Bin;Universe",
169  numBins,
170  1,
171  numBins + 1,
172  fIterations,
173  0,
174  fIterations);
175 
176  std::stringstream shifttitles;
177  shifttitles << "Seed: "
178  << fRand.GetSeed()
179  << ";Shifts;Iterations";
180  for(auto const& itr : cmf::ParameterUtility::Instance()->SysParNames()){
181  fShifts[itr] = fTFS->make<TH1D>((itr+"Shifts").c_str(),
182  shifttitles.str().c_str(),
183  500,
184  -5.,
185  5);
186 
187  }
188 
189  // histogram of the weights as a function of energy bin
190  std::stringstream shiftwgttitles;
191  shiftwgttitles << "Seed: "
192  << fRand.GetSeed()
193  << ";Energy Bin;Total Shift Weights";
194  fShiftWeights = fTFS->make<TH2D>("TotalShiftWeights",
195  shiftwgttitles.str().c_str(),
196  numBins,
197  1,
198  numBins + 1,
199  500,
200  -1.,
201  1);
202 
203 
204  long key = 0;
207 
208  // TODO aren't these defined elsewhere?
209  // BJR: as of July 20, 2020, don't bother with breaking things out by file type
210 // std::set<cmf::FileType_t> fileTypes({cmf::kBeam,
211 // cmf::kSwap,
212 // cmf::kTauSwap,
213 // cmf::kRockNonSwap,
214 // cmf::kRockFluxSwap,
215 // cmf::kCosmicBackgroundFile});
216  std::set<cmf::SelectionType_t> selectionTypes({kNuESelectionLowPID,
223  kNCSelection});
224 
226  std::vector<double> bins;
227 
228  // loop over beams
229  for(auto const& bt : cmf::cBeamTypes){
230  md.period = (bt == cmf::kFHC) ? 1 : 4;
231 
232  // have to have the same bins in the ND and FD
233  for(auto const& det : cmf::cDetIds){
234  md.detector = det;
235 
236  title = (det == cmf::kNEARDET) ? ";Energy (GeV);10^{3} Events/10^{20} POT" : ";Energy (GeV);Events/10^{20} POT";
237 
238  // loop over the selection types in each detector
239  for(auto const& sel : selectionTypes){
240 
241  // no peripheral nue selection in the ND
242  if(det == cmf::kNEARDET &&
243  sel == cmf::kNuESelectionPeripheral) continue;
244 
245  md.selectionType = sel;
246 
247  auto const& highEdges = cmf::CovarianceBinUtility::Instance()->SelectionHighEdges(md);
248  bins.clear();
249  bins.insert(bins.begin(), cmf::CovarianceBinUtility::Instance()->SelectionLowEdge(md));
250 
251  for(auto const& itr : highEdges ) bins.push_back(itr.first);
252 
253  // loop over file types - the ND only cares about
254  // the nonswap files, FD has nonswap, fluxswap, tauswap,
255  // rocknonswap, rockfluxswap and cosmic background
256 // for(auto fitr : fileTypes){
257 //
258 // // in the ND, we only care about the nonswap file type
259 // if(det == cmf::kNEARDET && fitr != cmf::kBeam) continue;
260 
261  key = md.DetectorBeamSelectionKey();
262 // key += cmf::FileTypeKey(fitr);
263 
264  name = (cmf::cBeamType_Strings[bt] +
266  //cmf::cFileTypeStrings[fitr] +
268 
269 // LOG_VERBATIM("tpm")
270 // << "key: " << cmf::KeyToString(key) << " bins: ";
271 // for (auto& b : bins)
272 // LOG_VERBATIM("tmp") << b;
273 
274  fNominalEnergySpectra[key] = fTFS->make<TH1D>(name.c_str(),
275  title.c_str(),
276  bins.size() - 1,
277  &bins[0]);
278 
279 // } // end loop over file types
280  } // end loop over selections
281  } // end loop over detectors
282  } // end loop over beam types
283 
284  LOG_DEBUG("CovarianceMatrixMaker")
285  << "histograms made";
286 
287  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
const XML_Char * name
Definition: expat.h:151
int fIterations
number of iterations for picking sigmas
const std::string cSelectionType_Strings[12]
Definition: Constants.h:79
std::map< long, TH1D * > fNominalEnergySpectra
Nominal energy spectrum for each detector/file/beam/selection.
double const & SelectionLowEdge(cmf::MetaData const &md)
TH1D * fNominalSpectrum
Nominal spectrum for each detector/beam/selection.
TH2D * fShiftWeights
Weights from shifts selected for each parameter adjusted.
static ParameterUtility * Instance()
TH1D * fShiftedSpectrum
Shifted spectrum for each detector/beam/selection.
TH2D * fShiftedSpectrumByUniverse
Shifted spectrum as a function of universe.
TH2D * fSystCovarianceMatrix
Syst Covariance matrix.
const Binning bins
static const std::set< cmf::DetType_t > cDetIds({cmf::kNEARDET, cmf::kFARDET})
TH1D * fMinus1SigmaSpectrum
Minus 1 Sigma shifted spectrum for each detector/beam/selection.
TH1D * fPlus1SigmaSpectrum
Plus 1 Sigma shifted spectrum for each detector/beam/selection.
size_t TotalBins(bool allSels=false)
std::map< std::string, TH1D * > fShifts
Shifts selected for each parameter adjusted.
T * make(ARGS...args) const
art::ServiceHandle< art::TFileService > fTFS
TFileService.
std::map< double, int > const & SelectionHighEdges(cmf::MetaData const &md)
const std::string cDetType_Strings[5]
Definition: Constants.h:592
const std::string cBeamType_Strings[4]
Definition: Constants.h:35
static const std::set< cmf::BeamType_t > cBeamTypes({kFHC, kRHC})
TRandom3 fRand
RNG for picking the variation in parameters.
static CovarianceBinUtility * Instance()
enum BeamMode string
void cmf::CovarianceMatrixMaker::clear ( )
overridevirtual

Implements art::ResultsProducer.

Definition at line 119 of file CovarianceMatrixMaker_plugin.cc.

120  {
121  }
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
void art::ResultsProducer::doBeginJob ( )
inlineinherited

Definition at line 165 of file ResultsProducer.h.

References ana::assert(), breakpoints::beginJob(), fhicl::ParameterSetRegistry::get(), and art::Consumer::setModuleDescription().

Referenced by art::RootOutput::beginJob().

166 {
168  // Preparing the consumer for the job must be done after the
169  // constructer has been called.
170  auto const& mainID = moduleDescription_->mainParameterSetID();
171  auto const& scheduler_pset =
173  "services.scheduler");
175  prepareForJob(scheduler_pset);
176  beginJob();
177 }
static collection_type const & get() noexcept
void setModuleDescription(ModuleDescription const &md)
void prepareForJob(fhicl::ParameterSet const &pset)
assert(nhit_max >=nhit_nbins)
virtual void beginJob()
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doBeginRun ( RunPrincipal const &  rp)
inlineinherited

Definition at line 201 of file ResultsProducer.h.

References r().

Referenced by art::RootOutput::beginRun().

202 {
203  Run const r{rp, *moduleDescription_, this};
204  beginRun(r);
205 }
virtual void beginRun(Run const &)
TRandom3 r(0)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doBeginSubRun ( SubRunPrincipal const &  srp)
inlineinherited

Definition at line 187 of file ResultsProducer.h.

References sr.

Referenced by art::RootOutput::beginSubRun().

188 {
189  SubRun const sr{srp, *moduleDescription_, this};
190  beginSubRun(sr);
191 }
virtual void beginSubRun(SubRun const &)
caf::StandardRecord * sr
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doClear ( )
inlineinherited

Definition at line 229 of file ResultsProducer.h.

References clear.

Referenced by art::RootOutput::finishEndFile().

230 {
231  clear();
232 }
virtual void clear()=0
void art::ResultsProducer::doEndJob ( )
inlineinherited

Definition at line 180 of file ResultsProducer.h.

Referenced by art::RootOutput::endJob().

181 {
182  endJob();
184 }
virtual void endJob()
void showMissingConsumes() const
void art::ResultsProducer::doEndRun ( RunPrincipal const &  rp)
inlineinherited

Definition at line 208 of file ResultsProducer.h.

References r().

Referenced by art::RootOutput::endRun().

209 {
210  Run const r{rp, *moduleDescription_, this};
211  endRun(r);
212 }
virtual void endRun(Run const &)
TRandom3 r(0)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doEndSubRun ( SubRunPrincipal const &  srp)
inlineinherited

Definition at line 194 of file ResultsProducer.h.

References sr.

Referenced by art::RootOutput::endSubRun().

195 {
196  SubRun const sr{srp, *moduleDescription_, this};
197  endSubRun(sr);
198 }
caf::StandardRecord * sr
virtual void endSubRun(SubRun const &)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doEvent ( EventPrincipal const &  ep)
inlineinherited

Definition at line 215 of file ResultsProducer.h.

References e, and lem_server::ep.

Referenced by art::RootOutput::event().

216 {
217  Event const e{ep, *moduleDescription_, this};
218  event(e);
219 }
Float_t e
Definition: plot.C:35
virtual void event(Event const &)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doReadResults ( ResultsPrincipal const &  resp)
inlineinherited

Definition at line 222 of file ResultsProducer.h.

Referenced by art::RootOutput::readResults().

223 {
224  Results const res{resp, *moduleDescription_, this};
225  readResults(res);
226 }
virtual void readResults(Results const &)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::ResultsProducer::doWriteResults ( ResultsPrincipal )
inherited
void cmf::CovarianceMatrixMaker::FillSpectrum ( cmf::EventListColl const &  eventLists,
cmf::ExposureMap const &  exposureMap,
cmf::Location const &  loc,
TH1D *  spectrumBin,
std::map< long, TH1D * > &  spectraEnergy 
)
private

Definition at line 296 of file CovarianceMatrixMaker_plugin.cc.

References b, cmf::CovarianceBinUtility::BinToEnergy(), cmf::CovarianceBinUtility::BinToKey(), confusionMatrixTree::count, Fill(), cmf::FillSpectrum(), fShiftWeights, cmf::CovarianceBinUtility::Instance(), cmf::ShifterAndWeighter::Instance(), findDuplicateFiles::key, and cmf::ShifterAndWeighter::SetCurrentVals().

Referenced by writeResults().

301  {
302  // first reset the spectra
303  spectrumBin->Reset();
304  for(auto hitr : spectraEnergy) hitr.second->Reset();
305 
306  // now call the SpectrumTools.
307  std::vector<float> spectrum;
308  std::vector<float> count;
309 
311  cmf::FillSpectrum(eventLists,
312  exposureMap,
313  spectrum,
314  count);
315 
316  // now fill the spectrum histogram
317  long key;
318  for(size_t b = 0; b < spectrum.size(); ++b){
319  spectrumBin->Fill(b, spectrum[b]);
320 
322  if(spectraEnergy.count(key) > 0)
323  spectraEnergy[key]->Fill(cmf::CovarianceBinUtility::Instance()->BinToEnergy(b),
324  spectrum[b]);
325 
326  // fill the histogram of weights as a function of energy bin
327  if(count[b] > 0) fShiftWeights->Fill(b, spectrum[b]/count[b]);
328  } // end loop over spectrum bins
329  }
long BinToKey(int const &bin, bool allSels=false)
TH2D * fShiftWeights
Weights from shifts selected for each parameter adjusted.
double BinToEnergy(int const &bin, bool allSels=false)
correl_yv Fill(-(dy[iP-1][iC-1]), hyv->GetBinContent(iP, iC))
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()
const hit & b
Definition: hits.cxx:21
void SetCurrentVals(cmf::Location const &loc)
static CovarianceBinUtility * Instance()
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
CovarianceMatrixMaker& cmf::CovarianceMatrixMaker::operator= ( CovarianceMatrixMaker const &  )
delete
CovarianceMatrixMaker& cmf::CovarianceMatrixMaker::operator= ( CovarianceMatrixMaker &&  )
delete
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
template<class P >
void art::ResultsProducer::produces ( std::string const &  instanceName = {})
inlineprotectedinherited

Definition at line 159 of file ResultsProducer.h.

160 {
161  ProductRegistryHelper::produces<P, InResults>(instanceName);
162 }
void cmf::CovarianceMatrixMaker::readResults ( art::Results const &  r)
overridevirtual

Reimplemented from art::ResultsProducer.

Definition at line 290 of file CovarianceMatrixMaker_plugin.cc.

291  {
292  }
void cmf::CovarianceMatrixMaker::reconfigure ( fhicl::ParameterSet const &  pset)

Definition at line 98 of file CovarianceMatrixMaker_plugin.cc.

References fIterations, fManipulatorParameters, fRand, fSAWParameters, fhicl::ParameterSet::get(), cmf::CovarianceBinUtility::Initialize(), cmf::ParameterUtility::Initialize(), cmf::SelectionUtility::Initialize(), cmf::ShifterAndWeighter::InitShiftsAndWeightsToUse(), cmf::CovarianceBinUtility::Instance(), cmf::ParameterUtility::Instance(), cmf::SelectionUtility::Instance(), and cmf::ShifterAndWeighter::Instance().

Referenced by CovarianceMatrixMaker().

99  {
101  cmf::CovarianceBinUtility::Instance()->Initialize(pset.get< fhicl::ParameterSet >("BinningToUse" ));
102  cmf::ParameterUtility::Instance() ->Initialize(pset.get< fhicl::ParameterSet >("ParametersToUse" ));
103 
104  // create the manipulator
105  fManipulatorParameters = pset.get< fhicl::ParameterSet >("EventListManipulator");
106  fIterations = pset.get< int >("Iterations", 1000);
107  fSAWParameters = pset.get< fhicl::ParameterSet >("ShifterAndWeighterParameters");
108  auto randSeed = pset.get< unsigned long int >("RandomSeed", 0);
109 
111  fSAWParameters);
112 
113  if(randSeed > 0) fRand.SetSeed(randSeed);
114  }
int fIterations
number of iterations for picking sigmas
void Initialize(fhicl::ParameterSet const &pset)
static SelectionUtility * Instance()
static ParameterUtility * Instance()
fhicl::ParameterSet fManipulatorParameters
the fake point parameters
fhicl::ParameterSet fSAWParameters
shifter and weighter parameters
T get(std::string const &key) const
Definition: ParameterSet.h:231
void Initialize(fhicl::ParameterSet const &pset)
static ShifterAndWeighter * Instance()
void InitShiftsAndWeightsToUse(cmf::Location const &loc, fhicl::ParameterSet const &parset)
void Initialize(fhicl::ParameterSet const &pset)
TRandom3 fRand
RNG for picking the variation in parameters.
static CovarianceBinUtility * Instance()
void art::ResultsProducer::registerProducts ( MasterProductRegistry mpr,
ProductDescriptions producedProducts,
ModuleDescription const &  md 
)
inlineinherited

Definition at line 128 of file ResultsProducer.h.

References fetch_tb_beamline_files::md, and art::ProductRegistryHelper::registerProducts().

Referenced by art::RootOutput::doRegisterProducts().

131  {
132  ProductRegistryHelper::registerProducts(mpr, producedProducts, md);
134  }
void registerProducts(MasterProductRegistry &mpr, ProductDescriptions &productsToRegister, ModuleDescription const &md)
cet::exempt_ptr< ModuleDescription const > moduleDescription_
void art::Consumer::setModuleDescription ( ModuleDescription const &  md)
protectedinherited
void cmf::CovarianceMatrixMaker::SetSystematicParameter ( cmf::Location loc)
private

Definition at line 335 of file CovarianceMatrixMaker_plugin.cc.

References cmf::Location::FDLocation(), fRand, fShifts, cmf::ParameterUtility::Instance(), cmf::kFARDET, cmf::kNEARDET, LOG_DEBUG, cmf::Location::NDLocation(), and cmf::Location::SetParameterValue().

Referenced by writeResults().

336  {
337 
338  // we will pick a random value from a unit gaussian, ie gaussian with
339  // sigma = 1. That will be the fractional change on the sigma we want
340  // to apply to the new input point
341  double sigFrac = 0.;
342 
343  LOG_DEBUG("CovarianceMatrixMaker")
344  << "sigfrac = "
345  << sigFrac;
346 
347  for(auto const& name : cmf::ParameterUtility::Instance()->SysParNames()){
348 
349  // each systematic parameter should have a different random number
350  // change in sigma so that we don't artificially make them change
351  // in a correlated way if doing more than one parameter in a job
352  sigFrac = fRand.Gaus();
353 
354  // The calibration and light level systematic uncertainties are
355  // really only defined for a 1 sigma shift because their excursions
356  // are calculated from special data sets with the shift applied
357  // Also pull them from a uniform distribution as they are definitely
358  // not Gaussian.
359  if(name.find("lightmodel") != std::string::npos ||
360  name.find("ckv-proton" ) != std::string::npos ||
361  name.find("Calibration") != std::string::npos ){
362  sigFrac = fRand.Rndm();
363 
364  LOG_DEBUG("CovarianceMatrixMaker")
365  << "pulling from uniform distribution "
366  << sigFrac;
367  }
368 
369  fShifts[name]->Fill(sigFrac);
370 
371  LOG_DEBUG("CovarianceMatrixMaker")
372  << " parameter: "
373  << name
374  << " sigFrac "
375  << sigFrac;
376 
377  loc.SetParameterValue(name, sigFrac, cmf::kFARDET);
378  LOG_DEBUG("CovarianceMatrixMaker")
379  << "FD name: "
380  << name
381  << " "
382  << loc.FDLocation().find(name)->second.Value();
383 
384  loc.SetParameterValue(name, sigFrac, cmf::kNEARDET);
385  LOG_DEBUG("CovarianceMatrixMaker")
386  << "ND name: "
387  << name
388  << " "
389  << loc.NDLocation().find(name)->second.Value();
390 
391  } // end loop over systematic parameters to change
392  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
const XML_Char * name
Definition: expat.h:151
static ParameterUtility * Instance()
cmf::ParameterSpaceLoc const & NDLocation() const
Definition: Parameter.h:158
cmf::ParameterSpaceLoc const & FDLocation() const
Definition: Parameter.h:159
std::map< std::string, TH1D * > fShifts
Shifts selected for each parameter adjusted.
TRandom3 fRand
RNG for picking the variation in parameters.
void SetParameterValue(std::string const &parName, double const &value, cmf::DetType_t const &det)
Definition: Parameter.cxx:220
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited
void cmf::CovarianceMatrixMaker::writeResults ( art::Results r)
overridevirtual

Implements art::ResultsProducer.

Definition at line 395 of file CovarianceMatrixMaker_plugin.cc.

References std::abs(), DEFINE_ART_RESULTS_PLUGIN, cmf::EventListManipulator::Deserialize(), cmf::EventListManipulator::ExposureMap(), FillSpectrum(), fIterations, fManipulatorParameters, fMinus1SigmaEnergySpectra, fMinus1SigmaSpectrum, fNominalEnergySpectra, fNominalSpectrum, fPlus1SigmaEnergySpectra, fPlus1SigmaSpectrum, fShiftedEnergySpectra, fShiftedSpectrum, fShiftedSpectrumByUniverse, fSystCovarianceMatrix, MECModelEnuComparisons::i, cmf::ParameterUtility::Instance(), cmf::ShifterAndWeighter::Instance(), std::isnan(), calib::j, cmf::kFARDET, cmf::kMC, cmf::kNEARDET, PandAna.Demos.demo0::loc, LOG_DEBUG, LOG_VERBATIM, min(), nbins, cmf::ParameterUtility::ParametersAsLocation(), cet::pow(), cmf::ShifterAndWeighter::SetCurrentVals(), SetSystematicParameter(), and cmf::ParameterUtility::SysParNames().

396  {
397  // declare some variables we will be using a lot in the for loops below
398  int nbins = fNominalSpectrum->GetNbinsX();
399  double diffI;
400  double diffJ;
401  double iCenter;
402 
403  // containers for different oscillation and systematic parameter locations
405 
406  // get the lists of events from the TTree and put them into a map
407  // of event lists
409 
410  // we only want the MC lists
411  cmf::EventListColl eventLists;
412  manipulator.Deserialize(eventLists, cmf::kMC);
413 
414  cmf::ExposureMap exposureMap = manipulator.ExposureMap();
415 
416  // fill the nominal histograms first so we don't do this for every time we
417  // change the systematic parameters
418  this->FillSpectrum(eventLists,
419  exposureMap,
420  loc,
423 
424  LOG_DEBUG("CovarianceMatrixMaker")
425  << "nominal spectrum filled";
426 
427  // now fake input points for the +/- 1 sigma shifts
428 
429  auto parNames = cmf::ParameterUtility::Instance()->SysParNames();
430 
431  // plus 1 sigma
432  for(auto const& itr : parNames){
433  loc.SetParameterValue(itr, 1, cmf::kNEARDET);
434  loc.SetParameterValue(itr, 1, cmf::kFARDET);
435  }
436 
437  this->FillSpectrum(eventLists,
438  exposureMap,
439  loc,
442 
443  // minus 1 sigma
444  for(auto const& itr : parNames){
445  loc.SetParameterValue(itr, -1, cmf::kNEARDET);
446  loc.SetParameterValue(itr, -1, cmf::kFARDET);
447  }
448 
449  this->FillSpectrum(eventLists,
450  exposureMap,
451  loc,
454 
455  // loop over all the events and fill the matrices for many different
456  // values of the systematic parameters
457  for(int k = 0; k < fIterations; ++k){
458 
459  LOG_VERBATIM("CovarianceMatrixMaker")
460  << "iteration: "
461  << k;
462 
464 
466 
467  // this is a new shift for the parameter, so reset and refill the spectrum
468  this->FillSpectrum(eventLists,
469  exposureMap,
470  loc,
473 
474  // now to fill the covariance matrices
475  // For ROOT histograms bin 0 is the underflow bin, so start at bin 1
476  // if either diffI or diffJ are 0, then we don't need to fill
477  // the bin with a 0 (ie the product) and can continue on
478  for(int i = 1; i < nbins + 1; ++i){
479  iCenter = fNominalSpectrum->GetBinCenter(i);
480  diffI = (fShiftedSpectrum->GetBinContent(i) - fNominalSpectrum->GetBinContent(i));
481  if(diffI != 0.) diffI /= fNominalSpectrum->GetBinContent(i);
482  else continue;
483 
484  for(int j = 1; j < nbins + 1; ++j){
485  diffJ = (fShiftedSpectrum->GetBinContent(j) - fNominalSpectrum->GetBinContent(j));
486  if (diffJ != 0.) diffJ /= fNominalSpectrum->GetBinContent(j);
487  else continue;
488  /*
489  if(i == 1)
490  LOG_VERBATIM("CovarianceMatrixMaker")
491  << "i: "
492  << i
493  << " shifted i: "
494  << fShiftedSpectrum->GetBinContent(i)
495  << " nominal i: "
496  << fNominalSpectrum->GetBinContent(i)
497  << " j: "
498  << j
499  << " shifted j: "
500  << fShiftedSpectrum->GetBinContent(j)
501  << " nominal j: "
502  << fNominalSpectrum->GetBinContent(j)
503  << " diffI: "
504  << diffI
505  << " diffJ: "
506  << diffJ
507  << " product: "
508  << diffI * diffJ;
509  */
510  fSystCovarianceMatrix->Fill(iCenter, fNominalSpectrum->GetBinCenter(j), diffI * diffJ);
511 
512  } // end loop over j bins of spectrum
513  } // end loop over i bins of spectrum
514 
515  // loop over each bin and fill fShiftedSpectrumByUniverse
516  for (int i_bin = 1; i_bin < fShiftedSpectrum->GetNbinsX(); ++i_bin){
517  fShiftedSpectrumByUniverse->SetBinContent(i_bin, k + 1, fShiftedSpectrum->GetBinContent(i_bin));
518  }
519  } // end loop over the iterations on the systematic parameter
520 
521  // if we're not running any systematic uncertainties,
522  // then assume we want stat only
523  // n.b. we're usually running the xsec weights
524  // so take that into account
525  float binContent;
526  if (parNames.empty() || (parNames.size() == 1 && *(parNames.begin()) == "XSecCVWgt")){
527  for (int i_bin = 0; i_bin < fNominalSpectrum->GetNbinsX(); ++i_bin){
528 
529  binContent = fNominalSpectrum->GetBinContent(i_bin);
530 
531  if(binContent == 0){
532  fSystCovarianceMatrix->SetBinContent(i_bin,
533  i_bin,
535  }
536  else {
537  fSystCovarianceMatrix->SetBinContent(i_bin,
538  i_bin,
539  1./binContent);
540  }
541  }
542  }
543 
544  // protect against very low and very high covariances
545  // these usually happen because nentries in these bins for nominal
546  // and shifted spectra are identially 0
547  for (int i = 1; i < nbins + 1; ++i){
548  for (int j = 1; j < fSystCovarianceMatrix->GetNbinsY()+1; ++j){
549  binContent = fSystCovarianceMatrix->GetBinContent(i, j);
550  if (std::abs(binContent) < std::pow(10,-14) ||
551  std::abs(binContent) > std::pow(10,14) ||
552  std::isnan(binContent) ){
553  // LOG_VERBATIM("CovarianceMatrixMaker")
554  // << "bin " << i
555  // << ", covariance: " << binContent
556  // << "\n -- nominal i: " << fNominalSpectrum->GetBinContent(i)
557  // << "\n -- shifted i: " << fShiftedSpectrum->GetBinContent(i)
558  // << "\n -- nominal minus shifted i: " << fNominalSpectrum->GetBinContent(i) - fShiftedSpectrum->GetBinContent(i)
559  // << "\n -- nominal j: " << fNominalSpectrum->GetBinContent(j)
560  // << "\n -- shifted j: " << fShiftedSpectrum->GetBinContent(j)
561  // << "\n -- nominal minus shifted j: " << fNominalSpectrum->GetBinContent(j) - fShiftedSpectrum->GetBinContent(j)
562  // << "\n -- diffI*diffJ" << (fNominalSpectrum->GetBinContent(i)-fShiftedSpectrum->GetBinContent(i))*(fNominalSpectrum->GetBinContent(j)-fShiftedSpectrum->GetBinContent(j));
563 
564  fSystCovarianceMatrix->SetBinContent(i, j, 0);
565  fSystCovarianceMatrix->SetBinContent(j, i, 0);
566  } // end if the bin content is acceptable
567  } // end loop over j bins
568  } // end loop over i bins
569  }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
std::map< cmf::MetaData, cmf::SpillSummary > ExposureMap
Definition: Structs.h:215
int fIterations
number of iterations for picking sigmas
std::map< long, TH1D * > fNominalEnergySpectra
Nominal energy spectrum for each detector/file/beam/selection.
constexpr T pow(T x)
Definition: pow.h:75
TH1D * fNominalSpectrum
Nominal spectrum for each detector/beam/selection.
float abs(float number)
Definition: d0nt_math.hpp:39
int isnan(const stan::math::var &a)
Definition: std_isnan.hpp:18
std::vector< std::string > SysParNames() const
static ParameterUtility * Instance()
TH1D * fShiftedSpectrum
Shifted spectrum for each detector/beam/selection.
const int nbins
Definition: cellShifts.C:15
TH2D * fShiftedSpectrumByUniverse
Shifted spectrum as a function of universe.
std::map< long, TH1D * > fPlus1SigmaEnergySpectra
Plus 1 Sigma shifted energy spectrum for each detector/file/beam/selection.
fhicl::ParameterSet fManipulatorParameters
the fake point parameters
TH2D * fSystCovarianceMatrix
Syst Covariance matrix.
const double j
Definition: BetheBloch.cxx:29
static ShifterAndWeighter * Instance()
std::map< long, TH1D * > fMinus1SigmaEnergySpectra
Minus 1 Sigma shifted energy spectrum for each detector/file/beam/selection.
TH1D * fMinus1SigmaSpectrum
Minus 1 Sigma shifted spectrum for each detector/beam/selection.
TH1D * fPlus1SigmaSpectrum
Plus 1 Sigma shifted spectrum for each detector/beam/selection.
static float min(const float a, const float b, const float c)
Definition: absgeo.cxx:45
void FillSpectrum(cmf::EventListColl const &eventLists, cmf::ExposureMap const &exposureMap, cmf::Location const &loc, TH1D *spectrumBin, std::map< long, TH1D * > &spectraEnergy)
std::vector< cmf::EventList > EventListColl
Definition: Event.h:147
cmf::Location ParametersAsLocation()
std::map< long, TH1D * > fShiftedEnergySpectra
Shifted energy spectrum for each detector/file/beam/selection.
#define LOG_VERBATIM(category)
void SetCurrentVals(cmf::Location const &loc)
void SetSystematicParameter(cmf::Location &loc)

Member Data Documentation

int cmf::CovarianceMatrixMaker::fIterations
private

number of iterations for picking sigmas

Definition at line 65 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), reconfigure(), and writeResults().

fhicl::ParameterSet cmf::CovarianceMatrixMaker::fManipulatorParameters
private

the fake point parameters

Definition at line 67 of file CovarianceMatrixMaker_plugin.cc.

Referenced by reconfigure(), and writeResults().

std::map<long, TH1D*> cmf::CovarianceMatrixMaker::fMinus1SigmaEnergySpectra
private

Minus 1 Sigma shifted energy spectrum for each detector/file/beam/selection.

Definition at line 74 of file CovarianceMatrixMaker_plugin.cc.

Referenced by writeResults().

TH1D* cmf::CovarianceMatrixMaker::fMinus1SigmaSpectrum
private

Minus 1 Sigma shifted spectrum for each detector/beam/selection.

Definition at line 73 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

std::map<long, TH1D*> cmf::CovarianceMatrixMaker::fNominalEnergySpectra
private

Nominal energy spectrum for each detector/file/beam/selection.

Definition at line 70 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

TH1D* cmf::CovarianceMatrixMaker::fNominalSpectrum
private

Nominal spectrum for each detector/beam/selection.

Definition at line 69 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

std::map<long, TH1D*> cmf::CovarianceMatrixMaker::fPlus1SigmaEnergySpectra
private

Plus 1 Sigma shifted energy spectrum for each detector/file/beam/selection.

Definition at line 72 of file CovarianceMatrixMaker_plugin.cc.

Referenced by writeResults().

TH1D* cmf::CovarianceMatrixMaker::fPlus1SigmaSpectrum
private

Plus 1 Sigma shifted spectrum for each detector/beam/selection.

Definition at line 71 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

TRandom3 cmf::CovarianceMatrixMaker::fRand
private

RNG for picking the variation in parameters.

Definition at line 66 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), reconfigure(), and SetSystematicParameter().

fhicl::ParameterSet cmf::CovarianceMatrixMaker::fSAWParameters
private

shifter and weighter parameters

Definition at line 80 of file CovarianceMatrixMaker_plugin.cc.

Referenced by reconfigure().

std::map<long, TH1D*> cmf::CovarianceMatrixMaker::fShiftedEnergySpectra
private

Shifted energy spectrum for each detector/file/beam/selection.

Definition at line 77 of file CovarianceMatrixMaker_plugin.cc.

Referenced by writeResults().

TH1D* cmf::CovarianceMatrixMaker::fShiftedSpectrum
private

Shifted spectrum for each detector/beam/selection.

Definition at line 75 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

TH2D* cmf::CovarianceMatrixMaker::fShiftedSpectrumByUniverse
private

Shifted spectrum as a function of universe.

Definition at line 76 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

std::map<std::string, TH1D*> cmf::CovarianceMatrixMaker::fShifts
private

Shifts selected for each parameter adjusted.

Definition at line 78 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and SetSystematicParameter().

TH2D* cmf::CovarianceMatrixMaker::fShiftWeights
private

Weights from shifts selected for each parameter adjusted.

Definition at line 79 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and FillSpectrum().

TH2D* cmf::CovarianceMatrixMaker::fSystCovarianceMatrix
private

Syst Covariance matrix.

Definition at line 68 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob(), and writeResults().

art::ServiceHandle<art::TFileService> cmf::CovarianceMatrixMaker::fTFS
private

TFileService.

Definition at line 64 of file CovarianceMatrixMaker_plugin.cc.

Referenced by beginJob().


The documentation for this class was generated from the following file: