Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
N21-01-18
Demo
TutFilter_module.cc
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
/// \brief TODO
3
/// \author bckhouse@hep.caltech.edu
4
////////////////////////////////////////////////////////////////////////
5
6
#include <string>
7
8
// Framework includes
9
#include "
art/Framework/Core/EDFilter.h
"
10
#include "
art/Framework/Core/ModuleMacros.h
"
11
#include "
art/Framework/Principal/Event.h
"
12
#include "
art/Framework/Principal/Handle.h
"
13
#include "
art/Framework/Services/Registry/ServiceHandle.h
"
14
15
// NOvASoft includes
16
#include "
MCCheater/BackTracker.h
"
17
#include "
Simulation/ParticleNavigator.h
"
18
19
20
namespace
tut
21
{
22
class
TutFilter
:
public
art::EDFilter
23
{
24
public
:
25
explicit
TutFilter
(
const
fhicl::ParameterSet
& pset);
26
~TutFilter
();
27
28
bool
filter
(
art::Event
&
evt
);
29
30
void
reconfigure
(
const
fhicl::ParameterSet
& pset);
31
32
void
beginJob
();
33
34
protected
:
35
std::string
fGeantLabel
;
36
};
37
}
38
39
////////////////////////////////////////////////////////////////////////
40
namespace
tut
41
{
42
//.......................................................................
43
TutFilter::TutFilter
(
const
fhicl::ParameterSet
& pset)
44
{
45
reconfigure
(pset);
46
}
47
48
//......................................................................
49
TutFilter::~TutFilter
()
50
{
51
}
52
53
//......................................................................
54
void
TutFilter::reconfigure
(
const
fhicl::ParameterSet
& pset)
55
{
56
fGeantLabel
= pset.
get
<
std::string
>(
"GeantLabel"
);
57
}
58
59
//......................................................................
60
void
TutFilter::beginJob
()
61
{
62
}
63
64
//......................................................................
65
bool
TutFilter::filter
(
art::Event
&
evt
)
66
{
67
// get the BackTracker service and use that to obtain a
68
// ParticleNavigator
69
art::ServiceHandle<cheat::BackTracker>
bt;
70
const
sim::ParticleNavigator
& nav = bt->
ParticleNavigator
();
71
72
// pizero should be a primary
73
for
(
int
primIdx = 0; primIdx < nav.
NumberOfPrimaries
(); ++primIdx){
74
const
sim::Particle
* pizero = nav.
Primary
(primIdx);
75
// look for pi0's only
76
if
(pizero->
PdgCode
() != 111)
continue
;
77
78
if
(pizero->
NumberDaughters
() != 2)
continue
;
79
80
// Check the daughters are what they should be
81
const
sim::Particle
* phot0 = nav[pizero->
Daughter
(0)];
82
if
(phot0->
PdgCode
() != 22)
continue
;
83
const
sim::Particle
* phot1 = nav[pizero->
Daughter
(1)];
84
if
(phot1->
PdgCode
() != 22)
continue
;
85
86
// Know we have at least one 2-gamma pi0
87
return
true
;
88
}
89
90
// Didn't find any
91
return
false
;
92
}
93
}
// end namespace tut
94
95
////////////////////////////////////////////////////////////////////////
96
namespace
tut
97
{
98
DEFINE_ART_MODULE
(
TutFilter
)
99
}
tut::TutFilter::beginJob
void beginJob()
Definition:
TutFilter_module.cc:60
BackTracker.h
back track the reconstruction to the simulation
art::ServiceHandle< cheat::BackTracker >
simb::MCParticle::PdgCode
int PdgCode() const
Definition:
MCParticle.h:211
art::EDFilter
Definition:
EDFilter.h:30
cheat::BackTracker::ParticleNavigator
const sim::ParticleNavigator & ParticleNavigator() const
Get a reference to the ParticleNavigator.
Definition:
BackTracker.h:744
sim::Particle
Definition:
Particle.h:21
ParticleNavigator.h
tut::TutFilter::TutFilter
TutFilter(const fhicl::ParameterSet &pset)
Definition:
TutFilter_module.cc:43
sim::ParticleNavigator
Definition:
ParticleNavigator.h:76
DEFINE_ART_MODULE
DEFINE_ART_MODULE(TestTMapFile)
tut::TutFilter::filter
bool filter(art::Event &evt)
Definition:
TutFilter_module.cc:65
Handle.h
simb::MCParticle::NumberDaughters
int NumberDaughters() const
Definition:
MCParticle.h:216
simb::MCParticle::Daughter
int Daughter(const int i) const
Definition:
MCParticle.cxx:112
ServiceHandle.h
tut::TutFilter::~TutFilter
~TutFilter()
Definition:
TutFilter_module.cc:49
tut::TutFilter
Definition:
TutFilter_module.cc:22
sim::ParticleNavigator::Primary
const sim::Particle * Primary(const int) const
Definition:
ParticleNavigator.cxx:155
EDFilter.h
tut::TutFilter::reconfigure
void reconfigure(const fhicl::ParameterSet &pset)
Definition:
TutFilter_module.cc:54
fhicl::ParameterSet::get
T get(std::string const &key) const
Definition:
ParameterSet.h:231
evt
int evt
Definition:
FillTrainingTrees.h:22
tut
TODO.
Definition:
TutAnalyzer_module.cc:21
ModuleMacros.h
Event.h
tut::TutFilter::fGeantLabel
std::string fGeantLabel
Definition:
TutFilter_module.cc:35
art::Event
Definition:
Event.h:42
sim::ParticleNavigator::NumberOfPrimaries
int NumberOfPrimaries() const
Definition:
ParticleNavigator.cxx:149
fhicl::ParameterSet
Definition:
ParameterSet.h:34
string
enum BeamMode string
Generated on Mon Jan 18 2021 14:13:46 for NOvA by
1.8.11