Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-05-04 02:52:45

0001 #ifndef DataFormats_Run3ScoutingElectron_h
0002 #define DataFormats_Run3ScoutingElectron_h
0003 
0004 #include <vector>
0005 #include <cstdint>
0006 
0007 // Class for holding electron information, for use in data scouting
0008 // IMPORTANT: the content of this class should be changed only in backwards compatible ways!
0009 class Run3ScoutingElectron {
0010 public:
0011   //constructor with values for all data fields
0012   Run3ScoutingElectron(float pt,
0013                        float eta,
0014                        float phi,
0015                        float m,
0016                        float d0,
0017                        float dz,
0018                        float dEtaIn,
0019                        float dPhiIn,
0020                        float sigmaIetaIeta,
0021                        float hOverE,
0022                        float ooEMOop,
0023                        int missingHits,
0024                        int charge,
0025                        float ecalIso,
0026                        float hcalIso,
0027                        float trackIso,
0028                        float r9,
0029                        float sMin,
0030                        float sMaj,
0031                        uint32_t seedId,
0032                        std::vector<float> energyMatrix,
0033                        std::vector<uint32_t> detIds,
0034                        std::vector<float> timingMatrix,
0035                        bool rechitZeroSuppression)
0036       : pt_(pt),
0037         eta_(eta),
0038         phi_(phi),
0039         m_(m),
0040         d0_(d0),
0041         dz_(dz),
0042         dEtaIn_(dEtaIn),
0043         dPhiIn_(dPhiIn),
0044         sigmaIetaIeta_(sigmaIetaIeta),
0045         hOverE_(hOverE),
0046         ooEMOop_(ooEMOop),
0047         missingHits_(missingHits),
0048         charge_(charge),
0049         ecalIso_(ecalIso),
0050         hcalIso_(hcalIso),
0051         trackIso_(trackIso),
0052         r9_(r9),
0053         sMin_(sMin),
0054         sMaj_(sMaj),
0055         seedId_(seedId),
0056         energyMatrix_(std::move(energyMatrix)),
0057         detIds_(std::move(detIds)),
0058         timingMatrix_(std::move(timingMatrix)),
0059         rechitZeroSuppression_(rechitZeroSuppression) {}
0060   //default constructor
0061   Run3ScoutingElectron()
0062       : pt_(0),
0063         eta_(0),
0064         phi_(0),
0065         m_(0),
0066         d0_(0),
0067         dz_(0),
0068         dEtaIn_(0),
0069         dPhiIn_(0),
0070         sigmaIetaIeta_(0),
0071         hOverE_(0),
0072         ooEMOop_(0),
0073         missingHits_(0),
0074         charge_(0),
0075         ecalIso_(0),
0076         hcalIso_(0),
0077         trackIso_(0),
0078         r9_(0),
0079         sMin_(0),
0080         sMaj_(0),
0081         seedId_(0),
0082         rechitZeroSuppression_(false) {}
0083 
0084   //accessor functions
0085   float pt() const { return pt_; }
0086   float eta() const { return eta_; }
0087   float phi() const { return phi_; }
0088   float m() const { return m_; }
0089   float d0() const { return d0_; }
0090   float dz() const { return dz_; }
0091   float dEtaIn() const { return dEtaIn_; }
0092   float dPhiIn() const { return dPhiIn_; }
0093   float sigmaIetaIeta() const { return sigmaIetaIeta_; }
0094   float hOverE() const { return hOverE_; }
0095   float ooEMOop() const { return ooEMOop_; }
0096   int missingHits() const { return missingHits_; }
0097   int charge() const { return charge_; }
0098   float ecalIso() const { return ecalIso_; }
0099   float hcalIso() const { return hcalIso_; }
0100   float trackIso() const { return trackIso_; }
0101   float r9() const { return r9_; }
0102   float sMin() const { return sMin_; }
0103   float sMaj() const { return sMaj_; }
0104   uint32_t seedId() const { return seedId_; }
0105   std::vector<float> const& energyMatrix() const { return energyMatrix_; }
0106   std::vector<uint32_t> const& detIds() const { return detIds_; }
0107   std::vector<float> const& timingMatrix() const { return timingMatrix_; }
0108   bool rechitZeroSuppression() const { return rechitZeroSuppression_; }
0109 
0110 private:
0111   float pt_;
0112   float eta_;
0113   float phi_;
0114   float m_;
0115   float d0_;
0116   float dz_;
0117   float dEtaIn_;
0118   float dPhiIn_;
0119   float sigmaIetaIeta_;
0120   float hOverE_;
0121   float ooEMOop_;
0122   int missingHits_;
0123   int charge_;
0124   float ecalIso_;
0125   float hcalIso_;
0126   float trackIso_;
0127   float r9_;
0128   float sMin_;
0129   float sMaj_;
0130   uint32_t seedId_;
0131   std::vector<float> energyMatrix_;
0132   std::vector<uint32_t> detIds_;
0133   std::vector<float> timingMatrix_;
0134   bool rechitZeroSuppression_;
0135 };
0136 
0137 typedef std::vector<Run3ScoutingElectron> Run3ScoutingElectronCollection;
0138 
0139 #endif