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 
5 #include <vector>
6 
8 
9 struct MatchParam{
10  int index;
11  double distance;
12 };
13 
14 struct CalCell{
15  CLHEP::HepLorentzVector Momentum;
16  int pid;
17  bool used;
18 };
19 
20 
21 struct CalCluster{
22  CLHEP::HepLorentzVector Momentum;
23  double em;
24  double hd;
25  int type;
26  int ncells;
27  std::vector<CalCell> clusterCellList;
28  std::vector<MatchParam> MatchedClusters;
29  std::vector<CalCluster> SubClusterList;
30 };
31 
32 class CellGreater {
33  public:
34  bool operator () (const CalCell& i, const CalCell& j) {
35  return (i.Momentum.e() > j.Momentum.e());
36  }
37 };
38 
40  public:
41  bool operator () (const CalCell& i, const CalCell& j) {
42  return (i.Momentum.perp() > j.Momentum.perp());
43  }
44 };
45 
47  public:
48  bool operator () (const CalCluster& i, const CalCluster& j) {
49  return (i.Momentum.e() > j.Momentum.e());
50  }
51 };
52 
54  public:
55  bool operator () (const CalCluster& i, const CalCluster& j) {
56  return (i.Momentum.perp() > j.Momentum.perp());
57  }
58 };
60  public:
61 
62  bool operator () (const CalCluster& i, const CalCluster& j) {
63  return (i.Momentum.perp() > j.Momentum.perp());
64  }
65 };
66 
67 
68 #endif
double hd
Definition: MyCluster.h:24
int ncells
Definition: MyCluster.h:26
std::vector< CalCluster > SubClusterList
Definition: MyCluster.h:29
std::vector< CalCell > clusterCellList
Definition: MyCluster.h:27
double em
Definition: MyCluster.h:23
CLHEP::HepLorentzVector Momentum
Definition: MyCluster.h:15
int index
Definition: MyCluster.h:10
int pid
Definition: MyCluster.h:16
CLHEP::HepLorentzVector Momentum
Definition: MyCluster.h:22
double distance
Definition: MyCluster.h:11
bool used
Definition: MyCluster.h:17
std::vector< MatchParam > MatchedClusters
Definition: MyCluster.h:28
int type
Definition: MyCluster.h:25