Jpp 20.0.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JORCAReconstruction.hh
Go to the documentation of this file.
1#ifndef __JRECONSTRUCTION__JORCARECONSTRUCTION__
2#define __JRECONSTRUCTION__JORCARECONSTRUCTION__
3
4#include <string>
5#include <iomanip>
6
9
13
14#include "Jeep/JProperties.hh"
15
16/**
17 * \author mdejong
18 */
19
20namespace JRECONSTRUCTION {}
21namespace JPP { using namespace JRECONSTRUCTION; }
22
23namespace JRECONSTRUCTION {
24
25 /**
26 * ORCA reconstruction.
27 */
29 /**
30 * Energy correction.
31 */
33 /**
34 * Default constructor.
35 */
37 properties(JEquationParameters("=", "\n;", "", "#"))
38 {
39 properties["muon"] = muon;
40 properties["shower"] = shower;
41 }
42
45
47 };
48
49
50 /**
51 * Parameters.
52 */
54 /**
55 * Default constructor.
56 */
58 properties(JEquationParameters(".", "\n;", "", "#"))
59 {
60 properties["muon"] = muon .properties;
61 properties["shower"] = shower.properties;
62 }
63
64 JORCAMuonReconstruction ::JParameters_t muon;
66
68 };
69
70
71 /**
72 * Storage for PDFs.
73 */
74 struct JStorage_t {
75 /**
76 * Constructor.
77 *
78 * \param fileDescriptor PDF file descriptor
79 * \param parameters parameters
80 */
81 JStorage_t(const std::string& fileDescriptor,
82 const JParameters_t& parameters) :
83 muon (fileDescriptor, parameters.muon),
84 shower(fileDescriptor, parameters.shower)
85 {}
86
87 JORCAMuonReconstruction ::JStorage_t muon;
89 };
90
91
92 /**
93 * Input data type.
94 */
95 struct input_type :
96 public JDAQEventHeader
97 {
98 /**
99 * Default constructor.
100 */
102 {}
103
104
105 /**
106 * Constructor.
107 *
108 * \param header header
109 */
111 JDAQEventHeader(header)
112 {}
113
114 JORCAMuonReconstruction ::input_type muon;
116 };
117
118
119 /**
120 * Constructor.
121 *
122 * \param parameters parameters
123 * \param storage storage
124 * \param rates_Hz K40 rates [Hz]
125 * \param pmtParameters PMT parameters
126 * \param correct energy correction
127 * \param debug debug
128 */
130 const JStorage_t& storage,
131 const JK40Rates& rates_Hz,
132 const JPMTParametersMap& pmtParameters,
133 const JEnergyCorrection_t& correct,
134 const int debug) :
135 muon (parameters.muon, storage.muon, rates_Hz, pmtParameters, correct.muon, debug),
136 shower(parameters.shower, storage.shower, correct.shower, debug)
137 {}
138
139
140 /**
141 * Get input data.
142 *
143 * \param router module router
144 * \param summary summary data
145 * \param event event
146 * \param coverage coverage
147 * \return input data
148 */
150 const JSummaryRouter& summary,
151 const JDAQEvent& event,
152 const coverage_type& coverage) const
153 {
154 input_type input(event.getDAQEventHeader());
155
156 input.muon = muon .getInput(router, summary, event, coverage);
157 input.shower = shower.getInput(router, summary, event, coverage);
158
159 return input;
160 }
161
162
163 /**
164 * Fit function.
165 *
166 * \param input input data
167 * \return fit results
168 */
170 {
171 JEvt out;
172
173 out += muon (input.muon);
174 out += shower(input.shower);
175
176 return out;
177 }
178
179
182 };
183}
184
185#endif
int debug
debug level
Definition JSirene.cc:72
Utility class to parse parameter values.
Router for direct addressing of module data in detector data structure.
Auxiliary class for map of PMT parameters.
Utility class to parse parameter values.
Data structure for set of track fit results.
Auxiliary class for correction of energy determined by JShowerEnergy.cc.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
Auxiliary class for correction of energy determined by JEnergy.cc.
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
const JDAQEventHeader & getDAQEventHeader() const
Get DAQ event header.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Data structure for coverage of detector by dynamical calibrations.
Definition JCoverage.hh:19
Auxiliary class for K40 rates.
Definition JK40Rates.hh:41
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const coverage_type &coverage) const
Get input data.
JORCAShowerReconstruction::JParameters_t shower
JStorage_t(const std::string &fileDescriptor, const JParameters_t &parameters)
Constructor.
JORCAShowerReconstruction::JStorage_t shower
input_type(const JDAQEventHeader &header)
Constructor.
JORCAShowerReconstruction::input_type shower
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const coverage_type &coverage) const
Get input data.
JEvt operator()(input_type &input)
Fit function.
JORCAReconstruction(const JParameters_t &parameters, const JStorage_t &storage, const JK40Rates &rates_Hz, const JPMTParametersMap &pmtParameters, const JEnergyCorrection_t &correct, const int debug)
Constructor.
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const coverage_type &coverage) const
Get input data.