CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoTauTag/TauTagTools/interface/PFTauQualityCutWrapper.h

Go to the documentation of this file.
00001 #ifndef RecoTauTag_TauTagTools_PFTauQualityCutWrapper_h
00002 #define RecoTauTag_TauTagTools_PFTauQualityCutWrapper_h
00003 
00004 #include "RecoTauTag/TauTagTools/interface/TauTagTools.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "DataFormats/TauReco/interface/PFTau.h"
00007 
00008 class PFTauQualityCutWrapper {
00009    public:
00010       PFTauQualityCutWrapper(const edm::ParameterSet& pset)
00011       {
00012          isoQCuts.fill(pset.getParameter<edm::ParameterSet>("isolationQualityCuts"));
00013          signalQCuts.fill(pset.getParameter<edm::ParameterSet>("signalQualityCuts"));
00014       }
00015 
00016       struct QualityCutSet {
00017          // charged hadron & track cuts
00018          bool useTracksInsteadOfPF;
00019          double minTrackPt;
00020          double maxTrackChi2;
00021          uint32_t minTrackPixelHits;
00022          uint32_t minTrackHits; 
00023          double maxTransverseImpactParameter;
00024          double maxDeltaZ;
00025          // gamma cuts
00026          double minGammaEt;
00027          void fill(const edm::ParameterSet& pset) {
00028             useTracksInsteadOfPF         = pset.getParameter<bool>("useTracksInsteadOfPFHadrons");
00029             minTrackPt                   = pset.getParameter<double>("minTrackPt");
00030             maxTrackChi2                 = pset.getParameter<double>("maxTrackChi2");
00031             minTrackPixelHits            = pset.getParameter<uint32_t>("minTrackPixelHits");
00032             minTrackHits                 = pset.getParameter<uint32_t>("minTrackHits");
00033             maxTransverseImpactParameter = pset.getParameter<double>("maxTransverseImpactParameter");
00034             maxDeltaZ                    = pset.getParameter<double>("maxDeltaZ");
00035             minGammaEt                   = pset.getParameter<double>("minGammaEt"); 
00036          }
00037       };
00038 
00040       void isolationChargedObjects(const reco::PFTau&, const reco::Vertex&, std::vector<reco::LeafCandidate>&);
00042       void isolationGammaObjects(const reco::PFTau&, std::vector<reco::LeafCandidate>&);
00043 
00045       void signalChargedObjects(const reco::PFTau&, const reco::Vertex&, std::vector<reco::LeafCandidate>&);
00047       void signalGammaObjects(const reco::PFTau&, std::vector<reco::LeafCandidate>&);
00048 
00049    private:
00050       QualityCutSet isoQCuts;
00051       QualityCutSet signalQCuts;
00052 };
00053 
00054 #endif