Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_Run3ScoutingPhoton_h
0002 #define DataFormats_Run3ScoutingPhoton_h
0003 
0004 #include <vector>
0005 #include <cstdint>
0006 
0007 // Class for holding photon information, for use in data scouting
0008 // IMPORTANT: the content of this class should be changed only in backwards compatible ways!
0009 class Run3ScoutingPhoton {
0010 public:
0011   //constructor with values for all data fields
0012   Run3ScoutingPhoton(float pt,
0013                      float eta,
0014                      float phi,
0015                      float m,
0016                      float sigmaIetaIeta,
0017                      float hOverE,
0018                      float ecalIso,
0019                      float hcalIso,
0020                      float trkIso,
0021                      float r9,
0022                      float sMin,
0023                      float sMaj,
0024                      uint32_t seedId,
0025                      std::vector<float> energyMatrix,
0026                      std::vector<uint32_t> detIds,
0027                      std::vector<float> timingMatrix,
0028                      bool rechitZeroSuppression)
0029       : pt_(pt),
0030         eta_(eta),
0031         phi_(phi),
0032         m_(m),
0033         sigmaIetaIeta_(sigmaIetaIeta),
0034         hOverE_(hOverE),
0035         ecalIso_(ecalIso),
0036         hcalIso_(hcalIso),
0037         trkIso_(trkIso),
0038         r9_(r9),
0039         sMin_(sMin),
0040         sMaj_(sMaj),
0041         seedId_(seedId),
0042         energyMatrix_(std::move(energyMatrix)),
0043         detIds_(std::move(detIds)),
0044         timingMatrix_(std::move(timingMatrix)),
0045         rechitZeroSuppression_(rechitZeroSuppression) {}
0046   //default constructor
0047   Run3ScoutingPhoton()
0048       : pt_(0),
0049         eta_(0),
0050         phi_(0),
0051         m_(0),
0052         sigmaIetaIeta_(0),
0053         hOverE_(0),
0054         ecalIso_(0),
0055         hcalIso_(0),
0056         trkIso_(0),
0057         r9_(0),
0058         sMin_(0),
0059         sMaj_(0),
0060         seedId_(0),
0061         energyMatrix_(0),
0062         timingMatrix_(0),
0063         rechitZeroSuppression_(false) {}
0064 
0065   //accessor functions
0066   float pt() const { return pt_; }
0067   float eta() const { return eta_; }
0068   float phi() const { return phi_; }
0069   float m() const { return m_; }
0070   float sigmaIetaIeta() const { return sigmaIetaIeta_; }
0071   float hOverE() const { return hOverE_; }
0072   float ecalIso() const { return ecalIso_; }
0073   float hcalIso() const { return hcalIso_; }
0074   float trkIso() const { return trkIso_; }
0075   float r9() const { return r9_; }
0076   float sMin() const { return sMin_; }
0077   float sMaj() const { return sMaj_; }
0078   uint32_t seedId() const { return seedId_; }
0079   std::vector<float> const& energyMatrix() const { return energyMatrix_; }
0080   std::vector<uint32_t> const& detIds() const { return detIds_; }
0081   std::vector<float> const& timingMatrix() const { return timingMatrix_; }
0082   bool rechitZeroSuppression() const { return rechitZeroSuppression_; }
0083 
0084 private:
0085   float pt_;
0086   float eta_;
0087   float phi_;
0088   float m_;
0089   float sigmaIetaIeta_;
0090   float hOverE_;
0091   float ecalIso_;
0092   float hcalIso_;
0093   float trkIso_;
0094   float r9_;
0095   float sMin_;
0096   float sMaj_;
0097   uint32_t seedId_;
0098   std::vector<float> energyMatrix_;
0099   std::vector<uint32_t> detIds_;
0100   std::vector<float> timingMatrix_;
0101   bool rechitZeroSuppression_;
0102 };
0103 
0104 typedef std::vector<Run3ScoutingPhoton> Run3ScoutingPhotonCollection;
0105 
0106 #endif