33 int main(
int argc,
char **argv)
49 JParser<> zap(
"Auxiliary program to manipulate MUPAGE data.");
53 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
54 zap[
'P'] =
make_field(
P,
"Keep muons in event with given probability (<= 1, 1 == all)") = 1.0;
55 zap[
'u'] =
make_field(
u,
"Reject events as a function of multiplicity (>= 0, 0 == none)") = 0.0;
56 zap[
'E'] =
make_field(
E,
"Energy scaling factor") = 1.0;
62 catch(
const exception &error) {
63 FATAL(error.what() << endl);
66 gRandom->SetSeed(seed);
82 while (inputFile.hasNext()) {
84 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
86 Evt*
event = inputFile.next();
92 if (gRandom->Rndm() <
P)
108 i =
event->mc_trks.erase(i);
113 if (gRandom->Rndm() < pow(event->mc_trks.size(),-
u)) {
Utility class to parse command line options.
ROOT TTree parameter settings.
Recording of objects on file according a format that follows from the file name extension.
static const JGeaneWater gWater
Function object for energy loss of muon in sea water.
Auxiliary class for defining the range of iterations of objects.
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose messaging.
Template specialisation of JMultipleFileScanner for Monte Carlo header.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
General purpose class for object reading from a list of file names.
Utility class to parse command line options.
const JLimit & getLimit() const
Get limit.
Longitudinal emission profile EM-shower.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
then usage $script[input file[working directory[option]]] nWhere option can be E
#define DEBUG(A)
Message macros.
int main(int argc, char *argv[])