59 |
|
double MHp; |
60 |
|
}; |
61 |
|
|
62 |
+ |
class SUSY_XSECS { |
63 |
+ |
public: |
64 |
+ |
double MZERO; |
65 |
+ |
double MHALF; |
66 |
+ |
double TANB; |
67 |
+ |
double SGNMU; |
68 |
+ |
double AZERO; |
69 |
+ |
double MTOP; |
70 |
+ |
double XS0; // I 0 All // Included subprocesses // I |
71 |
+ |
double XS201; // I 201 |
72 |
+ |
double XS202; // I 202 f + fbar -> ~e_R + ~e_Rbar // I |
73 |
+ |
double XS204; // I 204 f + fbar -> ~mu_L + ~mu_Lbar // I |
74 |
+ |
double XS205; // I 205 f + fbar -> ~mu_R + ~mu_Rbar // I |
75 |
+ |
double XS207; // I 207 f+fbar -> ~tau_1 + ~tau_1bar // I |
76 |
+ |
double XS208; // I 208 f+fbar -> ~tau_2 + ~tau_2bar // I |
77 |
+ |
double XS209; // I 209 f+fbar -> ~tau_1 + ~tau_2bar // I |
78 |
+ |
double XS210; // I 210 |
79 |
+ |
double XS211; // I 211 q+qbar'-> ~tau_1 + ~nutaubar // I |
80 |
+ |
double XS212; // I 212 q+qbar'-> ~tau_2 + ~nutaubar // I |
81 |
+ |
double XS213; // I 213 f + fbar -> ~nul + ~nulbar // I |
82 |
+ |
double XS214; // I 214 f+fbar -> ~nutau + ~nutaubar // I |
83 |
+ |
double XS216; // I 216 f + fbar -> ~chi1 + ~chi1 // I |
84 |
+ |
double XS217; // I 217 f + fbar -> ~chi2 + ~chi2 // I |
85 |
+ |
double XS218; // I 218 f + fbar -> ~chi3 + ~chi3 // I |
86 |
+ |
double XS219; // I 219 f + fbar -> ~chi4 + ~chi4 // I |
87 |
+ |
double XS220; // I 220 f + fbar -> ~chi1 + ~chi2 // I |
88 |
+ |
double XS221; // I 221 f + fbar -> ~chi1 + ~chi3 // I |
89 |
+ |
double XS222; // I 222 f + fbar -> ~chi1 + ~chi4 // I |
90 |
+ |
double XS223; // I 223 f + fbar -> ~chi2 + ~chi3 // I |
91 |
+ |
double XS224; // I 224 f + fbar -> ~chi2 + ~chi4 // I |
92 |
+ |
double XS225; // I 225 f + fbar -> ~chi3 + ~chi4 // I |
93 |
+ |
double XS226; // I 226 f+fbar -> ~chi+-1 + ~chi-+1 // I |
94 |
+ |
double XS227; // I 227 f+fbar -> ~chi+-2 + ~chi-+2 // I |
95 |
+ |
double XS228; // I 228 f+fbar -> ~chi+-1 + ~chi-+2 // I |
96 |
+ |
double XS229; // I 229 q + qbar' -> ~chi1 + ~chi+-1 // I |
97 |
+ |
double XS230; // I 230 q + qbar' -> ~chi2 + ~chi+-1 // I |
98 |
+ |
double XS231; // I 231 q + qbar' -> ~chi3 + ~chi+-1 // I |
99 |
+ |
double XS232; // I 232 q + qbar' -> ~chi4 + ~chi+-1 // I |
100 |
+ |
double XS233; // I 233 q + qbar' -> ~chi1 + ~chi+-2 // I |
101 |
+ |
double XS234; // I 234 q + qbar' -> ~chi2 + ~chi+-2 // I |
102 |
+ |
double XS235; // I 235 q + qbar' -> ~chi3 + ~chi+-2 // I |
103 |
+ |
double XS236; // I 236 q + qbar' -> ~chi4 + ~chi+-2 // I |
104 |
+ |
double XS237; // I 237 q + qbar -> ~chi1 + ~g // I |
105 |
+ |
double XS238; // I 238 q + qbar -> ~chi2 + ~g // I |
106 |
+ |
double XS239; // I 239 q + qbar -> ~chi3 + ~g // I |
107 |
+ |
double XS240; // I 240 q + qbar -> ~chi4 + ~g // I |
108 |
+ |
double XS241; // I 241 q + qbar' -> ~chi+-1 + ~g // I |
109 |
+ |
double XS242; // I 242 q + qbar' -> ~chi+-2 + ~g // I |
110 |
+ |
double XS243; // I 243 q + qbar -> ~g + ~g // I |
111 |
+ |
double XS244; // I 244 g + g -> ~g + ~g // I |
112 |
+ |
double XS246; // I 246 qj + g -> ~qj_L + ~chi1 // I |
113 |
+ |
double XS247; // I 247 qj + g -> ~qj_R + ~chi1 // I |
114 |
+ |
double XS248; // I 248 qj + g -> ~qj_L + ~chi2 // I |
115 |
+ |
double XS249; // I 249 qj + g -> ~qj_R + ~chi2 // I |
116 |
+ |
double XS250; // I 250 qj + g -> ~qj_L + ~chi3 // I |
117 |
+ |
double XS251; // I 251 qj + g -> ~qj_R + ~chi3 // I |
118 |
+ |
double XS252; // I 252 qj + g -> ~qj_L + ~chi4 // I |
119 |
+ |
double XS253; // I 253 qj + g -> ~qj_R + ~chi4 // I |
120 |
+ |
double XS254; // I 254 qj + g -> ~qk_L + ~chi+-1 // I |
121 |
+ |
double XS256; // I 256 qj + g -> ~qk_L + ~chi+-2 // I |
122 |
+ |
double XS258; // I 258 qj + g -> ~qj_L + ~g // I |
123 |
+ |
double XS259; // I 259 qj + g -> ~qj_R + ~g // I |
124 |
+ |
double XS261; // I 261 f + fbar -> ~t_1 + ~t_1bar // I |
125 |
+ |
double XS262; // I 262 f + fbar -> ~t_2 + ~t_2bar // I |
126 |
+ |
double XS263; // I 263 f + fbar -> ~t_1 + ~t_2bar // I |
127 |
+ |
double XS264; // I 264 g + g -> ~t_1 + ~t_1bar // I |
128 |
+ |
double XS265; // I 265 g + g -> ~t_2 + ~t_2bar // I |
129 |
+ |
double XS271; // I 271 qi + qj -> ~qi_L + ~qj_L // I |
130 |
+ |
double XS272; // I 272 qi + qj -> ~qi_R + ~qj_R // I |
131 |
+ |
double XS273; // I 273 qi + qj -> ~qi_L + ~qj_R // I |
132 |
+ |
double XS274; // I 274 qi+qjbar -> ~qi_L + ~qj_Lbar // I |
133 |
+ |
double XS275; // I 275 qi+qjbar -> ~qi_R + ~qj_Rbar // I |
134 |
+ |
double XS276; // I 276 qi+qjbar -> ~qi_L + ~qj_Rbar // I |
135 |
+ |
double XS277; // I 277 f + fbar -> ~qi_L + ~qi_Lbar // I |
136 |
+ |
double XS278; // I 278 f + fbar -> ~qi_R + ~qi_Rbar // I |
137 |
+ |
double XS279; // I 279 g + g -> ~qi_L + ~qi_Lbar // I |
138 |
+ |
double XS280; // I 280 g + g -> ~qi_R + ~qi_Rbar // I |
139 |
+ |
double XS281; // I 281 b + qj -> ~b_1 + ~qj_L // I |
140 |
+ |
double XS282; // I 282 b + qj -> ~b_2 + ~qj_R // I |
141 |
+ |
double XS283; // I 283 b + qj -> ~b_1 + ~qj_R // I |
142 |
+ |
double XS284; // I 284 b + qjbar -> ~b_1 + ~qj_Lbar // I |
143 |
+ |
double XS285; // I 285 b + qjbar -> ~b_2 + ~qj_Rbar // I |
144 |
+ |
double XS286; // I 286 b + qjbar -> ~b_1 + ~qj_Rbar // I |
145 |
+ |
double XS287; // I 287 f + fbar -> ~b_1 + ~b_1bar // I |
146 |
+ |
double XS288; // I 288 f + fbar -> ~b_2 + ~b_2bar // I |
147 |
+ |
double XS289; // I 289 g + g -> ~b_1 + ~b_1bar // I |
148 |
+ |
double XS290; // I 290 g + g -> ~b_2 + ~b_2bar // I |
149 |
+ |
double XS291; // I 291 b + b -> ~b_1 + ~b_1 // I |
150 |
+ |
double XS292; // I 292 b + b -> ~b_2 + ~b_2 // I |
151 |
+ |
double XS293; // I 293 b + b -> ~b_1 + ~b_2 // I |
152 |
+ |
double XS294; // I 294 b + g -> ~b_1 + ~g // I |
153 |
+ |
double XS295; // I 295 b + g -> ~b_2 + ~g // I |
154 |
+ |
double XS296; // I 296 b + bbar -> ~b_1 + ~b_2bar // I |
155 |
+ |
double XS297; // I 297 f + fbar' -> H+/- + h0 // I |
156 |
+ |
double XS298; // I 298 f + fbar -> H+/- + H0 // I |
157 |
+ |
double XS299; // I 299 f + fbar -> A0 + h0 // I |
158 |
+ |
double XS300; // I 300 f + fbar -> A0 + H0 // I |
159 |
+ |
double XS301; // I 301 f + fbar -> H+ + H- // I |
160 |
+ |
|
161 |
+ |
//total susy x-sec |
162 |
+ |
double total() const {return XS0*1.0E9;}; |
163 |
+ |
|
164 |
+ |
//gluino-gluino prod. x-sec in pb: |
165 |
+ |
double sgsg() const {return (XS243+XS244)*1.0E9;}; |
166 |
+ |
|
167 |
+ |
//squark-gluino prod. x-sec in pb: |
168 |
+ |
double sqsg() const {return (XS258+XS259+XS294+XS295)*1.0E9;}; |
169 |
+ |
|
170 |
+ |
//squark-squark prod. x-sec in pb: |
171 |
+ |
double sqsq() const {return (XS261+XS262+XS263+XS264+XS265+XS271+XS272+XS273+XS274+XS275+XS276+XS277+XS278+XS279+XS280+XS281+XS282+XS283+XS284+XS285+XS286+XS287+XS288+XS289+XS290+XS291+XS292+XS293+XS296)*1.0E9;}; |
172 |
+ |
}; |
173 |
|
|
174 |
|
class TScan { |
175 |
|
public: |
176 |
|
TScan(); |
177 |
|
~TScan(); |
178 |
|
|
179 |
< |
MyTGraph * IsoMassLine(bool(*func)(SUSY_POINT,double), double); |
179 |
> |
template <class T> MyTGraph * IsoMassLine(std::vector<T>, bool(*func)(T,double), double); |
180 |
|
MyTGraph * GetContour(TH2F*, int flag=0); |
181 |
< |
TH2F * Area(bool(*func)(SUSY_POINT)); |
181 |
> |
template <class T> TH2F * TScan::Area(std::vector<T>, bool(*func)(T)); |
182 |
> |
template <class T> TH2F * TScan::Area(std::vector<T>,double(*func)(T)); |
183 |
|
TH2F * Area51(); |
184 |
|
//static bool ul(const SUSY_POINT point, const double mass); |
185 |
|
|
187 |
|
|
188 |
|
private: |
189 |
|
void ReadGeneratedMasses(std::string file); |
190 |
+ |
void ReadGeneratedXsects(std::string file); |
191 |
+ |
void SetBins(int bx, int by){bins_x=bx; bins_y=by;}; |
192 |
|
|
193 |
|
int plot_id, bins_x, bins_y; |
194 |
|
double min_x, max_x, min_y, max_y; |
195 |
|
std::vector<SUSY_POINT> points; |
196 |
+ |
std::vector<SUSY_XSECS> xsects; |
197 |
|
|
198 |
|
}; |
199 |
|
|