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

Classes

struct  ViewH
 

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 TrackPlots (fhicl::ParameterSet const &p)
 
 ~TrackPlots ()
 
void beginRun (const art::Run &run)
 
virtual void analyze (art::Event const &)
 
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 Types

enum  _groups { kAllG, kEvent, kNumGroup }
 
enum  _cutlevel { kAll, kPass, kNumLevel }
 
typedef enum dprf::TrackPlots::_groups Groups_t
 
typedef enum dprf::TrackPlots::_cutlevel Cuts_t
 

Private Member Functions

unsigned int DcmKey (unsigned int dib, unsigned int ldc)
 
unsigned int DiBlock (unsigned int key)
 
unsigned int LDCM (unsigned int key)
 
bool TrackOK (art::Ptr< rb::Track >)
 
void ResetEventGroup ()
 
void FinishEventGroup (unsigned int)
 
void Normalize (unsigned int)
 

Private Attributes

const unsigned int fMinPlaneTrack
 
const unsigned int fMinCellTrack
 
const unsigned int fMinCellTrackView
 track cuts More...
 
const unsigned int fMinTrackHitDCM
 minimum number of hits on a track in a DCM to use it for comparision to other DCMs More...
 
const unsigned int fEventGroup
 Number of events per group. More...
 
const std::string fRawDigitLabel
 
const std::string fCellHitLabel
 
const std::string fTrackLabel
 module names More...
 
unsigned int fCallNumber
 keep track number of calls, for defining event groups More...
 
std::map< unsigned int, ViewHfHBookedChanCP
 map of booked channels in cell-plane, vs group More...
 
TH1F * fHExtentPlaneTrk [kNumLevel]
 plots of raw digits More...
 
TH1F * fHNCellTrk [kNumLevel]
 plots of raw digits More...
 
TH1F * fHNCellViewTrk [geo::kXorY][kNumLevel]
 plots of raw digits More...
 
TH1F * fHTrkCellXMinusY [kNumLevel]
 difference in cells per view More...
 
TH2F * fHTracksDCM [kNumGroup][kNumLevel]
 DCMs with hits on tracks. More...
 
TH2F * fHTracksDCMHits [kNumGroup][kNumLevel]
 Number of hits per track on DCM. More...
 
TH2F * fHTracksOtherDCMs [kNumGroup][kNumLevel]
 Number of other DCMs with hits on track. More...
 
TH2F * fHTracksOtherDCMHits [kNumGroup][kNumLevel]
 Number of hits on other DCMs with hits on track. More...
 
TH2F * fHTracksOtherDCMRatio [kNumGroup][kNumLevel]
 Ratio of hits on track on DCM to hits on track on all other DCMs. More...
 
TH2F * fHTrackEnd [geo::kXorY][kNumLevel]
 (Cell,Plane) for endpoints More...
 
std::map< unsigned int, std::map< unsigned int, float > > fTracksOtherDCMRatio
 

Detailed Description

Definition at line 39 of file TrackPlots_module.cc.

Member Typedef Documentation

Definition at line 39 of file EDAnalyzer.h.

Definition at line 38 of file EDAnalyzer.h.

Member Enumeration Documentation

Enumerator
kAll 
kPass 
kNumLevel 

Definition at line 66 of file TrackPlots_module.cc.

Enumerator
kAllG 
kEvent 
kNumGroup 

Definition at line 65 of file TrackPlots_module.cc.

Constructor & Destructor Documentation

dprf::TrackPlots::TrackPlots ( fhicl::ParameterSet const &  p)
explicit

Definition at line 100 of file TrackPlots_module.cc.

100  :
101  EDAnalyzer(pset),
102  //fPSet(pset),
103  fMinPlaneTrack(pset.get< unsigned int >("MinPlaneTrack")),
104  fMinCellTrack(pset.get< unsigned int >("MinCellTrack")),
105  fMinCellTrackView(pset.get< unsigned int >("MinCellTrackView")),
106  fMinTrackHitDCM(pset.get< unsigned int >("MinTrackHitDCM")),
107  fEventGroup(pset.get< unsigned int >("EventGroup")),
108  fRawDigitLabel(pset.get< std::string >("RawDigitLabel")),
109  fCellHitLabel(pset.get< std::string >("CellHitLabel")),
110  fTrackLabel(pset.get< std::string >("TrackLabel")),
111  fCallNumber(0),
112  fHExtentPlaneTrk{0, 0} // Flag the others are uninitialized too
113  {
114  }
const unsigned int fMinCellTrackView
track cuts
const std::string fTrackLabel
module names
const std::string fRawDigitLabel
const unsigned int fMinPlaneTrack
const std::string fCellHitLabel
const unsigned int fMinCellTrack
unsigned int fCallNumber
keep track number of calls, for defining event groups
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
const unsigned int fEventGroup
Number of events per group.
const unsigned int fMinTrackHitDCM
minimum number of hits on a track in a DCM to use it for comparision to other DCMs ...
TH1F * fHExtentPlaneTrk[kNumLevel]
plots of raw digits
enum BeamMode string
dprf::TrackPlots::~TrackPlots ( )

Definition at line 116 of file TrackPlots_module.cc.

117  {
118  }

Member Function Documentation

void dprf::TrackPlots::analyze ( art::Event const &  evt)
virtual

Implements art::EDAnalyzer.

Definition at line 280 of file TrackPlots_module.cc.

References ana::assert(), getBrightness::cell, rb::CellHit::Cell(), rb::Cluster::Cell(), febshutoff_auto::chan, visualisationForPaperMasterPlot::cmap, om::cout, cut, rawdata::RawDigit::DaqChannel(), DcmKey(), DiBlock(), daqchannelmap::DAQChannelMap::encodeLChan(), allTimeWatchdog::endl, art::EventID::event(), fCellHitLabel, fHTrackEnd, fHTracksDCM, fHTracksDCMHits, fHTracksOtherDCMHits, fHTracksOtherDCMRatio, fHTracksOtherDCMs, Fill(), FinishEventGroup(), check_time_usage::float, fMinTrackHitDCM, fRawDigitLabel, fTrackLabel, geom(), art::DataViewImpl::getByLabel(), daqchannelmap::DAQChannelMap::getDCM(), daqchannelmap::DAQChannelMap::getDiBlock(), daqchannelmap::DAQChannelMap::getPlane(), art::Event::id(), if(), makeTrainCVSamples::int, kAll, kNumLevel, geo::kX, geo::kXorY, LDCM(), cmap::dataprov::CMap::Map(), rb::Cluster::NCell(), rb::CellHit::Plane(), geo::GeometryBase::Plane(), NDAPDHVSetting::plane, ResetEventGroup(), make_root_from_grid_output::tr, track, TrackOK(), POTSpillRate::view, and geo::PlaneGeo::View().

281  {
282 
283  ResetEventGroup();
284 
285  // look for RawDigits. Don't continue if none
287  try {
288  evt.getByLabel(fRawDigitLabel,digs);
289  }
290  catch (...) {
291  mf::LogWarning("CPLTWarn") << "Failed to find a RawDigit, bail";
292  return ;
293  }
294 
297  /* -- until needed
298  // make "all hits" plots
299  for (unsigned int id=0; id<digs->size(); id++)
300  {
301  art::Ptr<rawdata::RawDigit> dig(digs,id);
302  unsigned int chan=dig->DaqChannel();
303 
304  // fill general plots
305  // need to use "offline" view, not online....
306  unsigned int plannum=daqchannelmap::DAQChannelMap::getPlaneGlobal(chan);
307  const geo::PlaneGeo* plane=geom->Plane(plannum);
308  unsigned int view=(unsigned int)plane->View();
309 
310 
311 
312 
313  }// digit id
314  */
315 
316  // look for Tracks. OK to return w/out error if none
318  try {
319  evt.getByLabel(fTrackLabel,tracks);
320  }
321  catch (...) {
322  return ;
323  }
324 
325  // can it exist but have zero size?
326  if (!tracks->size()) {
327  return;
328  }
329 
330  // get the CellHits, so we can find RawHits on tracks
332  try {
333  evt.getByLabel(fCellHitLabel,cells);
334  }
335  catch (...) {
336  mf::LogError("CPLTWarn") << "\nFound Tracks but no CellHits!\n";
337  assert(0);
338  }
339 
340 
341 
342  for(unsigned int tr = 0; tr < tracks->size(); tr++)
343  {
344 
345  //count DCMs on the track
346  std::map<unsigned int, unsigned int> DCMsHit;
347 
348  art::Ptr<rb::Track> track(tracks,tr);
349 
350  bool track_ok=TrackOK(track);
351 
352  // keep track of start and end hit in each view
353  unsigned short cellx[2][2]={{9999,0},{9999,0}};
354  unsigned short planex[2][2]={{9999,0},{9999,0}};
355 
356  // loop over CellHits on tracks
357  for (unsigned int ic=0; ic<track->NCell(); ic++)
358  {
359  art::Ptr<rb::CellHit> cell=track->Cell(ic);
360  const unsigned int chan = cell->DaqChannel();
361  const daqchannelmap::lchan logchan = cmap->Map()->encodeLChan(chan);
362  const unsigned int dib = cmap->Map()->getDiBlock(chan);
363  const unsigned int ldc = cmap->Map()->getDCM(chan);
364  DCMsHit[DcmKey(dib,ldc)]++;
365 
366 
367  const unsigned int plannum = cmap->Map()->getPlane(logchan);
368  if (plannum!=cell->Plane()) {
369  std::cout<<"Why is plane from CellHit != plane from chan???"<<std::endl;
370  assert(0);
371  }
372 
373  unsigned int cellnum=(unsigned int) cell->Cell();
374 
375  const geo::PlaneGeo* plane=geom->Plane(plannum);
376  unsigned int view=(unsigned int)plane->View();
377 
378  if (plannum<planex[view][0]) {
379  cellx[view][0]=cellnum;
380  planex[view][0]=plannum;
381  }
382  if (plannum>planex[view][1]) {
383  cellx[view][1]=cellnum;
384  planex[view][1]=plannum;
385  }
386 
387 
388  }//cell
389 
390  //count, for each DCM, hits on the track in all others
391  std::map<unsigned int, unsigned int>::iterator iter=DCMsHit.begin();
392  for (; iter!=DCMsHit.end(); iter++) {
393  unsigned int dcmkey=iter->first;
394  float otherdcmhits=0;
395  float otherdcm=0;
396  std::map<unsigned int, unsigned int>::iterator oter=DCMsHit.begin();
397  for (; oter!=DCMsHit.end(); oter++) {
398  unsigned int otherdcmkey=oter->first;
399  if (otherdcmkey==dcmkey) continue;
400  otherdcmhits+=(float)oter->second;
401  otherdcm++;
402  } //other DCMs
403 
404  float thisdcmhits=(float) iter->second;
405  float ratioOtherToThis=otherdcmhits/thisdcmhits;
406  if (thisdcmhits>fMinTrackHitDCM) {
407  for (unsigned int cut=kAll; cut<kNumLevel; cut++) {
408  // plot all tracks for cut=0, only good ones for cut=1
409  if (cut==1&&!track_ok) continue;
410 
411  unsigned int dib=DiBlock(dcmkey);
412  unsigned int ldc=LDCM(dcmkey);
413 
414  //igrp=0 for all events, igrp=1 for group of events
415  for (unsigned int igrp=0; igrp<2; igrp++) {
416  fHTracksDCM[igrp][cut]->Fill(dib,ldc);
417  fHTracksDCMHits[igrp][cut]->Fill(dib,ldc,thisdcmhits);
418  fHTracksOtherDCMs[igrp][cut]->Fill(dib,ldc,otherdcm);
419  fHTracksOtherDCMHits[igrp][cut]->Fill(dib,ldc,otherdcmhits);
420  fHTracksOtherDCMRatio[igrp][cut]->Fill(dib,ldc,ratioOtherToThis);
421  }
422  for (unsigned int iend=0; iend<2; iend++)
423  for (unsigned int iv=geo::kX; iv<geo::kXorY; iv++)
424  fHTrackEnd[iv][cut]->Fill(planex[iv][iend],cellx[iv][iend]);
425  } // cut
426  }//min hits on this DCM
427 
428  } // "this" DCM
429 
430  } // tracks
431 
432  FinishEventGroup((unsigned int) evt.id().event());
433 
434  }//ana
TH2F * fHTracksDCMHits[kNumGroup][kNumLevel]
Number of hits per track on DCM.
unsigned int LDCM(unsigned int key)
const std::string fTrackLabel
module names
X or Y views.
Definition: PlaneGeo.h:30
unsigned short Plane() const
Definition: CellHit.h:39
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Definition: event.h:19
const daqchannelmap::DAQChannelMap * Map() const
Definition: CMap.h:57
TH2F * fHTracksOtherDCMHits[kNumGroup][kNumLevel]
Number of hits on other DCMs with hits on track.
const PlaneGeo * Plane(unsigned int i) const
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
lchan encodeLChan(int detId, plane_t plane, cell_t cell) const
const std::string fRawDigitLabel
unsigned short Cell() const
Definition: CellHit.h:40
View_t View() const
Which coordinate does this plane measure.
Definition: PlaneGeo.h:53
uint32_t DaqChannel() const
Definition: RawDigit.h:85
if(dump)
TH2F * fHTrackEnd[geo::kXorY][kNumLevel]
(Cell,Plane) for endpoints
correl_yv Fill(-(dy[iP-1][iC-1]), hyv->GetBinContent(iP, iC))
Geometry information for a single readout plane.
Definition: PlaneGeo.h:36
int evt
const std::string fCellHitLabel
unsigned int DcmKey(unsigned int dib, unsigned int ldc)
unsigned int DiBlock(unsigned int key)
TH2F * fHTracksDCM[kNumGroup][kNumLevel]
DCMs with hits on tracks.
OStream cout
Definition: OStream.cxx:6
bool TrackOK(art::Ptr< rb::Track >)
const Cut cut
Definition: exporter_fd.C:30
TH2F * fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
Ratio of hits on track on DCM to hits on track on all other DCMs.
const unsigned int fMinTrackHitDCM
minimum number of hits on a track in a DCM to use it for comparision to other DCMs ...
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
void geom(int which=0)
Definition: geom.C:163
plane_t getPlane(lchan logicalchan) const
Decode the plane number from an lchan.
TH2F * fHTracksOtherDCMs[kNumGroup][kNumLevel]
Number of other DCMs with hits on track.
assert(nhit_max >=nhit_nbins)
dcm_id_t getDCM(dchan daqchan) const
Decode the dcm ID from a dchan.
Float_t track
Definition: plot.C:35
diblock_t getDiBlock(dchan daqchan) const
Decode the diblock ID from a dchan.
void FinishEventGroup(unsigned int)
void dprf::TrackPlots::beginRun ( const art::Run run)

Definition at line 120 of file TrackPlots_module.cc.

References cut, geo::GeometryBase::DetId(), fHExtentPlaneTrk, fHNCellTrk, fHNCellViewTrk, fHTrackEnd, fHTracksDCM, fHTracksDCMHits, fHTracksOtherDCMHits, fHTracksOtherDCMRatio, fHTracksOtherDCMs, fHTrkCellXMinusY, check_time_usage::float, geom(), geo::GeometryBase::GetPlanesByView(), kAll, novadaq::cnv::kNDOS, novadaq::cnv::kNEARDET, kNumLevel, geo::kX, geo::kXorY, geo::kY, art::TFileDirectory::make(), geo::PlaneGeo::Ncells(), geo::GeometryBase::NPlanes(), geo::GeometryBase::Plane(), NDAPDHVSetting::plane, string, and POTSpillRate::view.

121  {
122  if(fHExtentPlaneTrk[kAll]) return; // Don't make histograms twice
123 
126  const geo::PlaneGeo* plane;
127 
128  unsigned int ndcm = 12; // # of DCM in Far Detector
129  unsigned int ndb = 14; // # of diblocks in Far Detector
130 
131  if (geom->DetId() == novadaq::cnv::kNDOS){
132  ndcm = 3; // # of DCM in NDOS
133  ndb = 4;
134  }
135  if (geom->DetId() == novadaq::cnv::kNEARDET){
136  ndcm = 4; // # of DCM in NEAR Detector
137  ndb = 4;
138  }
139 
140 
141  for (unsigned int cut=kAll; cut<kNumLevel; cut++) {
142  std::string cutname(cut==kAll ? "All" : "On Good Tracks");
143 
144  for (unsigned int iv=geo::kX; iv<geo::kXorY; iv++)
145  {
146 
148  std::string viewName(view == geo::kX ? "X" : "Y");
149 
150 
151  const std::set<unsigned int>& planes=geom->GetPlanesByView(view);
152  // const geo::PlaneGeo* plane=(geom->Plane(*(planes.begin())));
153  plane=(geom->Plane(*(planes.begin())));
154 
155  fHTrackEnd[iv][cut]=
156  tfs->make<TH2F>(Form("HTrackEnd_%s_%d",viewName.c_str(),cut),
157  Form("Track Endpoints, %s, %s",viewName.c_str(),cutname.c_str()),
158  geom->NPlanes()+1,-.5,geom->NPlanes()+.5,
159  plane->Ncells()+1,-.5,plane->Ncells()+.5);
160 
161  }//view
162 
164  //
165  // ********* Hardcoded for NDOS *************
166  //
167  // tfs->make<TH1F>(Form("HTrackPlanes%d",cut),
168  // Form("Track Extent (Planes), %s",cutname.c_str()),
169  // 200.,-.5,199.5);
170  //
171  tfs->make<TH1F>(Form("HTrackPlanes%d",cut),
172  Form("Track Extent (Planes), %s",cutname.c_str()),
173  geom->NPlanes()+1,-.5,geom->NPlanes()+.5);
174 
175 
176  fHNCellTrk[cut]=
177  tfs->make<TH1F>(Form("HNCellTrk_%d",cut),
178  Form("Track Number of Cells, %s",cutname.c_str()),
179  geom->NPlanes()+1,-.5,geom->NPlanes()+.5);
181  tfs->make<TH1F>(Form("HNCellViewTrk_X_%d",cut),
182  Form("Track Number of Cells, X, %s",cutname.c_str()),
183  geom->NPlanes()+1,-.5,geom->NPlanes()+.5);
185  tfs->make<TH1F>(Form("HNCellViewTrk_Y_%d",cut),
186  Form("Track Number of Cells, Y, %s",cutname.c_str()),
187  geom->NPlanes()+1,-.5,geom->NPlanes()+.5);
188 
190  tfs->make<TH1F>(Form("HTrkCellXMinusY_%d",cut),
191  Form("Track Cell difference, X-Y view, %s",cutname.c_str()),
192  plane->Ncells()+1,-.5,plane->Ncells()+.5);
193  // 100, -.5, 99.5);
194 
195  //igrp=0 for all events, igrp=1 event-wise (or group-wise)
196  for (unsigned int igrp=0; igrp<2; igrp++) {
197  std::string groupname(igrp==kAll ? "(All Events)" : "Event Group");
198  fHTracksDCM[igrp][cut]=
199  tfs->make<TH2F>(Form("HTracksDCM_%d_%d",igrp,cut),
200  Form("Tracks in DCM (ldcm vs. db), %s %s",groupname.c_str(),cutname.c_str()),
201  ndb,+.5,(float)ndb+.5,ndcm,.5,(float)ndcm+.5);
202  fHTracksDCMHits[igrp][cut]=
203  tfs->make<TH2F>(Form("HTracksDCMHits_%d_%d",igrp,cut),
204  Form("Track Hits in DCM (ldcm vs. db), %s %s",groupname.c_str(),cutname.c_str()),
205  ndb,+.5,(float)ndb+.5,ndcm,.5,(float)ndcm+.5);
206 
207  fHTracksOtherDCMs[igrp][cut]=
208  tfs->make<TH2F>(Form("HTracksOtherDCMs_%d_%d",igrp,cut),
209  Form("Number of Other DCMs with Track Hits, vs. DCM (ldcm vs. db), %s %s",groupname.c_str(),cutname.c_str()),
210  ndb,+.5,(float)ndb+.5,ndcm,.5,(float)ndcm+.5);
211 
212  fHTracksOtherDCMHits[igrp][cut]=
213  tfs->make<TH2F>(Form("HTracksOtherDCMHits_%d_%d",igrp,cut),
214  Form("Number of Track Hits on Other DCMs, vs. DCM (ldcm vs. db), %s %s",groupname.c_str(),cutname.c_str()),
215  ndb,+.5,(float)ndb+.5,ndcm,.5,(float)ndcm+.5);
216 
217  fHTracksOtherDCMRatio[igrp][cut]=
218  tfs->make<TH2F>(Form("HTracksOtherDCMRatio_%d_%d",igrp,cut),
219  Form("Ratio of Track Hits on Other DCMs vs. DCM (ldcm vs. db), %s %s",groupname.c_str(),cutname.c_str()),
220  ndb,+.5,(float)ndb+.5,ndcm,.5,(float)ndcm+.5);
221  } //igrp
222 
223 
224  }//Cut levels
225 
226  } // end beginRun
TH2F * fHTracksDCMHits[kNumGroup][kNumLevel]
Number of hits per track on DCM.
TH1F * fHTrkCellXMinusY[kNumLevel]
difference in cells per view
TH1F * fHNCellTrk[kNumLevel]
plots of raw digits
TH1F * fHNCellViewTrk[geo::kXorY][kNumLevel]
plots of raw digits
X or Y views.
Definition: PlaneGeo.h:30
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Vertical planes which measure X.
Definition: PlaneGeo.h:28
unsigned int Ncells() const
Number of cells in this plane.
Definition: PlaneGeo.h:43
TH2F * fHTracksOtherDCMHits[kNumGroup][kNumLevel]
Number of hits on other DCMs with hits on track.
const PlaneGeo * Plane(unsigned int i) const
f cosmic PID use this for the final state era of
Definition: Vars.h:69
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
const XML_Char * s
Definition: expat.h:262
TH2F * fHTrackEnd[geo::kXorY][kNumLevel]
(Cell,Plane) for endpoints
Prototype Near Detector on the surface at FNAL.
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Geometry information for a single readout plane.
Definition: PlaneGeo.h:36
Near Detector in the NuMI cavern.
Float_t d
Definition: plot.C:236
TH2F * fHTracksDCM[kNumGroup][kNumLevel]
DCMs with hits on tracks.
const Cut cut
Definition: exporter_fd.C:30
T * make(ARGS...args) const
ifstream in
Definition: comparison.C:7
TH2F * fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
Ratio of hits on track on DCM to hits on track on all other DCMs.
TH1F * fHExtentPlaneTrk[kNumLevel]
plots of raw digits
const std::set< unsigned int > & GetPlanesByView(View_t v=kXorY) const
void geom(int which=0)
Definition: geom.C:163
TH2F * fHTracksOtherDCMs[kNumGroup][kNumLevel]
Number of other DCMs with hits on track.
unsigned int NPlanes() const
enum BeamMode string
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
unsigned int dprf::TrackPlots::DcmKey ( unsigned int  dib,
unsigned int  ldc 
)
inlineprivate

Definition at line 51 of file TrackPlots_module.cc.

Referenced by analyze(), and FinishEventGroup().

51  {
52  return dib*100+ldc; };
unsigned int dprf::TrackPlots::DiBlock ( unsigned int  key)
inlineprivate

Definition at line 53 of file TrackPlots_module.cc.

Referenced by analyze(), and endJob().

53  {
54  return key/100; };
void dprf::TrackPlots::endJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 228 of file TrackPlots_module.cc.

References DiBlock(), febshutoff_auto::end, check_time_usage::float, fTracksOtherDCMRatio, kAllG, findDuplicateFiles::key, LDCM(), art::TFileDirectory::make(), Normalize(), and ratio().

229  {
231 
232  // normalize "per-track" plots
233  Normalize(kAllG);
234 
235  // make plots vs. event group
236  if (!fTracksOtherDCMRatio.size()) return;
237  std::map<unsigned int, std::map<unsigned int, float> >::iterator
238  iter=fTracksOtherDCMRatio.begin();
239  std::map<unsigned int, std::map<unsigned int, float> >::iterator
241  end--;
242 
243  float bgroup=(float) iter->first;
244  float fgroup=(float) end->first;
245 
246  TProfile* hratioall=
247  tfs->make<TProfile>("HRatioOtherDCM_All",
248  "Ratio of Hits on other DCMs vs. event, All DCMs",
249  fTracksOtherDCMRatio.size()+1,bgroup-.5,fgroup+.5,"S");
250 
251  std::map<unsigned int, TProfile*> eventPlots; // per-dcm
252 
253  // loop over entries - corresponding to event groups
254  for (; iter!=fTracksOtherDCMRatio.end(); iter++) {
255 
256  float event=(float) iter->first;
257 
258  // loop over DCMs within each event group
259  std::map<unsigned int, float> gmap=iter->second;
260  std::map<unsigned int, float>::iterator siter=gmap.begin();
261  for(; siter!=gmap.end(); siter++) {
262  unsigned int key=siter->first;
263  unsigned int dib=DiBlock(key);
264  unsigned int ldc=LDCM(key);
265  float ratio=siter->second;
266 
267  if (eventPlots.find(key) == eventPlots.end() || !eventPlots[key]) {
268  eventPlots[key]=
269  tfs->make<TProfile>(Form("HRatioOtherDCM_%2.2d_%2.2d",dib,ldc),
270  Form("Ratio of Hits on other DCMs vs. event, %2.2d-%2.2d",dib,ldc),
271  fTracksOtherDCMRatio.size()+1,bgroup-.5,fgroup+.5,"S");
272  }
273  eventPlots[key]->Fill(event,ratio);
274  hratioall->Fill(event,ratio);
275  }
276  }
277 
278  } // end endRun
std::map< unsigned int, std::map< unsigned int, float > > fTracksOtherDCMRatio
unsigned int LDCM(unsigned int key)
TH1 * ratio(TH1 *h1, TH1 *h2)
unsigned int DiBlock(unsigned int key)
T * make(ARGS...args) const
void Normalize(unsigned int)
void dprf::TrackPlots::FinishEventGroup ( unsigned int  event)
private

Definition at line 481 of file TrackPlots_module.cc.

References cut, DcmKey(), febshutoff_auto::end, fCallNumber, fEventGroup, fHTracksDCM, fHTracksDCMHits, fHTracksOtherDCMHits, fHTracksOtherDCMRatio, fHTracksOtherDCMs, fTracksOtherDCMRatio, analysePickle::hist, makeTrainCVSamples::int, kAll, kEvent, kNumLevel, kPass, and Normalize().

Referenced by analyze().

482  {
483 
484  if (fCallNumber<fEventGroup) return; // don't do anything until group
485  // is finished...
486  fCallNumber=-1; //ensure ResetEventGroup at next call
487  /*
488  if (fTracksOtherDCMRatio.size()==0) {
489  fTracksOtherDCMRatio=std::map<unsigned int, std::map<unsigned int, float> > ();
490  }
491 
492  */
493 
494 
495  // first, add the group histograms to the total
496  for (unsigned int cut=kPass; cut<kNumLevel; cut++) {
502  }
503 
504  // normalize the group-wise plots
505  Normalize(kEvent);
506 
507  // fill map of ratio, per event group, per dcm
509  for (unsigned int dib=1; dib<=(unsigned int) hist->GetXaxis()->GetNbins(); dib++)
510  {
511  for (unsigned int ldc=1; ldc<=(unsigned int) hist->GetYaxis()->GetNbins(); ldc++)
512  {
513  // not sure this is needed... was having segv's, but not sure it was due to this.
514  std::map<unsigned int, std::map<unsigned int, float> >::iterator find=
515  fTracksOtherDCMRatio.find(event);
516  std::map<unsigned int, std::map<unsigned int, float> >::iterator end=fTracksOtherDCMRatio.end();
517  if (find==end) {
518  std::map<unsigned int, float> amap=std::map<unsigned int, float> ();
519  fTracksOtherDCMRatio[event]=amap;
520  }
521  fTracksOtherDCMRatio[event][DcmKey(dib,ldc)]=
522  hist->GetBinContent(dib,ldc);
523  }
524  }
525  }
TH2F * fHTracksDCMHits[kNumGroup][kNumLevel]
Number of hits per track on DCM.
std::map< unsigned int, std::map< unsigned int, float > > fTracksOtherDCMRatio
TH2F * fHTracksOtherDCMHits[kNumGroup][kNumLevel]
Number of hits on other DCMs with hits on track.
unsigned int DcmKey(unsigned int dib, unsigned int ldc)
unsigned int fCallNumber
keep track number of calls, for defining event groups
TH2F * fHTracksDCM[kNumGroup][kNumLevel]
DCMs with hits on tracks.
const Cut cut
Definition: exporter_fd.C:30
const unsigned int fEventGroup
Number of events per group.
TH2F * fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
Ratio of hits on track on DCM to hits on track on all other DCMs.
TH2F * fHTracksOtherDCMs[kNumGroup][kNumLevel]
Number of other DCMs with hits on track.
void Normalize(unsigned int)
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
unsigned int dprf::TrackPlots::LDCM ( unsigned int  key)
inlineprivate

Definition at line 55 of file TrackPlots_module.cc.

Referenced by analyze(), and endJob().

55  {
56  return key%100; };
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 dprf::TrackPlots::Normalize ( unsigned int  igrp)
private

Definition at line 528 of file TrackPlots_module.cc.

References cut, DEFINE_ART_MODULE(), fHTracksDCM, fHTracksDCMHits, fHTracksOtherDCMHits, fHTracksOtherDCMRatio, fHTracksOtherDCMs, kAll, and kNumLevel.

Referenced by endJob(), and FinishEventGroup().

529  {
530  for (unsigned int cut=kAll; cut<kNumLevel; cut++) {
531  fHTracksDCMHits[igrp][cut]->Divide(fHTracksDCM[igrp][cut]);
532  fHTracksOtherDCMs[igrp][cut]->Divide(fHTracksDCM[igrp][cut]);
533  fHTracksOtherDCMHits[igrp][cut]->Divide(fHTracksDCM[igrp][cut]);
534  fHTracksOtherDCMRatio[igrp][cut]->Divide(fHTracksDCM[igrp][cut]);
535  }
536  }
TH2F * fHTracksDCMHits[kNumGroup][kNumLevel]
Number of hits per track on DCM.
TH2F * fHTracksOtherDCMHits[kNumGroup][kNumLevel]
Number of hits on other DCMs with hits on track.
TH2F * fHTracksDCM[kNumGroup][kNumLevel]
DCMs with hits on tracks.
const Cut cut
Definition: exporter_fd.C:30
TH2F * fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
Ratio of hits on track on DCM to hits on track on all other DCMs.
TH2F * fHTracksOtherDCMs[kNumGroup][kNumLevel]
Number of other DCMs with hits on track.
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited
void art::EventObserverBase::registerProducts ( MasterProductRegistry ,
ProductDescriptions ,
ModuleDescription const &   
)
inlineinherited

Definition at line 33 of file EventObserverBase.h.

References string.

36  {}
void dprf::TrackPlots::ResetEventGroup ( )
private

Definition at line 466 of file TrackPlots_module.cc.

References cut, fCallNumber, fHTracksDCM, fHTracksDCMHits, fHTracksOtherDCMHits, fHTracksOtherDCMRatio, fHTracksOtherDCMs, kAll, kEvent, and kNumLevel.

Referenced by analyze().

467  {
468  fCallNumber++;
469  if (fCallNumber) return; // don't do anything if not a new group
470 
471  for (unsigned int cut=kAll; cut<kNumLevel; cut++) {
472  fHTracksDCM[kEvent][cut]->Reset();
473  fHTracksDCMHits[kEvent][cut]->Reset();
474  fHTracksOtherDCMs[kEvent][cut]->Reset();
475  fHTracksOtherDCMHits[kEvent][cut]->Reset();
476  fHTracksOtherDCMRatio[kEvent][cut]->Reset();
477  }
478  }
TH2F * fHTracksDCMHits[kNumGroup][kNumLevel]
Number of hits per track on DCM.
TH2F * fHTracksOtherDCMHits[kNumGroup][kNumLevel]
Number of hits on other DCMs with hits on track.
unsigned int fCallNumber
keep track number of calls, for defining event groups
TH2F * fHTracksDCM[kNumGroup][kNumLevel]
DCMs with hits on tracks.
const Cut cut
Definition: exporter_fd.C:30
TH2F * fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
Ratio of hits on track on DCM to hits on track on all other DCMs.
TH2F * fHTracksOtherDCMs[kNumGroup][kNumLevel]
Number of other DCMs with hits on track.
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().

bool dprf::TrackPlots::TrackOK ( art::Ptr< rb::Track track)
private

Definition at line 436 of file TrackPlots_module.cc.

References rb::Cluster::ExtentPlane(), fHExtentPlaneTrk, fHNCellTrk, fHNCellViewTrk, fHTrkCellXMinusY, fMinCellTrack, fMinCellTrackView, fMinPlaneTrack, kAll, kPass, geo::kX, geo::kY, rb::Cluster::NCell(), rb::Cluster::NXCell(), and rb::Cluster::NYCell().

Referenced by analyze().

437  {
438  //some histos to monitor the cuts
439  fHExtentPlaneTrk[kAll]->Fill(track->ExtentPlane());
440  fHNCellTrk[kAll]->Fill(track->NCell());
441  fHNCellViewTrk[geo::kX][kAll]->Fill(track->NXCell());
442  fHNCellViewTrk[geo::kY][kAll]->Fill(track->NYCell());
443 
444  // and some others
445  fHTrkCellXMinusY[kAll]->Fill(track->NXCell()-track->NYCell());
446 
447  // enough planes (extent)
448  if (track->ExtentPlane() < fMinPlaneTrack) return false;
449 
450  // enough cells
451  if (track->NCell() < fMinCellTrack) return false;
452 
453  // enough cells in each view
454  if (track->NXCell() < fMinCellTrackView ||
455  track->NYCell() < fMinCellTrackView ) return false;
456 
457  fHExtentPlaneTrk[kPass]->Fill(track->ExtentPlane());
458  fHNCellTrk[kPass]->Fill(track->NCell());
459  fHNCellViewTrk[geo::kX][kPass]->Fill(track->NXCell());
460  fHNCellViewTrk[geo::kY][kPass]->Fill(track->NYCell());
461  fHTrkCellXMinusY[kPass]->Fill(track->NXCell()-track->NYCell());
462  return true;
463  }
TH1F * fHTrkCellXMinusY[kNumLevel]
difference in cells per view
const unsigned int fMinCellTrackView
track cuts
TH1F * fHNCellTrk[kNumLevel]
plots of raw digits
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
TH1F * fHNCellViewTrk[geo::kXorY][kNumLevel]
plots of raw digits
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
const unsigned int fMinPlaneTrack
const unsigned int fMinCellTrack
unsigned int NYCell() const
Number of cells in the y-view.
Definition: Cluster.h:108
unsigned int NXCell() const
Number of cells in the x-view.
Definition: Cluster.h:106
TH1F * fHExtentPlaneTrk[kNumLevel]
plots of raw digits
unsigned int ExtentPlane(geo::View_t view=geo::kXorY) const
Definition: Cluster.h:250
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

unsigned int dprf::TrackPlots::fCallNumber
private

keep track number of calls, for defining event groups

Definition at line 64 of file TrackPlots_module.cc.

Referenced by FinishEventGroup(), and ResetEventGroup().

const std::string dprf::TrackPlots::fCellHitLabel
private

Definition at line 63 of file TrackPlots_module.cc.

Referenced by analyze().

const unsigned int dprf::TrackPlots::fEventGroup
private

Number of events per group.

Definition at line 62 of file TrackPlots_module.cc.

Referenced by FinishEventGroup().

std::map<unsigned int, ViewH> dprf::TrackPlots::fHBookedChanCP
private

map of booked channels in cell-plane, vs group

Definition at line 71 of file TrackPlots_module.cc.

TH1F* dprf::TrackPlots::fHExtentPlaneTrk[kNumLevel]
private

plots of raw digits

Definition at line 73 of file TrackPlots_module.cc.

Referenced by beginRun(), and TrackOK().

TH1F* dprf::TrackPlots::fHNCellTrk[kNumLevel]
private

plots of raw digits

Definition at line 74 of file TrackPlots_module.cc.

Referenced by beginRun(), and TrackOK().

TH1F* dprf::TrackPlots::fHNCellViewTrk[geo::kXorY][kNumLevel]
private

plots of raw digits

Definition at line 75 of file TrackPlots_module.cc.

Referenced by beginRun(), and TrackOK().

TH2F* dprf::TrackPlots::fHTrackEnd[geo::kXorY][kNumLevel]
private

(Cell,Plane) for endpoints

Definition at line 83 of file TrackPlots_module.cc.

Referenced by analyze(), and beginRun().

TH2F* dprf::TrackPlots::fHTracksDCM[kNumGroup][kNumLevel]
private

DCMs with hits on tracks.

Definition at line 78 of file TrackPlots_module.cc.

Referenced by analyze(), beginRun(), FinishEventGroup(), Normalize(), and ResetEventGroup().

TH2F* dprf::TrackPlots::fHTracksDCMHits[kNumGroup][kNumLevel]
private

Number of hits per track on DCM.

Definition at line 79 of file TrackPlots_module.cc.

Referenced by analyze(), beginRun(), FinishEventGroup(), Normalize(), and ResetEventGroup().

TH2F* dprf::TrackPlots::fHTracksOtherDCMHits[kNumGroup][kNumLevel]
private

Number of hits on other DCMs with hits on track.

Definition at line 81 of file TrackPlots_module.cc.

Referenced by analyze(), beginRun(), FinishEventGroup(), Normalize(), and ResetEventGroup().

TH2F* dprf::TrackPlots::fHTracksOtherDCMRatio[kNumGroup][kNumLevel]
private

Ratio of hits on track on DCM to hits on track on all other DCMs.

Definition at line 82 of file TrackPlots_module.cc.

Referenced by analyze(), beginRun(), FinishEventGroup(), Normalize(), and ResetEventGroup().

TH2F* dprf::TrackPlots::fHTracksOtherDCMs[kNumGroup][kNumLevel]
private

Number of other DCMs with hits on track.

Definition at line 80 of file TrackPlots_module.cc.

Referenced by analyze(), beginRun(), FinishEventGroup(), Normalize(), and ResetEventGroup().

TH1F* dprf::TrackPlots::fHTrkCellXMinusY[kNumLevel]
private

difference in cells per view

Definition at line 76 of file TrackPlots_module.cc.

Referenced by beginRun(), and TrackOK().

const unsigned int dprf::TrackPlots::fMinCellTrack
private

Definition at line 56 of file TrackPlots_module.cc.

Referenced by TrackOK().

const unsigned int dprf::TrackPlots::fMinCellTrackView
private

track cuts

Definition at line 56 of file TrackPlots_module.cc.

Referenced by TrackOK().

const unsigned int dprf::TrackPlots::fMinPlaneTrack
private

Definition at line 56 of file TrackPlots_module.cc.

Referenced by TrackOK().

const unsigned int dprf::TrackPlots::fMinTrackHitDCM
private

minimum number of hits on a track in a DCM to use it for comparision to other DCMs

Definition at line 61 of file TrackPlots_module.cc.

Referenced by analyze().

const std::string dprf::TrackPlots::fRawDigitLabel
private

Definition at line 63 of file TrackPlots_module.cc.

Referenced by analyze().

const std::string dprf::TrackPlots::fTrackLabel
private

module names

Definition at line 63 of file TrackPlots_module.cc.

Referenced by analyze().

std::map<unsigned int, std::map<unsigned int, float> > dprf::TrackPlots::fTracksOtherDCMRatio
private

Definition at line 86 of file TrackPlots_module.cc.

Referenced by endJob(), and FinishEventGroup().


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