CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Run3ScoutingElectron.h
Go to the documentation of this file.
1 #ifndef DataFormats_Run3ScoutingElectron_h
2 #define DataFormats_Run3ScoutingElectron_h
3 
4 #include <vector>
5 
6 // Class for holding electron information, for use in data scouting
7 // IMPORTANT: the content of this class should be changed only in backwards compatible ways!
9 public:
10  //constructor with values for all data fields
12  float eta,
13  float phi,
14  float m,
15  float d0,
16  float dz,
17  float dEtaIn,
18  float dPhiIn,
19  float sigmaIetaIeta,
20  float hOverE,
21  float ooEMOop,
22  int missingHits,
23  int charge,
24  float ecalIso,
25  float hcalIso,
26  float trackIso,
27  float r9,
28  float sMin,
29  float sMaj,
30  unsigned int seedId,
31  std::vector<float> energyMatrix,
32  std::vector<float> timingMatrix)
33  : pt_(pt),
34  eta_(eta),
35  phi_(phi),
36  m_(m),
37  d0_(d0),
38  dz_(dz),
39  dEtaIn_(dEtaIn),
40  dPhiIn_(dPhiIn),
41  sigmaIetaIeta_(sigmaIetaIeta),
42  hOverE_(hOverE),
43  ooEMOop_(ooEMOop),
44  missingHits_(missingHits),
45  charge_(charge),
46  ecalIso_(ecalIso),
47  hcalIso_(hcalIso),
48  trackIso_(trackIso),
49  r9_(r9),
50  sMin_(sMin),
51  sMaj_(sMaj),
52  seedId_(seedId),
53  energyMatrix_(std::move(energyMatrix)),
54  timingMatrix_(std::move(timingMatrix)) {}
55  //default constructor
57  : pt_(0),
58  eta_(0),
59  phi_(0),
60  m_(0),
61  d0_(0),
62  dz_(0),
63  dEtaIn_(0),
64  dPhiIn_(0),
65  sigmaIetaIeta_(0),
66  hOverE_(0),
67  ooEMOop_(0),
68  missingHits_(0),
69  charge_(0),
70  ecalIso_(0),
71  hcalIso_(0),
72  trackIso_(0),
73  r9_(0),
74  sMin_(0),
75  sMaj_(0),
76  seedId_(0) {}
77 
78  //accessor functions
79  float pt() const { return pt_; }
80  float eta() const { return eta_; }
81  float phi() const { return phi_; }
82  float m() const { return m_; }
83  float d0() const { return d0_; }
84  float dz() const { return dz_; }
85  float dEtaIn() const { return dEtaIn_; }
86  float dPhiIn() const { return dPhiIn_; }
87  float sigmaIetaIeta() const { return sigmaIetaIeta_; }
88  float hOverE() const { return hOverE_; }
89  float ooEMOop() const { return ooEMOop_; }
90  int missingHits() const { return missingHits_; }
91  int charge() const { return charge_; }
92  float ecalIso() const { return ecalIso_; }
93  float hcalIso() const { return hcalIso_; }
94  float trackIso() const { return trackIso_; }
95  float r9() const { return r9_; }
96  float sMin() const { return sMin_; }
97  float sMaj() const { return sMaj_; }
98  unsigned int seedId() const { return seedId_; }
99  std::vector<float> const& energyMatrix() const { return energyMatrix_; }
100  std::vector<float> const& timingMatrix() const { return timingMatrix_; }
101 
102 private:
103  float pt_;
104  float eta_;
105  float phi_;
106  float m_;
107  float d0_;
108  float dz_;
109  float dEtaIn_;
110  float dPhiIn_;
112  float hOverE_;
113  float ooEMOop_;
115  int charge_;
116  float ecalIso_;
117  float hcalIso_;
118  float trackIso_;
119  float r9_;
120  float sMin_;
121  float sMaj_;
122  unsigned int seedId_;
123  std::vector<float> energyMatrix_;
124  std::vector<float> timingMatrix_;
125 };
126 
127 typedef std::vector<Run3ScoutingElectron> Run3ScoutingElectronCollection;
128 
129 #endif
std::vector< float > timingMatrix_
float sigmaIetaIeta() const
std::vector< float > energyMatrix_
std::vector< float > const & energyMatrix() const
def move
Definition: eostools.py:511
Run3ScoutingElectron(float pt, float eta, float phi, float m, float d0, float dz, float dEtaIn, float dPhiIn, float sigmaIetaIeta, float hOverE, float ooEMOop, int missingHits, int charge, float ecalIso, float hcalIso, float trackIso, float r9, float sMin, float sMaj, unsigned int seedId, std::vector< float > energyMatrix, std::vector< float > timingMatrix)
std::vector< Run3ScoutingElectron > Run3ScoutingElectronCollection
unsigned int seedId() const
std::vector< float > const & timingMatrix() const