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

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
 
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
 

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

Definition at line 38 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
void reconfigure(fhicl::ParameterSet const &p)
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
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, stan::math::fabs(), 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
fvar< T > fabs(const fvar< T > &x)
Definition: fabs.hpp:15
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:441
virtual TVector3 Dir() const
Unit vector describing prong direction.
Definition: Prong.h:77
double DetHalfHeight() const
size_type size() const
Definition: PtrVector.h:308
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, art::TFileDirectory::make(), 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  }
T * make(ARGS...args) const
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
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 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  }
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 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::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

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: