CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DataFormats/ParticleFlowCandidate/interface/PFCandidatePhotonExtra.h

Go to the documentation of this file.
00001 #ifndef ParticleFlowCandidate_PFCandidatePhotonExtra_h
00002 #define ParticleFlowCandidate_PFCandidatePhotonExtra_h
00003 
00004 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00005 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00006 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
00007 
00008 #include <iosfwd>
00009 
00010 namespace reco {
00016   class PFCandidatePhotonExtra { 
00017   public:
00019     PFCandidatePhotonExtra();
00021     PFCandidatePhotonExtra(const reco::SuperClusterRef&);
00023     ~PFCandidatePhotonExtra(){;}
00024 
00025     // variables for the single conversion identification
00026 
00028     reco::SuperClusterRef superClusterRef() const {return scRef_ ; }
00029 
00031     void addSingleLegConvTrackRef(const reco::TrackRef& trackref);
00032 
00034     const std::vector<reco::TrackRef>& singleLegConvTrackRef() const {return assoSingleLegRefTrack_;}
00035 
00037     void addSingleLegConvMva(float& mvasingleleg);
00038 
00040     const std::vector<float>& singleLegConvMva() const {return assoSingleLegMva_;}
00041 
00043     void addConversionRef(const reco::ConversionRef& convref);
00044 
00046     reco::ConversionRefVector conversionRef() const {return assoConversionsRef_;} 
00047 
00048     //from Mustache Id:
00049     void setMustache_Et(float Must_Et){Mustache_Et_=Must_Et;}
00050     void setExcludedClust(int excluded){Excluded_clust_=excluded;}
00051     float Mustache_Et()const{ return Mustache_Et_;}
00052     int ExcludedClust()const{ return Excluded_clust_;}
00053     
00054     //MVA Energy Regression:
00055     void setMVAGlobalCorrE(float GCorr){GlobalCorr_=GCorr;}
00056     float MVAGlobalCorrE()const{return GlobalCorr_;}
00057 
00058     void setMVAGlobalCorrEError(float GCorr){GlobalCorrEError_=GCorr;}
00059     float MVAGlobalCorrEError()const{return GlobalCorrEError_;}
00060 
00061     void addLCorrClusEnergy(float LCorrE);
00062     const std::vector<float>& LCorrClusEnergy() const {return LocalCorr_;}
00063 
00064     void SetPFPhotonRes(float Res){Res=MVAResolution_;}
00065     float PFPhotonRes()const {return MVAResolution_;}
00066  private:
00067     
00069     reco::SuperClusterRef scRef_;
00070 
00072     std::vector<reco::TrackRef> assoSingleLegRefTrack_;
00073 
00075     std::vector<float> assoSingleLegMva_;
00076 
00078     reco::ConversionRefVector assoConversionsRef_;
00079 
00080     //for Mustache_Id
00081     float Mustache_Et_;
00082     int Excluded_clust_;
00083     
00084     //for MVA Regression Energy
00085     std::vector<float> LocalCorr_;
00086     float GlobalCorr_;
00087     float GlobalCorrEError_;
00088     float MVAResolution_;
00089   };
00090 }
00091 #endif