CMS 3D CMS Logo

TtSemiLRJetCombCalc.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 //
7 
8 // constructor with path; default should not be used
9 TtSemiLRJetCombCalc::TtSemiLRJetCombCalc(const TString& fitInputPath, const std::vector<int>& observables) {
10  std::cout << "=== Constructing a TtSemiLRJetCombCalc... " << 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 // destructor
21 
23  // find the used observables
24  std::vector<double> obsVals;
25  for (unsigned int o = 0; o < 100; o++) {
26  if (myLR->obsFitIncluded(o)) {
27  obsVals.push_back(sol.getLRJetCombObsVal(o));
28  };
29  }
30 
31  // calculate the logLR and the purity
32  double logLR = myLR->calcLRval(obsVals);
33  double prob = -999.;
34  if (addPurity)
35  prob = myLR->calcProb(logLR);
36 
37  // fill these values to the members in the TtSemiEvtSolution
38  sol.setLRJetCombLRval(logLR);
39  sol.setLRJetCombProb(prob);
40 }
double calcLRval(const std::vector< double > &)
double calcProb(double)
Help functionalities to implement and evaluate LR ratio method.
bool obsFitIncluded(int)
double getLRJetCombObsVal(unsigned int) const
void setLRJetCombProb(double plr)
void readObsHistsAndFits(const TString &, const std::vector< int > &, bool)
void operator()(TtSemiEvtSolution &)
void setLRJetCombLRval(double clr)
LRHelpFunctions * myLR