-
Notifications
You must be signed in to change notification settings - Fork 1
/
BottomUpClustering.h
76 lines (65 loc) · 1.7 KB
/
BottomUpClustering.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#ifndef BOTTOMUPCLUSTERING_H
#define BOTTOMUPCLUSTERING_H
#include <utility>
#include"TString.h"
#include"TGraph.h"
#include"TH2.h"
class Point
{
public:
Double_t fX;
Double_t fY;
Double_t fW;
Point(){}
Point(Double_t x, Double_t y, Double_t w){ fX = x; fY = y; fW = w;}
};
class BottomUpClustering
{
public:
BottomUpClustering( Int_t nLep=2, TString fileType="txt", Int_t trial=0) ;
~BottomUpClustering() {}
// void VoronoiPlot();
// void Test();
void SortedTest();
void Recluster();
void TestBoundaries();
bool AreClustersTogether(int,int);
void Test();
Double_t GetFOM(Int_t, Int_t);
// void ReCleanClusters();
void LoadClusterFromFile();
void StoreToFile();
protected:
// Monte Carlo
vector<Point> fTTbar;
vector<Point> fTTH;
vector<Point> fTTW;
vector<Point> fTTbarMC;
vector<Point> fTTHMC;
vector<Point> fTTWMC;
vector<TGraph*> contours;
vector<vector<Int_t>> clusters; // each array contains an array of all the miniclusters that it is made of
Int_t nLep_; // Choose between 2lss and 3l input
Int_t trial_;
vector<pair<Double_t,Int_t>> SoverB;
void readFromTxTFiles();
void readFromRootFiles();
Double_t GetCluster(Point);
TString fileType;
// Int_t NearestClusters(Int_t);
void Init();
void ReadFromFiles();
void StartTheThing();
Int_t SortedThing(Int_t);
void MakeFineBinning();
void ReMakeTarget();
bool MergeZeroBins(Int_t, Int_t);
void GetEventsInCluster(Int_t, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&);
void GetTheContours();
TH2F* hFineBinning;
TH2F* hTargetBinning;
TH1F* hFineTTbar;
TH1F* hFineTTW;
TH1F* hFineTTH;
};
#endif