CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: TtSemiLRJetCombCalc.cc,v 1.5 2013/05/28 17:57:05 gartung Exp $
6 //
8 
9 // constructor with path; default should not be used
10 TtSemiLRJetCombCalc::TtSemiLRJetCombCalc(const TString& fitInputPath, const std::vector<int>& observables) {
11  std::cout << "=== Constructing a TtSemiLRJetCombCalc... " << std::endl;
12  myLR = new LRHelpFunctions();
13  addPurity = false;
14  if(observables[0] == -1) addPurity = true;
15  myLR -> readObsHistsAndFits(fitInputPath, observables, addPurity);
16  std::cout << "=== done." << std::endl;
17 }
18 
19 
20 // destructor
22  delete myLR;
23 }
24 
25 
27 
28  // find the used observables
29  std::vector<double> obsVals;
30  for(unsigned int o = 0; o<100; o++){
31  if( myLR->obsFitIncluded(o) ) {obsVals.push_back(sol.getLRJetCombObsVal(o)); };
32  }
33 
34  // calculate the logLR and the purity
35  double logLR = myLR->calcLRval(obsVals);
36  double prob = -999.;
37  if(addPurity) prob = myLR->calcProb(logLR);
38 
39  // fill these values to the members in the TtSemiEvtSolution
40  sol.setLRJetCombLRval(logLR);
41  sol.setLRJetCombProb(prob);
42 }
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 operator()(TtSemiEvtSolution &)
void setLRJetCombLRval(double clr)
LRHelpFunctions * myLR
tuple cout
Definition: gather_cfg.py:121