ATLAS Offline Software
Loading...
Searching...
No Matches
TRTCalibrationMgr.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRT_CALIBALGS_TRTCALIBRATIONMGR_H
6#define TRT_CALIBALGS_TRTCALIBRATIONMGR_H
7
9#include <string>
10#include <vector>
12#include "GaudiKernel/ToolHandle.h"
13#include "GaudiKernel/ServiceHandle.h"
19#include "TrkTrack/Track.h"
29
30
31class IAccumulator;
32
33
55
56// TRTCalibrator is called by TRTCalibrationMgr and is not thread-safe.
57// But the job calling TRTCalibrator reconstructs only one event, in order to get access to Athena tools. This job never run multi-threaded.
59{
60
61public:
62 TRTCalibrationMgr(const std::string &name, ISvcLocator *pSvcLocator);
64
67
68 virtual StatusCode initialize(void) override;
69 virtual StatusCode execute(void) override;
70 virtual StatusCode finalize(void) override;
71 StatusCode streamOutCalibObjects();
72
73private:
74
75 // Tools for the algorithm
76 ToolHandleArray<IFillAlignTrkInfo> m_TrackInfoTools {this, "AlignTrkTools", {}, ""};
77 PublicToolHandleArray<ITRTCalibrator> m_TRTCalibTools {this, "TRTCalibrator", {}, ""};
78 ToolHandleArray<IFitTool> m_FitTools {this, "FitTools", {}, ""};
79 ToolHandle<Trk::ITrackFitter> m_trackFitter {this, "TrackFitter", "Trk::GlobalChi2Fitter/InDetTrackFitter", ""};
80 ToolHandle<Trk::ITrackSelectorTool> m_trackSelector {this, "TrackSelectorTool", "InDet::InDetTrackSelectorTool/InDetTrackSelectorTool", "Tool for the selection of tracks"};
81 ToolHandle<IAthenaOutputStreamTool> m_streamer {this, "StreamTool", "AthenaOutputStreamTool/CondStream1", "OutputStreamTool"};
82
83 // Gaudi properties
84 Gaudi::Property<bool> m_dorefit {this, "DoRefit" , true , "Does a Re-Fit"};
85 Gaudi::Property<bool> m_docalibrate {this, "DoCalibrate" , false, "Does the calibration"};
86 Gaudi::Property<bool> m_writeConstants{this, "WriteConstants", false, "Write out the calibration constants"};
87
88 Gaudi::Property<unsigned int> m_max_ntrk {this, "Max_ntrk", 100000, ""};
89
90 Gaudi::Property<std::string> m_par_rtcontainerkey {this, "Par_rtcontainer", "/TRT/Calib/RT", ""};
91 Gaudi::Property<std::string> m_par_t0containerkey {this, "par_t0container", "/TRT/Calib/T0", ""};
92
93
94 int m_ntrk = 0;
95
96 // ReadHandleKeys
97 SG::ReadHandleKey<xAOD::VertexContainer> m_verticesKey {this, "VerticesKey" , "PrimaryVertices" , "RHK for primary vertices" };
98 SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey {this, "EventInfoKey" , "EventInfo" , "RHK for xAOD::EventInfo" };
99 SG::ReadHandleKey<TrackCollection> m_TrkCollection {this, "TrkCollectionKey", "CombinedInDetTracks", "RHKs for track collections"};
100};
101
102#endif // TRT_CALIBALGS_TRTCALIBRATIONMGR_H
defines an "iterator" over instances of a given type in StoreGateSvc
Interface to an output stream tool.
Class for storing/accessing trt rtrelations with channels 1;95;0c.
Property holding a SG store/key/clid from which a ReadHandle is made.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
ToolHandle< Trk::ITrackSelectorTool > m_trackSelector
ToolHandleArray< IFitTool > m_FitTools
PublicToolHandleArray< ITRTCalibrator > m_TRTCalibTools
TRTCond::StrawT0MultChanContainer StrawT0Container
Gaudi::Property< std::string > m_par_t0containerkey
Gaudi::Property< bool > m_docalibrate
TRTCond::RtRelationMultChanContainer RtRelationContainer
ToolHandleArray< IFillAlignTrkInfo > m_TrackInfoTools
Gaudi::Property< std::string > m_par_rtcontainerkey
ToolHandle< Trk::ITrackFitter > m_trackFitter
virtual StatusCode finalize(void) override
TRTCalibrationMgr(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< unsigned int > m_max_ntrk
virtual StatusCode execute(void) override
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
SG::ReadHandleKey< xAOD::VertexContainer > m_verticesKey
Gaudi::Property< bool > m_writeConstants
Gaudi::Property< bool > m_dorefit
ToolHandle< IAthenaOutputStreamTool > m_streamer
SG::ReadHandleKey< TrackCollection > m_TrkCollection
StatusCode streamOutCalibObjects()
Multichannel container for RtRelation objects.
A COOL Multichannel container for StrawT0 objects.
void initialize()