File indexing completed on 2024-04-06 12:04:49
0001 #ifndef ParticleFlowCandidate_PFCandidatePhotonExtra_h
0002 #define ParticleFlowCandidate_PFCandidatePhotonExtra_h
0003
0004 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0005 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0006 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
0007
0008 #include <iosfwd>
0009
0010 namespace reco {
0011
0012
0013
0014
0015
0016 class PFCandidatePhotonExtra {
0017 public:
0018
0019 PFCandidatePhotonExtra();
0020
0021 PFCandidatePhotonExtra(const reco::SuperClusterRef&);
0022
0023 ~PFCandidatePhotonExtra() { ; }
0024
0025
0026
0027
0028 reco::SuperClusterRef superClusterRef() const { return scRef_; }
0029
0030
0031 void addSingleLegConvTrackRef(const reco::TrackRef& trackref);
0032
0033
0034 const std::vector<reco::TrackRef>& singleLegConvTrackRef() const { return assoSingleLegRefTrack_; }
0035
0036
0037 void addSingleLegConvMva(float& mvasingleleg);
0038
0039
0040 const std::vector<float>& singleLegConvMva() const { return assoSingleLegMva_; }
0041
0042
0043 void addConversionRef(const reco::ConversionRef& convref);
0044
0045
0046 reco::ConversionRefVector conversionRef() const { return assoConversionsRef_; }
0047
0048
0049 void setMustache_Et(float Must_Et) { Mustache_Et_ = Must_Et; }
0050 void setExcludedClust(int excluded) { Excluded_clust_ = excluded; }
0051 float Mustache_Et() const { return Mustache_Et_; }
0052 int ExcludedClust() const { return Excluded_clust_; }
0053
0054
0055 void setMVAGlobalCorrE(float GCorr) { GlobalCorr_ = GCorr; }
0056 float MVAGlobalCorrE() const { return GlobalCorr_; }
0057
0058 void setMVAGlobalCorrEError(float GCorr) { GlobalCorrEError_ = GCorr; }
0059 float MVAGlobalCorrEError() const { return GlobalCorrEError_; }
0060
0061 void addLCorrClusEnergy(float LCorrE);
0062 const std::vector<float>& LCorrClusEnergy() const { return LocalCorr_; }
0063
0064 void SetPFPhotonRes(float Res) { MVAResolution_ = Res; }
0065 float PFPhotonRes() const { return MVAResolution_; }
0066
0067 private:
0068
0069 reco::SuperClusterRef scRef_;
0070
0071
0072 std::vector<reco::TrackRef> assoSingleLegRefTrack_;
0073
0074
0075 std::vector<float> assoSingleLegMva_;
0076
0077
0078 reco::ConversionRefVector assoConversionsRef_;
0079
0080
0081 float Mustache_Et_;
0082 int Excluded_clust_;
0083
0084
0085 std::vector<float> LocalCorr_;
0086 float GlobalCorr_;
0087 float GlobalCorrEError_;
0088 float MVAResolution_;
0089 };
0090 }
0091 #endif