|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef T0CALIBRATIONMT_H
6 #define T0CALIBRATIONMT_H
24 class MuonCalibSegment;
25 class IMdtCalibrationOutput;
32 class MdtRelativeTubeT0;
49 std::shared_ptr<const T0MTSettings> settings,
50 const std::vector<int> &sort_by,
51 const std::vector<int> &adc_sort_by);
73 bool analyse_tdc(
const int &nr, std::map<int, MdtTubeFitContainer::SingleTubeFit> &
full,
74 std::map<int, MdtTubeFitContainer::SingleTubeCalib> &st, std::map<int, std::string> &fit_by_map);
75 bool analyse_adc(
const int &nr, std::map<int, MdtTubeFitContainer::SingleTubeFit> &
full,
76 std::map<int, MdtTubeFitContainer::SingleTubeCalib> &st);
78 void doTimeFit(
T0MTHistos *T0h,
const std::set<MuonFixedId> &tube_ids, std::map<int, MdtTubeFitContainer::SingleTubeFit> &fim,
79 std::map<int, MdtTubeFitContainer::SingleTubeCalib> &stcm, std::map<int, std::string> &fit_by_map,
80 const std::string &fit_by);
82 void doAdcFit(
ADCMTHistos *T0h,
const std::set<MuonFixedId> &tube_ids, std::map<int, MdtTubeFitContainer::SingleTubeFit> &fim,
83 std::map<int, MdtTubeFitContainer::SingleTubeCalib> &stcm);
92 std::vector<std::map<HistogramId, std::unique_ptr<T0MTHistos>>>
m_histos;
93 std::vector<std::map<HistogramId, std::unique_ptr<ADCMTHistos>>>
m_adc_histos;
94 std::vector<std::map<HistogramId, std::set<MuonFixedId>>>
m_tube_ids;
97 std::map<NtupleStationId, MdtTubeFitContainer *>
m_result;
std::shared_ptr< IMdtCalibrationOutput > MdtCalibOutputPtr
std::map< NtupleStationId, MdtTubeFitContainer * > m_result
tube constants
std::unique_ptr< TFile > m_file
pointer to the histogram file
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_adc_tube_ids
int m_currentItnum
current iteration (always 1?)
std::shared_ptr< const T0MTSettings > m_settings
pointer to the settings
~T0CalibrationMT()
destructor
virtual IMdtCalibration::MdtCalibOutputPtr getResults() const override
std::map< int, int > m_nhits_per_tube
number of hits per tube
bool analyse_adc(const int &nr, std::map< int, MdtTubeFitContainer::SingleTubeFit > &full, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &st)
void doAdcFit(ADCMTHistos *T0h, const std::set< MuonFixedId > &tube_ids, std::map< int, MdtTubeFitContainer::SingleTubeFit > &fim, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &stcm)
fit adc spectrum
const std::vector< int > & m_sort_by
T0CalibrationMT & operator=(const T0CalibrationMT &right)=delete
bool handleSegment(MuonCalibSegment &seg)
fill tube spectra
void doTimeFit(T0MTHistos *T0h, const std::set< MuonFixedId > &tube_ids, std::map< int, MdtTubeFitContainer::SingleTubeFit > &fim, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &stcm, std::map< int, std::string > &fit_by_map, const std::string &fit_by)
fit time spectrum
std::vector< std::map< HistogramId, std::unique_ptr< ADCMTHistos > > > m_adc_histos
vector of pointers tube histograms
bool converged() const
return m_converged
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_tube_ids
ADCMTHistos * getADCHistos(const MuonFixedId &idtube, unsigned int nr)
retrieve pointer for tube idtube histograms
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
const std::vector< int > & m_adc_sort_by
virtual IMdtCalibration::MdtCalibOutputPtr analyseSegments(const MuonSegVec &segs) override
new interface function
std::vector< std::map< HistogramId, std::unique_ptr< T0MTHistos > > > m_histos
vector of pointers tube histograms
virtual std::string name() const
returns name (region) of instance
std::string m_name
calibration region name
T0CalibrationMT(const T0CalibrationMT &)=delete
T0MTHistos * getHistos(const MuonFixedId &idtube, unsigned int nr)
retrieve pointer for tube idtube histograms
void setInput(const IMdtCalibrationOutput *input) override
unused
T0CalibrationMT(const std::string &name, std::shared_ptr< const T0MTSettings > settings, const std::vector< int > &sort_by, const std::vector< int > &adc_sort_by)
constructor
bool analyse()
extract parameters from spectra
TDirectory * m_regiondir
pointer to the ROOT directory
std::map< NtupleStationId, MdtRelativeTubeT0 > m_rel_tube_t0s
bool analyse_tdc(const int &nr, std::map< int, MdtTubeFitContainer::SingleTubeFit > &full, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &st, std::map< int, std::string > &fit_by_map)
std::vector< std::shared_ptr< MuonCalibSegment > > MuonSegVec
bool m_converged
convergence status