- #pragma once
-
- // Local
- #include "TbAlignmentMinuitBase.h"
-
- class TbAlignmentMinuit2 : public TbAlignmentMinuitBase {
-
- public:
- /// Constructor
- TbAlignmentMinuit2(const std::string& type, const std::string& name,
- const IInterface* parent);
- /// Destructor
- virtual ~TbAlignmentMinuit2();
-
- /// Collect tracks and clusters for alignment (called at each event).
- virtual StatusCode execute(std::vector<TbAlignmentTrack*>& tracks);
-
- virtual void align(std::vector<TbAlignmentTrack*>& tracks);
- void chi2(double& f, double* par, double* g);
-
- private:
- /// TES location prefix of clusters
- std::string m_clusterLocation;
- /// Plane index of the device to align
- unsigned int m_deviceToAlign;
- /// Flag whether the device to align is excluded from the pattern recognition
- bool m_isDUT;
- bool m_refitTracks;
- bool m_ignoreEdge;
- /// Time window for associating clusters to a track
- double m_twindow;
- /// Spatial window for associating clusters to a track
- double m_xwindow;
- };