Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_Run3ScoutingPFJet_h
0002 #define DataFormats_Run3ScoutingPFJet_h
0003 
0004 #include <vector>
0005 
0006 //class for holding PF jet information, for use in data scouting
0007 //IMPORTANT: the content of this class should be changed only in backwards compatible ways!
0008 class Run3ScoutingPFJet {
0009 public:
0010   //constructor with values for all data fields
0011   Run3ScoutingPFJet(float pt,
0012                     float eta,
0013                     float phi,
0014                     float m,
0015                     float jetArea,
0016                     float chargedHadronEnergy,
0017                     float neutralHadronEnergy,
0018                     float photonEnergy,
0019                     float electronEnergy,
0020                     float muonEnergy,
0021                     float HFHadronEnergy,
0022                     float HFEMEnergy,
0023                     int chargedHadronMultiplicity,
0024                     int neutralHadronMultiplicity,
0025                     int photonMultiplicity,
0026                     int electronMultiplicity,
0027                     int muonMultiplicity,
0028                     int HFHadronMultiplicity,
0029                     int HFEMMultiplicity,
0030                     float HOEnergy,
0031                     float csv,
0032                     float mvaDiscriminator,
0033                     std::vector<int> constituents)
0034       : pt_(pt),
0035         eta_(eta),
0036         phi_(phi),
0037         m_(m),
0038         jetArea_(jetArea),
0039         chargedHadronEnergy_(chargedHadronEnergy),
0040         neutralHadronEnergy_(neutralHadronEnergy),
0041         photonEnergy_(photonEnergy),
0042         electronEnergy_(electronEnergy),
0043         muonEnergy_(muonEnergy),
0044         HFHadronEnergy_(HFHadronEnergy),
0045         HFEMEnergy_(HFEMEnergy),
0046         chargedHadronMultiplicity_(chargedHadronMultiplicity),
0047         neutralHadronMultiplicity_(neutralHadronMultiplicity),
0048         photonMultiplicity_(photonMultiplicity),
0049         electronMultiplicity_(electronMultiplicity),
0050         muonMultiplicity_(muonMultiplicity),
0051         HFHadronMultiplicity_(HFHadronMultiplicity),
0052         HFEMMultiplicity_(HFEMMultiplicity),
0053         HOEnergy_(HOEnergy),
0054         csv_(csv),
0055         mvaDiscriminator_(mvaDiscriminator),
0056         constituents_(std::move(constituents)) {}
0057   //default constructor
0058   Run3ScoutingPFJet()
0059       : pt_(0),
0060         eta_(0),
0061         phi_(0),
0062         m_(0),
0063         jetArea_(0),
0064         chargedHadronEnergy_(0),
0065         neutralHadronEnergy_(0),
0066         photonEnergy_(0),
0067         electronEnergy_(0),
0068         muonEnergy_(0),
0069         HFHadronEnergy_(0),
0070         HFEMEnergy_(0),
0071         chargedHadronMultiplicity_(0),
0072         neutralHadronMultiplicity_(0),
0073         photonMultiplicity_(0),
0074         electronMultiplicity_(0),
0075         muonMultiplicity_(0),
0076         HFHadronMultiplicity_(0),
0077         HFEMMultiplicity_(0),
0078         HOEnergy_(0),
0079         csv_(0),
0080         mvaDiscriminator_(0) {}
0081 
0082   //accessor functions
0083   float pt() const { return pt_; }
0084   float eta() const { return eta_; }
0085   float phi() const { return phi_; }
0086   float m() const { return m_; }
0087   float jetArea() const { return jetArea_; }
0088   float chargedHadronEnergy() const { return chargedHadronEnergy_; }
0089   float neutralHadronEnergy() const { return neutralHadronEnergy_; }
0090   float photonEnergy() const { return photonEnergy_; }
0091   float electronEnergy() const { return electronEnergy_; }
0092   float muonEnergy() const { return muonEnergy_; }
0093   float HFHadronEnergy() const { return HFHadronEnergy_; }
0094   float HFEMEnergy() const { return HFEMEnergy_; }
0095   int chargedHadronMultiplicity() const { return chargedHadronMultiplicity_; }
0096   int neutralHadronMultiplicity() const { return neutralHadronMultiplicity_; }
0097   int photonMultiplicity() const { return photonMultiplicity_; }
0098   int electronMultiplicity() const { return electronMultiplicity_; }
0099   int muonMultiplicity() const { return muonMultiplicity_; }
0100   int HFHadronMultiplicity() const { return HFHadronMultiplicity_; }
0101   int HFEMMultiplicity() const { return HFEMMultiplicity_; }
0102   float HOEnergy() const { return HOEnergy_; }
0103   float csv() const { return csv_; }
0104   float mvaDiscriminator() const { return mvaDiscriminator_; }
0105   std::vector<int> const& constituents() const { return constituents_; }
0106 
0107 private:
0108   float pt_;
0109   float eta_;
0110   float phi_;
0111   float m_;
0112   float jetArea_;
0113   float chargedHadronEnergy_;
0114   float neutralHadronEnergy_;
0115   float photonEnergy_;
0116   float electronEnergy_;
0117   float muonEnergy_;
0118   float HFHadronEnergy_;
0119   float HFEMEnergy_;
0120   int chargedHadronMultiplicity_;
0121   int neutralHadronMultiplicity_;
0122   int photonMultiplicity_;
0123   int electronMultiplicity_;
0124   int muonMultiplicity_;
0125   int HFHadronMultiplicity_;
0126   int HFEMMultiplicity_;
0127   float HOEnergy_;
0128   float csv_;
0129   float mvaDiscriminator_;
0130   std::vector<int> constituents_;
0131 };
0132 
0133 typedef std::vector<Run3ScoutingPFJet> Run3ScoutingPFJetCollection;
0134 
0135 #endif