Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lem::FindMatchesTranspose Class Reference
Inheritance diagram for lem::FindMatchesTranspose:
art::EDProducer art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

using ModuleType = EDProducer
 
using WorkerType = WorkerT< EDProducer >
 
template<typename UserConfig , typename KeysToIgnore = void>
using Table = ProducerBase::Table< UserConfig, KeysToIgnore >
 

Public Member Functions

 FindMatchesTranspose (const fhicl::ParameterSet &pset)
 
 ~FindMatchesTranspose ()
 
virtual void beginJob ()
 
virtual void reconfigure (const fhicl::ParameterSet &pset)
 
virtual void produce (art::Event &evt)
 
virtual void endRun (art::Run &run)
 
template<typename PROD , BranchType B = InEvent>
ProductID getProductID (std::string const &instanceName={}) const
 
template<typename PROD , BranchType B>
ProductID getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const
 
bool modifiesEvent () const
 
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)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

CurrentProcessingContext const * currentContext () const
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

std::string fLibPath
 
int fDownsampleFactor
 
bool fOnDemand
 
std::string fInputLabel
 
std::vector< MatchableEventfTrials
 
std::vector< lem::MatchableEventfTrialsDownsample
 
std::vector< PotentialfVs
 
std::vector< PotentialfVsDownsample
 

Detailed Description

Definition at line 36 of file FindMatchesTranspose_module.cc.

Member Typedef Documentation

using art::EDProducer::ModuleType = EDProducer
inherited

Definition at line 34 of file EDProducer.h.

template<typename UserConfig , typename KeysToIgnore = void>
using art::EDProducer::Table = ProducerBase::Table<UserConfig, KeysToIgnore>
inherited

Definition at line 43 of file EDProducer.h.

using art::EDProducer::WorkerType = WorkerT<EDProducer>
inherited

Definition at line 35 of file EDProducer.h.

Constructor & Destructor Documentation

lem::FindMatchesTranspose::FindMatchesTranspose ( const fhicl::ParameterSet pset)
explicit

Definition at line 64 of file FindMatchesTranspose_module.cc.

References art::InRun, and reconfigure().

65  {
66  reconfigure(pset);
67 
68  produces<std::vector<geo::OfflineChan>>();
69 
70  produces<lem::LibrarySummary, art::InRun>();
71 
72  produces<std::vector<lem::MatchList>, art::InRun>();
73  }
virtual void reconfigure(const fhicl::ParameterSet &pset)
lem::FindMatchesTranspose::~FindMatchesTranspose ( )

Definition at line 76 of file FindMatchesTranspose_module.cc.

77  {
78  }

Member Function Documentation

void lem::FindMatchesTranspose::beginJob ( )
virtual

Reimplemented from art::EDProducer.

Definition at line 105 of file FindMatchesTranspose_module.cc.

106  {
107  }
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
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDProducer::currentContext ( ) const
protectedinherited
void lem::FindMatchesTranspose::endRun ( art::Run run)
virtual

Reimplemented from art::EDProducer.

Definition at line 193 of file FindMatchesTranspose_module.cc.

References lem::CalcEnergy(), om::cout, DEFINE_ART_MODULE(), lem::Library::DownsampledEvent(), E, allTimeWatchdog::endl, lem::Library::Event(), fLibPath, lem::MatchableEvent::Flipped(), fOnDemand, lem::FracChargeMatched(), lem::Library::FromMMap(), lem::HeadsTranspose::FromMMap(), lem::Library::FromMMapOnDemand(), lem::HeadsTranspose::FromMMapOnDemand(), fTrials, fTrialsDownsample, fVs, fVsDownsample, lem::HeadsTranspose::HeadIdx(), MECModelEnuComparisons::i, cvnie::lib, g4zmq::ls(), m, Munits::ms, lem::Library::NEvents(), lem::HeadsTranspose::NHeads(), lem::HeadsTranspose::pHeadSeqs(), art::Run::put(), lem::Match::qfrac, and lem::Library::Summary().

194  {
195  // One thing that can happen is that there's an exception thrown before
196  // anything's even happened. But endRun gets called first. Don't want to
197  // stall confusingly in that case.
198  if(fTrials.empty()) return;
199 
200  const unsigned int Ntrials = fTrials.size();
201  std::cout << "Have " << Ntrials << " trial events" << std::endl;
202 
203  const HeadsTranspose* heads = fOnDemand ? HeadsTranspose::FromMMapOnDemand(fLibPath) : HeadsTranspose::FromMMap(fLibPath);
204  std::cout << "Loaded " << heads << std::endl;
205  const Library* lib = fOnDemand ? Library::FromMMapOnDemand(fLibPath) : Library::FromMMap(fLibPath, false);
206  std::cout << "Loaded " << lib->Summary() << std::endl;
207 
208  std::cout << "Matching heads..." << std::endl;
209 
210  std::vector<int> bestHeads(Ntrials, -1);
211  std::vector<float> bestHeadEs(Ntrials, FLT_MAX);
212 
213  const int nHeads = heads->NHeads();
214  for(int i = 0; i < nHeads; ++i){
215  if(i%100 == 0) std::cout << i/100 << "/" << nHeads/100 << std::endl;
216 
217  const int headIdx = heads->HeadIdx(i);
218 
219  for(unsigned int trialIdx = 0; trialIdx < Ntrials; ++trialIdx){
220  const MatchableEvent& trial = fTrials[trialIdx];
221  const MatchableEvent& trialDown = fTrialsDownsample[trialIdx];
222 
223  for(bool flipEven: {false, true}){
224  for(bool flipOdd: {false, true}){
225 
226  const MatchableEvent headevt_down = lib->DownsampledEvent(headIdx).Flipped(flipEven, flipOdd);
227 
228  // Compare the downsampled event to the downsampled potential. The
229  // resulting energy is a lower-bound on what the real match would
230  // have done.
231  float E = CalcEnergy(fVsDownsample[trialIdx],
232  trialDown, headevt_down);
233 
234  if(E < bestHeadEs[trialIdx]){
235  const MatchableEvent headevt = lib->Event(headIdx).Flipped(flipEven, flipOdd);
236 
237  // Calculate the energy fully
238  E = CalcEnergy(fVs[trialIdx], trial, headevt);
239 
240  // If it's still good, use it
241  if(E < bestHeadEs[trialIdx]){
242  bestHeads[trialIdx] = i;
243  bestHeadEs[trialIdx] = E;
244  }
245  }
246  } // end for flipOdd
247  } // end for flipEven
248  } // end for trialIdx
249  } // end for i
250 
251  for(unsigned int trialIdx = 0; trialIdx < Ntrials; ++trialIdx){
252  std::cout << "Best head " << bestHeads[trialIdx] << " with " << bestHeadEs[trialIdx]/fTrials[trialIdx].selfEnergy << std::endl;
253  }
254 
255  std::cout << "Main PID..." << std::endl;
256 
257  const unsigned int kNumMatches = 1001;
258 
259  // Candidates for storing, remains sorted
260  std::vector<std::multiset<MatchSummary>> Elists(Ntrials);
261 
262  int* pHeadSeqs = heads->pHeadSeqs();
263 
264  const unsigned int libSize = lib->NEvents();
265  for(unsigned int libIdx = 0; libIdx < libSize; ++libIdx){
266  if(libIdx%10000 == 0) std::cout << libIdx/10000 << "/" << libSize/10000 << std::endl;
267 
268  const int numHeadsForLibEvt = *pHeadSeqs;
269  ++pHeadSeqs;
270  std::vector<bool> isHeadForLibEvt(nHeads, false);
271  for(int i = 0; i < numHeadsForLibEvt; ++i){
272  isHeadForLibEvt[*pHeadSeqs] = true;
273  ++pHeadSeqs;
274  }
275 
276  for(unsigned int trialIdx = 0; trialIdx < Ntrials; ++trialIdx){
277  // Don't try to match this library event and this trial if none of this
278  // library events heads are the one the trial event wants.
279  if(!isHeadForLibEvt[bestHeads[trialIdx]]) continue;
280 
281  const MatchableEvent& trial = fTrials[trialIdx];
282  const MatchableEvent& trialDown = fTrialsDownsample[trialIdx];
283  std::multiset<MatchSummary>& Elist = Elists[trialIdx];
284 
285  float target = (Elist.size() == kNumMatches) ? Elist.rbegin()->potential : FLT_MAX;
286 
287  for(bool flipEven: {false, true}){
288  for(bool flipOdd: {false, true}){
289  const lem::MatchableEvent libevt_down = lib->DownsampledEvent(libIdx).Flipped(flipEven, flipOdd);
290 
291  // Compare the downsampled event to the downsampled potential. The
292  // resulting energy is a lower-bound on what the real match would
293  // have done.
294  float E = CalcEnergy(fVsDownsample[trialIdx],
295  trialDown, libevt_down);
296 
297  if(E < target){
298  const lem::MatchableEvent libevt = lib->Event(libIdx).Flipped(flipEven, flipOdd);
299  // Calculate the energy fully
300  E = CalcEnergy(fVs[trialIdx], trial, libevt);
301 
302  // If it's still good, use it
303  if(E < target){
304  Match m(E, &libevt, flipEven, flipOdd);
305  // This is extra work for matches we're not even sure we're
306  // going to keep. But it's better than having to do a whole
307  // extra pass through the library at the end.
308  m.qfrac = FracChargeMatched(trial, libevt,
309  flipEven, flipOdd);
310  MatchSummary ms(m);
311  Elist.insert(ms);
312 
313  if(Elist.size() > kNumMatches){
314  // Always drop the last one, to keep list correct size
315  auto itLargest = Elist.end();
316  --itLargest;
317  Elist.erase(itLargest);
318  target = Elist.rbegin()->potential;
319  }
320  }
321  }
322  } // end for flipOdd
323  } // end for flipEven
324 
325  } // end for trialIdx
326  } // end for n
327 
328  std::cout << "Writing results out..." << std::endl;
329 
330  std::unique_ptr<std::vector<lem::MatchList>> ms(new std::vector<lem::MatchList>);
331  ms->resize(Ntrials);
332 
333  for(unsigned int trialIdx = 0; trialIdx < Ntrials; ++trialIdx){
334  std::cout << trialIdx << "/" << Ntrials << std::endl;
335 
336  (*ms)[trialIdx].trial = MatchSummary(Match(0, &fTrials[trialIdx]));
337  for(MatchSummary m: Elists[trialIdx]){
338  m.potential /= fTrials[trialIdx].selfEnergy;
339  (*ms)[trialIdx].matches.push_back(m);
340  }
341  }
342 
343  run.put(std::move(ms));
344 
345  std::unique_ptr<lem::LibrarySummary> ls(new lem::LibrarySummary);
346  *ls = lib->Summary();
347  run.put(std::move(ls));
348 
349  delete lib;
350  delete heads;
351  }
static constexpr Double_t ms
Definition: Munits.h:192
float CalcEnergy(const Potential &Va, const MatchableEvent &a, const MatchableEvent &b)
Definition: FindMatches.cxx:21
Attach some information used in matching to an EventSummary.
const XML_Char * target
Definition: expat.h:268
MatchableEvent Flipped(bool flipEven, bool flipOdd) const
std::vector< Potential > fVsDownsample
art::ProductID put(std::unique_ptr< PROD > &&)
Definition: Run.h:149
static HeadsTranspose * FromMMapOnDemand(const std::string &libPath)
Definition: Heads.cxx:116
Definition: __init__.py:1
string lib
Definition: cvnie.py:9
Float_t E
Definition: plot.C:20
double FracChargeMatched(const EventSummary &a, const EventSummary &b, bool flipEven, bool flipOdd)
Definition: FindMatches.cxx:37
Details of the library LEM matches were made against.
OStream cout
Definition: OStream.cxx:6
std::vector< MatchableEvent > fTrials
static Library * FromMMapOnDemand(const std::string &libPath)
Definition: Library.cxx:82
std::vector< lem::MatchableEvent > fTrialsDownsample
def ls(target="")
Definition: g4zmq.py:69
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
template<typename PROD , BranchType B>
ProductID art::EDProducer::getProductID ( std::string const &  instanceName = {}) const
inlineinherited

Definition at line 123 of file EDProducer.h.

References art::EDProducer::moduleDescription_.

Referenced by skim::NueSkimmer::CopyMichelSlice(), and skim::NueSkimmer::CopyMichelTrack().

124  {
125  return ProducerBase::getProductID<PROD, B>(moduleDescription_,
126  instanceName);
127  }
ModuleDescription moduleDescription_
Definition: EDProducer.h:115
template<typename PROD , BranchType B>
ProductID art::ProducerBase::getProductID ( ModuleDescription const &  moduleDescription,
std::string const &  instanceName 
) const
inherited

Definition at line 56 of file ProducerBase.h.

References art::ModuleDescription::moduleLabel().

Referenced by art::ProducerBase::modifiesEvent().

58  {
59  auto const& pd =
60  get_ProductDescription<PROD>(B, md.moduleLabel(), instanceName);
61  return pd.productID();
62  }
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
bool art::ProducerBase::modifiesEvent ( ) const
inlineinherited

Definition at line 40 of file ProducerBase.h.

References art::ProducerBase::getProductID(), and string.

41  {
42  return true;
43  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
void lem::FindMatchesTranspose::produce ( art::Event evt)
virtual

Implements art::EDProducer.

Definition at line 110 of file FindMatchesTranspose_module.cc.

References lem::EventSummary::ccnc, lem::Potential::Downsampled(), lem::MatchableEvent::Downsampled(), lem::EventSummary::event, art::Event::event(), evt, fDownsampleFactor, lem::FillPotential(), fInputLabel, fTrials, fTrialsDownsample, fVs, fVsDownsample, art::DataViewImpl::getByLabel(), lem::LEMInput::hits, dumpEventsToText::inputs, lem::EventSummary::origPdg, lem::EventSummary::pdg, art::Event::put(), lem::EventSummary::run, art::Event::run(), lem::EventSummary::subrun, art::Event::subRun(), sum, lem::EventSummary::trueEVis, and lem::EventSummary::y.

111  {
112  std::unique_ptr<std::vector<geo::OfflineChan> > chancol(new std::vector<geo::OfflineChan>);
113 
115  evt.getByLabel(fInputLabel, inputs);
116 
117  const int inputMax = inputs->size();
118  for(int inputIdx = 0; inputIdx < inputMax; ++inputIdx){
119  const LEMInput& input = (*inputs)[inputIdx];
120 
121  EventSummary sum(input.hits, -1, std::vector<int>());
122 
123  sum.run = evt.run();
124  sum.subrun = evt.subRun();
125  sum.event = evt.event();
126 
127  sum.origPdg = 0;
128 
129  sum.pdg = 0;
130  sum.ccnc = 0;
131  sum.y = 0;
132  sum.trueEVis = 0;
133 
134 
135  // chancol->push_back(geo::OfflineChan(vtxPlane, vtxCell));
136  // Should really be nextPlane, but that's lost inside of Util.cxx. This
137  // is almost always right, and only for display purposes anyway.
138  // chancol->push_back(geo::OfflineChan(vtxPlane+1, vtxCellOther));
139 
140  const MatchableEvent evt(sum);
141  fTrials.push_back(evt);
142  fTrialsDownsample.push_back(evt.Downsampled(fDownsampleFactor));
143 
144  Potential V;
145  FillPotential(sum, V, false, false);
146  fVs.push_back(V);
147 
148  Potential V_down;
149  V_down = V.Downsampled(fDownsampleFactor);
150  fVsDownsample.push_back(V_down);
151 
152  } // end for sliceIdx
153 
154  evt.put(std::move(chancol));
155  }
SubRunNumber_t subRun() const
Definition: Event.h:72
std::vector< Potential > fVsDownsample
ProductID put(std::unique_ptr< PROD > &&product)
Definition: Event.h:102
int evt
EventNumber_t event() const
Definition: Event.h:67
std::vector< MatchableEvent > fTrials
void FillPotential(const EventSummary &trial, Potential &V, bool flipEven, bool flipOdd)
Definition: FindMatches.cxx:76
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
std::vector< lem::MatchableEvent > fTrialsDownsample
Double_t sum
Definition: plot.C:31
RunNumber_t run() const
Definition: Event.h:77
void lem::FindMatchesTranspose::reconfigure ( const fhicl::ParameterSet pset)
virtual

Definition at line 81 of file FindMatchesTranspose_module.cc.

References util::EnvExpansion(), fDownsampleFactor, lem::EventSummary::fgChargePower, lem::EventSummary::fgDecayRate, fInputLabel, fLibPath, fOnDemand, fhicl::ParameterSet::get(), lem::DistanceMap::SetCellScale(), lem::DistanceMap::SetDecayPower(), lem::DistanceMap::SetExpMode(), lem::SetOnDemandMemoryLimit(), lem::DistanceMap::SetPlaneScale(), and string.

Referenced by FindMatchesTranspose().

82  {
83  std::string libpath = pset.get<std::string>("LibraryPath");
84  fLibPath = util::EnvExpansion(libpath);
85 
86  fDownsampleFactor = pset.get<int>("DownsampleFactor");
87 
88  fInputLabel = pset.get<std::string>("InputLabel");
89 
90  // This needs to be before anyone asks the DistanceMap anything, should be
91  // safe enough here.
92  DistanceMap::SetPlaneScale(pset.get<double>("DistPlaneScale"));
93  DistanceMap::SetCellScale(pset.get<double>("DistCellScale"));
94  DistanceMap::SetDecayPower(pset.get<double>("DistDecayPower"));
95  DistanceMap::SetExpMode(pset.get<bool>("DistExpMode"));
96 
97  EventSummary::fgDecayRate = pset.get<double>("HitDecayRate");
98  EventSummary::fgChargePower = pset.get<double>("HitChargePower");
99 
100  SetOnDemandMemoryLimit(pset.get<int>("LibraryMemoryLimit"));
101  fOnDemand = (pset.get<int>("LibraryMemoryLimit") > 0);
102  }
static double fgChargePower
Definition: EventSummary.h:76
std::string EnvExpansion(const std::string &inString)
Function to expand environment variables.
Definition: EnvExpand.cxx:8
static void SetPlaneScale(double ps)
Must call before first call to Instance()
Definition: DistanceMap.h:32
T get(std::string const &key) const
Definition: ParameterSet.h:231
static void SetDecayPower(double dp)
Definition: DistanceMap.h:34
void SetOnDemandMemoryLimit(long limit_mb)
Definition: OnDemand.cxx:117
static void SetExpMode(bool em=true)
Definition: DistanceMap.h:35
static double fgDecayRate
Definition: EventSummary.h:75
static void SetCellScale(double cs)
Definition: DistanceMap.h:33
enum BeamMode string
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

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

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited

Member Data Documentation

int lem::FindMatchesTranspose::fDownsampleFactor
protected

Definition at line 52 of file FindMatchesTranspose_module.cc.

Referenced by produce(), and reconfigure().

std::string lem::FindMatchesTranspose::fInputLabel
protected

Definition at line 55 of file FindMatchesTranspose_module.cc.

Referenced by produce(), and reconfigure().

std::string lem::FindMatchesTranspose::fLibPath
protected

Definition at line 51 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and reconfigure().

bool lem::FindMatchesTranspose::fOnDemand
protected

Definition at line 53 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and reconfigure().

std::vector<MatchableEvent> lem::FindMatchesTranspose::fTrials
protected

Definition at line 57 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and produce().

std::vector<lem::MatchableEvent> lem::FindMatchesTranspose::fTrialsDownsample
protected

Definition at line 58 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and produce().

std::vector<Potential> lem::FindMatchesTranspose::fVs
protected

Definition at line 59 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and produce().

std::vector<Potential> lem::FindMatchesTranspose::fVsDownsample
protected

Definition at line 60 of file FindMatchesTranspose_module.cc.

Referenced by endRun(), and produce().


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