TopQuarkAnalysis
TopEventSelection
src
TtSemiLRSignalSelCalc.cc
Go to the documentation of this file.
1
//
2
// Author: Jan Heyninck
3
// Created: Tue Apr 3 17:33:23 PDT 2007
4
//
5
//
6
#include "
TopQuarkAnalysis/TopEventSelection/interface/TtSemiLRSignalSelCalc.h
"
7
8
// constructor with path; default should not be used
9
TtSemiLRSignalSelCalc::TtSemiLRSignalSelCalc
(
const
TString& fitInputPath,
const
std::vector<int>& observables) {
10
std::cout
<<
"=== Constructing a TtSemiLRSignalSelCalc... "
<< std::endl;
11
myLR
=
new
LRHelpFunctions
();
12
addPurity
=
false
;
13
if
(observables[0] == -1)
14
addPurity
=
true
;
15
myLR
->
readObsHistsAndFits
(fitInputPath, observables,
addPurity
);
16
std::cout
<<
"=== done."
<< std::endl;
17
}
18
19
TtSemiLRSignalSelCalc::~TtSemiLRSignalSelCalc
() {
delete
myLR
; }
20
21
void
TtSemiLRSignalSelCalc::operator()
(
TtSemiEvtSolution
& sol) {
22
// find the used observables
23
std::vector<double> obsVals;
24
for
(
unsigned
int
o
= 0;
o
< 100;
o
++) {
25
if
(
myLR
->
obsFitIncluded
(
o
))
26
obsVals.push_back(sol.
getLRSignalEvtObsVal
(
o
));
27
}
28
29
// calculate the logLR and the purity
30
double
logLR =
myLR
->
calcLRval
(obsVals);
31
double
prob
= -999.;
32
if
(
addPurity
)
33
prob
=
myLR
->
calcProb
(logLR);
34
35
// fill these values to the members in the TtSemiEvtSolution
36
sol.
setLRSignalEvtLRval
(logLR);
37
sol.
setLRSignalEvtProb
(
prob
);
38
}
TtSemiLRSignalSelCalc::myLR
LRHelpFunctions * myLR
Definition:
TtSemiLRSignalSelCalc.h:40
TtSemiEvtSolution::setLRSignalEvtLRval
void setLRSignalEvtLRval(double clr)
Definition:
TtSemiEvtSolution.h:308
gather_cfg.cout
cout
Definition:
gather_cfg.py:144
LRHelpFunctions::readObsHistsAndFits
void readObsHistsAndFits(const TString &, const std::vector< int > &, bool)
Definition:
LRHelpFunctions.cc:212
LRHelpFunctions::obsFitIncluded
bool obsFitIncluded(int)
Definition:
LRHelpFunctions.cc:489
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:36
TtSemiLRSignalSelCalc.h
TtSemiLRSignalSelCalc::addPurity
bool addPurity
Definition:
TtSemiLRSignalSelCalc.h:41
TtSemiLRSignalSelCalc::TtSemiLRSignalSelCalc
TtSemiLRSignalSelCalc()
TtSemiEvtSolution::setLRSignalEvtProb
void setLRSignalEvtProb(double plr)
Definition:
TtSemiEvtSolution.h:309
LRHelpFunctions::calcProb
double calcProb(double)
Definition:
LRHelpFunctions.cc:486
TtSemiEvtSolution
Definition:
TtSemiEvtSolution.h:31
TtSemiLRSignalSelCalc::operator()
void operator()(TtSemiEvtSolution &)
Definition:
TtSemiLRSignalSelCalc.cc:21
TtSemiEvtSolution::getLRSignalEvtObsVal
double getLRSignalEvtObsVal(unsigned int) const
Definition:
TtSemiEvtSolution.cc:165
TtSemiLRSignalSelCalc::~TtSemiLRSignalSelCalc
~TtSemiLRSignalSelCalc()
Definition:
TtSemiLRSignalSelCalc.cc:19
LRHelpFunctions
Help functionalities to implement and evaluate LR ratio method.
Definition:
LRHelpFunctions.h:35
TtFullHadEvtBuilder_cfi.prob
prob
Definition:
TtFullHadEvtBuilder_cfi.py:33
LRHelpFunctions::calcLRval
double calcLRval(const std::vector< double > &)
Definition:
LRHelpFunctions.cc:378
Generated for CMSSW Reference Manual by
1.8.16