|
33using namespace siscone;
37#define THRESHOLD_DEFAULT 0.5
38#define PTMIN_DEFAULT 0.0
39#define NPASS_DEFAULT 0
40#define DEFAULT_EVENT "events/single-event.dat"
41#define SM_DEFAULT SM_pttilde
59 f = THRESHOLD_DEFAULT;
60 npass = NPASS_DEFAULT;
85 static struct option siscone_options[]={
92 { "number", required_argument, NULL, 'N'},
93 { "radius", required_argument, NULL, 'R'},
94 { "fraction", required_argument, NULL, 'f'},
95 { "ptmin", required_argument, NULL, 'p'},
96 { "npass", required_argument, NULL, 'n'},
97 { "event", required_argument, NULL, 'e'},
98 { "sm", required_argument, NULL, 's'},
108 opt_param = getopt_long(argc, argv, "hvqN:R:f:p:n:e:s:",
109 siscone_options, &option_index);
121 sscanf(optarg, "%d", & N_stop);
123 cout << "Warning: the specified number of particles must be positive. Using default one" << endl;
128 sscanf(optarg, "%lf", & R);
130 cout << "Warning: the specified cone radius must be positive. Using default one" << endl;
135 sscanf(optarg, "%lf", & f);
137 cout << "Warning: the specified split/merge threshold must be in [0,1]. Using default one" << endl;
138 f = THRESHOLD_DEFAULT;
142 sscanf(optarg, "%lf", & ptmin);
144 cout << "Warning: the specified minimal pT must be non-negative. Using default one" << endl;
145 ptmin = PTMIN_DEFAULT;
149 sscanf(optarg, "%d", & npass);
151 cout << "Warning: the specified number of passes must be non negative. Using default one" << endl;
152 npass = NPASS_DEFAULT;
157 ev_name = new char[strlen(optarg)+1];
164 if (strcmp(tmp, "pttilde")==0){
166 } else if (strcmp(tmp, "mt")==0){
168 } else if (strcmp(tmp, "pt")==0){
170 } else if (strcmp(tmp, "Et")==0){
173 cout << "Warning: the specified varible for split--merge is not valid (should be pttilde, pt, mt or Et). Using pttilde as the default one." << endl;
181 fprintf(stderr, "Giving up.\n");
186 fprintf(stderr, "unrecognized option %c. Giving up.\n", opt_param);
193 ev_name = new char[strlen(DEFAULT_EVENT)+1];
194 strcpy( ev_name, DEFAULT_EVENT);
204 cout << siscone_package_name() << " " << siscone_version() << endl;
205 cout << "Usage: " << siscone_package_name() << " <args>" << endl;
207 cout << "Here is an exhaustive list of the arguments:" << endl;
208 cout << "Parameters control (with default values):" << endl;
209 cout << " -n <val>, --number=<val> : set the maximum number of particles allowed (all)" << endl;
210 cout << " -R <val>, --radius=<val> : set the radius (" << R_DEFAULT << ")" << endl;
211 cout << " -f <val>, --fraction=<val>: set the overlap parameter (" << THRESHOLD_DEFAULT << ")" << endl;
212 cout << " -p <val>, --ptmin=<val> : set the minimal pT for protojets (" << PTMIN_DEFAULT << ")" << endl;
213 cout << " -n <val>, --npass=<val> : set the maximal number of passes (0 for no limit) (" << NPASS_DEFAULT << ")" << endl;
214 cout << " -e <val>, --event=<val> : set the event filename (" << DEFAULT_EVENT << ")" << endl;
215 cout << " -s <val>, --sm=<val> : variable for split--merge: pttilde, mt, pt or Et (pttilde)" << endl;
217 cout << "Output flags" << endl;
218 cout << " --version : show version information" << endl;
219 cout << " -h, --help : show this message" << endl;
220 cout << " -v, --verbose: be verbose (on by default)" << endl;
221 cout << " -q, --quiet : be quiet" << endl;
231 cout << siscone_package_name() << " " << siscone_version() << endl;
232 cout << "Copyright (C) 2006." << endl;
233 cout << siscone_package_name() << " comes with NO WARRANTY," << endl;
234 cout << "to the extent permitted by law." << endl;
235 cout << "You may redistribute copies of " << siscone_package_name() << endl;
236 cout << "under the terms of the GNU General Public License." << endl;
237 cout << "For more information about these matters," << endl;
238 cout << "see the files named COPYING." << endl;
239 cout << "Please send bugs or comments to AUTHORS" << endl;
int print_version() print program version
char * ev_name event to read
int parse_options(int argc, char **argv) parse oprions
int verbose_flag do we need to print the help message
siscone::Esplit_merge_scale SM_var variable for split-merge
int print_help() print the help message
int help_flag do we need to print the help message
int npass number of passes (0 for \infty)
double ptmin minimal pT for jet candidates
int version_flag do we need to print the version description
double f split/merge threshold
int N_stop maximum number of particle
The
SISCone project has been developed by
Gavin Salam and
Gregory Soyez
Documentation generated on Tue Jun 20 2023 18:08:37 for SISCone by
Doxygen 1.9.4
|