Jpp  18.2.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JTriggerTestkit.hh
Go to the documentation of this file.
1 #ifndef __JTRIGGERTESTKIT__
2 #define __JTRIGGERTESTKIT__
3 
4 #include "TRandom3.h"
5 
7 #include "JMath/JRandom.hh"
8 
9 /**
10  * \author mdejong
11  */
12 
13 namespace JTRIGGER {}
14 namespace JPP { using namespace JTRIGGER; }
15 
16 namespace JTRIGGER {
17 
18  using JMATH::getRandom;
19 
20 
21  /**
22  * Randomize trigger parameters.
23  *
24  * \param p pointer to valid object
25  */
27  {
28  p->enabled = getRandom<bool>();
29  p->numberOfHits = getRandom<int>(1, 10);
30  p->numberOfModules = getRandom<int>(1, 10);
31  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
32  p->roadWidth_m = getRandom<double>(50.0, 250.0, 1.0);
33  p->gridAngle_deg = getRandom<double>( 1.0, 10.0, 1.0);
34  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
35  p->factoryLimit = getRandom<double>(100, 200);
36  }
37 
38 
39  /**
40  * Randomize trigger parameters.
41  *
42  * \param p pointer to valid object
43  */
45  {
46  p->enabled = getRandom<bool>();
47  p->numberOfHits = getRandom<int>(1, 10);
48  p->numberOfModules = getRandom<int>(1, 10);
49  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
50  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
51  p->factoryLimit = getRandom<double>(100, 200);
52  }
53 
54 
55  /**
56  * Randomize trigger parameters.
57  *
58  * \param p pointer to valid object
59  */
61  {
62  p->enabled = getRandom<bool>();
63  p->numberOfHits = getRandom<int>(1, 10);
64  p->numberOfModules = getRandom<int>(1, 10);
65  p->DMax_m = getRandom<double>( 0.0, 999.0, 1.0);
66  p->TMaxExtra_ns = getRandom<double>(10.0, 50.0, 1.0);
67  p->factoryLimit = getRandom<double>(100, 200);
68  }
69 
70 
71  /**
72  * Randomize trigger parameters.
73  *
74  * \param p pointer to valid object
75  */
77  {
78  p->enabled = getRandom<bool>();
79 
80  p->pmts.clear();
81 
82  for (int i = getRandom<int>(1, 10); i != 0; --i) {
83  p->pmts.push_back(JPMTIdentifier_t(getRandom<int>(-1, 100),
84  getRandom<int>(-1, 30)));
85  }
86  }
87 
88 
89  /**
90  * Randomize trigger parameters.
91  *
92  * \param p pointer to valid object
93  */
94  inline void randomize(JTriggerParameters* p)
95  {
96  p->highRateVeto_Hz = getRandom<double>(1.0e3, 1.0e4, 1.0);
97  p->L2Min = getRandom<int>(2, 3);
98  p->ctMin = getRandom<double>( -1.0, +1.0, 0.1);
99  p->TMaxLocal_ns = getRandom<double>( 10.0, 20.0, 1.0);
100  p->TMaxEvent_ns = getRandom<double>(100.0, 999.0, 1.0);
101  p->numberOfBins = getRandom<int>(100, 1000);
102  p->combineL1 = getRandom<bool>();
103 
104  p->trigger3DMuon = getRandom<JTrigger3DMuon_t ::JParameters>();
105  p->trigger3DShower = getRandom<JTrigger3DShower_t::JParameters>();
106  p->triggerMXShower = getRandom<JTriggerMXShower_t::JParameters>();
107  p->triggerNB = getRandom<JTriggerNB_t ::JParameters>();
108 
109  p->writeSummary = getRandom<long long int>(0, 100);
110  p->writeL0 = getRandom<long long int>(0, 100);
111  p->writeL1 = getRandom<long long int>(0, 100);
112  p->writeL2 = getRandom<long long int>(0, 100);
113  p->writeSN = getRandom<long long int>(0, 100);
114  }
115 }
116 
117 #endif
Data structure for all trigger parameters.
bool enabled
enabled status of trigger
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger)
double TMaxExtra_ns
maximal extra time [ns]
bool enabled
enabled status of trigger
Definition: JTriggerNB_t.hh:84
double roadWidth_m
maximal road width [m]
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger)
int numberOfBins
number of bins for lookup table of timeslice
double DMax_m
maximal distance between PMTs [m]
int numberOfHits
minimal number of hits to trigger event
JPMTSelector pmts
PMT selection.
Definition: JTriggerNB_t.hh:86
bool combineL1
combine multiple L1s in many-fold coincidence
Definition of random value generator.
int L2Min
minimal number of L0 hits for L2
double TMaxLocal_ns
maximal time difference between L0 hits for L1
double TMaxExtra_ns
maximal extra time [ns]
int numberOfModules
minimal number of modules to trigger event
JTriggerMXShower_t::JParameters triggerMXShower
double TMaxEvent_ns
maximal time before and after event for snapshot
JPrescaler writeSummary
write JDAQSummaryslice
double highRateVeto_Hz
high-rate veto [Hz]
JTrigger3DShower_t::JParameters trigger3DShower
double ctMin
this parameter has been deprecated
int numberOfHits
minimal number of hits to trigger event
JPrescaler writeL2
write JDAQTimeslice with L2 data
bool enabled
enabled status of trigger
JPrescaler writeL1
write JDAQTimeslice with L1 data
int numberOfHits
minimal number of hits to trigger event
JPrescaler writeL0
write JDAQTimeslice with L0 data
int numberOfModules
minimal number of modules to trigger event
bool enabled
enabled status of trigger
T getRandom()
Get random value.
Definition: JRandom.hh:113
int numberOfModules
minimal number of modules to trigger event
double TMaxExtra_ns
maximal extra time [ns]
int factoryLimit
maximal number of hits to apply trigger logic (above this limit, always trigger
double DMax_m
maximal distance between PMTs [m]
double DMax_m
maximal distance between PMTs [m]
void randomize(Vec *p)
Randomize 3D vector.
JTrigger3DMuon_t::JParameters trigger3DMuon
JPrescaler writeSN
write JDAQTimeslice with SN data