ATLAS Offline Software
Loading...
Searching...
No Matches
DetAnnealingMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKVERTEXADAPTIVEFITTERUTILS_DETANNEALINGMAKER_H
6#define TRKVERTEXADAPTIVEFITTERUTILS_DETANNEALINGMAKER_H
7
10
17
18
19namespace Trk
20{
21 class DetAnnealingMaker : public extends<AthAlgTool, IVertexAnnealingMaker>
22 {
23 public:
24
25 virtual StatusCode initialize() override;
26 virtual StatusCode finalize() override;
27
31 DetAnnealingMaker(const std::string& t, const std::string& n, const IInterface* p);
32
36 virtual void reset(AnnealingState& state) const override;
37
41 virtual void anneal(AnnealingState& state) const override;
42
46 virtual double getWeight(const AnnealingState& state,
47 double chisq,
48 const std::vector<double>& allchisq) const override;
49
53 virtual double getWeight(const AnnealingState& state,
54 double chisq) const override;
55
59 virtual bool isEquilibrium(const AnnealingState& state) const override
60 {
61 return state >= m_SetOfTemperatures.size();
62 }
63
67 virtual double actualTemp(const AnnealingState& state) const override
68 {
69 if (state >= m_SetOfTemperatures.size()) {
70 return m_SetOfTemperatures.back();
71 }
72 return m_SetOfTemperatures[state];
73 }
74
75 private:
76
80 std::vector<double> m_SetOfTemperatures;
81
85 double m_cutoff;
86 };
87}
88#endif
virtual StatusCode finalize() override
virtual double getWeight(const AnnealingState &state, double chisq, const std::vector< double > &allchisq) const override
Weight access method.
std::vector< double > m_SetOfTemperatures
A vector of temperatures, you will start from SetOfTemperature[0] and Anneal towards SetOfTemperature...
DetAnnealingMaker(const std::string &t, const std::string &n, const IInterface *p)
Default constructor due to Athena interface.
double m_cutoff
Weight will be insensitive to chi2 at order of magnitude of the cutoff...
virtual void anneal(AnnealingState &state) const override
One more annealing step.
virtual void reset(AnnealingState &state) const override
Resets the annealing process to its beginning.
virtual bool isEquilibrium(const AnnealingState &state) const override
Equilibrium is reached (last scheduled temperature)
virtual double actualTemp(const AnnealingState &state) const override
Access to the actual temperature value.
virtual StatusCode initialize() override
Ensure that the ATLAS eigen extensions are properly loaded.