1 |
auterman |
1.1 |
#include "TheLimits.h"
|
2 |
|
|
#include "SusyScan.h"
|
3 |
|
|
#include "GeneratorMasses.h"
|
4 |
|
|
#include "IsoMassLine.h"
|
5 |
auterman |
1.2 |
#include "TGraph.h"
|
6 |
auterman |
1.1 |
|
7 |
|
|
#include "TH2.h"
|
8 |
|
|
#include "TH2F.h"
|
9 |
|
|
|
10 |
|
|
void TheLimits::plot(TH2*h, double(*x)(const SusyScan*), double(*y)(const SusyScan*), double(*f)(const SusyScan*) )
|
11 |
|
|
{
|
12 |
|
|
for (std::vector<SusyScan*>::const_iterator it=_scan.begin();it!=_scan.end();++it )
|
13 |
|
|
//h->Fill( x(*it), y(*it), f(*it) );
|
14 |
|
|
h->SetBinContent( h->GetXaxis()->FindBin(x(*it)),
|
15 |
|
|
h->GetYaxis()->FindBin(y(*it)), f(*it) );
|
16 |
|
|
}
|
17 |
|
|
|
18 |
|
|
void TheLimits::match(const std::vector<GeneratorMasses> genm)
|
19 |
|
|
{
|
20 |
|
|
for (std::vector<SusyScan*>::iterator it=_scan.begin();it!=_scan.end();++it){
|
21 |
|
|
bool match = false;
|
22 |
|
|
for (std::vector<GeneratorMasses>::const_iterator gt=genm.begin();gt!=genm.end();++gt){
|
23 |
|
|
if ((*it)->Mzero==gt->MZERO &&
|
24 |
|
|
(*it)->Mhalf==gt->MHALF &&
|
25 |
|
|
(*it)->Azero==gt->AZERO &&
|
26 |
|
|
(*it)->TanBeta==gt->TANB &&
|
27 |
|
|
(*it)->Mu==gt->SGNMU ) {
|
28 |
|
|
(*it)->M1 = gt->M1;
|
29 |
|
|
(*it)->M2 = gt->M2;
|
30 |
|
|
(*it)->M3 = gt->M3;
|
31 |
|
|
(*it)->MGL = gt->MGL;
|
32 |
|
|
(*it)->MUL = gt->MUL;
|
33 |
|
|
(*it)->MB1 = gt->MB1;
|
34 |
|
|
(*it)->MSN = gt->MSN;
|
35 |
|
|
(*it)->MNTAU = gt->MNTAU;
|
36 |
|
|
(*it)->MZ1 = gt->MZ1;
|
37 |
|
|
(*it)->MW1 = gt->MW1;
|
38 |
|
|
(*it)->MHL = gt->MHL;
|
39 |
|
|
(*it)->MUR = gt->MUR;
|
40 |
|
|
(*it)->MB2 = gt->MB2;
|
41 |
|
|
(*it)->MEL = gt->MEL;
|
42 |
|
|
(*it)->MTAU1 = gt->MTAU1;
|
43 |
|
|
(*it)->MZ2 = gt->MZ2;
|
44 |
|
|
(*it)->MW2 = gt->MW2;
|
45 |
|
|
(*it)->MHH = gt->MHH;
|
46 |
|
|
(*it)->MDL = gt->MDL;
|
47 |
|
|
(*it)->MT1 = gt->MT1;
|
48 |
|
|
(*it)->MER = gt->MER;
|
49 |
|
|
(*it)->MTAU2 = gt->MTAU2;
|
50 |
|
|
(*it)->MZ3 = gt->MZ3;
|
51 |
|
|
(*it)->MHA = gt->MHA;
|
52 |
|
|
(*it)->MDR = gt->MDR;
|
53 |
|
|
(*it)->MT2 = gt->MT2;
|
54 |
|
|
(*it)->MZ4 = gt->MZ4;
|
55 |
|
|
(*it)->MHp = gt->MHp;
|
56 |
|
|
match = true;
|
57 |
|
|
}
|
58 |
|
|
}
|
59 |
|
|
//if (!match) std::cout << "No match for M0="<<(*it)->Mzero
|
60 |
|
|
// << ", M12="<<(*it)->Mhalf<<std::endl;
|
61 |
|
|
}
|
62 |
|
|
}
|