Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
N21-01-18
Eval
SMMADC_module.cc
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
// Class: SMMADC
3
// Module Type: analyzer
4
// File: SMMADC_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
#include "
Simulation/FLSHit.h
"
15
#include "
Simulation/FLSHitList.h
"
16
17
#include "
art/Framework/Core/EDAnalyzer.h
"
18
#include "
art/Framework/Core/ModuleMacros.h
"
19
#include "
art/Framework/Principal/Event.h
"
20
#include "
art/Framework/Principal/Handle.h
"
21
#include "
art/Framework/Services/Optional/TFileService.h
"
22
23
#include <fstream>
24
#include <string>
25
#include <vector>
26
#include "TTree.h"
27
28
class
TTree;
29
30
namespace
ddt
{
31
class
SMMADC;
32
}
33
34
35
class
ddt::SMMADC
:
public
art::EDAnalyzer
{
36
public
:
37
explicit
SMMADC
(
fhicl::ParameterSet
const
&
p
);
38
virtual
~SMMADC
();
39
40
void
beginJob
();
41
void
analyze
(
art::Event
const
&
e
)
override
;
42
43
private
:
44
std::string
fCellHitInput
;
45
TTree*
SMtree
;
46
47
float
beta
,
plc
,
edep
;
48
int
ADC
;
49
};
50
51
52
ddt::SMMADC::SMMADC
(
fhicl::ParameterSet
const
&
p
) :
53
EDAnalyzer
(p),
54
fCellHitInput
(p.
get
<
std
::
string
>(
"CellHitInput"
))
55
{
56
}
57
58
ddt::SMMADC::~SMMADC
()
59
{
60
}
61
62
void
ddt::SMMADC::beginJob
()
63
{
64
65
art::ServiceHandle<art::TFileService>
tfs;
66
SMtree
= tfs->
make
<TTree>(
"SMHitsTree"
,
""
);
67
68
SMtree
->Branch(
"beta"
,&
beta
,
"beta/F"
);
69
SMtree
->Branch(
"ADC"
,&
ADC
,
"ADC/I"
);
70
SMtree
->Branch(
"plc"
,&
plc
,
"plc/F"
);
71
SMtree
->Branch(
"edep"
,&
edep
,
"edep/F"
);
72
}
73
74
void
ddt::SMMADC::analyze
(
art::Event
const
&
e
)
75
{
76
art::Handle<std::vector<rb::CellHit>
> hitcol;
77
e.
getByLabel
(
fCellHitInput
, hitcol);
78
79
art::ServiceHandle<cheat::BackTracker>
bt;
80
81
const
sim::ParticleNavigator
& pnav = bt->
ParticleNavigator
();
82
for
(
sim::ParticleNavigator::const_iterator
i
= pnav.
begin
();
i
!= pnav.
end
(); ++
i
){
83
const
sim::Particle
*
p
= (*i).second;
84
if
(p->
PdgCode
() == 42) {
85
beta
=
sqrt
((p->
P
())*(p->
P
())/((p->
P
())*(p->
P
())+ (p->
Mass
())*(p->
Mass
())) );
86
break
;
87
}
88
}
89
90
91
for
(
unsigned
int
i
= 0;
i
< hitcol->size(); ++
i
) {
92
art::Ptr<rb::CellHit>
hit
(hitcol,
i
);
93
if
(!bt->
IsNoise
(hit)) {
94
ADC
= hit->
ADC
();
95
const
std::vector<sim::FLSHit >& flshits = bt->
HitToFLSHit
(hit);
96
plc
= flshits[0].GetTotalPathLength();
97
edep
= flshits[0].GetEdep();
98
99
SMtree
->Fill();
100
}
101
}
102
103
return
;
104
}
105
106
107
108
DEFINE_ART_MODULE
(
ddt::SMMADC
)
BackTracker.h
back track the reconstruction to the simulation
art::ServiceHandle< art::TFileService >
simb::MCParticle::PdgCode
int PdgCode() const
Definition:
MCParticle.h:211
ddt::SMMADC::fCellHitInput
std::string fCellHitInput
Definition:
SMMADC_module.cc:44
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
p
const char * p
Definition:
xmltok.h:285
std::sqrt
T sqrt(T number)
Definition:
d0nt_math.hpp:156
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
ddt::SMMADC::analyze
void analyze(art::Event const &e) override
Definition:
SMMADC_module.cc:74
art::Handle
Definition:
fwd.h:23
sim::ParticleNavigator
Definition:
ParticleNavigator.h:76
DEFINE_ART_MODULE
DEFINE_ART_MODULE(TestTMapFile)
FLSHitList.h
MECModelEnuComparisons.i
int i
Definition:
MECModelEnuComparisons.py:63
Handle.h
cheat::BackTracker::IsNoise
bool IsNoise(const art::Ptr< rb::CellHit > &hit) const
Is this hit not associated with any particles?
Definition:
BackTracker_service.cc:447
ddt::SMMADC::~SMMADC
virtual ~SMMADC()
Definition:
SMMADC_module.cc:58
CellHit.h
cheat::BackTracker::HitToFLSHit
std::vector< sim::FLSHit > HitToFLSHit(const rb::CellHit &hit) const
All the FLSHits that contributed to this hit, sorted from most to least light.
Definition:
BackTracker_service.cc:342
simb::MCParticle::P
double P(const int i=0) const
Definition:
MCParticle.h:233
ddt::SMMADC::SMMADC
SMMADC(fhicl::ParameterSet const &p)
Definition:
SMMADC_module.cc:52
ddt::SMMADC::edep
float edep
Definition:
SMMADC_module.cc:47
ddt::SMMADC::beta
float beta
Definition:
SMMADC_module.cc:47
sim::ParticleNavigator::begin
iterator begin()
Definition:
ParticleNavigator.h:136
ddt::SMMADC
Definition:
SMMADC_module.cc:35
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
FLSHit.h
Event.h
ddt::SMMADC::ADC
int ADC
Definition:
SMMADC_module.cc:48
art::Event
Definition:
Event.h:42
art::TFileDirectory::make
T * make(ARGS...args) const
Definition:
TFileDirectory.h:82
Particle.h
ddt
Definition:
DataSliceEva_module.cc:45
TFileService.h
rawdata::RawDigit::ADC
int16_t ADC(uint32_t i) const
Definition:
RawDigit.cxx:58
art::DataViewImpl::getByLabel
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition:
DataViewImpl.h:344
hit
Definition:
structs.h:12
art::EDAnalyzer
Definition:
EDAnalyzer.h:31
ddt::SMMADC::beginJob
void beginJob()
Definition:
SMMADC_module.cc:62
ddt::SMMADC::SMtree
TTree * SMtree
Definition:
SMMADC_module.cc:45
e
Float_t e
Definition:
plot.C:35
ddt::SMMADC::plc
float plc
Definition:
SMMADC_module.cc:47
art::Ptr< rb::CellHit >
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