Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:05:09

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 rawEnergy,
0017                      float preshowerEnergy,
0018                      float corrEcalEnergyError,
0019                      float sigmaIetaIeta,
0020                      float hOverE,
0021                      float ecalIso,
0022                      float hcalIso,
0023                      float trkIso,
0024                      float r9,
0025                      float sMin,
0026                      float sMaj,
0027                      uint32_t seedId,
0028                      uint32_t nClusters,
0029                      uint32_t nCrystals,
0030                      std::vector<float> energyMatrix,
0031                      std::vector<uint32_t> detIds,
0032                      std::vector<float> timingMatrix,
0033                      bool rechitZeroSuppression)
0034       : pt_(pt),
0035         eta_(eta),
0036         phi_(phi),
0037         m_(m),
0038         rawEnergy_(rawEnergy),
0039         preshowerEnergy_(preshowerEnergy),
0040         corrEcalEnergyError_(corrEcalEnergyError),
0041         sigmaIetaIeta_(sigmaIetaIeta),
0042         hOverE_(hOverE),
0043         ecalIso_(ecalIso),
0044         hcalIso_(hcalIso),
0045         trkIso_(trkIso),
0046         r9_(r9),
0047         sMin_(sMin),
0048         sMaj_(sMaj),
0049         seedId_(seedId),
0050         nClusters_(nClusters),
0051         nCrystals_(nCrystals),
0052         energyMatrix_(std::move(energyMatrix)),
0053         detIds_(std::move(detIds)),
0054         timingMatrix_(std::move(timingMatrix)),
0055         rechitZeroSuppression_(rechitZeroSuppression) {}
0056   //default constructor
0057   Run3ScoutingPhoton()
0058       : pt_(0),
0059         eta_(0),
0060         phi_(0),
0061         m_(0),
0062         rawEnergy_(0),
0063         preshowerEnergy_(0),
0064         corrEcalEnergyError_(0),
0065         sigmaIetaIeta_(0),
0066         hOverE_(0),
0067         ecalIso_(0),
0068         hcalIso_(0),
0069         trkIso_(0),
0070         r9_(0),
0071         sMin_(0),
0072         sMaj_(0),
0073         seedId_(0),
0074         nClusters_(0),
0075         nCrystals_(0),
0076         energyMatrix_(0),
0077         timingMatrix_(0),
0078         rechitZeroSuppression_(false) {}
0079 
0080   //accessor functions
0081   float pt() const { return pt_; }
0082   float eta() const { return eta_; }
0083   float phi() const { return phi_; }
0084   float m() const { return m_; }
0085   float rawEnergy() const { return rawEnergy_; }
0086   float preshowerEnergy() const { return preshowerEnergy_; }
0087   float corrEcalEnergyError() const { return corrEcalEnergyError_; }
0088   float sigmaIetaIeta() const { return sigmaIetaIeta_; }
0089   float hOverE() const { return hOverE_; }
0090   float ecalIso() const { return ecalIso_; }
0091   float hcalIso() const { return hcalIso_; }
0092   float trkIso() const { return trkIso_; }
0093   float r9() const { return r9_; }
0094   float sMin() const { return sMin_; }
0095   float sMaj() const { return sMaj_; }
0096   uint32_t seedId() const { return seedId_; }
0097   uint32_t nClusters() const { return nClusters_; }
0098   uint32_t nCrystals() const { return nCrystals_; }
0099   std::vector<float> const& energyMatrix() const { return energyMatrix_; }
0100   std::vector<uint32_t> const& detIds() const { return detIds_; }
0101   std::vector<float> const& timingMatrix() const { return timingMatrix_; }
0102   bool rechitZeroSuppression() const { return rechitZeroSuppression_; }
0103 
0104 private:
0105   float pt_;
0106   float eta_;
0107   float phi_;
0108   float m_;
0109   float rawEnergy_;
0110   float preshowerEnergy_;
0111   float corrEcalEnergyError_;
0112   float sigmaIetaIeta_;
0113   float hOverE_;
0114   float ecalIso_;
0115   float hcalIso_;
0116   float trkIso_;
0117   float r9_;
0118   float sMin_;
0119   float sMaj_;
0120   uint32_t seedId_;
0121   uint32_t nClusters_;
0122   uint32_t nCrystals_;
0123   std::vector<float> energyMatrix_;
0124   std::vector<uint32_t> detIds_;
0125   std::vector<float> timingMatrix_;
0126   bool rechitZeroSuppression_;
0127 };
0128 
0129 typedef std::vector<Run3ScoutingPhoton> Run3ScoutingPhotonCollection;
0130 
0131 #endif