Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
N21-01-18
Eval
SMMEff_module.cc
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
// Class: SMMEff
3
// Module Type: analyzer
4
// File: SMMEff_module.cc
5
//
6
// Generated at Thu Sep 28 15:31:46 2013 by Zukai Wang using artmod
7
// from art v1_02_06.
8
////////////////////////////////////////////////////////////////////////
9
10
#include "
RecoBase/CellHit.h
"
11
#include "
Simulation/Particle.h
"
12
#include "
Simulation/ParticleNavigator.h
"
13
#include "
MCCheater/BackTracker.h
"
14
15
#include "
art/Framework/Core/EDAnalyzer.h
"
16
#include "
art/Framework/Core/ModuleMacros.h
"
17
#include "
art/Framework/Principal/Event.h
"
18
#include "
art/Framework/Principal/Handle.h
"
19
#include "
art/Framework/Services/Optional/TFileService.h
"
20
21
#include <fstream>
22
#include <string>
23
#include <vector>
24
25
26
class
TTree;
27
28
namespace
ddt
{
29
class
SMMEff;
30
struct
ZukHit;
31
struct
Zuk_CompareHit;
32
}
33
34
class
ddt::SMMEff
:
public
art::EDAnalyzer
{
35
public
:
36
explicit
SMMEff
(
fhicl::ParameterSet
const
&
p
);
37
virtual
~SMMEff
();
38
39
void
analyze
(
art::Event
const
&
e
)
override
;
40
41
private
:
42
std::string
fCellHitInput
;
43
44
float
beta
;
45
int
nhits
;
46
47
};
48
49
50
ddt::SMMEff::SMMEff
(
fhicl::ParameterSet
const
&
p
) :
51
EDAnalyzer
(p),
52
fCellHitInput
(p.
get
<
std
::
string
>(
"CellHitInput"
))
53
{
54
}
55
56
ddt::SMMEff::~SMMEff
()
57
{
58
}
59
60
void
ddt::SMMEff::analyze
(
art::Event
const
&
e
)
61
{
62
std::ofstream ofs;
63
ofs.open (
"SMM_MC.dat"
,
std::ofstream::out
|
std::ofstream::app
);
64
art::ServiceHandle<cheat::BackTracker>
bt;
65
const
sim::ParticleNavigator
& pnav = bt->
ParticleNavigator
();
66
for
(
sim::ParticleNavigator::const_iterator
i
= pnav.
begin
();
i
!= pnav.
end
(); ++
i
){
67
const
sim::Particle
*
p
= (*i).second;
68
if
(p->
PdgCode
() == 42) {
69
beta
=
sqrt
((p->
P
())*(p->
P
())/((p->
P
())*(p->
P
())+ (p->
Mass
())*(p->
Mass
())) );
70
const
std::vector<sim::FLSHit>& flshits = bt->
ParticleToFLSHit
(p->
TrackId
());
71
nhits
= flshits.size();
72
break
;
73
}
74
}
75
76
ofs<<
beta
<<
" "
<<
nhits
<<
std::endl
;
77
78
return
;
79
}
80
81
82
DEFINE_ART_MODULE
(
ddt::SMMEff
)
BackTracker.h
back track the reconstruction to the simulation
art::ServiceHandle< cheat::BackTracker >
simb::MCParticle::PdgCode
int PdgCode() const
Definition:
MCParticle.h:211
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
ddt::SMMEff::beta
float beta
Definition:
SMMEff_module.cc:44
p
const char * p
Definition:
xmltok.h:285
std::sqrt
T sqrt(T number)
Definition:
d0nt_math.hpp:156
cheat::BackTracker::ParticleToFLSHit
std::vector< sim::FLSHit > ParticleToFLSHit(const int &trackID) const
All the FLSHits that were created by the track id trackID, sorted from most to least light...
Definition:
BackTracker_service.cc:1514
simb::MCParticle::Mass
double Mass() const
Definition:
MCParticle.h:238
sim::ParticleNavigator::const_iterator
list_type::const_iterator const_iterator
Definition:
ParticleNavigator.h:86
site_stats_from_log.get
get
Definition:
site_stats_from_log.py:189
std
Definition:
SpectrumLoaderBase.h:26
sim::ParticleNavigator
Definition:
ParticleNavigator.h:76
DEFINE_ART_MODULE
DEFINE_ART_MODULE(TestTMapFile)
MECModelEnuComparisons.i
int i
Definition:
MECModelEnuComparisons.py:63
Handle.h
ddt::SMMEff::SMMEff
SMMEff(fhicl::ParameterSet const &p)
Definition:
SMMEff_module.cc:50
simb::MCParticle::TrackId
int TrackId() const
Definition:
MCParticle.h:209
confusionMatrixTree.out
out
Definition:
confusionMatrixTree.py:254
CellHit.h
ddt::SMMEff::fCellHitInput
std::string fCellHitInput
Definition:
SMMEff_module.cc:42
ddt::SMMEff::nhits
int nhits
Definition:
SMMEff_module.cc:45
simb::MCParticle::P
double P(const int i=0) const
Definition:
MCParticle.h:233
sim::ParticleNavigator::begin
iterator begin()
Definition:
ParticleNavigator.h:136
art::EDAnalyzer::EDAnalyzer
EDAnalyzer(Table< Config > const &config)
Definition:
EDAnalyzer.h:100
EDAnalyzer.h
sim::ParticleNavigator::end
iterator end()
Definition:
ParticleNavigator.h:138
ModuleMacros.h
allTimeWatchdog.endl
string endl
Definition:
allTimeWatchdog.py:25
Event.h
art::Event
Definition:
Event.h:42
Particle.h
ddt
Definition:
DataSliceEva_module.cc:45
TFileService.h
art::EDAnalyzer
Definition:
EDAnalyzer.h:31
demo.app
app
Definition:
demo.py:189
e
Float_t e
Definition:
plot.C:35
ddt::SMMEff::~SMMEff
virtual ~SMMEff()
Definition:
SMMEff_module.cc:56
ddt::SMMEff::analyze
void analyze(art::Event const &e) override
Definition:
SMMEff_module.cc:60
ddt::SMMEff
Definition:
SMMEff_module.cc:34
fhicl::ParameterSet
Definition:
ParameterSet.h:34
string
enum BeamMode string
Generated on Mon Jan 18 2021 14:13:48 for NOvA by
1.8.11