Public Types | 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::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

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
 
void doBeginJob ()
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
void registerProducts (ProductDescriptions &, ModuleDescription const &)
 
void fillDescriptions (ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
Handle< TriggerResults > getTriggerResults (Event const &e) const
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< TconsumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< TmayConsumeView (InputTag const &tag)
 

Protected Member Functions

detail::ProcessAndEventSelectors & processAndEventSelectors ()
 
ConsumesCollector & consumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

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 25 of file EDAnalyzer.h.

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

Definition at line 24 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(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.h:27
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(), rb::Cluster::NCell(), rb::CellHit::Plane(), geo::GeometryBase::Plane(), art::DataViewImpl::run(), subrun, art::DataViewImpl::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
std::void_t< T > n
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
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
T const * get() const
Definition: Ptr.h:149
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, 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
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::DataViewImpl::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  }
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
Definition: DataViewImpl.h:446
SubRunNumber_t subRun() const
bool failedToGet() const
Definition: Handle.h:190
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 55 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumes(), T, and getGoodRuns4SAM::tag.

56  {
57  return collector_.consumes<T, BT>(tag);
58  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ProductToken< T > consumes(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ConsumesCollector& art::ModuleBase::consumesCollector ( )
protectedinherited
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 69 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesMany(), and T.

70  {
71  collector_.consumesMany<T, BT>();
72  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 62 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesView(), T, and getGoodRuns4SAM::tag.

63  {
64  return collector_.consumesView<T, BT>(tag);
65  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > consumesView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
void art::detail::Analyzer::doBeginJob ( )
inherited
bool art::detail::Analyzer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited
bool art::detail::Analyzer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited
void art::detail::Analyzer::doEndJob ( )
inherited
bool art::detail::Analyzer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited
bool art::detail::Analyzer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited
bool art::detail::Analyzer::doEvent ( EventPrincipal ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
inherited
void art::detail::Analyzer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited
void art::detail::Analyzer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited
void art::detail::Analyzer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited
void art::detail::Analyzer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited
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.

void art::Observer::fillDescriptions ( ModuleDescription const &  )
inherited
std::array<std::vector<ProductInfo>, NumBranchTypes> const& art::ModuleBase::getConsumables ( ) const
inherited
Handle<TriggerResults> art::Observer::getTriggerResults ( Event const &  e) const
inherited
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 76 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsume(), T, and getGoodRuns4SAM::tag.

77  {
78  return collector_.mayConsume<T, BT>(tag);
79  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 90 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeMany(), and T.

91  {
93  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 83 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeView(), T, and getGoodRuns4SAM::tag.

84  {
85  return collector_.mayConsumeView<T, BT>(tag);
86  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > mayConsumeView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ModuleDescription const& art::ModuleBase::moduleDescription ( ) const
inherited
detail::ProcessAndEventSelectors& art::Observer::processAndEventSelectors ( )
protectedinherited
std::string const& art::Observer::processName ( ) const
inherited
void art::Observer::registerProducts ( ProductDescriptions ,
ModuleDescription const &   
)
inherited
fhicl::ParameterSetID art::Observer::selectorConfig ( ) const
inherited
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  )
inherited
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited
bool art::Observer::wantAllEvents ( ) const
inherited
bool art::Observer::wantEvent ( Event const &  e)
inherited
std::string art::EDAnalyzer::workerType ( ) const
inherited

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: