CMS 3D CMS Logo

Public Member Functions | Private Attributes

TtSemiLRSignalSelCalc Class Reference

Class to calculate the jet combination LR value and purity from a root-file with fit functions. More...

#include <TopQuarkAnalysis/TopLeptonSelection/interface/TtSemiLRSignalSelCalc.h>

List of all members.

Public Member Functions

void operator() (TtSemiEvtSolution &)
 TtSemiLRSignalSelCalc (TString, std::vector< int >)
 TtSemiLRSignalSelCalc ()
 ~TtSemiLRSignalSelCalc ()

Private Attributes

bool addPurity
LRHelpFunctionsmyLR

Detailed Description

Class to calculate the jet combination LR value and purity from a root-file with fit functions.

Author:
Jan Heyninck
Version:
Id:
TtSemiLRSignalSelCalc.h,v 1.2 2008/02/17 11:18:54 rwolf Exp

Definition at line 32 of file TtSemiLRSignalSelCalc.h.


Constructor & Destructor Documentation

TtSemiLRSignalSelCalc::TtSemiLRSignalSelCalc ( )
TtSemiLRSignalSelCalc::TtSemiLRSignalSelCalc ( TString  fitInputPath,
std::vector< int >  observables 
)

Definition at line 10 of file TtSemiLRSignalSelCalc.cc.

References addPurity, gather_cfg::cout, and myLR.

{
  std::cout << "=== Constructing a TtSemiLRSignalSelCalc... " << std::endl; 
  myLR = new LRHelpFunctions();
  addPurity = false;
  if(observables[0] == -1) addPurity = true;
  myLR -> readObsHistsAndFits(fitInputPath, observables, addPurity);
  std::cout << "=== done." << std::endl; 
}
TtSemiLRSignalSelCalc::~TtSemiLRSignalSelCalc ( )

Definition at line 20 of file TtSemiLRSignalSelCalc.cc.

References myLR.

{
  delete myLR;
}

Member Function Documentation

void TtSemiLRSignalSelCalc::operator() ( TtSemiEvtSolution sol)

Definition at line 25 of file TtSemiLRSignalSelCalc.cc.

References addPurity, LRHelpFunctions::calcLRval(), LRHelpFunctions::calcProb(), TtSemiEvtSolution::getLRSignalEvtObsVal(), myLR, python::connectstrParser::o, LRHelpFunctions::obsFitIncluded(), TtSemiEvtSolution::setLRSignalEvtLRval(), and TtSemiEvtSolution::setLRSignalEvtProb().

{
  // find the used observables
  std::vector<double> obsVals;
  for(unsigned int o = 0; o<100; o++){
    if( myLR->obsFitIncluded(o) ) obsVals.push_back(sol.getLRSignalEvtObsVal(o)); 
  }
  
  // calculate the logLR and the purity
  double logLR = myLR->calcLRval(obsVals);
  double prob  = -999.;
  if(addPurity) prob = myLR->calcProb(logLR);
  
  // fill these values to the members in the TtSemiEvtSolution
  sol.setLRSignalEvtLRval(logLR);
  sol.setLRSignalEvtProb(prob);
}

Member Data Documentation

Definition at line 45 of file TtSemiLRSignalSelCalc.h.

Referenced by operator()(), and TtSemiLRSignalSelCalc().