CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/RecoBTag/SecondaryVertex/interface/CombinedSVComputer.h

Go to the documentation of this file.
00001 #ifndef RecoBTag_SecondaryVertex_CombinedSVComputer_h
00002 #define RecoBTag_SecondaryVertex_CombinedSVComputer_h
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 
00006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00007 #include "DataFormats/BTauReco/interface/TrackIPTagInfo.h"
00008 #include "DataFormats/BTauReco/interface/SecondaryVertexTagInfo.h"  
00009 #include "DataFormats/BTauReco/interface/TaggingVariable.h"
00010 
00011 #include "RecoBTag/SecondaryVertex/interface/TrackSelector.h"
00012 #include "RecoBTag/SecondaryVertex/interface/V0Filter.h"
00013 
00014 class CombinedSVComputer {
00015     public:
00016         CombinedSVComputer(const edm::ParameterSet &params);
00017 
00018         reco::TaggingVariableList
00019         operator () (const reco::TrackIPTagInfo &ipInfo,
00020                      const reco::SecondaryVertexTagInfo &svInfo) const;
00021 
00022     private:
00023         struct IterationRange;
00024 
00025         double flipValue(double value, bool vertex) const;
00026         IterationRange flipIterate(int size, bool vertex) const;
00027 
00028         const reco::TrackIPTagInfo::TrackIPData &
00029         threshTrack(const reco::TrackIPTagInfo &trackIPTagInfo,
00030                     const reco::TrackIPTagInfo::SortCriteria sort,
00031                     const reco::Jet &jet,
00032                     const GlobalPoint &pv) const;
00033 
00034         bool                                    trackFlip;
00035         bool                                    vertexFlip;
00036         double                                  charmCut;
00037         reco::TrackIPTagInfo::SortCriteria      sortCriterium;
00038         reco::TrackSelector                     trackSelector;
00039         reco::TrackSelector                     trackNoDeltaRSelector;
00040         reco::TrackSelector                     trackPseudoSelector;
00041         unsigned int                            pseudoMultiplicityMin;
00042         unsigned int                            trackMultiplicityMin;
00043         double                                  minTrackWeight;
00044         bool                                    useTrackWeights;
00045         bool                                    vertexMassCorrection;
00046         reco::V0Filter                          pseudoVertexV0Filter;
00047         reco::V0Filter                          trackPairV0Filter;
00048 };
00049 
00050 #endif // RecoBTag_SecondaryVertex_CombinedSVComputer_h