File indexing completed on 2024-04-06 12:10:16
0001 #ifndef SimpleElectron_H
0002 #define SimpleElectron_H
0003
0004 #ifndef SimpleElectron_STANDALONE
0005 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0006 #endif
0007
0008 class SimpleElectron {
0009 public:
0010 SimpleElectron() {}
0011 SimpleElectron(unsigned int run,
0012 double eClass,
0013 double r9,
0014 double scEnergy,
0015 double scEnergyError,
0016 double trackMomentum,
0017 double trackMomentumError,
0018 double regEnergy,
0019 double regEnergyError,
0020 double combinedMomentum,
0021 double combinedMomentumError,
0022 double eta,
0023 bool isEB,
0024 bool isMC,
0025 bool isEcalDriven,
0026 bool isTrackerDriven)
0027 : run_(run),
0028 eClass_(eClass),
0029 r9_(r9),
0030 scEnergy_(scEnergy),
0031 scEnergyError_(scEnergyError),
0032 trackMomentum_(trackMomentum),
0033 trackMomentumError_(trackMomentumError),
0034 regEnergy_(regEnergy),
0035 regEnergyError_(regEnergyError),
0036 eta_(eta),
0037 isEB_(isEB),
0038 isMC_(isMC),
0039 isEcalDriven_(isEcalDriven),
0040 isTrackerDriven_(isTrackerDriven),
0041 newEnergy_(regEnergy_),
0042 newEnergyError_(regEnergyError_),
0043 combinedMomentum_(combinedMomentum),
0044 combinedMomentumError_(combinedMomentumError),
0045 scale_(1.0),
0046 smearing_(0.0) {}
0047 ~SimpleElectron() {}
0048
0049 #ifndef SimpleElectron_STANDALONE
0050 explicit SimpleElectron(const reco::GsfElectron &in, unsigned int runNumber, bool isMC);
0051 void writeTo(reco::GsfElectron &out) const;
0052 #endif
0053
0054
0055 double getNewEnergy() const { return newEnergy_; }
0056 double getNewEnergyError() const { return newEnergyError_; }
0057 double getCombinedMomentum() const { return combinedMomentum_; }
0058 double getCombinedMomentumError() const { return combinedMomentumError_; }
0059 double getScale() const { return scale_; }
0060 double getSmearing() const { return smearing_; }
0061 double getSCEnergy() const { return scEnergy_; }
0062 double getSCEnergyError() const { return scEnergyError_; }
0063 double getRegEnergy() const { return regEnergy_; }
0064 double getRegEnergyError() const { return regEnergyError_; }
0065 double getTrackerMomentum() const { return trackMomentum_; }
0066 double getTrackerMomentumError() const { return trackMomentumError_; }
0067 double getEta() const { return eta_; }
0068 float getR9() const { return r9_; }
0069 int getElClass() const { return eClass_; }
0070 unsigned int getRunNumber() const { return run_; }
0071 bool isEB() const { return isEB_; }
0072 bool isMC() const { return isMC_; }
0073 bool isEcalDriven() const { return isEcalDriven_; }
0074 bool isTrackerDriven() const { return isTrackerDriven_; }
0075
0076
0077 void setCombinedMomentum(double combinedMomentum) { combinedMomentum_ = combinedMomentum; }
0078 void setCombinedMomentumError(double combinedMomentumError) { combinedMomentumError_ = combinedMomentumError; }
0079 void setNewEnergy(double newEnergy) { newEnergy_ = newEnergy; }
0080 void setNewEnergyError(double newEnergyError) { newEnergyError_ = newEnergyError; }
0081
0082 private:
0083 unsigned int run_;
0084 double eClass_;
0085 double r9_;
0086 double scEnergy_;
0087 double scEnergyError_;
0088 double trackMomentum_;
0089 double trackMomentumError_;
0090 double regEnergy_;
0091 double regEnergyError_;
0092 double eta_;
0093 bool isEB_;
0094 bool isMC_;
0095 bool isEcalDriven_;
0096 bool isTrackerDriven_;
0097 double newEnergy_;
0098 double newEnergyError_;
0099 double combinedMomentum_;
0100 double combinedMomentumError_;
0101 double scale_;
0102 double smearing_;
0103 };
0104
0105 #endif