CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTauTag/ImpactParameter/interface/ImpactParameterAlgorithm.h

Go to the documentation of this file.
00001 #ifndef ImpactParameterAlgorithm_H
00002 #define ImpactParameterAlgorithm_H
00003 #include "DataFormats/BTauReco/interface/TauImpactParameterInfo.h"
00004 #include "DataFormats/BTauReco/interface/JetTag.h"
00005 #include "DataFormats/VertexReco/interface/Vertex.h"
00006 #include "DataFormats/JetReco/interface/Jet.h"
00007 #include "DataFormats/TrackReco/interface/Track.h"
00008 #include "DataFormats/JetReco/interface/JetTracksAssociation.h"
00009 #include "MagneticField/Engine/interface/MagneticField.h"
00010 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00011 //#include "DataFormats/GeometryVector/interface/GlobalVector.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 //Math
00014 #include "Math/GenVector/VectorUtil.h"
00015 #include "Math/GenVector/PxPyPzE4D.h"
00016 
00017 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
00018 
00019  
00020 
00021 
00022 
00023 class  ImpactParameterAlgorithm  {
00024 
00025     public:
00026  
00027         ImpactParameterAlgorithm(const edm::ParameterSet  & parameters );
00028         ImpactParameterAlgorithm(); 
00029 
00030         // For out of framework usage we may need a different constructor
00031         // so we keep datamember as builtin types (instead of ParameterSet) 
00032         //ImpactParameterAlgorithm (int,float,....);
00033    
00034         ~ImpactParameterAlgorithm() {}
00035 
00036         void setPrimaryVertex(reco::Vertex * pv) {primaryVertex = pv;}
00037   
00038         std::pair<float,reco::TauImpactParameterInfo> tag(const reco::IsolatedTauTagInfoRef&, const reco::Vertex&); 
00039 
00040         void setTransientTrackBuilder(const TransientTrackBuilder*);
00041 
00042 
00043     private:
00044         reco::Vertex* primaryVertex;
00045 
00046         //algorithm parameters
00047         double  ip_min,
00048                 ip_max,
00049                 sip_min;
00050         bool    use3D,
00051                 use_sign;
00052 
00053         const TransientTrackBuilder * transientTrackBuilder;
00054 };
00055 
00056 #endif 
00057