Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
comi::NumiFilteringAna Class Reference
Inheritance diagram for comi::NumiFilteringAna:
art::EDAnalyzer art::EventObserverBase art::Consumer art::EngineCreator

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 NumiFilteringAna (fhicl::ParameterSet const &pset)
 
virtual ~NumiFilteringAna ()
 
void beginRun (const art::Run &run)
 
void analyze (art::Event const &evt)
 
virtual void beginSubRun (const art::SubRun &sr)
 
void beginJob ()
 
void endJob ()
 
std::string workerType () const
 
bool modifiesEvent () const
 
void registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
art::Handle< art::TriggerResultsgetTriggerResults (Event const &e) 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
 
detail::CachedProducts & cachedProducts ()
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

std::string fSlicerLabel
 
std::string fTrackType
 
std::string fProngType
 
float fMinXFid
 
float fMinYFid
 
float fMinZFid
 
float fMaxXFid
 
float fMaxYFid
 
float fMaxZFid
 
fhicl::ParameterSet fPSetNDOS
 
fhicl::ParameterSet fPSetND
 
fhicl::ParameterSet fPSetFD
 

Private Attributes

int run
 
int subrun
 
int event
 
double fTotalLivetime
 
TH1D * fLivetime
 
TH1D * fSMaxAnyHitUn
 
TH1D * fSMinXHitUn
 
TH1D * fSMinYHitUn
 
TH1D * fSMinZHitUn
 
TH1D * fSMaxXHitUn
 
TH1D * fSMaxYHitUn
 
TH1D * fSMaxZHitUn
 
TH1D * fSMinX
 
TH1D * fSMinY
 
TH1D * fSMinZ
 
TH1D * fSMaxX
 
TH1D * fSMaxY
 
TH1D * fSMaxZ
 
TH1D * fFMinX
 
TH1D * fFMinY
 
TH1D * fFMinZ
 
TH1D * fFMaxX
 
TH1D * fFMaxY
 
TH1D * fFMaxZ
 
TH1D * fSNXplanes
 
TH1D * fSNYplanes
 
TH1D * fFNXplanes
 
TH1D * fFNYplanes
 

Detailed Description

Definition at line 47 of file NumiFilteringAna_module.cc.

Member Typedef Documentation

Definition at line 39 of file EDAnalyzer.h.

Definition at line 38 of file EDAnalyzer.h.

Constructor & Destructor Documentation

comi::NumiFilteringAna::NumiFilteringAna ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 128 of file NumiFilteringAna_module.cc.

128  :
129  EDAnalyzer(pset),
130  fSlicerLabel (pset.get< std::string >("SlicerLabel") ),
131  fTrackType (pset.get< std::string >("TrackType") ),
132  fProngType (pset.get< std::string >("ProngType") ),
133  fPSetNDOS (pset.get< fhicl::ParameterSet >("ndos") ),
134  fPSetND (pset.get< fhicl::ParameterSet >("nd") ),
135  fPSetFD (pset.get< fhicl::ParameterSet >("fd") )
136  {
137  }
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
enum BeamMode string
comi::NumiFilteringAna::~NumiFilteringAna ( )
virtual

Definition at line 140 of file NumiFilteringAna_module.cc.

141  {
142  }

Member Function Documentation

void comi::NumiFilteringAna::analyze ( art::Event const &  evt)
virtual

Implements art::EDAnalyzer.

Definition at line 230 of file NumiFilteringAna_module.cc.

References rb::CellHit::Cell(), rb::Cluster::Cell(), art::EventID::event(), fFMaxX, fFMaxY, fFMaxZ, fFMinX, fFMinY, fFMinZ, fFNXplanes, fFNYplanes, fMaxXFid, fMaxYFid, fMaxZFid, fMinXFid, fMinYFid, fMinZFid, fProngType, fSlicerLabel, fSMaxAnyHitUn, fSMaxX, fSMaxXHitUn, fSMaxY, fSMaxYHitUn, fSMaxZ, fSMaxZHitUn, fSMinX, fSMinXHitUn, fSMinY, fSMinYHitUn, fSMinZ, fSMinZHitUn, fSNXplanes, fSNYplanes, fTrackType, geom(), art::Ptr< T >::get(), art::DataViewImpl::getByLabel(), make_syst_table_plots::h, art::Event::id(), rb::Prong::Is3D(), rb::IsFiltered(), rb::Cluster::IsNoise(), calib::j, geo::kX, geo::kY, CLHEP::L, rb::Cluster::MaxXYZ(), rb::Cluster::MinXYZ(), getGoodRuns4SAM::n, rb::Cluster::NCell(), rb::CellHit::Plane(), geo::GeometryBase::Plane(), art::Event::run(), art::Event::subRun(), subrun, POTSpillRate::view, rb::CellHit::View(), submit_syst::x, submit_syst::y, and test::z.

231  {
232 
233  run = evt.run();
234  subrun = evt.subRun();
235  event = evt.id().event();
236 
237  //Grab event's Slicer slices
239  evt.getByLabel(fSlicerLabel, slices);
240 
241  // Object holding prongs associated with cluster
242  art::FindManyP<rb::Prong> fmpProng(slices, evt, fProngType);
243 
244  // Object holding tracks associated with cluster
245  art::FindManyP<rb::Track> fmpTrack(slices, evt, fTrackType);
246 
247  const int sliceMax = slices->size();
248 
249  for(int sliceIdx = 0; sliceIdx < sliceMax; ++sliceIdx){
250  if(rb::IsFiltered(evt, slices, sliceIdx)) continue;
251 
252  const rb::Cluster& slice = (*slices)[sliceIdx];
253 
254  // Skip noise slices
255  if(slice.IsNoise()) continue;
256 
257  std::vector< art::Ptr<rb::Prong> > prongs;
258 
259  double longestObj = 0;
260  unsigned int longObjIdx = 0;
261 
262  // If there are associations between Prong and Cluster use them
263  if(fmpProng.isValid()){
264  prongs = fmpProng.at(sliceIdx);
265  }
266  else continue; // otherwise skip this slice
267 
268  // 3D prongs container
269  std::vector< art::Ptr<rb::Prong> > prongs3D;
270  for(unsigned int itr = 0; itr < prongs.size(); ++itr){
271  if(prongs[itr]->Is3D()) prongs3D.push_back(prongs[itr]);
272  }
273 
274  //Find the longest 3D prong in the slice:
275  for(unsigned int n = 0; n < prongs3D.size(); ++n){
276  const double L = prongs3D[n]->TotalLength();
277  if(L > longestObj) {
278  longestObj = L;
279  longObjIdx = n;
280  }
281  }
282 
283  const double nCells = slice.NCell(); //Number of cells in slice
284 
285  unsigned int PXhi = 0, PXhiFK = 0;
286  unsigned int PXlo = UINT_MAX, PXloFK = UINT_MAX;
287  unsigned int PYhi = 0, PYhiFK = 0;
288  unsigned int PYlo = UINT_MAX, PYloFK = UINT_MAX;
289 
290  bool is3d = false;
291 
292 
293  if(fmpTrack.isValid()){
294  std::vector< art::Ptr<rb::Track> > tracks = fmpTrack.at(sliceIdx);
295  if(tracks.size()>0) {
296  const art::Ptr<rb::Track> track = tracks[0];
297  is3d = track->Is3D();
298  }
299  }
300  else {
301  mf::LogWarning("NumiFilteringAna") << "No Tracks. Skip this slice!";
302  continue;
303  }
304 
305  //----------------Make any cut selections here----------------
306  // Do the NCell cut
307  if(nCells <= 20 || !is3d) continue;
308  if(prongs3D.size() < 1) continue;
309 
310  double sminx = -9999., sminy = -9999., sminz = -9999.;
311  double smaxx = 9999., smaxy = 9999., smaxz = 9999.;
312 
313  double fminx = -9999., fminy = -9999., fminz = -9999.;
314  double fmaxx = 9999., fmaxy = 9999., fmaxz = 9999.;
315 
316  sminx = slice.MinXYZ().X();
317  sminy = slice.MinXYZ().Y();
318  sminz = slice.MinXYZ().Z();
319 
320  smaxx = slice.MaxXYZ().X();
321  smaxy = slice.MaxXYZ().Y();
322  smaxz = slice.MaxXYZ().Z();
323 
324  // Skip 4 diblock slices
325  if(sminz > 1702 || smaxz > 1702) continue;
326 
327 
328  fminx = prongs3D[longObjIdx]->MinXYZ().X();
329  fminy = prongs3D[longObjIdx]->MinXYZ().Y();
330  fminz = prongs3D[longObjIdx]->MinXYZ().Z();
331 
332  fmaxx = prongs3D[longObjIdx]->MaxXYZ().X();
333  fmaxy = prongs3D[longObjIdx]->MaxXYZ().Y();
334  fmaxz = prongs3D[longObjIdx]->MaxXYZ().Z();
335 
336  unsigned int nXplanes = 0, nYplanes = 0;
337 
338  unsigned int stot[6] = {0,0,0,0,0,0};
339 
340  //loop over all hits
341  for(int view = geo::kX; view <= geo::kY; ++view) {
342  const geo::View_t geoview = geo::View_t(view);
343 
344  for(unsigned int j = 0; j < slice.NCell(geoview); ++j) {
345 
346  const rb::CellHit* h = slice.Cell(geoview,j).get();
347 
349 
350  double xyz[3];
351  geom->Plane(h->Plane())->Cell(h->Cell())->GetCenter(xyz);
352  const double x = xyz[0];
353  const double y = xyz[1];
354  const double z = xyz[2];
355 
356  if(h->View() == geo::kX) {
357  if(h->Plane() > PXhi) PXhi = h->Plane();
358  if(h->Plane() < PXlo) PXlo = h->Plane();
359  }
360  if(h->View() == geo::kY) {
361  if(h->Plane() > PYhi) PYhi = h->Plane();
362  if(h->Plane() < PYlo) PYlo = h->Plane();
363  }
364  // Total up number of cells > Max (X/Y/Z) and < Min (X/Y/Z)
365  //TOP
366  if(y > fMaxYFid) {
367  stot[0]++;
368  continue;
369  }
370  //BOTTOM
371  if(y < fMinYFid) {
372  stot[1]++;
373  continue;
374  }
375  //LEFT
376  if(x > fMaxXFid) {
377  stot[2]++;
378  continue;
379  }
380  //RIGHT
381  if(x < fMinXFid) {
382  stot[3]++;
383  continue;
384  }
385  //FRONT
386  if(z < fMinZFid) {
387  stot[4]++;
388  continue;
389  }
390  //BACK
391  if(z > fMaxZFid) {
392  stot[5]++;
393  continue;
394  }
395 
396  }
397  }
398 
399 
400  nXplanes = PXhi - PXlo+1;
401  nYplanes = PYhi - PYlo+1;
402 
403  unsigned int nXplanesFK = 0, nYplanesFK = 0;
404 
405  //loop over all hits
406  for(int view = geo::kX; view <= geo::kY; ++view) {
407  const geo::View_t geoview = geo::View_t(view);
408  const unsigned int ncellview = prongs3D[longObjIdx]->NCell(geoview);
409 
410  for(unsigned int j = 0; j < ncellview; ++j) {
411 
413  const rb::CellHit* h = prongs3D[longObjIdx]->Cell(geoview,j).get();
414 
415  // Find max/min plane number
416  if(h->View() == geo::kX) {
417  if(h->Plane() > PXhiFK) PXhiFK = h->Plane();
418  if(h->Plane() < PXloFK) PXloFK = h->Plane();
419  }
420  if(h->View() == geo::kY) {
421  if(h->Plane() > PYhiFK) PYhiFK = h->Plane();
422  if(h->Plane() < PYloFK) PYloFK = h->Plane();
423  }
424  }
425  }
426 
427  nXplanesFK = PXhiFK - PXloFK+1;
428  nYplanesFK = PYhiFK - PYloFK+1;
429 
430 
431  // Fill Histograms
432  fSNXplanes->Fill(nXplanes);
433  fSNYplanes->Fill(nYplanes);
434 
435  fFNXplanes->Fill(nXplanesFK);
436  fFNYplanes->Fill(nYplanesFK);
437 
438  // Min/Max postions
439  fSMinX->Fill(sminx);
440  fSMinY->Fill(sminy);
441  fSMinZ->Fill(sminz);
442 
443  fFMinX->Fill(fminx);
444  fFMinY->Fill(fminy);
445  fFMinZ->Fill(fminz);
446 
447  fSMaxX->Fill(smaxx);
448  fSMaxY->Fill(smaxy);
449  fSMaxZ->Fill(smaxz);
450 
451  fFMaxX->Fill(fmaxx);
452  fFMaxY->Fill(fmaxy);
453  fFMaxZ->Fill(fmaxz);
454 
455  // Total # of hits above Max, below Min X/Y/Z
456  fSMaxYHitUn->Fill(stot[0]);
457  fSMinYHitUn->Fill(stot[1]);
458  fSMaxXHitUn->Fill(stot[2]);
459  fSMinXHitUn->Fill(stot[3]);
460  fSMinZHitUn->Fill(stot[4]);
461  fSMaxZHitUn->Fill(stot[5]);
462 
463  //std::cout << "The largest number is: " << *std::max_element(stot,stot+6) << "\n";
464 
465  const unsigned int stotmax = *std::max_element(stot,stot+6);
466  fSMaxAnyHitUn->Fill(stotmax);
467 
468  } // end for sliceIdx
469  }
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
unsigned short Plane() const
Definition: CellHit.h:39
geo::View_t View() const
Definition: CellHit.h:41
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Definition: event.h:19
A collection of associated CellHits.
Definition: Cluster.h:47
const PlaneGeo * Plane(unsigned int i) const
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
TVector3 MaxXYZ() const
Definition: Cluster.cxx:492
unsigned short Cell() const
Definition: CellHit.h:40
static constexpr double L
int evt
bool IsFiltered(const art::Event &evt, art::Ptr< T > x, const std::vector< std::string > &labels)
Is this Ptr marked "filtered out"?
Definition: FilterList.h:96
const double j
Definition: BetheBloch.cxx:29
z
Definition: test.py:28
Definition: run.py:1
art::Ptr< rb::CellHit > Cell(geo::View_t view, unsigned int viewIdx) const
Get the ith cell from view view.
Definition: Cluster.cxx:145
A rawdata::RawDigit with channel information decoded.
Definition: CellHit.h:27
T const * get() const
Definition: Ptr.h:321
TVector3 MinXYZ() const
Definition: Cluster.cxx:446
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
void geom(int which=0)
Definition: geom.C:163
bool IsNoise() const
Is the noise flag set?
Definition: Cluster.h:163
virtual bool Is3D() const
Definition: Prong.h:71
void comi::NumiFilteringAna::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 145 of file NumiFilteringAna_module.cc.

References fFMaxX, fFMaxY, fFMaxZ, fFMinX, fFMinY, fFMinZ, fFNXplanes, fFNYplanes, fLivetime, fSMaxAnyHitUn, fSMaxX, fSMaxXHitUn, fSMaxY, fSMaxYHitUn, fSMaxZ, fSMaxZHitUn, fSMinX, fSMinXHitUn, fSMinY, fSMinYHitUn, fSMinZ, fSMinZHitUn, fSNXplanes, fSNYplanes, art::TFileDirectory::make(), xbins, xmax, ybins, ymax, zbins, and make_true_q0q3_plots::zmax.

146  {
148 
149  double nhitmax = 100.0;
150  int nhitbins = 100;
151  double nplanemax = 500.0;
152  int nplanebins = 500;
153  double xmax = 1200.0;
154  double ymax = 1200.0;
155  double zmax = 6500.0;
156  int xbins = 480;
157  int ybins = 480;
158  int zbins = 1300;
159 
160  fLivetime = tfs->make<TH1D>("livetime", "TotalLiveTime;;Seconds", 1, 0, 1);
161  // # Uncontained hits in x/y/z min/max for Slicer Clusters
162  fSMaxAnyHitUn = tfs->make<TH1D>("smaxanyhitun",";# Slicer Cluster Uncontained Hits Max; # of Slices",nhitbins, 0., nhitmax);
163 
164  fSMinXHitUn = tfs->make<TH1D>("sminxhitun",";# Slicer Cluster Uncontained Hits minX; # of Slices",nhitbins, 0., nhitmax);
165  fSMinYHitUn = tfs->make<TH1D>("sminyhitun",";# Slicer Cluster Uncontained Hits minY; # of Slices",nhitbins, 0., nhitmax);
166  fSMinZHitUn = tfs->make<TH1D>("sminzhitun",";# Slicer Cluster Uncontained Hits minZ; # of Slices",nhitbins, 0., nhitmax);
167 
168  fSMaxXHitUn = tfs->make<TH1D>("smaxxhitun",";# Slicer Cluster Uncontained Hits maxX; # of Slices",nhitbins, 0., nhitmax);
169  fSMaxYHitUn = tfs->make<TH1D>("smaxyhitun",";# Slicer Cluster Uncontained Hits maxY; # of Slices",nhitbins, 0., nhitmax);
170  fSMaxZHitUn = tfs->make<TH1D>("smaxzhitun",";# Slicer Cluster Uncontained Hits maxZ; # of Slices",nhitbins, 0., nhitmax);
171 
172  // Min/Max X/Y/Z position of Slicer Cluster
173  fSMinX = tfs->make<TH1D>("sminx",";Min. X Slicer Cluster; # of Slices",xbins, -xmax, xmax);
174  fSMinY = tfs->make<TH1D>("sminy",";Min. Y Slicer Cluster; # of Slices",ybins, -ymax, ymax);
175  fSMinZ = tfs->make<TH1D>("sminz",";Min. Z Slicer Cluster; # of Slices",zbins, 0., zmax);
176 
177  // Min/Max X/Y/Z position of FuzzyK Cluster
178  fFMinX = tfs->make<TH1D>("fminx",";Min. X FuzzyK Cluster; # of Slices",xbins, -xmax, xmax);
179  fFMinY = tfs->make<TH1D>("fminy",";Min. Y FuzzyK Cluster; # of Slices",ybins, -ymax, ymax);
180  fFMinZ = tfs->make<TH1D>("fminz",";Min. Z FuzzyK Cluster; # of Slices",zbins, 0., zmax);
181 
182  // Min/Max X/Y/Z position of Slicer Cluster
183  fSMaxX = tfs->make<TH1D>("smaxx",";Max. X Slicer Cluster; # of Slices",xbins, -xmax, xmax);
184  fSMaxY = tfs->make<TH1D>("smaxy",";Max. Y Slicer Cluster; # of Slices",ybins, -ymax, ymax);
185  fSMaxZ = tfs->make<TH1D>("smaxz",";Max. Z Slicer Cluster; # of Slices",zbins, 0., zmax);
186 
187  // Min/Max X/Y/Z position of FuzzyK Cluster
188  fFMaxX = tfs->make<TH1D>("fmaxx",";Max. X FuzzyK Cluster; # of Slices",xbins, -xmax, xmax);
189  fFMaxY = tfs->make<TH1D>("fmaxy",";Max. Y FuzzyK Cluster; # of Slices",ybins, -ymax, ymax);
190  fFMaxZ = tfs->make<TH1D>("fmaxz",";Max. Z FuzzyK Cluster; # of Slices",zbins, 0., zmax);
191 
192  // # X/Y planes for Slicer Clusters
193  fSNXplanes = tfs->make<TH1D>("snxplanes",";# X Planes Slicer Cluster Extends; # of Slices",nplanebins, 0., nplanemax);
194  fSNYplanes = tfs->make<TH1D>("snyplanes",";# Y Planes Slicer Cluster Extends; # of Slices",nplanebins, 0., nplanemax);
195 
196  fFNXplanes = tfs->make<TH1D>("fnxplanes",";# X Planes FuzzyK Cluster Extends; # of Slices",nplanebins, 0., nplanemax);
197  fFNYplanes = tfs->make<TH1D>("fnyplanes",";# Y Planes FuzzyK Cluster Extends; # of Slices",nplanebins, 0., nplanemax);
198  }
std::map< std::string, double > xmax
Double_t ymax
Definition: plot.C:25
const int xbins
Definition: MakePlots.C:82
const int ybins
T * make(ARGS...args) const
const Binning zbins
void comi::NumiFilteringAna::beginRun ( const art::Run run)

Definition at line 201 of file NumiFilteringAna_module.cc.

References ana::assert(), geo::GeometryBase::DetId(), fMaxXFid, fMaxYFid, fMaxZFid, fMinXFid, fMinYFid, fMinZFid, fPSetFD, fPSetND, fPSetNDOS, geom(), fhicl::ParameterSet::get(), novadaq::cnv::kFARDET, novadaq::cnv::kNDOS, and novadaq::cnv::kNEARDET.

202  {
204 
205  fhicl::ParameterSet pset;
206 
207  switch(geom->DetId()){
208  case novadaq::cnv::kNDOS:
209  pset = fPSetNDOS;
210  break;
212  pset = fPSetND;
213  break;
215  pset = fPSetFD;
216  break;
217  default:
218  assert(0 && "Unknown detector");
219  }
220 
221  fMinXFid = pset.get< float >("MinXFid");
222  fMaxXFid = pset.get< float >("MaxXFid");
223  fMinYFid = pset.get< float >("MinYFid");
224  fMaxYFid = pset.get< float >("MaxYFid");
225  fMinZFid = pset.get< float >("MinZFid");
226  fMaxZFid = pset.get< float >("MaxZFid");
227  }
Far Detector at Ash River, MN.
Prototype Near Detector on the surface at FNAL.
T get(std::string const &key) const
Definition: ParameterSet.h:231
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
void geom(int which=0)
Definition: geom.C:163
assert(nhit_max >=nhit_nbins)
void comi::NumiFilteringAna::beginSubRun ( const art::SubRun sr)
virtual

Definition at line 472 of file NumiFilteringAna_module.cc.

References art::Handle< T >::failedToGet(), fTotalLivetime, art::DataViewImpl::getByLabel(), art::SubRun::subRun(), and sumdata::CosmicExposure::totlivetime.

473  {
475 
476  sr.getByLabel("exposure", expo);
477  if(!expo.failedToGet())
478  {
479  fTotalLivetime += expo->totlivetime;
480  mf::LogInfo("CAFMaker") << "Exposure in subrun " << sr.subRun()
481  << " = " << expo->totlivetime;
482  }
483  }
SubRunNumber_t subRun() const
Definition: SubRun.h:44
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
bool failedToGet() const
Definition: Handle.h:196
detail::CachedProducts& art::EventObserverBase::cachedProducts ( )
inlineprotectedinherited

Definition at line 79 of file EventObserverBase.h.

References art::EventObserverBase::selectors_.

80  {
81  return selectors_;
82  }
detail::CachedProducts selectors_
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::EDAnalyzer::currentContext ( ) const
protectedinherited
void comi::NumiFilteringAna::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 485 of file NumiFilteringAna_module.cc.

References DEFINE_ART_MODULE(), fLivetime, and fTotalLivetime.

seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
art::Handle<art::TriggerResults> art::EventObserverBase::getTriggerResults ( Event const &  e) const
inlineinherited

Definition at line 61 of file EventObserverBase.h.

References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.

62  {
64  }
detail::CachedProducts selectors_
art::Handle< art::TriggerResults > getOneTriggerResults(Event const &) const
Float_t e
Definition: plot.C:35
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::EventObserverBase::modifiesEvent ( ) const
inlineinherited

Definition at line 25 of file EventObserverBase.h.

26  {
27  return false;
28  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited
void art::EventObserverBase::registerProducts ( MasterProductRegistry ,
ProductDescriptions ,
ModuleDescription const &   
)
inlineinherited

Definition at line 33 of file EventObserverBase.h.

References string.

36  {}
fhicl::ParameterSetID art::EventObserverBase::selectorConfig ( ) const
inlineinherited

Definition at line 56 of file EventObserverBase.h.

References art::EventObserverBase::selector_config_id_.

57  {
58  return selector_config_id_;
59  }
fhicl::ParameterSetID selector_config_id_
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

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

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited
bool art::EventObserverBase::wantAllEvents ( ) const
inlineinherited

Definition at line 46 of file EventObserverBase.h.

References art::EventObserverBase::wantAllEvents_.

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

47  {
48  return wantAllEvents_;
49  }
bool art::EventObserverBase::wantEvent ( Event const &  e)
inlineinherited

Definition at line 51 of file EventObserverBase.h.

References art::EventObserverBase::selectors_, and art::detail::CachedProducts::wantEvent().

52  {
53  return selectors_.wantEvent(e);
54  }
detail::CachedProducts selectors_
Float_t e
Definition: plot.C:35
bool wantEvent(Event const &)
std::string art::EDAnalyzer::workerType ( ) const
inlineinherited

Definition at line 109 of file EDAnalyzer.h.

References art::EDAnalyzer::currentContext().

110  {
111  return "WorkerT<EDAnalyzer>";
112  }

Member Data Documentation

int comi::NumiFilteringAna::event
private

Definition at line 82 of file NumiFilteringAna_module.cc.

TH1D* comi::NumiFilteringAna::fFMaxX
private

Definition at line 110 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFMaxY
private

Definition at line 111 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFMaxZ
private

Definition at line 112 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFMinX
private

Definition at line 106 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFMinY
private

Definition at line 107 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFMinZ
private

Definition at line 108 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFNXplanes
private

Definition at line 116 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fFNYplanes
private

Definition at line 117 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fLivetime
private

Definition at line 86 of file NumiFilteringAna_module.cc.

Referenced by beginJob(), and endJob().

float comi::NumiFilteringAna::fMaxXFid
protected

Definition at line 69 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

float comi::NumiFilteringAna::fMaxYFid
protected

Definition at line 70 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

float comi::NumiFilteringAna::fMaxZFid
protected

Definition at line 71 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

float comi::NumiFilteringAna::fMinXFid
protected

Definition at line 66 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

float comi::NumiFilteringAna::fMinYFid
protected

Definition at line 67 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

float comi::NumiFilteringAna::fMinZFid
protected

Definition at line 68 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginRun().

std::string comi::NumiFilteringAna::fProngType
protected

Definition at line 64 of file NumiFilteringAna_module.cc.

Referenced by analyze().

fhicl::ParameterSet comi::NumiFilteringAna::fPSetFD
protected

Definition at line 74 of file NumiFilteringAna_module.cc.

Referenced by beginRun().

fhicl::ParameterSet comi::NumiFilteringAna::fPSetND
protected

Definition at line 74 of file NumiFilteringAna_module.cc.

Referenced by beginRun().

fhicl::ParameterSet comi::NumiFilteringAna::fPSetNDOS
protected

Definition at line 74 of file NumiFilteringAna_module.cc.

Referenced by beginRun().

std::string comi::NumiFilteringAna::fSlicerLabel
protected

Definition at line 62 of file NumiFilteringAna_module.cc.

Referenced by analyze().

TH1D* comi::NumiFilteringAna::fSMaxAnyHitUn
private

Definition at line 88 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxX
private

Definition at line 102 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxXHitUn
private

Definition at line 94 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxY
private

Definition at line 103 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxYHitUn
private

Definition at line 95 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxZ
private

Definition at line 104 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMaxZHitUn
private

Definition at line 96 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinX
private

Definition at line 98 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinXHitUn
private

Definition at line 90 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinY
private

Definition at line 99 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinYHitUn
private

Definition at line 91 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinZ
private

Definition at line 100 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSMinZHitUn
private

Definition at line 92 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSNXplanes
private

Definition at line 114 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

TH1D* comi::NumiFilteringAna::fSNYplanes
private

Definition at line 115 of file NumiFilteringAna_module.cc.

Referenced by analyze(), and beginJob().

double comi::NumiFilteringAna::fTotalLivetime
private

Definition at line 84 of file NumiFilteringAna_module.cc.

Referenced by beginSubRun(), and endJob().

std::string comi::NumiFilteringAna::fTrackType
protected

Definition at line 63 of file NumiFilteringAna_module.cc.

Referenced by analyze().

int comi::NumiFilteringAna::run
private
int comi::NumiFilteringAna::subrun
private

Definition at line 81 of file NumiFilteringAna_module.cc.

Referenced by analyze().


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