CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HT.h
Go to the documentation of this file.
1 //author: Francesco Costanza (DESY)
2 //date: 05/05/11
3 
4 #ifndef HT_H
5 #define HT_H
6 
14 
15 #include "TVector2.h"
16 #include <vector>
17 #include <iostream>
18 #include <cmath>
19 
20 template <class T>
21 class HT {
22 private:
23  double Hx, Hy;
24 
25 public:
26  int njet;
27  TVector2 v;
28  double ScalarSum;
29 
30  typedef typename edm::Handle<T> Handler;
31  HT(Handler jetcoll, double ptThreshold, double maxAbsEta) : Hx(0), Hy(0), ScalarSum(0) {
32  typedef typename T::const_iterator Iter;
33  for (Iter jet = jetcoll->begin(); jet != jetcoll->end(); ++jet) {
34  if ((jet->pt() > ptThreshold) && (std::fabs(jet->eta()) < maxAbsEta)) {
35  njet++;
36  Hx += jet->px();
37  Hy += jet->py();
38  ScalarSum += jet->pt();
39  }
40  }
41  v = TVector2(Hx, Hy);
42  }
43 };
44 
45 #endif
double ScalarSum
Definition: HT.h:28
HT(Handler jetcoll, double ptThreshold, double maxAbsEta)
Definition: HT.h:31
double Hx
Definition: HT.h:23
double Hy
Definition: HT.h:23
int njet
Definition: HT.h:26
edm::Handle< T > Handler
Definition: HT.h:30
TVector2 v
Definition: HT.h:27
Definition: HT.h:21