Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
util::RunEventFilter Class Reference
Inheritance diagram for util::RunEventFilter:
art::EDFilter art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

using ModuleType = EDFilter
 
using WorkerType = WorkerT< EDFilter >
 
template<typename UserConfig >
using Table = ProducerBase::Table< UserConfig >
 

Public Member Functions

 RunEventFilter (fhicl::ParameterSet const &p)
 
virtual ~RunEventFilter ()
 
virtual void reconfigure (fhicl::ParameterSet const &p)
 
virtual bool beginRun (art::Run &run) override
 
virtual bool beginSubRun (art::SubRun &sr) override
 
virtual bool filter (art::Event &e) override
 
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 ()
 

Static Public Attributes

static constexpr bool Pass {true}
 
static constexpr bool Fail {false}
 

Protected Member Functions

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

Private Attributes

std::string fEventFile
 List of event numbers. More...
 
int fMode
 0=include, 1=exclude list More...
 
bool fFilterSlice
 Apply filter at slice level. More...
 
bool fIsMC
 Data or MC? Hence cycle number. More...
 
bool fUseBatchNum
 Batch number may be neeed for MC. More...
 
std::string fSlicerLabel
 Module that produced slices. More...
 
bool fSkipping
 
int fCycle
 
int fBatch
 
std::set< unsigned intfRuns
 
std::set< std::pair< unsigned int, unsigned int > > fSubRuns
 
std::set< std::tuple< unsigned int, unsigned int, unsigned int > > fEvents
 
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int > > fSlices
 
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fCycles
 
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fBatches
 

Detailed Description

Select events based on a list of run and event numbers

File format is expected to be a list of run/subrun/event triplets:

run subrun event

10796 4 102012 10796 2 121093 10796 11 133092

with comments marked by a leading '#'. By default the module looks for these to be in a file called "event-list.txt", although the filename can be reconfigured. The module can be configured to run in one of two modes. The configuration include_runeventfilter sets Mode=0 which means that the events listed in the file are to be included in the output. The configuration exclude_runeventfilter sets Mode=1 which means that the events listed are to be excluded from the output file. See RunEventFilter.fcl.

Definition at line 44 of file RunEventFilter_module.cc.

Member Typedef Documentation

using art::EDFilter::ModuleType = EDFilter
inherited

Definition at line 37 of file EDFilter.h.

template<typename UserConfig >
using art::EDFilter::Table = ProducerBase::Table<UserConfig>
inherited

Definition at line 46 of file EDFilter.h.

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

Definition at line 38 of file EDFilter.h.

Constructor & Destructor Documentation

util::RunEventFilter::RunEventFilter ( fhicl::ParameterSet const &  p)
explicit

Definition at line 90 of file RunEventFilter_module.cc.

References fFilterSlice, and reconfigure().

91  : fSkipping(false), fCycle(-5), fBatch(-5)
92  {
93  this->reconfigure(p);
94 
95  if (fFilterSlice) produces< rb::FilterList<rb::Cluster> >();
96  }
bool fFilterSlice
Apply filter at slice level.
const char * p
Definition: xmltok.h:285
virtual void reconfigure(fhicl::ParameterSet const &p)
util::RunEventFilter::~RunEventFilter ( )
virtual

Definition at line 188 of file RunEventFilter_module.cc.

189  {
190  }

Member Function Documentation

bool util::RunEventFilter::beginRun ( art::Run run)
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 193 of file RunEventFilter_module.cc.

References fMode, fRuns, fSkipping, and art::Run::run().

194  {
195  // If we're only accepting events in the list and there were no entries
196  // for this run go ahead and skip it.
197  fSkipping = (fMode == 0 && !fRuns.count(run.run()));
198  return !fSkipping;
199  }
std::set< unsigned int > fRuns
RunNumber_t run() const
Definition: Run.h:47
int fMode
0=include, 1=exclude list
bool util::RunEventFilter::beginSubRun ( art::SubRun sr)
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 202 of file RunEventFilter_module.cc.

References fMode, fSkipping, fSubRuns, make_pair(), art::SubRun::run(), and art::SubRun::subRun().

203  {
204 
205  // If we're only accepting events in the list and there were no entries
206  // for this subrun go ahead and skip it.
207  fSkipping = (fMode == 0 && !fSubRuns.count(std::make_pair(sr.run(), sr.subRun())));
208  return !fSkipping;
209  }
SubRunNumber_t subRun() const
Definition: SubRun.h:44
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
std::set< std::pair< unsigned int, unsigned int > > fSubRuns
int fMode
0=include, 1=exclude list
RunNumber_t run() const
Definition: SubRun.h:49
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::EDFilter::currentContext ( ) const
protectedinherited
bool util::RunEventFilter::filter ( art::Event e)
overridevirtual

Implements art::EDFilter.

Definition at line 212 of file RunEventFilter_module.cc.

References APDHVSetting::batch, confusionMatrixTree::count, make_root_from_grid_output::cycle, DEFINE_ART_MODULE(), art::Event::event(), fBatch, fBatches, fCycle, fCycles, fEvents, fFilterSlice, fIsMC, fMode, fSkipping, fSlicerLabel, fSlices, fUseBatchNum, art::DataViewImpl::getByLabel(), meta::MetadataManager::getInstance(), meta::MetadataManager::GetMetadata(), art::Event::put(), art::Event::run(), string, and art::Event::subRun().

213  {
214  std::unique_ptr< rb::FilterList<rb::Cluster> > filtcol(new rb::FilterList<rb::Cluster>);
215 
216  // Already skipping the whole run or subrun
217  if(fSkipping){
218  if(fFilterSlice)
219  evt.put(std::move(filtcol));
220  return false;
221  }
222 
223  // We're going to pull cycle number from the metadata
225  // Check it exists in the metadata
226  // Convert the std::string to int
227  std::string cycle = fManager.GetMetadata()["simulated.cycle"];
228  if(cycle != "") fCycle = std::stoi(cycle);
229 
230  std::string batch = fManager.GetMetadata()["simulated.batch"];
231  if(batch != "") fBatch = std::stoi(batch);
232 
233  bool inlist = false;
234  // Is this event in the list?
235  if(fIsMC && fUseBatchNum)
236  inlist = fCycles.count(std::make_tuple(evt.run(),
237  evt.subRun(),
238  fCycle,
239  fBatch,
240  evt.event()));
241  if(fIsMC && !fUseBatchNum)
242  inlist = fSlices.count(std::make_tuple(evt.run(),
243  evt.subRun(),
244  fCycle,
245  evt.event()));
246 
247  if(!fIsMC)
248  inlist = fEvents.count(std::make_tuple(evt.run(),
249  evt.subRun(),
250  evt.event()));
251 
252  // If we're looking for the events in the list, and this one isn't, then
253  // we can skip this event.
254  if(fMode == 0 && !inlist){
255  if(fFilterSlice)
256  evt.put(std::move(filtcol));
257  return false;
258  }
259  // If we're rejecting events in the list, and this event is in we can
260  // reject it, so long as it's not just the slices we're supposed to be
261  // rejecting.
262  if(fMode == 1 && !fFilterSlice && inlist){
263  if(fFilterSlice)
264  evt.put(std::move(filtcol));
265  return false;
266  }
267 
268  if(fFilterSlice){
270  evt.getByLabel(fSlicerLabel, slices);
271 
272  // How many slices have we rejected?
273  unsigned int count = 0;
274 
275  for(unsigned int slcIdx = 0; slcIdx < slices->size(); ++slcIdx){
276  // This is a bit tricky. The != operator here is acting as a XOR.
277  // We either want to be accepting slices in the list and to have
278  // not found one, or we want to be rejecting slices in the list and
279  // to have found it. In either case we filter the slice out of
280  // the slices.
281  bool sliceIsInList = false;
282  if(fIsMC && fUseBatchNum)
283  sliceIsInList = fBatches.count(std::make_tuple(evt.run(),
284  evt.subRun(),
285  fCycle,
286  fBatch,
287  evt.event(),
288  slcIdx));
289  if(fIsMC && !fUseBatchNum)
290  sliceIsInList = fCycles.count(std::make_tuple(evt.run(),
291  evt.subRun(),
292  fCycle,
293  evt.event(),
294  slcIdx));
295 
296  if(!fIsMC)
297  sliceIsInList = fSlices.count(std::make_tuple(evt.run(),
298  evt.subRun(),
299  evt.event(),
300  slcIdx));
301 
302 
303 
304  if( (fMode == 1 && sliceIsInList) ||
305  (fMode == 0 && !sliceIsInList) ){
306  filtcol->Add(slices, slcIdx);
307  ++count;
308  }
309 
310  } // end for slcIdx
311 
312  // If we're rejecting slices in the list, and we rejected every slice,
313  // let's reject the whole event instead.
314  if(fMode == 1 && count == slices->size()){
315  evt.put(std::move(filtcol));
316  return false;
317  }
318 
319  evt.put(std::move(filtcol));
320  } // end if fFilterSlice
321 
322  return true;
323  }
bool fFilterSlice
Apply filter at slice level.
A simple list of products that have been marked "filtered out".
Definition: FilterList.h:74
static MetadataManager & getInstance()
bool fUseBatchNum
Batch number may be neeed for MC.
std::map< std::string, std::string > & GetMetadata()
std::string fSlicerLabel
Module that produced slices.
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fCycles
std::set< std::tuple< unsigned int, unsigned int, unsigned int > > fEvents
int evt
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fBatches
bool fIsMC
Data or MC? Hence cycle number.
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int > > fSlices
int fMode
0=include, 1=exclude list
enum BeamMode string
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::EDFilter::getProductID ( std::string const &  instanceName = {}) const
inlineinherited

Definition at line 131 of file EDFilter.h.

References art::EDFilter::moduleDescription_.

Referenced by novaddt::HoughTrackMaker::create_associations().

132  {
133  return ProducerBase::getProductID<PROD, B>(moduleDescription_,
134  instanceName);
135  }
ModuleDescription moduleDescription_
Definition: EDFilter.h:124
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 util::RunEventFilter::reconfigure ( fhicl::ParameterSet const &  p)
virtual

Definition at line 99 of file RunEventFilter_module.cc.

References APDHVSetting::batch, om::cerr, clear, make_root_from_grid_output::cycle, allTimeWatchdog::endl, fBatches, fCycles, fEventFile, fEvents, fFilterSlice, fIsMC, fMode, fRuns, fSlicerLabel, fSlices, fSubRuns, fUseBatchNum, fhicl::ParameterSet::get(), make_pair(), updateRunHistoryTables::run, string, and getGoodRuns4SAM::subrun.

Referenced by RunEventFilter().

100  {
101  fEventFile = p.get<std::string>("EventFile");
102  fMode = p.get<int>("Mode");
103  fFilterSlice = p.get<bool>("FilterSlice");
104  fIsMC = p.get<bool>("IsMC");
105  fUseBatchNum = p.get<bool>("UseBatchNum");
106  fSlicerLabel = p.get<std::string>("SlicerLabel");
107 
108  //
109  // Reconfigure the run and event list given the new file name.
110  //
111  fRuns. clear();
112  fSubRuns. clear();
113  fEvents. clear();
114  fSlices. clear();
115  fCycles. clear();
116  fBatches. clear();
117  std::ifstream ifs;
118  ifs.open(fEventFile.c_str());
119  if (ifs.is_open()) {
120  while (ifs.good()) {
121  std::string buff;
122  std::getline(ifs, buff);
123  if (buff[0]=='#') continue;
124 
125  int run, subrun, event, cycle;
126  // if we're filtering the slice
127  if (fFilterSlice){
128  int slice;
129  // for MC we need run/subrun/cycle/event/slice
130  if(fIsMC){
131  if(fUseBatchNum){
132  int batch;
133  // for MC with batch numbers we need run/subrun/cycle/batch/event/slice
134  sscanf(buff.c_str(), "%d %d %d %d %d %d", &run, &subrun, &cycle, &batch, &event, &slice);
135  fCycles.insert(std::make_tuple(run, subrun, cycle, batch, event));
136  fBatches.insert(std::make_tuple(run, subrun, cycle, batch, event, slice));
137  }
138  else{
139  sscanf(buff.c_str(), "%d %d %d %d %d", &run, &subrun, &cycle, &event, &slice);
140  fCycles.insert(std::make_tuple(run, subrun, cycle, event, slice));
141  fSlices.insert(std::make_tuple(run, subrun, cycle, event));
142  }
143  } // fIsMC = true
144  // for Data run/subrun/event/slice
145  else{
146  sscanf(buff.c_str(), "%d %d %d %d", &run, &subrun, &event, &slice);
147  fSlices.insert(std::make_tuple(run, subrun, event, slice));
148  } // fIsMC = false
149  } // if fFilterSlice
150  // And if we're not filtering the slice
151  else{
152  // for MC we need run/subrun/cycle/event
153  if(fIsMC){
154  if(fUseBatchNum){
155  int batch;
156  // for MC with batch numbers we need run/subrun/cycle/batch/event/slice
157  sscanf(buff.c_str(), "%d %d %d %d %d", &run, &subrun, &cycle, &batch, &event);
158  fCycles.insert(std::make_tuple(run, subrun, cycle, batch, event));
159  }
160  else{
161 
162  sscanf(buff.c_str(), "%d %d %d %d", &run, &subrun, &cycle, &event);
163  // Have to be careful here since fSlices can hold 4 tuple values
164  // and fCycles 5. In this case we only want to fill 4 fields)
165  // I'm sure there's a smarter way to do this...
166  fSlices.insert(std::make_tuple(run, subrun, cycle, event));
167  }
168  } // fIsMC = true
169  // for Data we only need run/subrun/event
170  else{
171  sscanf(buff.c_str(), "%d %d %d", &run, &subrun, &event);
172  }
173  } // fFilterSlice = false
174  fRuns.insert(run);
175  fSubRuns.insert(std::make_pair(run, subrun));
176  fEvents.insert(std::make_tuple(run, subrun, event));
177  } // close while loop
178  ifs.close();
179  } // close input file
180  else {
181  std::cerr << __FILE__ << ":" << __LINE__
182  << " Failed to open file " << fEventFile << " for read"
183  << std::endl;
184  }
185  }
bool fFilterSlice
Apply filter at slice level.
bool fUseBatchNum
Batch number may be neeed for MC.
const char * p
Definition: xmltok.h:285
vector< vector< double > > clear
OStream cerr
Definition: OStream.cxx:7
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
std::string fEventFile
List of event numbers.
std::set< unsigned int > fRuns
std::string fSlicerLabel
Module that produced slices.
std::set< std::pair< unsigned int, unsigned int > > fSubRuns
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fCycles
std::set< std::tuple< unsigned int, unsigned int, unsigned int > > fEvents
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int > > fBatches
bool fIsMC
Data or MC? Hence cycle number.
std::set< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int > > fSlices
int fMode
0=include, 1=exclude list
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

constexpr bool art::EDFilter::Fail {false}
staticinherited

Definition at line 33 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().

int util::RunEventFilter::fBatch
private

Definition at line 67 of file RunEventFilter_module.cc.

Referenced by filter().

std::set< std::tuple<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int> > util::RunEventFilter::fBatches
private

Definition at line 80 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

int util::RunEventFilter::fCycle
private

Definition at line 66 of file RunEventFilter_module.cc.

Referenced by filter().

std::set< std::tuple<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int> > util::RunEventFilter::fCycles
private

Definition at line 77 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

std::string util::RunEventFilter::fEventFile
private

List of event numbers.

Definition at line 58 of file RunEventFilter_module.cc.

Referenced by reconfigure().

std::set< std::tuple<unsigned int, unsigned int, unsigned int> > util::RunEventFilter::fEvents
private

Definition at line 72 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

bool util::RunEventFilter::fFilterSlice
private

Apply filter at slice level.

Definition at line 60 of file RunEventFilter_module.cc.

Referenced by filter(), reconfigure(), and RunEventFilter().

bool util::RunEventFilter::fIsMC
private

Data or MC? Hence cycle number.

Definition at line 61 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

int util::RunEventFilter::fMode
private

0=include, 1=exclude list

Definition at line 59 of file RunEventFilter_module.cc.

Referenced by beginRun(), beginSubRun(), filter(), and reconfigure().

std::set<unsigned int> util::RunEventFilter::fRuns
private

Definition at line 69 of file RunEventFilter_module.cc.

Referenced by beginRun(), and reconfigure().

bool util::RunEventFilter::fSkipping
private

Definition at line 65 of file RunEventFilter_module.cc.

Referenced by beginRun(), beginSubRun(), and filter().

std::string util::RunEventFilter::fSlicerLabel
private

Module that produced slices.

Definition at line 63 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

std::set< std::tuple<unsigned int, unsigned int, unsigned int, unsigned int> > util::RunEventFilter::fSlices
private

Definition at line 74 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

std::set< std::pair<unsigned int, unsigned int> > util::RunEventFilter::fSubRuns
private

Definition at line 70 of file RunEventFilter_module.cc.

Referenced by beginSubRun(), and reconfigure().

bool util::RunEventFilter::fUseBatchNum
private

Batch number may be neeed for MC.

Definition at line 62 of file RunEventFilter_module.cc.

Referenced by filter(), and reconfigure().

constexpr bool art::EDFilter::Pass {true}
staticinherited

Definition at line 32 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().


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