Public Member Functions | Private Attributes | List of all members
nlana::PlotOpticalDetails Class Reference
Inheritance diagram for nlana::PlotOpticalDetails:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Member Functions

 PlotOpticalDetails (const fhicl::ParameterSet &)
 
virtual ~PlotOpticalDetails ()
 
void beginJob ()
 
void analyze (const art::Event &)
 
- Public Member Functions inherited from art::EDAnalyzer
 EDAnalyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 EDAnalyzer (Table< Config > const &config)
 
std::string workerType () const
 
- Public Member Functions inherited from art::detail::Analyzer
virtual ~Analyzer () noexcept
 
 Analyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 Analyzer (Table< Config > const &config)
 
void doBeginJob (SharedResources const &resources)
 
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)
 
- Public Member Functions inherited from art::Observer
 ~Observer () noexcept
 
 Observer (Observer const &)=delete
 
 Observer (Observer &&)=delete
 
Observeroperator= (Observer const &)=delete
 
Observeroperator= (Observer &&)=delete
 
void registerProducts (ProductDescriptions &, ModuleDescription const &)
 
void fillDescriptions (ModuleDescription const &)
 
fhicl::ParameterSetID selectorConfig () const
 
- Public Member Functions inherited from art::ModuleBase
virtual ~ModuleBase () noexcept
 
 ModuleBase ()
 
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< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Private Attributes

std::string fOpFlashModuleLabel
 
TH1D * hFlashTime
 
TH1D * hNFlash
 
TH1D * hNHitPerFlash
 

Additional Inherited Members

- Public Types inherited from art::EDAnalyzer
using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 
- Protected Member Functions inherited from art::Observer
std::string const & processName () const
 
bool wantAllEvents () const noexcept
 
bool wantEvent (ScheduleID id, Event const &e) const
 
Handle< TriggerResultsgetTriggerResults (Event const &e) const
 
 Observer (fhicl::ParameterSet const &config)
 
 Observer (std::vector< std::string > const &select_paths, std::vector< std::string > const &reject_paths, fhicl::ParameterSet const &config)
 
- Protected Member Functions inherited from art::ModuleBase
ConsumesCollectorconsumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (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< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Detailed Description

Definition at line 48 of file PlotOpticalDetails_module.cc.

Constructor & Destructor Documentation

nlana::PlotOpticalDetails::PlotOpticalDetails ( const fhicl::ParameterSet )

Definition at line 79 of file PlotOpticalDetails_module.cc.

80  : EDAnalyzer(pset)
81 {
82 
83  // Indicate that the Input Module comes from .fcl
84  fOpFlashModuleLabel = pset.get<std::string>("OpFlashLabel");
85 
87 
88  // Make a few plots
89  hFlashTime = tfs->make<TH1D>("hFlashTime","",50,-5000,5000);
90  hNFlash = tfs->make<TH1D>("hNFlash","",50,0,250);
91  hNHitPerFlash = tfs->make<TH1D>("hNHitPerFlash","",50,0,200);
92 }
std::string string
Definition: nybbler.cc:12
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.h:25
nlana::PlotOpticalDetails::~PlotOpticalDetails ( )
virtual

Definition at line 96 of file PlotOpticalDetails_module.cc.

97 {}

Member Function Documentation

void nlana::PlotOpticalDetails::analyze ( const art::Event evt)

Definition at line 104 of file PlotOpticalDetails_module.cc.

105 {
106  // Get flashes from event
107  auto FlashHandle = evt.getHandle< std::vector< recob::OpFlash > >(fOpFlashModuleLabel);
108 
109  // Get assosciations between flashes and hits
110  art::FindManyP< recob::OpHit > Assns(FlashHandle, evt, fOpFlashModuleLabel);
111 
112  hNFlash->Fill(FlashHandle->size());
113 
114  // For every OpFlash in the vector
115  for(unsigned int i = 0; i < FlashHandle->size(); ++i)
116  {
117 
118  // Get OpFlash and associated hits
119  art::Ptr< recob::OpFlash > TheFlashPtr(FlashHandle, i);
120  recob::OpFlash TheFlash = *TheFlashPtr;
121 
122  // Find the hits associated to this flash
123  std::vector< art::Ptr<recob::OpHit> > matchedHits = Assns.at(i);
124 
125  hFlashTime->Fill(TheFlash.Time());
126 
127  hNHitPerFlash->Fill(matchedHits.size());
128 
129  } // End loop over flashes
130 
131 }
Handle< PROD > getHandle(SelectorBase const &) const
Definition: DataViewImpl.h:382
double Time() const
Definition: OpFlash.h:106
void nlana::PlotOpticalDetails::beginJob ( )
virtual

Reimplemented from art::EDAnalyzer.

Definition at line 100 of file PlotOpticalDetails_module.cc.

101 {}

Member Data Documentation

std::string nlana::PlotOpticalDetails::fOpFlashModuleLabel
private

Definition at line 68 of file PlotOpticalDetails_module.cc.

TH1D* nlana::PlotOpticalDetails::hFlashTime
private

Definition at line 70 of file PlotOpticalDetails_module.cc.

TH1D* nlana::PlotOpticalDetails::hNFlash
private

Definition at line 71 of file PlotOpticalDetails_module.cc.

TH1D* nlana::PlotOpticalDetails::hNHitPerFlash
private

Definition at line 72 of file PlotOpticalDetails_module.cc.


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