All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
ana::SBNOsc::MCParticleTreePrinter Class Reference

Electron neutrino event selection. More...

Inheritance diagram for ana::SBNOsc::MCParticleTreePrinter:
core::SelectionBase core::ProcessorBase

Public Member Functions

 MCParticleTreePrinter ()
 
void Initialize (fhicl::ParameterSet *config=NULL)
 
void Finalize ()
 
bool ProcessEvent (const gallery::Event &ev, const std::vector< event::Interaction > &truth, std::vector< event::RecoInteraction > &reco)
 
- Public Member Functions inherited from core::SelectionBase
 SelectionBase ()
 
virtual ~SelectionBase ()
 
- Public Member Functions inherited from core::ProcessorBase
 ProcessorBase ()
 
virtual ~ProcessorBase ()
 
virtual void FillTree ()
 
virtual void FillRecoTree ()
 
virtual void EventCleanup ()
 
template<class T >
TBranch * AddBranch (std::string name, T *obj)
 
template<class T >
TBranch * AddRecoBranch (std::string name, T *obj)
 

Protected Attributes

std::string fMCParticleTag
 
unsigned event_ind
 
- Protected Attributes inherited from core::ProcessorBase
unsigned long fEventIndex
 An incrementing index. More...
 
Experiment fExperimentID
 Experiment identifier. More...
 
ProviderManagerfProviderManager
 Interface for provider access. More...
 
std::string fOutputFilename
 The output filename. More...
 
std::string fProviderConfig
 A custom provider config fcl file. More...
 
std::vector< geo::BoxBoundedGeofActiveVolumes
 List of active volumes in configured detector. More...
 
bool fWriteTree
 Enable writing of the main tree. More...
 
TFile * fOutputFile
 The output ROOT file. More...
 
TTree * fTree
 The output ROOT tree. More...
 
event::EventfEvent
 The standard output event data structure. More...
 
bool fWriteRecoTree
 Enable writing of the reco tree. More...
 
TTree * fRecoTree
 The output reco ROOT tree. More...
 
event::RecoEventfRecoEvent
 The standard output reco event data structure. More...
 
TTree * fSubRunTree
 Subrun output tree. More...
 
SubRunfSubRun
 Standard output subrun structure. More...
 
TTree * fFileMetaTree
 File metadata output tree. More...
 
FileMetafFileMeta
 standard output file metadata structure More...
 
TParameter< int > * fExperimentParameter
 Saves value of experiment enum. More...
 
std::set< std::pair< int, int > > fSubRunCache
 Cache stored subruns. More...
 
art::InputTag fTruthTag
 art tag for MCTruth information More...
 
art::InputTag fFluxTag
 art tag for MCFlux information More...
 
std::vector< art::InputTag > fWeightTags
 art tag(s) for MCEventWeight information More...
 
art::InputTag fMCTrackTag
 art tag for MCTrack More...
 
art::InputTag fMCShowerTag
 art tag for MCShower More...
 
art::InputTag fMCParticleTag
 art tag for MCParticle More...
 
std::string fGeneratorProcess
 process_name of process used to run genie. Used to extract subrun/POT information More...
 

Additional Inherited Members

- Public Attributes inherited from core::ProcessorBase
std::vector
< event::RecoInteraction > * 
fReco
 Reco interaction list. More...
 
- Protected Member Functions inherited from core::ProcessorBase
virtual void Initialize (char *config=NULL)
 
virtual void Setup (char *config=NULL)
 
virtual void Setup (fhicl::ParameterSet *config=NULL)
 
virtual void Teardown ()
 
void BuildEventTree (gallery::Event &ev)
 
void SetupServices (gallery::Event &ev)
 
void UpdateSubRuns (gallery::Event &ev)
 
void UpdateFileMeta (gallery::Event &ev)
 

Detailed Description

Electron neutrino event selection.

Definition at line 36 of file MCParticleTreePrinter.cc.

Constructor & Destructor Documentation

ana::SBNOsc::MCParticleTreePrinter::MCParticleTreePrinter ( )
inline

Constructor.

Definition at line 39 of file MCParticleTreePrinter.cc.

39 {}

Member Function Documentation

void ana::SBNOsc::MCParticleTreePrinter::Finalize ( )
inlinevirtual

Finalize and write objects to the output file.

Implements core::ProcessorBase.

Definition at line 52 of file MCParticleTreePrinter.cc.

52  {
53  }
void ana::SBNOsc::MCParticleTreePrinter::Initialize ( fhicl::ParameterSet *  config = NULL)
inlinevirtual

Initialization.

Parameters
configA configuration, as a FHiCL ParameterSet object

Implements core::ProcessorBase.

Definition at line 46 of file MCParticleTreePrinter.cc.

46  {
47  fMCParticleTag = config ? config->get<std::string>("MCParticleTag", "largeant") : "largeant";
48  event_ind = 0;
49  }
bool ana::SBNOsc::MCParticleTreePrinter::ProcessEvent ( const gallery::Event &  ev,
const std::vector< event::Interaction > &  truth,
std::vector< event::RecoInteraction > &  reco 
)
inlinevirtual

Process one event.

Parameters
evA single event, as a gallery::Event
Reconstructedinteractions
Returns
True to keep event

Implements core::ProcessorBase.

Definition at line 62 of file MCParticleTreePrinter.cc.

62  {
63  std::cout << "New Event!\n";
64  auto const &mcparticle_handle = ev.getValidHandle<std::vector<simb::MCParticle>>(fMCParticleTag);;
65  const std::vector<simb::MCParticle> &mcparticles = *mcparticle_handle;
66  art::FindManyP<simb::MCTruth, sim::GeneratedParticleInfo> particles_to_truth(mcparticle_handle, ev, fMCParticleTag);
67  for (unsigned i = 0; i < mcparticles.size(); i++) {
68  const simb::MCParticle &part = mcparticles[i];
69  std::cout << "TrackID: " << part.TrackId() << " Mother: " << part.Mother() << " index: " << i<< std::endl;
70  const sim::GeneratedParticleInfo &info = *particles_to_truth.data(i).at(0);
71  const simb::MCTruth &mctruth = *particles_to_truth.at(i).at(0);
72  std::cout << "Info index: " << info.generatedParticleIndex() << std::endl;
73  if (info.generatedParticleIndex() < mctruth.NParticles()) {
74  int gen_track_id = mctruth.GetParticle(info.generatedParticleIndex()).TrackId();
75  std::cout << "Gen track ID: " << gen_track_id << std::endl;
76  }
77  }
78  return false;
79  }
Contains information about a generated particle.
GeneratedParticleIndex_t generatedParticleIndex() const
Returns the generated particle index.
BEGIN_PROLOG could also be cout

Member Data Documentation

unsigned ana::SBNOsc::MCParticleTreePrinter::event_ind
protected

Definition at line 83 of file MCParticleTreePrinter.cc.

std::string ana::SBNOsc::MCParticleTreePrinter::fMCParticleTag
protected

Definition at line 82 of file MCParticleTreePrinter.cc.


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