APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
CaloMetric.h
Go to the documentation of this file.
1 
3 #ifndef CALOMETRIC_H
4 #define CALOMETRIC_H
5 
6 namespace april_content
7 {
8 
9 class CaloMetric
10 {
11  public:
12 
13  // default constructor does nothing, but is required to satisfy the Metric policy.
14  CaloMetric() { }
15 
16  // metric for calorimter hit (x, y, z, layer)
17  template<typename VecTypeA, typename VecTypeB>
18  static typename VecTypeA::elem_type Evaluate(const VecTypeA& a, const VecTypeB& b)
19  {
20  //assert(a.size() == 4 && b.size() == 4);
21 
22  return sqrt( (a[0]-b[0]) * (a[0]-b[0]) + (a[1]-b[1]) * (a[1]-b[1]) + (a[2]-b[2]) * (a[2]-b[2]) )
23  * ( fabs(a[3]-b[3]) < 1.e-5 ? 1.e5 : 1);
24  }
25 };
26 
27 }
28 
29 #endif
Definition: CaloMetric.h:9