ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MdtCalib
MdtCalibRt
MdtCalibRt
RtCalibrationIntegration.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MuonCalib_RtCalibrationIntegrationH
6
#define MuonCalib_RtCalibrationIntegrationH
7
8
#include <memory>
9
#include <string>
10
#include <vector>
11
12
#include "
MdtCalibData/IRtRelation.h
"
13
#include "
MdtCalibInterfaces/IMdtCalibration.h
"
14
#include "
MdtCalibInterfaces/IMdtCalibrationOutput.h
"
15
#include "
MdtCalibInterfaces/IMdtSegmentFitter.h
"
16
#include "
MdtCalibRt/RtCalibrationOutput.h
"
17
#include "
MuonCalibEventBase/MuonCalibSegment.h
"
18
19
namespace
MuonCalib
{
20
21
//::::::::::::::::::::::::::::::::::::
22
//:: CLASS RtCalibrationIntegration ::
23
//::::::::::::::::::::::::::::::::::::
24
32
33
class
RtCalibrationIntegration
:
public
IMdtCalibration
{
34
public
:
35
// Constructors //
36
RtCalibrationIntegration
(
const
std::string&
name
) :
IMdtCalibration
(
name
) {
init
(
false
, 14.6, 13.0, 14.0,
false
); }
39
40
RtCalibrationIntegration
(
const
std::string&
name
,
bool
close_hits,
double
r_max,
double
lower_extrapolation_radius,
41
double
upper_extrapolation_radius,
bool
add_tmax_difference) :
42
IMdtCalibration
(
name
) {
43
init
(close_hits, r_max, lower_extrapolation_radius, upper_extrapolation_radius, add_tmax_difference);
44
}
47
48
// Methods //
49
// get-methods //
50
unsigned
int
number_of_hits_used
()
const
;
53
54
// methods required by the base class "IMdtCalibration" //
55
MdtCalibOutputPtr
analyseSegments
(
const
MuonSegVec
& seg)
override
;
57
bool
handleSegment
(
MuonCalibSegment
& seg);
59
void
setInput
(
const
IMdtCalibrationOutput
* rt_input)
override
;
63
bool
analyse
();
65
bool
converged
()
const
;
68
MdtCalibOutputPtr
getResults
()
const override
;
70
71
private
:
72
// options //
73
bool
m_close_hits
;
// = true, if close hits should be used,
74
// = false, if only hits on segments should be used
75
double
m_lower_extrapolation_radius
;
76
double
m_upper_extrapolation_radius
;
80
bool
m_add_tmax_difference
;
81
// drift-time spectrum //
82
83
std::vector<std::pair<double, bool> >
m_t_drift
;
// measured drift times
84
// r(t) //
85
std::shared_ptr<IRtRelation>
m_rt
;
// pointer to the final r-t relationship
86
unsigned
int
m_nb_hits_used
;
// number of hits used in the algorithm
87
unsigned
int
m_nb_segments_used
;
// number of segments used
88
double
m_r_max
;
// maximum drift radius
89
std::shared_ptr<RtCalibrationOutput>
m_output
;
// class holding the results of the
90
// autocalibration
91
92
// private methods //
93
void
init
(
bool
close_hits,
double
r_max,
double
lower_extrapolation_radius,
double
higher_extrapolation_radius,
94
bool
add_tmax_difference);
95
// initialize the class, close hits are used,
96
// if close_hits is set to true; the maximum
97
// drift radius is set to r_max
98
};
99
100
}
// namespace MuonCalib
101
102
#endif
IMdtCalibrationOutput.h
IMdtCalibration.h
IMdtSegmentFitter.h
IRtRelation.h
MuonCalibSegment.h
RtCalibrationOutput.h
MuonCalib::IMdtCalibrationOutput
Interface to pass calibration output during calibration.
Definition
IMdtCalibrationOutput.h:28
MuonCalib::IMdtCalibration::IMdtCalibration
IMdtCalibration(const std::string &name)
constructor, string used to identify the instance
Definition
IMdtCalibration.h:34
MuonCalib::IMdtCalibration::name
virtual std::string name() const
returns name (region) of instance
Definition
IMdtCalibration.h:49
MuonCalib::IMdtCalibration::MdtCalibOutputPtr
std::shared_ptr< IMdtCalibrationOutput > MdtCalibOutputPtr
Definition
IMdtCalibration.h:30
MuonCalib::IMdtCalibration::MuonSegVec
std::vector< std::shared_ptr< MuonCalibSegment > > MuonSegVec
Definition
IMdtCalibration.h:27
MuonCalib::MuonCalibSegment
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
Definition
MuonCalibSegment.h:39
MuonCalib::RtCalibrationIntegration::m_nb_hits_used
unsigned int m_nb_hits_used
Definition
RtCalibrationIntegration.h:86
MuonCalib::RtCalibrationIntegration::m_rt
std::shared_ptr< IRtRelation > m_rt
Definition
RtCalibrationIntegration.h:85
MuonCalib::RtCalibrationIntegration::m_nb_segments_used
unsigned int m_nb_segments_used
Definition
RtCalibrationIntegration.h:87
MuonCalib::RtCalibrationIntegration::analyseSegments
MdtCalibOutputPtr analyseSegments(const MuonSegVec &seg) override
determine r(t)
Definition
RtCalibrationIntegration.cxx:58
MuonCalib::RtCalibrationIntegration::m_lower_extrapolation_radius
double m_lower_extrapolation_radius
sets the lower radius to perform the
Definition
RtCalibrationIntegration.h:75
MuonCalib::RtCalibrationIntegration::setInput
void setInput(const IMdtCalibrationOutput *rt_input) override
the method is empty as no initial r-t relationship is required by the algorithm
Definition
RtCalibrationIntegration.cxx:86
MuonCalib::RtCalibrationIntegration::m_upper_extrapolation_radius
double m_upper_extrapolation_radius
parabolic extrapolation.
Definition
RtCalibrationIntegration.h:76
MuonCalib::RtCalibrationIntegration::analyse
bool analyse()
perform the integration method
Definition
RtCalibrationIntegration.cxx:87
MuonCalib::RtCalibrationIntegration::m_close_hits
bool m_close_hits
Definition
RtCalibrationIntegration.h:73
MuonCalib::RtCalibrationIntegration::RtCalibrationIntegration
RtCalibrationIntegration(const std::string &name, bool close_hits, double r_max, double lower_extrapolation_radius, double upper_extrapolation_radius, bool add_tmax_difference)
Constructor.
Definition
RtCalibrationIntegration.h:40
MuonCalib::RtCalibrationIntegration::RtCalibrationIntegration
RtCalibrationIntegration(const std::string &name)
Default constructor.
Definition
RtCalibrationIntegration.h:36
MuonCalib::RtCalibrationIntegration::m_add_tmax_difference
bool m_add_tmax_difference
Definition
RtCalibrationIntegration.h:80
MuonCalib::RtCalibrationIntegration::converged
bool converged() const
returns true, if the integration method has been performed
Definition
RtCalibrationIntegration.cxx:258
MuonCalib::RtCalibrationIntegration::m_output
std::shared_ptr< RtCalibrationOutput > m_output
Definition
RtCalibrationIntegration.h:89
MuonCalib::RtCalibrationIntegration::m_t_drift
std::vector< std::pair< double, bool > > m_t_drift
Definition
RtCalibrationIntegration.h:83
MuonCalib::RtCalibrationIntegration::handleSegment
bool handleSegment(MuonCalibSegment &seg)
analyse the segment "seg"
Definition
RtCalibrationIntegration.cxx:65
MuonCalib::RtCalibrationIntegration::number_of_hits_used
unsigned int number_of_hits_used() const
get the number of hits used in the r-t determination
Definition
RtCalibrationIntegration.cxx:56
MuonCalib::RtCalibrationIntegration::init
void init(bool close_hits, double r_max, double lower_extrapolation_radius, double higher_extrapolation_radius, bool add_tmax_difference)
Definition
RtCalibrationIntegration.cxx:43
MuonCalib::RtCalibrationIntegration::getResults
MdtCalibOutputPtr getResults() const override
returns the final r-t relationship
Definition
RtCalibrationIntegration.cxx:265
MuonCalib::RtCalibrationIntegration::m_r_max
double m_r_max
Definition
RtCalibrationIntegration.h:88
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition
CscCalcPed.cxx:21
Generated on
for ATLAS Offline Software by
1.17.0