62 JParser<> zap(
"Auxiliary program to test event shape variables.");
67 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
80 catch(
const exception &error) {
81 FATAL(error.what() << endl);
84 if (useWeights && numberOfEvents != JLimit::max()) {
85 FATAL(
"Cannot apply weighting to limited number of events.");
93 if (!detectorFile.empty()) {
112 TH1D hT(
"hT",
"thrust", 50, 0.5, 1.0);
114 TH1D hA(
"hA",
"aplanarity", 50, 0.0, 0.5);
115 TH1D hS(
"hS",
"sphericity", 100, 0.0, 1.0);
116 TH1D hc(
"hc",
"circularity", 100, 0.0, 1.0);
117 TH1D hp(
"hp",
"planar flow", 100, 0.0, 1.0);
119 TH1D hC(
"hC",
"C-variable", 100, 0.0, 1.0);
120 TH1D hD(
"hD",
"D-variable", 100, 0.0, 1.0);
122 TH1D hH10(
"hH10",
"H10", 100, 0.0, 1.0);
123 TH1D hH20(
"hH20",
"H20", 100, 0.0, 1.0);
124 TH1D hH30(
"hH30",
"H30", 100, 0.0, 1.0);
125 TH1D hH40(
"hH40",
"H40", 100, 0.0, 1.0);
127 TH1D hq(
"hq",
"Logarithmic eigenvalue ratio hit inertia tensor", 200, -20.0, 0.0);
134 if (!oscProbTable.empty()) {
141 if (scanners.setFlux(fluxMaps) == 0) {
142 WARNING(
"No flux function set." << endl);
151 scanner->setLimit(numberOfEvents);
156 fiducialVolume = get<JCylinder3D>(header);
159 while (scanner->hasNext()) {
161 Evt*
event = scanner->next();
163 const double weight = (useWeights ? scanner->getWeight(*event) : 1.0);
166 RIGHT (15) << scanner->getCounter() <<
182 const double aplanarity = S2.getAplanarity();
183 const double sphericity = S2.getSphericity();
184 const double circularity = S2.getCircularity();
185 const double planarflow = S2.getPlanarFlow();
187 const double C =
S1.getC();
188 const double D =
S1.getD();
190 const double q =
Q.getEigenvalueRatio();
192 hT.Fill(thrust, weight);
194 hA.Fill(aplanarity, weight);
195 hS.Fill(sphericity, weight);
196 hc.Fill(circularity, weight);
197 hp.Fill(planarflow, weight);
202 hH10.Fill(
H[1]/
H[0], weight);
203 hH20.Fill(
H[2]/
H[0], weight);
204 hH30.Fill(
H[3]/
H[0], weight);
205 hH40.Fill(
H[4]/
H[0], weight);
207 hq.Fill(
log10(q), weight);
JVertex3D getVertex(const Trk &track)
Get vertex.
Utility class to parse command line options.
Class for hit inertia tensor calculations.
Q(UTCMax_s-UTCMin_s)-livetime_s
void boostToCOM(Evt &event)
Boost event to the Center of Mass (COM) frame.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Class for computing Fox-Wolfram moments.
Data structure for single set of oscillation parameters.
static const double H
Planck constant [eV s].
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
static const double C
Physics constants.
Auxiliary class for defining the range of iterations of objects.
Class for sphericity tensor calculations.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
set_variable E_E log10(E_{fit}/E_{#mu})"
JOscProbFunction< JFunction_t > make_oscProbFunction(const JFunction_t &function)
Auxiliary method for creating an interface to an oscillation probability function.
Auxiliary class for parsing multiparticle fluxes.
Auxiliary base class for list of file names.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
std::vector< filescanner_type >::iterator iterator
const JHead & getHeader() const
Get header.
Auxiliary class for organising Monte Carlo file scanners associated with event weighters.
void set(const JVector2D &p0, const JVector2D &p1)
Set circle.
do set_variable DETECTOR_TXT $WORKDIR detector
Auxiliary data structure for floating point format specification.
do echo Generating $dir eval D
const array_type< JKey_t > & get_keys(const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &data)
Method to create array of keys of map.
Template definition of a multi-dimensional oscillation probability interpolation table.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
double getThrust(const std::vector< Trk >::const_iterator __begin, const std::vector< Trk >::const_iterator __end)
Compute thrust for a given range of tracks.
#define DEBUG(A)
Message macros.