Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
calib::HitEfficiency Class Reference
Inheritance diagram for calib::HitEfficiency:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 HitEfficiency (fhicl::ParameterSet const &p)
 
virtual ~HitEfficiency ()
 
void analyze (art::Event const &e)
 
void reconfigure (fhicl::ParameterSet const &p)
 
void beginJob ()
 
void beginRun (art::Run const &r)
 
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 ()
 

Private Attributes

std::string fTrackLabel
 
double fNTrkHits
 
double fNPlanes
 
double fMaxPlane
 
double fDEdge
 
unsigned int fplanemax
 
double zmaxinstr
 
double zmininstr
 
nova::dbi::RunHistory frunhist
 
TH2F * hitsVwVlenx
 
TH2F * cellsVwVlenx
 
TH2F * hitsVwVleny
 
TH2F * cellsVwVleny
 
TH2F * hitsVapddistVlenx
 
TH2F * cellsVapddistVlenx
 
TH2F * hitsVapddistVleny
 
TH2F * cellsVapddistVleny
 
TH2F * hitsVwcell
 
TH2F * cellsVwcell
 
TH2F * hitsVapddistcell
 
TH2F * cellsVapddistcell
 
TH2F * hitsVwcelllencut
 
TH2F * cellsVwcelllencut
 
TH2F * hitsVapddistcelllencut
 
TH2F * cellsVapddistcelllencut
 
TH1F * NEvents
 
int fnevents
 
double minpath = 6.0
 
double maxpath = 7.0
 

Detailed Description

Definition at line 46 of file HitEfficiency_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

calib::HitEfficiency::HitEfficiency ( fhicl::ParameterSet const &  p)
explicit

Definition at line 111 of file HitEfficiency_module.cc.

References reconfigure().

112  : EDAnalyzer(p)
113  {
114  this->reconfigure(p);
115  }
const char * p
Definition: xmltok.h:285
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.h:27
void reconfigure(fhicl::ParameterSet const &p)
calib::HitEfficiency::~HitEfficiency ( )
virtual

Definition at line 127 of file HitEfficiency_module.cc.

128  {
129  // Clean up dynamic memory and other resources here.
130  }

Member Function Documentation

void calib::HitEfficiency::analyze ( art::Event const &  e)
virtual

Implements art::EDAnalyzer.

Definition at line 248 of file HitEfficiency_module.cc.

References rb::Cluster::AllCells(), getBrightness::cell, geo::PlaneGeo::Cell(), cellsVapddistcell, cellsVapddistcelllencut, cellsVapddistVlenx, cellsVapddistVleny, cellsVwcell, cellsVwcelllencut, cellsVwVlenx, cellsVwVleny, visualisationForPaperMasterPlot::cmap, geo::GeometryBase::CountCellsOnLine(), geo::GeometryBase::DetHalfHeight(), geo::GeometryBase::DetHalfWidth(), dir, rb::Prong::Dir(), geo::GeometryBase::DistToElectronics(), dx, dy, dz, fDEdge, fnevents, fNPlanes, fNTrkHits, fplanemax, fTrackLabel, geom(), art::DataViewImpl::getByLabel(), geo::CellGeo::GetCenter(), geo::CellGeo::HalfW(), hitsVapddistcell, hitsVapddistcelllencut, hitsVapddistVlenx, hitsVapddistVleny, hitsVwcell, hitsVwcelllencut, hitsVwVlenx, hitsVwVleny, MECModelEnuComparisons::i, geo::kX, geo::kXorY, maxpath, rb::Cluster::MaxPlane(), minpath, rb::Cluster::MinPlane(), rb::Cluster::NXCell(), rb::Cluster::NYCell(), geo::GeometryBase::Plane(), NDAPDHVSetting::plane, art::PtrVector< T >::push_back(), art::PtrVector< T >::size(), rb::SortByPlane(), std::sqrt(), febshutoff_auto::start, rb::Prong::Start(), rb::Track::Stop(), track, geo::PlaneGeo::View(), rb::Cluster::View(), w, xmax, ymax, make_true_q0q3_plots::zmax, zmaxinstr, and zmininstr.

249  {
250 
251  ++fnevents;
252 
253  // make a geometry service handle
255  // make a cmap service handle
257 
258 
259  //get the cosmic tracks associated with each event
261  e.getByLabel(fTrackLabel,trackcol);
263  for(unsigned int i = 0; i<trackcol->size(); ++i){
264  art::Ptr<rb::Track>track(trackcol,i);
265  tracks.push_back(track);
266  }
267 
268  // loop over the tracks
269  for(unsigned int itr = 0; itr < tracks.size(); ++itr){
270  art::Ptr<rb::Track> track = tracks[itr];
271 
272  if(track->View() != geo::kXorY){ continue; }
273 
274  // get basic track information here to store in tree
275  int nxhit = track->NXCell();
276  int nyhit = track->NYCell();
277  if(nxhit < fNTrkHits || nyhit < fNTrkHits){ continue; }
278 
279  TVector3 dir = track->Dir();
280  double dx = dir.X();
281  double dy = dir.Y();
282  double dz = dir.Z();
283  if( dx > 1.0 || dx < -1.0 ||
284  dy > 1.0 || dy < -1.0 ||
285  dz > 1.0 || dz < -1.0){ continue; }
286 
287  // find the minimum, maximum planes
288  unsigned int minplane = track->MinPlane();
289  unsigned int maxplane = track->MaxPlane();
290 
291  if((maxplane - minplane) < fNPlanes){ continue; }
292  if(maxplane > fplanemax || minplane > fplanemax){ continue; }
293 
294  // get the track start/stop point info
295  TVector3 start = track->Start();
296  TVector3 stop = track->Stop();
297  double ix = start.X();
298  double iy = start.Y();
299  double iz = start.Z();
300  double fx = stop.X();
301  double fy = stop.Y();
302  double fz = stop.Z();
303 
304  double zmin = zmininstr+fDEdge;
305  double zmax = zmaxinstr-fDEdge;
306  double xmax = geom->DetHalfWidth() - fDEdge;
307  double ymax = geom->DetHalfHeight() - fDEdge;
308 
309  // through going track cut
310  if(fabs(ix) < xmax && fabs(iy) < ymax && iz > zmin && iz < zmax){ continue; } //start
311  if(fabs(fx) < xmax && fabs(fy) < ymax && fz > zmin && fz < zmax){ continue; } // stop
312 
313  // get the hits that belong to this track
314  art::PtrVector<rb::CellHit> trkhits = track->AllCells();
315 
316  // sort the hits by plane
317  rb::SortByPlane(trkhits);
318 
319  // get the list of cells that the track passes through
320  std::vector<geo::OfflineChan> allcellsontrack, ycellsontrack;
321  geom->CountCellsOnLine(start,stop,allcellsontrack,ycellsontrack);
322 
323  for(unsigned int i = 0; i < ycellsontrack.size(); ++i){
324  allcellsontrack.push_back(ycellsontrack[i]);
325  }
326 
327  // make a list of tricells
328  std::vector<geo::OfflineChan> tricells;
329  for(unsigned int icell = 0; icell < allcellsontrack.size(); ++icell){
330  // check if the z position of the cell falls in the instrumented region
331  double zcent[3];
332  geom->Plane(allcellsontrack[icell].Plane())->Cell(allcellsontrack[icell].Cell())->GetCenter(zcent);
333  if(zcent[2] < zmininstr || zcent[2] > zmaxinstr){ continue; }
334  // find the maximum and minimum cell hit on this plane
335  int plane = allcellsontrack[icell].Plane();
336  int cellmin = allcellsontrack[icell].Cell()-1;
337  int cellmax = allcellsontrack[icell].Cell()+1;
338  bool topok = false;
339  bool botok = false;
340  for(unsigned int ihit = 0; ihit < trkhits.size(); ++ihit){
341  if(trkhits[ihit]->Plane() < plane){ continue; }
342  if(trkhits[ihit]->Plane() > plane){ break; }
343  // now have a hit on the same plane
344  if(trkhits[ihit]->Cell() == cellmax){ topok = true; }
345  else if(trkhits[ihit]->Cell() == cellmin){ botok = true; }
346  }
347  if(topok && botok){ tricells.push_back(allcellsontrack[icell]); }
348  }
349 
350  // loop over all the cells this track passes through
351  for(unsigned int icell = 0; icell < tricells.size(); ++icell){
352 
353  unsigned int cell = tricells[icell].Cell();
354  unsigned int plane = tricells[icell].Plane();
355 
356  // if plane is not less than plane max skip
357  if(plane > fplanemax-1){ continue; }
358 
359  // check if this channel is enabled
360  bool enable = true;
361  // need to double check this is working, leave disabled for now
362  // get dcm
363  // const daqchannelmap::lchan LogicalChannel = cmap->encodeLChan(fDet,plane,cell);
364  // // get the dcm id
365  // const uint32_t dcmid = cmap->getDCMOffline(LogicalChannel);
366  // // get the feb id
367  // const int febid = cmap->getDCMLinkOffline(LogicalChannel);
368  // // get the run history dcm object for this dcm id
369  // nova::dbi::RunHistory::DCM dcm = frunhist.GetDCM(dcmid);
370  // // get enable information for this febid
371  // enable = dcm.feb[febid].isEnabled;
372  // skip if not enabled
373  if(!enable){ continue; }
374 
375  // get the center of this cell
376  double xyz[3];
377  geom->Plane(plane)->Cell(cell)->GetCenter(xyz);
378 
379  double deltax,deltay,deltaz,w;
380  if(geom->Plane(plane)->View() == geo::kX){
381  deltax = 2.0*geom->Plane(plane)->Cell(cell)->HalfW();
382  deltay = (dy/dx)*deltax;
383  deltaz = (dz/dx)*deltax;
384  // find the w position (y) for this cell
385  w = (xyz[2]-iz)*dy/dz + iy;
386  }
387  else{
388  deltay = 2.0*geom->Plane(plane)->Cell(cell)->HalfW();
389  deltax = (dx/dy)*deltay;
390  deltaz = (dz/dy)*deltay;
391  // find the w position (x) for this cell
392  w = (xyz[2]-iz)*dx/dz + ix;
393  }
394 
395  double tripath = sqrt(deltax*deltax+deltay*deltay+deltaz*deltaz);
396  double apddist = geom->DistToElectronics(w,*(geom->Plane(plane)->Cell(cell)));
397 
398  // loop over hits and see if this is a hit or not
399  bool hit = false;
400  for(unsigned int ihit = 0; ihit < trkhits.size(); ++ihit){
401  if(trkhits[ihit]->Cell() == cell && trkhits[ihit]->Plane() == plane){
402  hit = true;
403  break;
404  }
405  }
406 
407  // Fill some histograms
408  int cellbin = 384*plane+cell;
409 
410  if(geom->Plane(plane)->View() == geo::kX){
411  cellsVwVlenx->Fill(w,tripath);
412  cellsVapddistVlenx->Fill(apddist,tripath);
413  }
414  else{
415  cellsVwVleny->Fill(w,tripath);
416  cellsVapddistVleny->Fill(apddist,tripath);
417  }
418  cellsVwcell->Fill(cellbin,w);
419  cellsVapddistcell->Fill(cellbin,apddist);
420 
421  if(hit){
422  hitsVwcell->Fill(cellbin,w);
423  hitsVapddistcell->Fill(cellbin,apddist);
424  if(geom->Plane(plane)->View() == geo::kX){
425  hitsVwVlenx->Fill(w,tripath);
426  hitsVapddistVlenx->Fill(apddist,tripath);
427  }
428  else{
429  hitsVwVleny->Fill(w,tripath);
430  hitsVapddistVleny->Fill(apddist,tripath);
431  }
432  }
433 
434  // make plots with path length cut
435  if(tripath > minpath && tripath < maxpath){
436  cellsVwcelllencut->Fill(cellbin,w);
437  cellsVapddistcelllencut->Fill(cellbin,apddist);
438  if(hit){
439  hitsVwcelllencut->Fill(cellbin,w);
440  hitsVapddistcelllencut->Fill(cellbin,apddist);
441  }
442  }
443 
444  } // end of loop over tricells
445 
446  } // end of loop over tracks
447 
448  } // end of analyze
virtual geo::View_t View() const
kXorY for 3D clusters.
Definition: Cluster.h:99
void GetCenter(double *xyz, double localz=0.0) const
Definition: CellGeo.cxx:159
std::map< std::string, double > xmax
X or Y views.
Definition: PlaneGeo.h:30
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
T sqrt(T number)
Definition: d0nt_math.hpp:156
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Definition: event.h:19
double HalfW() const
Definition: CellGeo.cxx:191
const PlaneGeo * Plane(unsigned int i) const
virtual TVector3 Start() const
Definition: Prong.h:73
art::PtrVector< rb::CellHit > AllCells() const
Get all cells from both views.
Definition: Cluster.cxx:180
Double_t ymax
Definition: plot.C:25
void CountCellsOnLine(double X1, double Y1, double Z1, double X2, double Y2, double Z2, std::vector< OfflineChan > &Xhitsonline, std::vector< OfflineChan > &Yhitsonline)
View_t View() const
Which coordinate does this plane measure.
Definition: PlaneGeo.h:53
double dy[NP][NC]
double dx[NP][NC]
double dz[NP][NC]
void push_back(Ptr< U > const &p)
Definition: PtrVector.h:435
virtual TVector3 Dir() const
Unit vector describing prong direction.
Definition: Prong.h:77
double DetHalfHeight() const
size_type size() const
Definition: PtrVector.h:302
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
unsigned int MinPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:462
double DetHalfWidth() const
double DistToElectronics(double localz, const CellGeo &cell) const
get distance from local z position in cell to apd in cm, including pigtail
TDirectory * dir
Definition: macro.C:5
Definition: structs.h:12
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
void geom(int which=0)
Definition: geom.C:163
unsigned int MaxPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.cxx:508
TVector3 Stop() const
Position of the final trajectory point.
Definition: Track.cxx:186
Float_t e
Definition: plot.C:35
Float_t track
Definition: plot.C:35
Float_t w
Definition: plot.C:20
void SortByPlane(std::vector< art::Ptr< rb::CellHit > > &c)
Sort c in plane order (low to high).
Definition: CellHit.cxx:124
void calib::HitEfficiency::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 132 of file HitEfficiency_module.cc.

References cellsVapddistcell, cellsVapddistcelllencut, cellsVapddistVlenx, cellsVapddistVleny, cellsVwcell, cellsVwcelllencut, cellsVwVlenx, cellsVwVleny, fnevents, fplanemax, hitsVapddistcell, hitsVapddistcelllencut, hitsVapddistVlenx, hitsVapddistVleny, hitsVwcell, hitsVwcelllencut, hitsVwVlenx, hitsVwVleny, NEvents, zmaxinstr, and zmininstr.

133  {
135 
136  fplanemax = 896;
137 
138  fnevents = 0;
139 
140  zmaxinstr = 0.0; // maximum instrumented z position
141  zmininstr = 0.0;
142 
143  // Define my histograms binning here
144  double nwbins = 32;
145  double wmin = -800;
146  double wmax = 800;
147 
148  double napdbins = nwbins;
149  double apdmin = 0.0;
150  double apdmax = 1600;
151 
152  double nlbins = 25;
153  double lmin = 0.0;
154  double lmax = 10.0;
155 
156  int ncellbins = 384*fplanemax+1;
157  double cellmin = -0.5;
158  double cellmax = 384*(double)fplanemax+0.5;
159 
160  // efficiency plots
161  hitsVwVlenx = tfs->make<TH2F>("hitsVwVlenx",";W (cm);Length (cm)",
162  nwbins,wmin,wmax,nlbins,lmin,lmax);
163  cellsVwVlenx = tfs->make<TH2F>("cellsVwVlenx",";W (cm);Length (cm)",
164  nwbins,wmin,wmax,nlbins,lmin,lmax);
165 
166 
167  hitsVwVleny = tfs->make<TH2F>("hitsVwVleny",";W (cm);Length (cm)",
168  nwbins,wmin,wmax,nlbins,lmin,lmax);
169  cellsVwVleny = tfs->make<TH2F>("cellsVwVleny",";W (cm);Length (cm)",
170  nwbins,wmin,wmax,nlbins,lmin,lmax);
171 
172 
173  hitsVapddistVlenx = tfs->make<TH2F>("hitsVapddistVlenx",";Distance from APD (cm);Length (cm)",
174  napdbins,apdmin,apdmax,nlbins,lmin,lmax);
175  cellsVapddistVlenx = tfs->make<TH2F>("cellsVapddistVlenx",";Distance from APD (cm);Length (cm)",
176  napdbins,apdmin,apdmax,nlbins,lmin,lmax);
177 
178 
179  hitsVapddistVleny = tfs->make<TH2F>("hitsVapddisVleny",";Distance from APD (cm);Length (cm)",
180  napdbins,apdmin,apdmax,nlbins,lmin,lmax);
181  cellsVapddistVleny = tfs->make<TH2F>("cellsVapddisVleny",";Distance from APD (cm);Length (cm)",
182  napdbins,apdmin,apdmax,nlbins,lmin,lmax);
183 
184 
185  // efficiency plots as a function of w
186  hitsVwcell = tfs->make<TH2F>("hitsVwcell",";Cell;W (cm)",
187  ncellbins,cellmin,cellmax,nwbins,wmin,wmax);
188  cellsVwcell = tfs->make<TH2F>("cellsVwcell",";Cell;W (cm)",
189  ncellbins,cellmin,cellmax,nwbins,wmin,wmax);
190 
191 
192  // plots as a function of apd distance
193  hitsVapddistcell = tfs->make<TH2F>("hitsVapddistcell",";Cell;Distance from APD (cm)",
194  ncellbins,cellmin,cellmax,napdbins,apdmin,apdmax);
195  cellsVapddistcell = tfs->make<TH2F>("cellsVapddistcell",";Cell;Distance from APD (cm)",
196  ncellbins,cellmin,cellmax,napdbins,apdmin,apdmax);
197 
198 
199  // plots after applying path length cut
200  hitsVwcelllencut = tfs->make<TH2F>("hitsVwcelllencut",";Cell;W (cm)",
201  ncellbins,cellmin,cellmax,nwbins,wmin,wmax);
202  cellsVwcelllencut = tfs->make<TH2F>("cellsVwcelllencut",";Cell;W (cm)",
203  ncellbins,cellmin,cellmax,nwbins,wmin,wmax);
204 
205 
206  hitsVapddistcelllencut = tfs->make<TH2F>("hitsVapddistcelllencut",";Cell;Distance from APD (cm)",
207  ncellbins,cellmin,cellmax,napdbins,apdmin,apdmax);
208  cellsVapddistcelllencut = tfs->make<TH2F>("cellsVapddistcelllencut",";Cell;Distance from APD (cm)",
209  ncellbins,cellmin,cellmax,napdbins,apdmin,apdmax);
210 
211  NEvents = tfs->make<TH1F>("NEvents",";NEvents;",1,-0.5,0.5);
212 
213 
214  }
void calib::HitEfficiency::beginRun ( art::Run const &  r)
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 216 of file HitEfficiency_module.cc.

References fMaxPlane, fplanemax, geom(), geo::LiveGeometry::InstrumentedDetEnds(), geo::GeometryBase::NPlanes(), zmaxinstr, and zmininstr.

217  {
218  // make a geometry service handle
220  int planemin = 0;
221  int planemax = geom->NPlanes()-1;
222  if(fMaxPlane >= planemin && fMaxPlane <= planemax){
224  }
225  else{ fplanemax = planemax; }
226 
228  double zfront1,zback1,zfront2,zback2;
229  int ndets = lgeom->InstrumentedDetEnds(zfront1,zback1,zfront2,zback2);
230 
231  // take the most downstream zfront and zback
232  if(ndets > 0){
233  zmaxinstr = zback1;
234  zmininstr = zfront1;
235  }
236 
237  // leaving this disabled for now
238 // fDet = geom->DetId();
239 // // get the run history
240 // run = r.run();
241 // nova::dbi::RunHistory runhist(run,fDet);
242 // frunhist = runhist;
243 // frunhist.LoadDAQRunHistory();
244 // frunhist.LoadPixelInfo();
245 
246  }
void geom(int which=0)
Definition: geom.C:163
unsigned int NPlanes() const
int InstrumentedDetEnds(double &frontDwnstrm, double &backDwnstrm, double &frontUpstrm, double &backUpstrm)
give all detector ends information; most general
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 calib::HitEfficiency::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 450 of file HitEfficiency_module.cc.

References DEFINE_ART_MODULE(), fnevents, and NEvents.

451  {
452  NEvents->SetBinContent(1,fnevents);
453  }
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 calib::HitEfficiency::reconfigure ( fhicl::ParameterSet const &  p)

Definition at line 117 of file HitEfficiency_module.cc.

References fDEdge, fMaxPlane, fNPlanes, fNTrkHits, fTrackLabel, fhicl::ParameterSet::get(), and string.

Referenced by HitEfficiency().

118  {
119  fTrackLabel = pset.get< std::string >("TrackLabel");
120  fNTrkHits = pset.get< double >("NTrkHits");
121  fNPlanes = pset.get< double >("NPlanes");
122  fMaxPlane = pset.get< double >("MaxPlane");
123  fDEdge = pset.get< double >("DEdge");
124  }
enum BeamMode string
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

TH2F* calib::HitEfficiency::cellsVapddistcell
private

Definition at line 90 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVapddistcelllencut
private

Definition at line 97 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVapddistVlenx
private

Definition at line 79 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVapddistVleny
private

Definition at line 82 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVwcell
private

Definition at line 86 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVwcelllencut
private

Definition at line 94 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVwVlenx
private

Definition at line 73 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::cellsVwVleny
private

Definition at line 76 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

double calib::HitEfficiency::fDEdge
private

Definition at line 63 of file HitEfficiency_module.cc.

Referenced by analyze(), and reconfigure().

double calib::HitEfficiency::fMaxPlane
private

Definition at line 62 of file HitEfficiency_module.cc.

Referenced by beginRun(), and reconfigure().

int calib::HitEfficiency::fnevents
private

Definition at line 102 of file HitEfficiency_module.cc.

Referenced by analyze(), beginJob(), and endJob().

double calib::HitEfficiency::fNPlanes
private

Definition at line 61 of file HitEfficiency_module.cc.

Referenced by analyze(), and reconfigure().

double calib::HitEfficiency::fNTrkHits
private

Definition at line 60 of file HitEfficiency_module.cc.

Referenced by analyze(), and reconfigure().

unsigned int calib::HitEfficiency::fplanemax
private

Definition at line 65 of file HitEfficiency_module.cc.

Referenced by analyze(), beginJob(), and beginRun().

nova::dbi::RunHistory calib::HitEfficiency::frunhist
private

Definition at line 70 of file HitEfficiency_module.cc.

std::string calib::HitEfficiency::fTrackLabel
private

Definition at line 59 of file HitEfficiency_module.cc.

Referenced by analyze(), and reconfigure().

TH2F* calib::HitEfficiency::hitsVapddistcell
private

Definition at line 89 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVapddistcelllencut
private

Definition at line 96 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVapddistVlenx
private

Definition at line 78 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVapddistVleny
private

Definition at line 81 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVwcell
private

Definition at line 85 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVwcelllencut
private

Definition at line 93 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVwVlenx
private

Definition at line 72 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

TH2F* calib::HitEfficiency::hitsVwVleny
private

Definition at line 75 of file HitEfficiency_module.cc.

Referenced by analyze(), and beginJob().

double calib::HitEfficiency::maxpath = 7.0
private

Definition at line 106 of file HitEfficiency_module.cc.

Referenced by analyze().

double calib::HitEfficiency::minpath = 6.0
private

Definition at line 105 of file HitEfficiency_module.cc.

Referenced by analyze().

TH1F* calib::HitEfficiency::NEvents
private

Definition at line 101 of file HitEfficiency_module.cc.

Referenced by beginJob(), and endJob().

double calib::HitEfficiency::zmaxinstr
private

Definition at line 66 of file HitEfficiency_module.cc.

Referenced by analyze(), beginJob(), and beginRun().

double calib::HitEfficiency::zmininstr
private

Definition at line 67 of file HitEfficiency_module.cc.

Referenced by analyze(), beginJob(), and beginRun().


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