4 |
|
#include <getopt.h> |
5 |
|
#include <stdio.h> |
6 |
|
#include <stdlib.h> |
7 |
+ |
#include <signal.h> |
8 |
+ |
|
9 |
|
#include "Modules/GeneralToolBox.C" |
10 |
|
#include "Modules/SampleClass.C" |
11 |
|
#include "Modules/setTDRStyle.C" |
12 |
< |
#include "Modules/Setup.C" |
13 |
< |
//#include "Modules/Poisson_Calculator.C" |
12 |
> |
#include "Modules/ZbSetup.C" |
13 |
> |
#include "Modules/JSON/JSONSampleLoader.C" |
14 |
|
#include "Modules/ActiveSamples.C" |
13 |
– |
//#include "Modules/PeakFinder.C" |
14 |
– |
//#include "Modules/UpperLimitsWithShape.C" |
15 |
– |
//#include "Modules/Plotting_Functions.C" |
16 |
– |
//#include "Modules/LimitCalculation.C" |
17 |
– |
//#include "Modules/ResultModule.C" |
18 |
– |
//#include "Modules/CrossSectionReader.C" |
19 |
– |
//#include "Modules/Systematics.C" |
20 |
– |
//#include "Modules/SugarCoating.C" |
21 |
– |
//#include "Modules/ExclusionPlot.C" |
22 |
– |
//#include "Modules/SUSYScan.C" |
23 |
– |
|
15 |
|
#include "Modules/ValueClass.C" |
16 |
|
#include "Modules/ZbTools.C" |
17 |
|
|
41 |
|
void usage(int passed=0 ) { |
42 |
|
std::cout << "USAGE : " << std::endl; |
43 |
|
std::cout << "You can use different options when running this program : " << std::endl; |
44 |
< |
std::cout << "\033[1;34m inclusive (i)\033[0m \t\t Run the algorithm with the inclusive (all jets) selection" << std::endl; |
54 |
< |
std::cout << "\033[1;34m exclusive (e)\033[0m \t\t Run the algorithm with the exclusive (b-jets only) selection" << std::endl; |
44 |
> |
std::cout << "\033[1;34m Full (f)\033[0m \t\t Run the FULL analysis including all systematics etc. " << std::endl; |
45 |
|
std::cout << std::endl; |
46 |
|
std::cout << "\033[1;34m all\033[0m \t\t All processes of the standard workflow" << std::endl; |
47 |
|
std::cout << "\033[1;34m png\033[0m \t\t Save all plots as pngs (also available: --pdf, --root, --eps, --C) standard: png&pdf" << std::endl; |
62 |
|
int saveRoot=true; |
63 |
|
int savepng=true; |
64 |
|
int saveeps=false; |
65 |
< |
int do_inclusive=false; |
65 |
> |
int do_Full=false; |
66 |
|
|
67 |
|
std::string directory=""; |
68 |
|
int option_iterator; |
81 |
|
{"pdf", no_argument, &savepdf,1}, |
82 |
|
{"root", no_argument, &saveRoot,1}, |
83 |
|
{"C", no_argument, &saveC,1}, |
84 |
< |
{"inclusive", no_argument, &do_inclusive,1}, |
95 |
< |
{"exclusive", no_argument, &do_inclusive,0}, |
84 |
> |
{"full", no_argument, &do_Full,1}, |
85 |
|
/* The following options store values.*/ |
86 |
|
{"dir", required_argument, 0, 'd'}, |
87 |
|
{0, 0, 0, 0} |
88 |
|
}; |
89 |
|
int option_index = 0; |
90 |
< |
option_iterator = getopt_long(argc, argv, "d:ei",long_options, &option_index); |
90 |
> |
option_iterator = getopt_long(argc, argv, "d:f",long_options, &option_index); |
91 |
|
if(option_iterator == -1) moreoptions=false; |
92 |
|
else { |
93 |
|
option_counter++; |
105 |
|
directory=(std::string)optarg; |
106 |
|
std::cout<<"Option directory was passed with argument " << optarg << std::endl; |
107 |
|
break; |
108 |
< |
case 'e': |
109 |
< |
do_inclusive=false; |
121 |
< |
break; |
122 |
< |
case 'i': |
123 |
< |
do_inclusive=true; |
108 |
> |
case 'f': |
109 |
> |
do_Full=true; |
110 |
|
break; |
111 |
|
case '?': |
112 |
|
usage(option_iterator); |
134 |
|
PlottingSetup::RestrictToMassPeak=true; |
135 |
|
|
136 |
|
//define_Zb_samples(showList,allsamples,signalsamples,scansample,raresample,systsamples,qcdsamples); |
137 |
+ |
IsZbAnalysis=true; |
138 |
+ |
IsWZAnalysis=false; |
139 |
+ |
IsJZBAnalysis=false; |
140 |
|
write_warning(__FUNCTION__,"Need to adapt sample collection!"); |
152 |
– |
write_warning(__FUNCTION__,"Where the hell are the b efficiency corrections?!"); |
141 |
|
define_samples(showList,allsamples,signalsamples,scansample,raresample,systsamples,qcdsamples,comparesamples); |
142 |
|
setlumi(luminosity); |
143 |
|
setessentialcut(essential&&TCut("id1==id2"));//this sets the essential cut; this one is used in the draw command so it is AUTOMATICALLY applied everywhere. IMPORTANT: Do NOT store weights here! |
150 |
|
do_root(saveRoot); |
151 |
|
|
152 |
|
|
153 |
< |
|
154 |
< |
|
155 |
< |
|
156 |
< |
|
169 |
< |
|
170 |
< |
write_warning(__FUNCTION__,"Everything missing so far goes here: "); |
171 |
< |
cout << " Still need to carry out cross - checks" << endl; |
172 |
< |
cout << " Still need to define errors in final plot " << endl; |
173 |
< |
|
174 |
< |
|
175 |
< |
do_basic_ZB_analysis(do_inclusive); |
153 |
> |
write_warning(__FUNCTION__,"Using preliminary weights!"); |
154 |
> |
//cutWeight=TCut("(weight*(weight<1000)*(is_data+(!is_data)*((id1==id2)*0.95+(id1!=id2)*0.94)))"); |
155 |
> |
cutWeight=TCut("(weight*(weight<1000)*(is_data+(!is_data)*((id1==id2&&id1==0)*0.95+(id1==id2&&id1==1)*0.88+(id1!=id2)*0.92)))"); |
156 |
> |
do_basic_ZB_analysis(do_Full); |
157 |
|
return 0; |
158 |
|
} |
159 |
|
|