#include <RecoVertex/NuclearInteractionProducer/interface/NuclearLikelihood.h>
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_ |
Definition at line 6 of file NuclearLikelihood.h.
NuclearLikelihood::NuclearLikelihood | ( | ) | [inline] |
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 }
double NuclearLikelihood::likelihood_ [private] |