ATLAS Offline Software
Loading...
Searching...
No Matches
MuonErrorOptimisationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONERROROPTIMISATIONTOOL_H
6#define MUONERROROPTIMISATIONTOOL_H
7
9#include "GaudiKernel/ServiceHandle.h"
10#include "GaudiKernel/ToolHandle.h"
16
17namespace Muon {
18
20 public:
22 MuonErrorOptimisationTool(const std::string& ty, const std::string& na, const IInterface* pa);
23
25 virtual ~MuonErrorOptimisationTool() = default;
26
27 virtual StatusCode initialize() override;
28 virtual StatusCode finalize() override;
29
31 virtual std::unique_ptr<Trk::Track> optimiseErrors(Trk::Track& track, const EventContext& ctx) const override;
32
33 private:
34 ServiceHandle<IMuonEDMHelperSvc> m_edmHelperSvc{this, "edmHelper", "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
35 "Handle to the service providing the IMuonEDMHelperSvc interface"};
36
37 PublicToolHandle<MuonEDMPrinterTool> m_printer{this, "EDMPrinter", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
38 "helper to nicely print out tracks"};
39 ToolHandle<Trk::ITrackSummaryHelperTool> m_trackSummaryTool{this, "TrackSummaryTool",
40 "Muon::MuonTrackSummaryHelperTool/MuonTrackSummaryHelperTool"};
41 ToolHandle<IMuonRefitTool> m_refitTool{this, "RefitTool", "Muon::MuonRefitTool/MuonRefitTool"};
42
43 Gaudi::Property<double> m_chi2NdofCutRefit{this, "Chi2NDofCutRefit", 5.};
44 Gaudi::Property<double> m_lowPtThreshold{this, "LowPtThreshold", 5000.};
45 mutable std::atomic_uint m_nrefitAll{0};
46 mutable std::atomic_uint m_nrefitAllLowPt{0};
47 mutable std::atomic_uint m_nrefitOk{0};
48 mutable std::atomic_uint m_nrefit{0};
49 mutable std::atomic_uint m_nrefitLowPt{0};
50 mutable std::atomic_uint m_nrefitPrecise{0};
51 mutable std::atomic_uint m_nrefitPreciseLowPt{0};
52 mutable std::atomic_uint m_nbetterPreciseFit{0};
53 mutable std::atomic_uint m_nbetterFit{0};
54
56 };
57} // namespace Muon
58
59#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
PublicToolHandle< MuonEDMPrinterTool > m_printer
Gaudi::Property< double > m_lowPtThreshold
virtual std::unique_ptr< Trk::Track > optimiseErrors(Trk::Track &track, const EventContext &ctx) const override
optimise the error strategy used for the track
Gaudi::Property< double > m_chi2NdofCutRefit
virtual StatusCode initialize() override
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
MuonErrorOptimisationTool(const std::string &ty, const std::string &na, const IInterface *pa)
Constructor with parameters:
virtual StatusCode finalize() override
virtual ~MuonErrorOptimisationTool()=default
Destructor:
ToolHandle< Trk::ITrackSummaryHelperTool > m_trackSummaryTool
ToolHandle< IMuonRefitTool > m_refitTool
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.