CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoBTag/ImpactParameter/interface/PromptTrackCountingComputer.h

Go to the documentation of this file.
00001 #ifndef ImpactParameter_PromptTrackCountingComputer_h
00002 #define ImpactParameter_PromptTrackCountingComputer_h
00003 
00004 #include "RecoBTag/ImpactParameter/interface/TrackCountingComputer.h"
00005 
00006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00007 
00008 // This returns a discriminator equal to the number of prompt tracks in the jet
00009 // It is intended for exotica physics, not b tagging.
00010 // Author: Ian Tomalin
00011 
00012 class PromptTrackCountingComputer : public TrackCountingComputer
00013 {
00014  public:
00015   PromptTrackCountingComputer(const edm::ParameterSet & parameters ) : TrackCountingComputer(parameters)
00016   {
00017      maxImpactParameterSig = parameters.getParameter<double>("maxImpactParameterSig");
00018   }
00019  
00020   float discriminator(const TagInfoHelper & ti) const 
00021    {
00022      const reco::TrackIPTagInfo & tkip = ti.get<reco::TrackIPTagInfo>();
00023      std::multiset<float> significances = orderedSignificances(tkip);
00024      std::multiset<float>::iterator sig;
00025      unsigned int nPromptTrk = 0;
00026      for(sig=significances.begin(); sig!=significances.end(); sig++) {
00027        if (fabs(*sig) < maxImpactParameterSig) nPromptTrk++;
00028        //       edm::LogDebug("") << "Track "<< nPromptTrk << " sig=" << *sig;       
00029      }
00030      return double(nPromptTrk);
00031    }
00032 
00033  private:
00034 
00035   double maxImpactParameterSig;
00036 };
00037 
00038 #endif