CMS 3D CMS Logo

NuclearLikelihood Class Reference

#include <RecoVertex/NuclearInteractionProducer/interface/NuclearLikelihood.h>

List of all members.

Public Member Functions

void calculate (const reco::Vertex &vtx)
 NuclearLikelihood ()
double result () const

Private Member Functions

int secondaryTrackMaxHits (const reco::Vertex &vtx, int &id)

Private Attributes

double likelihood_


Detailed Description

Definition at line 6 of file NuclearLikelihood.h.


Constructor & Destructor Documentation

NuclearLikelihood::NuclearLikelihood (  )  [inline]

Definition at line 9 of file NuclearLikelihood.h.

00009 :likelihood_(0.0) { }


Member Function Documentation

void NuclearLikelihood::calculate ( const reco::Vertex vtx  ) 

Definition at line 3 of file NuclearLikelihood.cc.

References reco::Vertex::isValid(), likelihood_, secondaryTrackMaxHits(), reco::Vertex::tracks_begin(), and reco::Vertex::tracksSize().

00003                                                          {
00004       likelihood_ = 0.0;
00005       if( vtx.isValid() ) {
00006            if(vtx.tracksSize() > 1) {
00007                likelihood_ = 0.3;
00008                int idBest;
00009                int secMaxHits = secondaryTrackMaxHits( vtx, idBest );
00010                if( secMaxHits > 3 ) likelihood_ =0.5;
00011                if( secMaxHits > 4 ) likelihood_ =0.7;
00012                if( (*(vtx.tracks_begin()+idBest))->normalizedChi2() < 3.0) likelihood_=1.0;
00013            }
00014       }
00015 }

double NuclearLikelihood::result (  )  const [inline]

Definition at line 11 of file NuclearLikelihood.h.

References likelihood_.

00011 { return likelihood_; }

int NuclearLikelihood::secondaryTrackMaxHits ( const reco::Vertex vtx,
int id 
) [private]

Definition at line 17 of file NuclearLikelihood.cc.

References i, it, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), and reco::Vertex::tracksSize().

Referenced by calculate().

00017                                                                              {
00018       int maxHits = 0;
00019       if( vtx.tracksSize() < 2 )  return 0;
00020       int i=1;
00021       for( reco::Vertex::trackRef_iterator it = vtx.tracks_begin()+1; it != vtx.tracks_end(); ++it){
00022             int nhits = (*it)->numberOfValidHits();
00023             if( nhits > maxHits ) { maxHits = nhits; id=i; }
00024             i++;
00025       }
00026       return maxHits;
00027 }


Member Data Documentation

double NuclearLikelihood::likelihood_ [private]

Definition at line 15 of file NuclearLikelihood.h.

Referenced by calculate(), and result().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:04 2009 for CMSSW by  doxygen 1.5.4