CMS 3D CMS Logo

MyCluster.h
Go to the documentation of this file.
1 #ifndef MYCLUSTER_H
2 #define MYCLUSTER_H
3 #include "CLHEP/Vector/LorentzVector.h"
4 
6 
7 struct MatchParam{
8  int index;
9  double distance;
10 };
11 
12 struct CalCell{
13  CLHEP::HepLorentzVector Momentum;
14  int pid;
15  bool used;
16 };
17 
18 
19 struct CalCluster{
20  CLHEP::HepLorentzVector Momentum;
21  double em;
22  double hd;
23  int type;
24  int ncells;
25  std::vector<CalCell> clusterCellList;
26  std::vector<MatchParam> MatchedClusters;
27  std::vector<CalCluster> SubClusterList;
28 };
29 
30 class CellGreater {
31  public:
32  bool operator () (const CalCell& i, const CalCell& j) {
33  return (i.Momentum.e() > j.Momentum.e());
34  }
35 };
36 
38  public:
39  bool operator () (const CalCell& i, const CalCell& j) {
40  return (i.Momentum.perp() > j.Momentum.perp());
41  }
42 };
43 
45  public:
46  bool operator () (const CalCluster& i, const CalCluster& j) {
47  return (i.Momentum.e() > j.Momentum.e());
48  }
49 };
50 
52  public:
53  bool operator () (const CalCluster& i, const CalCluster& j) {
54  return (i.Momentum.perp() > j.Momentum.perp());
55  }
56 };
58  public:
59 
60  bool operator () (const CalCluster& i, const CalCluster& j) {
61  return (i.Momentum.perp() > j.Momentum.perp());
62  }
63 };
64 
65 
66 #endif
double hd
Definition: MyCluster.h:22
int ncells
Definition: MyCluster.h:24
std::vector< CalCluster > SubClusterList
Definition: MyCluster.h:27
std::vector< CalCell > clusterCellList
Definition: MyCluster.h:25
double em
Definition: MyCluster.h:21
CLHEP::HepLorentzVector Momentum
Definition: MyCluster.h:13
int index
Definition: MyCluster.h:8
int pid
Definition: MyCluster.h:14
CLHEP::HepLorentzVector Momentum
Definition: MyCluster.h:20
double distance
Definition: MyCluster.h:9
bool used
Definition: MyCluster.h:15
std::vector< MatchParam > MatchedClusters
Definition: MyCluster.h:26
int type
Definition: MyCluster.h:23