ClusterParams.h
Go to the documentation of this file.
1 #ifndef UTIL_CLUSTERPARAMS_H
2 #define UTIL_CLUSTERPARAMS_H
3 
4 
6 #include "Polygon2D.h"
7 
8 namespace cluster{
9 
10  /**
11  \class cluster_params
12  (Detailed) information holder for 2D cluster, computed by ClusterParamsAlg
13  */
15  {
16  public:
18  //Initialize all values.
19  Clear();
20  }
21 
22  Polygon2D PolyObject; ///< Polygon Object...see Polygon2D.hh
23 
24  util::PxPoint start_point; ///< start point
25  util::PxPoint end_point; ///< end point
26 
27  double sum_charge; ///< Sum charge of hits in ADC
28  double mean_charge; ///< Mean (average) charge of hits in ADC
29  double rms_charge; ///< RMS (standard deviation of sample) of charge of hits in ADC
30  double sum_ADC; ///< Sum charge of ADC counts of hits, in ADC
31  double mean_ADC; ///< Mean (average) of ADC counts of hits, in ADC
32  double rms_ADC; ///< RMS (standard deviation of sample) of ADC counts of hits in ADC
33  double mean_x; ///< Mean of hits along x, peaks only
34  double mean_y; ///< Mean of hits along y, peaks only
35  double rms_x; ///< rms of hits along x (wires)
36  double rms_y; ///< rms of hits along y, (time)
37  double charge_wgt_x; ///< Mean of hits along x, charge weighted
38  double charge_wgt_y; ///< Mean of hits along y, charge weighted
39  double cluster_angle_2d; ///< Linear best fit to high-charge hits in the cluster
40  double angle_2d; ///< Angle of axis in wire/hit view
41  double opening_angle; ///< Width of angular distubtion wrt vertx
42  double opening_angle_charge_wgt; ///< Same for charge_wgt
43  double closing_angle; ///< Width of angular distubtion wrt endpoint
44  double closing_angle_charge_wgt; ///< Same for charge_wgt
45  double start_charge; ///< Charge at the start of the cluster
46  double end_charge; ///< Charge at the (other) end of the cluster
47  double eigenvalue_principal; ///< the principal eigenvalue from PCA
48  double eigenvalue_secondary; ///< the secondary eigenvalue from PCA
49  double verticalness; ///< ???
50 
51  double length;
52  double width;
53 
57  double N_Wires;
59  double N_Hits;
60  double N_Hits_HC;
61 
62  double modmeancharge;
63  double RMS_charge;
64 
65  /**
66  +1 means shower is "forward - start wire < end wire"
67  -1 is backwards, 0 is undecided
68  */
69  int direction;
70 
71  double showerness; ///< got heart
72  double trackness; ///< got soul
73  double offaxis_hits; ///< got brain
74 
75  void Clear(){
76  start_point.Clear();
77  end_point.Clear();
78  sum_charge = -999.999 ;
79  mean_charge = -999.999 ;
80  rms_charge = -999.999 ;
81  sum_ADC = -999.999 ;
82  mean_ADC = -999.999 ;
83  rms_ADC = -999.999 ;
84  mean_x = -999.999 ;
85  mean_y = -999.999 ;
86  rms_x = -999.999 ;
87  rms_y = -999.999 ;
88  charge_wgt_x = -999.999 ;
89  charge_wgt_y = -999.999 ;
90  cluster_angle_2d = -999.999 ;
91  angle_2d = -999.999 ;
92  eigenvalue_principal = -999.999 ;
93  eigenvalue_secondary = -999.999 ;
94  multi_hit_wires = -999.999 ;
95  N_Wires = -999.999 ;
96  verticalness = -999.999 ;
97  opening_angle = -999.999 ;
98  opening_angle_charge_wgt = -999.999 ;
99  closing_angle = -999.999 ;
100  closing_angle_charge_wgt = -999.999 ;
101  start_charge = -999.999 ;
102  end_charge = -999.999 ;
103  offaxis_hits = -999.999 ;
104  modmeancharge = -999.999 ;
105  RMS_charge = -999.999 ;
106  modified_hit_density = -999.999 ;
107  N_Hits = -999.999 ;
108  N_Hits_HC = -999.999 ;
109  length = -999.999 ;
110  width = -999.999 ;
111  hit_density_1D = -999.999 ;
112  hit_density_2D = -999.999 ;
113  direction = 0 ;
114  showerness = -999.999 ;
115  trackness = -999.999 ;
116  }
117 
118  template <typename Stream>
119  void Report(Stream& os) const {
120 
121  os << "ClusterParams report: \n"
122  << " start_point .............. : (" << start_point.w <<","<<start_point.t<<")\n"
123  << " end_point ................ : (" << end_point.w <<","<<end_point.t<<")\n"
124  << " sum_charge ............... : "<< sum_charge << "\n"
125  << " mean_charge ............. : " << mean_charge << "\n"
126  << " mean_x ................... : " << mean_x << "\n"
127  << " mean_y ................... : " << mean_y << "\n"
128  << " rms_x .................... : " << rms_x << "\n"
129  << " rms_y .................... : " << rms_y << "\n"
130  << " charge_wgt_x ............. : " << charge_wgt_x << "\n"
131  << " charge_wgt_y ............. : " << charge_wgt_y << "\n"
132  << " cluster_angle_2d ......... : " << cluster_angle_2d << "\n"
133  << " angle_2d ................. : " << angle_2d << "\n"
134  << " eigenvalue_principal ..... : " << eigenvalue_principal << "\n"
135  << " eigenvalue_secondary ..... : " << eigenvalue_secondary << "\n"
136  << " multi_hit_wires .......... : " << multi_hit_wires << "\n"
137  << " N_Wires .................. : " << N_Wires << "\n"
138  << " N_Hits ................... : " << N_Hits << "\n"
139  << " N_Hits_HC ................ : " << N_Hits_HC << "\n"
140  << " verticalness ............. : " << verticalness << "\n"
141  << " opening_angle ............ : " << opening_angle << "\n"
142  << " opening_angle_charge_wgt . : " << opening_angle_charge_wgt << "\n"
143  << " closing_angle ............ : " << closing_angle << "\n"
144  << " closing_angle_charge_wgt . : " << closing_angle_charge_wgt << "\n"
145  << " start_charge ............. : " << start_charge << "\n"
146  << " end_charge ............... : " << end_charge << "\n"
147  << " offaxis_hits ............. : " << offaxis_hits << "\n"
148  << " modified_hit_density ..... : " << modified_hit_density << "\n"
149  << " modified mean charge ...... : " << modmeancharge << "\n"
150  << " charge_RMS ................ : " << RMS_charge << "\n"
151  << " length ................... : " << length << "\n"
152  << " width .................... : " << width << "\n"
153  << " hit_density_1D ........... : " << hit_density_1D << "\n"
154  << " hit_density_2D ........... : " << hit_density_2D << "\n"
155  << " showerness ............... : " << showerness << "\n"
156  << " trackness ................ : " << trackness << "\n"
157  << " direction ................ : " << direction << "\n";
158  }
159 
160  }; // class cluster_params
161 } // namespace cluster
162 
163 #endif
double rms_ADC
RMS (standard deviation of sample) of ADC counts of hits in ADC.
Definition: ClusterParams.h:32
2D polygon object
double closing_angle_charge_wgt
Same for charge_wgt.
Definition: ClusterParams.h:44
double charge_wgt_y
Mean of hits along y, charge weighted.
Definition: ClusterParams.h:38
double mean_x
Mean of hits along x, peaks only.
Definition: ClusterParams.h:33
double start_charge
Charge at the start of the cluster.
Definition: ClusterParams.h:45
double rms_charge
RMS (standard deviation of sample) of charge of hits in ADC.
Definition: ClusterParams.h:29
Polygon2D PolyObject
Polygon Object...see Polygon2D.hh.
Definition: ClusterParams.h:22
double trackness
got soul
Definition: ClusterParams.h:72
double eigenvalue_principal
the principal eigenvalue from PCA
Definition: ClusterParams.h:47
double mean_ADC
Mean (average) of ADC counts of hits, in ADC.
Definition: ClusterParams.h:31
Cluster finding and building.
double mean_y
Mean of hits along y, peaks only.
Definition: ClusterParams.h:34
void Report(Stream &os) const
double eigenvalue_secondary
the secondary eigenvalue from PCA
Definition: ClusterParams.h:48
double sum_charge
Sum charge of hits in ADC.
Definition: ClusterParams.h:27
void Clear()
Definition: PxUtils.h:25
double t
Definition: PxUtils.h:11
util::PxPoint start_point
start point
Definition: ClusterParams.h:24
double angle_2d
Angle of axis in wire/hit view.
Definition: ClusterParams.h:40
double offaxis_hits
got brain
Definition: ClusterParams.h:73
double w
Definition: PxUtils.h:10
double showerness
got heart
Definition: ClusterParams.h:71
double sum_ADC
Sum charge of ADC counts of hits, in ADC.
Definition: ClusterParams.h:30
util::PxPoint end_point
end point
Definition: ClusterParams.h:25
double mean_charge
Mean (average) charge of hits in ADC.
Definition: ClusterParams.h:28
double charge_wgt_x
Mean of hits along x, charge weighted.
Definition: ClusterParams.h:37
double opening_angle_charge_wgt
Same for charge_wgt.
Definition: ClusterParams.h:42
double opening_angle
Width of angular distubtion wrt vertx.
Definition: ClusterParams.h:41
double cluster_angle_2d
Linear best fit to high-charge hits in the cluster.
Definition: ClusterParams.h:39
double rms_x
rms of hits along x (wires)
Definition: ClusterParams.h:35
double rms_y
rms of hits along y, (time)
Definition: ClusterParams.h:36
double closing_angle
Width of angular distubtion wrt endpoint.
Definition: ClusterParams.h:43
double end_charge
Charge at the (other) end of the cluster.
Definition: ClusterParams.h:46