17 << (
"ObjectResolutionCalc") <<
"=== Constructing a TopObjectResolutionCalc...";
21 <<
"ObjectResolutionCalc: no resolutions fits for this file available: " << resopath <<
"...";
23 TString resObsName[8] = {
"_ares",
"_bres",
"_cres",
"_dres",
"_thres",
"_phres",
"_etres",
"_etares"};
27 while ((key = (TKey*)nextitem())) {
28 TString
name = key->GetName();
30 for (Int_t ro = 0; ro < 8; ro++) {
31 TString obsName = resObsName[ro];
33 if (name.Contains(obsName)) {
38 if (name.Contains(
"etabin") && (!name.Contains(
"etbin"))) {
39 for (
int p = 0;
p < 8;
p++) {
40 if (name.Contains(resObsName[
p])) {
41 TString etabin =
name;
42 etabin.Remove(0, etabin.Index(
"_") + 1);
43 etabin.Remove(0, etabin.Index(
"_") + 7);
44 int etaBin = etabin.Atoi();
53 TH1F* tmpEta = (TH1F*)(
resoFile_->GetKey(
"hEtaBins")->ReadObj());
54 for (
int b = 1;
b <= tmpEta->GetNbinsX();
b++)
55 etaBinVals_.push_back(tmpEta->GetXaxis()->GetBinLowEdge(
b));
56 etaBinVals_.push_back(tmpEta->GetXaxis()->GetBinUpEdge(tmpEta->GetNbinsX()));
71 "TopObjectResolutionCalc::obsRes should never be called when using a NN for resolutions.");
78 int bin = nrEtaBins - 1;
79 for (
int i = 0;
i < nrEtaBins;
i++) {
94 obj.setResolutionA(
network_[0]->Evaluate(0, v));
95 obj.setResolutionB(
network_[1]->Evaluate(0, v));
96 obj.setResolutionC(
network_[2]->Evaluate(0, v));
97 obj.setResolutionD(
network_[3]->Evaluate(0, v));
98 obj.setResolutionTheta(
network_[4]->Evaluate(0, v));
99 obj.setResolutionPhi(
network_[5]->Evaluate(0, v));
100 obj.setResolutionEt(
network_[6]->Evaluate(0, v));
101 obj.setResolutionEta(
network_[7]->Evaluate(0, v));
104 obj.setResolutionA(this->
obsRes(0, bin, obj.
et()));
105 obj.setResolutionB(this->
obsRes(1, bin, obj.
et()));
106 obj.setResolutionC(this->
obsRes(2, bin, obj.
et()));
107 obj.setResolutionD(this->
obsRes(3, bin, obj.
et()));
108 obj.setResolutionTheta(this->
obsRes(4, bin, obj.
et()));
109 obj.setResolutionPhi(this->
obsRes(5, bin, obj.
et()));
110 obj.setResolutionEt(this->
obsRes(6, bin, obj.
et()));
111 obj.setResolutionEta(this->
obsRes(7, bin, obj.
et()));
120 obj.setResolutionA(
network_[0]->Evaluate(0, v));
121 obj.setResolutionB(
network_[1]->Evaluate(0, v));
122 obj.setResolutionC(
network_[2]->Evaluate(0, v));
123 obj.setResolutionD(
network_[3]->Evaluate(0, v));
124 obj.setResolutionTheta(
network_[4]->Evaluate(0, v));
125 obj.setResolutionPhi(
network_[5]->Evaluate(0, v));
126 obj.setResolutionEt(
network_[6]->Evaluate(0, v));
127 obj.setResolutionEta(
network_[7]->Evaluate(0, v));
130 obj.setResolutionA(this->
obsRes(0, bin, obj.
et()));
131 obj.setResolutionB(this->
obsRes(1, bin, obj.
et()));
132 obj.setResolutionC(this->
obsRes(2, bin, obj.
et()));
133 obj.setResolutionD(this->
obsRes(3, bin, obj.
et()));
134 obj.setResolutionTheta(this->
obsRes(4, bin, obj.
et()));
135 obj.setResolutionPhi(this->
obsRes(5, bin, obj.
et()));
136 obj.setResolutionEt(this->
obsRes(6, bin, obj.
et()));
137 obj.setResolutionEta(this->
obsRes(7, bin, obj.
et()));
146 obj.setResolutionA(
network_[0]->Evaluate(0, v));
147 obj.setResolutionB(
network_[1]->Evaluate(0, v));
148 obj.setResolutionC(
network_[2]->Evaluate(0, v));
149 obj.setResolutionD(
network_[3]->Evaluate(0, v));
150 obj.setResolutionTheta(
network_[4]->Evaluate(0, v));
151 obj.setResolutionPhi(
network_[5]->Evaluate(0, v));
152 obj.setResolutionEt(
network_[6]->Evaluate(0, v));
153 obj.setResolutionEta(
network_[7]->Evaluate(0, v));
156 obj.setResolutionA(this->
obsRes(0, bin, obj.
et()));
157 obj.setResolutionB(this->
obsRes(1, bin, obj.
et()));
158 obj.setResolutionC(this->
obsRes(2, bin, obj.
et()));
159 obj.setResolutionD(this->
obsRes(3, bin, obj.
et()));
160 obj.setResolutionTheta(this->
obsRes(4, bin, obj.
et()));
161 obj.setResolutionPhi(this->
obsRes(5, bin, obj.
et()));
162 obj.setResolutionEt(this->
obsRes(6, bin, obj.
et()));
163 obj.setResolutionEta(this->
obsRes(7, bin, obj.
et()));
172 obj.setResolutionA(
network_[0]->Evaluate(0, v));
173 obj.setResolutionB(
network_[1]->Evaluate(0, v));
174 obj.setResolutionC(
network_[2]->Evaluate(0, v));
175 obj.setResolutionD(
network_[3]->Evaluate(0, v));
176 obj.setResolutionTheta(1000000.);
177 obj.setResolutionPhi(
network_[5]->Evaluate(0, v));
178 obj.setResolutionEt(
network_[6]->Evaluate(0, v));
179 obj.setResolutionEta(1000000.);
181 obj.setResolutionA(this->
obsRes(0, 0, obj.
et()));
182 obj.setResolutionC(this->
obsRes(1, 0, obj.
et()));
183 obj.setResolutionB(this->
obsRes(2, 0, obj.
et()));
184 obj.setResolutionD(this->
obsRes(3, 0, obj.
et()));
185 obj.setResolutionTheta(1000000.);
186 obj.setResolutionPhi(this->
obsRes(5, 0, obj.
et()));
187 obj.setResolutionEt(this->
obsRes(6, 0, obj.
et()));
188 obj.setResolutionEta(1000000.);
197 obj.setResolutionA(
network_[0]->Evaluate(0, v));
198 obj.setResolutionB(
network_[1]->Evaluate(0, v));
199 obj.setResolutionC(
network_[2]->Evaluate(0, v));
200 obj.setResolutionD(
network_[3]->Evaluate(0, v));
201 obj.setResolutionTheta(
network_[4]->Evaluate(0, v));
202 obj.setResolutionPhi(
network_[5]->Evaluate(0, v));
203 obj.setResolutionEt(
network_[6]->Evaluate(0, v));
204 obj.setResolutionEta(
network_[7]->Evaluate(0, v));
207 obj.setResolutionA(this->
obsRes(0, bin, obj.
et()));
208 obj.setResolutionB(this->
obsRes(1, bin, obj.
et()));
209 obj.setResolutionC(this->
obsRes(2, bin, obj.
et()));
210 obj.setResolutionD(this->
obsRes(3, bin, obj.
et()));
211 obj.setResolutionTheta(this->
obsRes(4, bin, obj.
et()));
212 obj.setResolutionPhi(this->
obsRes(5, bin, obj.
et()));
213 obj.setResolutionEt(this->
obsRes(6, bin, obj.
et()));
214 obj.setResolutionEta(this->
obsRes(7, bin, obj.
et()));
Log< level::Info, true > LogVerbatim
Analysis-level MET class.
TMultiLayerPerceptron * network_[10]
tuple key
prepare the HTCondor submission files and eventually submit them
Analysis-level tau class.
std::vector< float > etaBinVals_
Analysis-level electron class.
Analysis-level calorimeter jet class.
double et() const final
transverse energy
float obsRes(int obs, int eta, float eT)
Analysis-level muon class.
double eta() const final
momentum pseudorapidity