|
ATLAS Offline Software
|
#include <MuonAlignmentUncertTool.h>
|
| MuonAlignmentUncertTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
| ~MuonAlignmentUncertTool ()=default |
|
StatusCode | initialize () override |
|
float | get_uncertainty (const Trk::Track *trk) const override |
| IMuonAlignmentUncertTool interface: retrieve the associated uncertainties. More...
|
|
void | get_track_state_measures (const Trk::Track *track, const Trk::TrackStateOnSurface *&id_exit, const Trk::TrackStateOnSurface *&calo_entrance, const Trk::TrackStateOnSurface *&calo_exit, const Trk::TrackStateOnSurface *&ms_entrance) const override |
| Helper method to retrieve the last measurement of the ID, the first and last scatterer in the calorimeter and finally to retrieve the first measurement inside the MS. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 34 of file MuonAlignmentUncertTool.h.
◆ StoreGateSvc_t
◆ MuonAlignmentUncertTool()
Muon::MuonAlignmentUncertTool::MuonAlignmentUncertTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~MuonAlignmentUncertTool()
Muon::MuonAlignmentUncertTool::~MuonAlignmentUncertTool |
( |
| ) |
|
|
default |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ get_track_state_measures()
Helper method to retrieve the last measurement of the ID, the first and last scatterer in the calorimeter and finally to retrieve the first measurement inside the MS.
Try to find the calorimeter entrance and leaving points
inside muon system
Implements Muon::IMuonAlignmentUncertTool.
Definition at line 219 of file MuonAlignmentUncertTool.cxx.
223 id_exit = calo_entrance = calo_exit = ms_entrance =
nullptr;
225 ATH_MSG_DEBUG(
"No track has been given. Where is my track?!");
229 if (!trk_srf->trackParameters()) {
continue; }
230 if (
m_indetVolume->inside(trk_srf->trackParameters()->position())) {
238 if (trk_srf->materialEffectsOnTrack()->thicknessInX0() < 10) {
continue; }
239 if (!calo_entrance) {
240 calo_entrance = trk_srf;
247 else if (trk_srf->measurementOnTrack()) {
248 ms_entrance = trk_srf;
◆ get_uncertainty()
float Muon::MuonAlignmentUncertTool::get_uncertainty |
( |
const Trk::Track * |
trk | ) |
const |
|
overridevirtual |
◆ initialize()
StatusCode Muon::MuonAlignmentUncertTool::initialize |
( |
| ) |
|
|
override |
Open the TFile
Read the histogram from the file
Set the dimension and the readers to be used
Definition at line 36 of file MuonAlignmentUncertTool.cxx.
39 if (!r_file || !r_file->IsOpen()) {
41 return StatusCode::FAILURE;
44 TH1* histo_in_file =
nullptr;
45 r_file->GetObject(
m_histo_name.value().c_str(), histo_in_file);
46 m_histo = std::unique_ptr<TH1>(histo_in_file);
49 return StatusCode::FAILURE;
62 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
static const InterfaceID& Muon::IMuonAlignmentUncertTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
AlgTool and IAlgTool interface methods.
Definition at line 32 of file IMuonAlignmentUncertTool.h.
32 {
return IID_IMuonAlignmentUncertTool; }
◆ make_reader()
std::function< int(const Trk::Track *trk)> Muon::MuonAlignmentUncertTool::make_reader |
( |
const TAxis * |
axis | ) |
const |
|
private |
Helper function to assign the uncertainty from the Axis.
Assignment is based on the title of the axis
Dummy function just returning 0 if no axis is given
Definition at line 76 of file MuonAlignmentUncertTool.cxx.
85 return axis->FindBin(perigee->eta());
90 return axis->FindBin(std::abs(perigee->eta()));
95 return axis->FindBin(perigee->parameters()[2]);
100 return axis->FindBin(std::abs(perigee->parameters()[2]));
105 return axis->FindBin(perigee->parameters()[3]);
110 return axis->FindBin(std::abs(perigee->parameters()[3]));
115 return axis->FindBin(perigee->pT());
143 }
else if (
axis_title ==
"#rho @ Calo-entrance") {
150 }
else if (
axis_title ==
"R @ Calo-entrance") {
157 }
else if (
axis_title ==
"z @ Calo-entrance") {
164 }
else if (
axis_title ==
"#rho @ Calo-centre") {
172 return axis->FindBin(calo_centre.perp());
182 return axis->FindBin(calo_centre.mag());
192 return axis->FindBin(calo_centre[2]);
194 }
else if (
axis_title ==
"#rho @ MS-entrance") {
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_calorimeterVolume
std::unique_ptr<const Trk::Volume> Muon::MuonAlignmentUncertTool::m_calorimeterVolume |
|
private |
◆ m_detStore
◆ m_dim
unsigned int Muon::MuonAlignmentUncertTool::m_dim |
|
private |
◆ m_evtStore
◆ m_histo
std::unique_ptr<TH1> Muon::MuonAlignmentUncertTool::m_histo |
|
private |
◆ m_histo_name
Gaudi::Property<std::string> Muon::MuonAlignmentUncertTool::m_histo_name {this, "HistoName", "", "Name of the histogram in the file"} |
|
private |
◆ m_in_file
Gaudi::Property<std::string> Muon::MuonAlignmentUncertTool::m_in_file |
|
private |
Initial value:{this, "InFile",
"MuonCombinedBaseTools/AlignmentUncertainties/201029_initial/ID_MS_Uncertainties.root",
"Location of the calibration file"}
Definition at line 59 of file MuonAlignmentUncertTool.h.
◆ m_indetVolume
◆ m_trackingVolumesSvc
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_x_reader
std::function<int(const Trk::Track* trk)> Muon::MuonAlignmentUncertTool::m_x_reader |
|
private |
◆ m_y_reader
std::function<int(const Trk::Track* trk)> Muon::MuonAlignmentUncertTool::m_y_reader |
|
private |
◆ m_z_reader
std::function<int(const Trk::Track* trk)> Muon::MuonAlignmentUncertTool::m_z_reader |
|
private |
The documentation for this class was generated from the following files:
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
const Amg::Vector3D & position() const
Access method for the position.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
@ MuonSpectrometerEntryLayer
Tracking Volume which defines the entrance surfaces of the MS.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual void setOwner(IDataHandleHolder *o)=0
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
@ CalorimeterEntryLayer
Tracking Volume which defines the entrance srufaces of the calorimeter.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
represents the track state (measurement, material, fit parameters and quality) at a surface.
Eigen::Matrix< double, 3, 1 > Vector3D
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
@ Scatterer
This represents a scattering point on the track, and so will contain TrackParameters and MaterialEffe...
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.