CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Lepjets_Event_Jet.cc
Go to the documentation of this file.
1 //
2 //
3 // File: src/Lepjets_Event_Jet.cc
4 // Purpose: Represent a `jet' in a Lepjets_Event.
5 // Created: Jul, 2000, sss, based on run 1 mass analysis code.
6 //
7 // CMSSW File : src/Lepjets_Event_Jet.cc
8 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
9 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
10 //
11 
35 
36 namespace hitfit {
37 
39  int type,
40  const Vector_Resolution& res,
41  bool svx_tag /*= false*/,
42  bool slt_tag /*= false*/,
43  const Fourvec& tag_lep /*= Fourvec()*/,
44  double slt_edep /*= 0*/)
45  //
46  // Purpose: Constructor.
47  //
48  // Inputs:
49  // p - The 4-momentum.
50  // type - The type code.
51  // res - The resolution.
52  // svx_tag - SVX tag flag.
53  // slt_tag - SLT tag flag.
54  // tag_lep - SLT lepton 4-momentum.
55  // slt_edep - SLT lepton energy deposition.
56  //
57  : Lepjets_Event_Lep(p, type, res),
58  _svx_tag(svx_tag),
59  _slt_tag(slt_tag),
60  _tag_lep(tag_lep),
61  _slt_edep(slt_edep),
62  _e0(p.e()) {}
63 
65  //
66  // Purpose: Access the SVX tag flag.
67  //
68  // Returns:
69  // The SVX tag flag.
70  //
71  {
72  return _svx_tag;
73  }
74 
76  //
77  // Purpose: Access the SVX tag flag.
78  //
79  // Returns:
80  // The SVX tag flag.
81  //
82  {
83  return _svx_tag;
84  }
85 
87  //
88  // Purpose: Access the SLT tag flag.
89  //
90  // Returns:
91  // The SLT tag flag.
92  //
93  {
94  return _slt_tag;
95  }
96 
98  //
99  // Purpose: Access the SLT tag flag.
100  //
101  // Returns:
102  // The SLT tag flag.
103  //
104  {
105  return _slt_tag;
106  }
107 
109  //
110  // Purpose: Access the tag lepton 4-momentum.
111  //
112  // Returns:
113  // The tag lepton 4-momentum.
114  //
115  {
116  return _tag_lep;
117  }
118 
120  //
121  // Purpose: Access the tag lepton 4-momentum.
122  //
123  // Returns:
124  // The tag lepton 4-momentum.
125  //
126  {
127  return _tag_lep;
128  }
129 
131  //
132  // Purpose: Access the tag lepton energy deposition.
133  //
134  // Returns:
135  // The tag lepton energy deposition.
136  //
137  {
138  return _slt_edep;
139  }
140 
142  //
143  // Purpose: Access the tag lepton energy deposition.
144  //
145  // Returns:
146  // The tag lepton energy deposition.
147  //
148  {
149  return _slt_edep;
150  }
151 
153  //
154  // Purpose: Access the uncorrected jet energy.
155  //
156  // Returns:
157  // The uncorrected jet energy.
158  //
159  {
160  return _e0;
161  }
162 
164  //
165  // Purpose: Access the uncorrected jet energy.
166  //
167  // Returns:
168  // The uncorrected jet energy.
169  //
170  {
171  return _e0;
172  }
173 
174  std::ostream& Lepjets_Event_Jet::dump(std::ostream& s, bool full /*= false*/) const
175  //
176  // Purpose: Dump out this object.
177  //
178  // Inputs:
179  // s - The stream to which to write.
180  // full - If true, dump all information for this object.
181  //
182  // Returns:
183  // The stream S.
184  //
185  {
187  if (_svx_tag)
188  s << " (svx)";
189  if (_slt_tag)
190  s << " (slt)";
191  if (full) {
192  if (_slt_tag) {
193  s << " tag lep: " << _tag_lep;
194  s << " edep: " << _slt_edep;
195  }
196  s << "\n";
197  }
198  return s;
199  }
200 
209  std::ostream& operator<<(std::ostream& s, const Lepjets_Event_Jet& l)
210  //
211  // Purpose: Dump out this object.
212  //
213  // Inputs:
214  // s - The stream to which to write.
215  // l - The object to dump.
216  //
217  // Returns:
218  // The stream S.
219  //
220  {
221  return l.dump(s);
222  }
223 
224  char jetTypeChar(int j)
225  //
226  // Purpose: Translate numeric jet type into char
227  //
228  // Inputs:
229  // j - jet type in integer
230  //
231  // Returns:
232  // the jet type in char
233  //
234  {
235  switch (j) {
236  case hitfit::isr_label:
237  return 'g';
238  case hitfit::lepb_label:
239  return 'b';
240  case hitfit::hadb_label:
241  return 'B';
242  case hitfit::hadw1_label:
243  return 'W';
244  case hitfit::hadw2_label:
245  return 'W';
246  case hitfit::higgs_label:
247  return 'h';
249  return '?';
250  default:
251  return '?';
252  }
253 
254  return '?';
255  }
256 
258  //
259  // Purpose: Translate numeric jet type into string
260  //
261  // Inputs:
262  // j - jet type in integer
263  //
264  // Returns:
265  // the jet type in string
266  //
267  {
268  switch (j) {
269  case hitfit::isr_label:
270  return std::string("g");
271  case hitfit::lepb_label:
272  return std::string("b");
273  case hitfit::hadb_label:
274  return std::string("B");
275  case hitfit::hadw1_label:
276  return std::string("W");
277  case hitfit::hadw2_label:
278  return std::string("W");
279  case hitfit::higgs_label:
280  return std::string("h");
282  return std::string("?");
283  default:
284  return std::string("?");
285  }
286 
287  return std::string("?");
288  }
289 
290 } // namespace hitfit
std::ostream & dump(std::ostream &s, bool full=false) const
Print the content of this object.
std::ostream & dump(std::ostream &s, bool full=false) const
Print the content of this object.
Represent a lepton in an instance of Lepjets_Event class. This class hold the following information: ...
Lepjets_Event_Jet(const Fourvec &p, int type, const Vector_Resolution &res, bool svx_tag=false, bool slt_tag=false, const Fourvec &tag_lep=Fourvec(), double slt_edep=0)
Constructor.
Represent a jet in an instance of Lepjets_Event class.
std::string jetTypeString(int type)
Helper function: Translate jet type code from integer to char. The following notation is used for eac...
Definition: GenABIO.cc:168
CLHEP::HepLorentzVector Fourvec
Typedef for a HepLorentzVector.
Definition: fourvec.h:55
A class to represent a jet in an instance of Lepjets_Event class. The class is derived from the Lepje...
std::ostream & operator<<(std::ostream &s, const Constraint_Intermed &ci)
Output stream operator, print the content of this Constraint_Intermed to an output stream...
char jetTypeChar(int type)
Helper function: Translate jet type code from integer to char. The following notation is used for eac...
Calculate and represent resolution for a vector of , pseudorapidity , and azimuthal angle ...