50 int main(
int argc,
char **argv)
65 JParser<> zap(
"Example program to test hit coincidence building with Monte Carlo events.");
69 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
77 catch(
const exception &error) {
78 FATAL(error.what() << endl);
82 using namespace KM3NETDAQ;
104 TProfile hn(
"hn", NULL, 31, 0.5, +31.5);
105 TProfile hc(
"hc", NULL, 21, -1.05, +1.05);
106 TProfile ht(
"ht", NULL, 20, 0.5, +20.5);
118 JSuperFrame2D_t buffer;
123 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
125 Evt*
event =
in.next();
127 const int frame_index = 1;
135 for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
137 if (moduleRouter.
hasModule(super_frame->getModuleID())) {
143 buffer(*super_frame, module);
147 buildL1(buffer, back_inserter(dataL1));
149 if (!dataL1.empty()) {
153 JFrameL1_t d1(dataL1);
156 for (
int i = 1; i <= hn.GetNbinsX(); ++i) {
162 buildL2(buffer, d1, back_inserter(d2));
164 hn.Fill((
double) buildL2.
numberOfHits, (
double) d2.size() / (double) dataL1.size());
171 if (!dataL1.empty()) {
175 JFrameL1_t d1(dataL1);
178 for (
int i = 1; i <= hc.GetNbinsX(); ++i) {
180 buildL2.
ctMin = hc.GetBinCenter(i);
184 buildL2(buffer, d1, back_inserter(d2));
186 hc.Fill(buildL2.
ctMin, (
double) d2.size() / (double) dataL1.size());
193 if (!dataL1.empty()) {
197 JFrameL1_t d1(dataL1);
200 for (
int i = ht.GetNbinsX(); i != 0; --i) {
206 buildL2(buffer, d1, back_inserter(d2));
208 ht.Fill(buildL2.
TMaxLocal_ns, (
double) d2.size() / (double) dataL1.size());
Utility class to parse command line options.
int main(int argc, char *argv[])
ROOT TTree parameter settings of various packages.
Data structure for a composite optical module.
double ctMin
minimal cosine space angle between PMT axes
Router for direct addressing of module data in detector data structure.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Basic data structure for time and time over threshold information of hit.
Data structure for UTC time.
Data structure for detector geometry and calibration.
int numberOfHits
minimal number of hits
double getTimeOfFrame(const int frame_index)
Get start time of frame in ns since start of run for a given frame index.
Basic data structure for L0 hit.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getFrameTime()
Get frame time duration.
Auxiliary class for map of PMT parameters.
General purpose messaging.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
void reset(JK40Simulator *k40Simulator)
Reset K40 simulator.
Direct access to module in detector data structure.
Data structure for L2 parameters.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
General purpose class for object reading from a list of file names.
Utility class to parse command line options.
const JModuleAddress & getAddress(const JObjectID &id) const
Get address of module.
double TMaxLocal_ns
maximal time difference [ns]
bool hasModule(const JObjectID &id) const
Has module.
Auxiliary data structure for L1 build parameters.
2-dimensional frame with time calibrated data from one optical module.
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Timeslice with Monte Carlo event.
Basic data structure for L1 hit.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
#define DEBUG(A)
Message macros.