CFAlgo3DAngle.h
Go to the documentation of this file.
1 /**
2  * \file CFAlgo3DAngle.h
3  *
4  * \ingroup CMTool
5  *
6  * \brief Class def header for a class CFAlgo3DAngle
7  *
8  * @author ariana hackenburg
9  */
10 
11 /** \addtogroup CMTool
12 
13  @{*/
14 #ifndef RECOTOOL_CFALGO3DANGLE_H
15 #define RECOTOOL_CFALGO3DANGLE_H
16 
18 
19 namespace cmtool {
20  /**
21  \class CFAlgo3DAngle
22  User implementation for CFloatAlgoBase class
23  doxygen documentation!
24  */
25  class CFAlgo3DAngle : public CFloatAlgoBase {
26 
27  public:
28 
29  /// Default constructor
30  CFAlgo3DAngle();
31 
32  /// Default destructor
33  virtual ~CFAlgo3DAngle(){};
34 
35  /**
36  Calculate 3d angles from all permutations of the 3 planes. Weight them according to
37  charge profile. Choose the 2 best weights and compare those 2 theta and phi
38  */
39  virtual float Float(const std::vector<const cluster::ClusterParamsAlg*> &clusters);
40 
41  /**
42  If phi or theta are <360 (or greater than), adjust them to be in a more easily
43  comparable range.
44  */
45  virtual void FixPhiTheta(double &phi, double &theta) ;
46 
47  //Order the theta, phi, hits per plane to make cuts convenient
48  virtual void SetMaxMiddleMin(const double first, const double second, const double third, double &most, double &middle, double &least) ;
49 
50  void SetDebug(bool debug) { _debug = debug ; }
51 
52  void SetThetaCut(float theta_cut ) { _theta_cut = theta_cut ; }
53 
54  void SetPhiCut(float phi_cut ) { _phi_cut = phi_cut ; }
55 
56  void SetRatio(float ratio ) { _ratio_cut = ratio ; }
57 
58  virtual void Report();
59  virtual void Reset();
60 
61  protected:
62 
63  float _theta_cut ;
64  float _phi_cut ;
65  float _ratio_cut ;
66  float _debug ;
67 
68  //Histogram for charge profile
69 // TH1D *cProfile ;
70 
71  };
72 }
73 #endif
74 /** @} */ // end of doxygen group
void SetRatio(float ratio)
Definition: CFAlgo3DAngle.h:56
virtual ~CFAlgo3DAngle()
Default destructor.
Definition: CFAlgo3DAngle.h:33
Class def header for a class CFloatAlgoBase.
virtual void SetMaxMiddleMin(const double first, const double second, const double third, double &most, double &middle, double &least)
CFAlgo3DAngle()
Default constructor.
void SetDebug(bool debug)
Definition: CFAlgo3DAngle.h:50
Definition: cfalgo.cc:3
virtual float Float(const std::vector< const cluster::ClusterParamsAlg * > &clusters)
void SetThetaCut(float theta_cut)
Definition: CFAlgo3DAngle.h:52
void SetPhiCut(float phi_cut)
Definition: CFAlgo3DAngle.h:54
second_as<> second
Type of time stored in seconds, in double precision.
Definition: spacetime.h:85
virtual void FixPhiTheta(double &phi, double &theta)
virtual void Reset()
Function to reset the algorithm instance called within CMergeManager/CMatchManager&#39;s Reset() ...