CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
BTagLikeDeDxDiscriminator Class Reference

#include <BTagLikeDeDxDiscriminator.h>

Inheritance diagram for BTagLikeDeDxDiscriminator:
BaseDeDxEstimator

Public Member Functions

virtual void beginRun (edm::Run const &run, const edm::EventSetup &iSetup)
 
 BTagLikeDeDxDiscriminator (const edm::ParameterSet &iConfig)
 
virtual std::pair< float, float > dedx (const reco::DeDxHitCollection &Hits)
 
- Public Member Functions inherited from BaseDeDxEstimator
virtual ~BaseDeDxEstimator ()
 

Private Attributes

float meVperADCStrip
 
TH3F * Prob_ChargePath
 
std::string ProbabilityMode
 
std::string Reccord
 

Detailed Description

Definition at line 7 of file BTagLikeDeDxDiscriminator.h.

Constructor & Destructor Documentation

BTagLikeDeDxDiscriminator::BTagLikeDeDxDiscriminator ( const edm::ParameterSet iConfig)
inline

Definition at line 10 of file BTagLikeDeDxDiscriminator.h.

References edm::ParameterSet::getParameter(), meVperADCStrip, NULL, Prob_ChargePath, ProbabilityMode, Reccord, and AlCaHLTBitMon_QueryRunRegistry::string.

10  {
11  meVperADCStrip = iConfig.getParameter<double>("MeVperADCStrip"); //currently needed until the map on the database are redone
12  Reccord = iConfig.getParameter<std::string> ("Reccord");
13  ProbabilityMode = iConfig.getParameter<std::string> ("ProbabilityMode");
15  }
T getParameter(std::string const &) const
#define NULL
Definition: scimark2.h:8

Member Function Documentation

virtual void BTagLikeDeDxDiscriminator::beginRun ( edm::Run const &  run,
const edm::EventSetup iSetup 
)
inlinevirtual

Reimplemented from BaseDeDxEstimator.

Definition at line 17 of file BTagLikeDeDxDiscriminator.h.

References DeDxTools::buildDiscrimMap(), Prob_ChargePath, ProbabilityMode, and Reccord.

17  {
19  }
void buildDiscrimMap(edm::Run const &run, const edm::EventSetup &iSetup, std::string Reccord, std::string ProbabilityMode, TH3F *&Prob_ChargePath)
Definition: DeDxTools.cc:221
virtual std::pair<float,float> BTagLikeDeDxDiscriminator::dedx ( const reco::DeDxHitCollection Hits)
inlinevirtual

Implements BaseDeDxEstimator.

Definition at line 21 of file BTagLikeDeDxDiscriminator.h.

References reco_application_tbsim_DetSim-Digi_cfg::BinX, reco_application_tbsim_DetSim-Digi_cfg::BinY, RecoTauCleanerPlugins::charge, create_public_lumi_plots::exp, f, i, prof2calltree::l, cmsBatch::log, bookConverter::max, meVperADCStrip, min(), fed_dqm_sourceclient-live_cfg::path, Prob_ChargePath, findQualityFiles::size, and python.multivaluedict::sort().

21  {
22  std::vector<float> vect_probs;
23  for(size_t i = 0; i< Hits.size(); i ++){
24  float path = Hits[i].pathLength() * 10.0; //x10 in order to be compatible with the map content
25  float charge = Hits[i].charge() / (10.0*meVperADCStrip); // 10/meVperADCStrip in order to be compatible with the map content in ADC/mm instead of MeV/cm
26 
27  int BinX = Prob_ChargePath->GetXaxis()->FindBin(Hits[i].momentum());
28  int BinY = Prob_ChargePath->GetYaxis()->FindBin(path);
29  int BinZ = Prob_ChargePath->GetZaxis()->FindBin(charge);
30  float prob = Prob_ChargePath->GetBinContent(BinX,BinY,BinZ);
31  if(prob>=0)vect_probs.push_back(prob);
32  }
33 
34  size_t size = vect_probs.size();
35  if(size<=0) return std::make_pair( -1 , -1);
36  std::sort(vect_probs.begin(), vect_probs.end(), std::less<float>() );
37  float SumJet = 0.;
38  for(size_t i=0;i<size;i++){if(vect_probs[i]<=0.0001)vect_probs[i] = 0.0001; SumJet+= log(vect_probs[i]); }
39 
40  float Loginvlog=log(-SumJet);
41  float Prob =1;
42  float lfact=1;
43 
44  for(size_t l=1; l!=size; l++){
45  lfact*=l;
46  Prob+=exp(l*Loginvlog-log(lfact));
47  }
48 
49  float LogProb=log(Prob);
50  float ProbJet=std::min((float)exp(std::max(LogProb+SumJet,-30.0f)),1.0f);
51  float TotalProb = -log10(ProbJet)/4;
52  TotalProb = 1-TotalProb;
53 
54  return std::make_pair( TotalProb , -1);
55  }
int i
Definition: DBlmapReader.cc:9
double f[11][100]
T min(T a, T b)
Definition: MathUtil.h:58
tuple size
Write out results.
tuple log
Definition: cmsBatch.py:341

Member Data Documentation

float BTagLikeDeDxDiscriminator::meVperADCStrip
private

Definition at line 58 of file BTagLikeDeDxDiscriminator.h.

Referenced by BTagLikeDeDxDiscriminator(), and dedx().

TH3F* BTagLikeDeDxDiscriminator::Prob_ChargePath
private

Definition at line 61 of file BTagLikeDeDxDiscriminator.h.

Referenced by beginRun(), BTagLikeDeDxDiscriminator(), and dedx().

std::string BTagLikeDeDxDiscriminator::ProbabilityMode
private

Definition at line 60 of file BTagLikeDeDxDiscriminator.h.

Referenced by beginRun(), and BTagLikeDeDxDiscriminator().

std::string BTagLikeDeDxDiscriminator::Reccord
private

Definition at line 59 of file BTagLikeDeDxDiscriminator.h.

Referenced by beginRun(), and BTagLikeDeDxDiscriminator().