ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MuonCalib::T0CalibrationMT Class Reference

#include <T0CalibrationMT.h>

Inheritance diagram for MuonCalib::T0CalibrationMT:
Collaboration diagram for MuonCalib::T0CalibrationMT:

Public Types

using MuonSegVec = std::vector< std::shared_ptr< MuonCalibSegment > >
 
using MuonSegIt = MuonSegVec::iterator
 
using MuonSegCit = MuonSegVec::const_iterator
 
using MdtCalibOutputPtr = std::shared_ptr< IMdtCalibrationOutput >
 

Public Member Functions

 T0CalibrationMT (const std::string &name, const T0MTSettings *settings, const std::vector< int > &sort_by, const std::vector< int > &adc_sort_by)
 constructor More...
 
 ~T0CalibrationMT ()
 destructor More...
 
bool handleSegment (MuonCalibSegment &seg)
 fill tube spectra More...
 
void setInput (const IMdtCalibrationOutput *input) override
 unused More...
 
bool analyse ()
 extract parameters from spectra More...
 
bool converged () const
 return m_converged More...
 
virtual IMdtCalibration::MdtCalibOutputPtr getResults () const override
 
virtual IMdtCalibration::MdtCalibOutputPtr analyseSegments (const MuonSegVec &segs) override
 new interface function More...
 
virtual std::string name () const
 returns name (region) of instance More...
 

Private Member Functions

T0MTHistosgetHistos (const MuonFixedId &idtube, unsigned int nr)
 retrieve pointer for tube idtube histograms More...
 
ADCMTHistosgetADCHistos (const MuonFixedId &idtube, unsigned int nr)
 retrieve pointer for tube idtube histograms More...
 
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)
 
bool analyse_adc (const int &nr, std::map< int, MdtTubeFitContainer::SingleTubeFit > &full, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &st)
 
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 More...
 
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 More...
 
T0CalibrationMToperator= (const T0CalibrationMT &right)=delete
 
 T0CalibrationMT (const T0CalibrationMT &)=delete
 

Private Attributes

const T0MTSettingsm_settings
 pointer to the settings More...
 
bool m_converged
 convergence status More...
 
std::string m_name
 calibration region name More...
 
int m_currentItnum
 current iteration (always 1?) More...
 
std::unique_ptr< TFile > m_file
 pointer to the histogram file More...
 
TDirectory * m_regiondir
 pointer to the ROOT directory More...
 
std::vector< std::map< HistogramId, std::unique_ptr< T0MTHistos > > > m_histos
 vector of pointers tube histograms More...
 
std::vector< std::map< HistogramId, std::unique_ptr< ADCMTHistos > > > m_adc_histos
 vector of pointers tube histograms More...
 
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_tube_ids
 
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_adc_tube_ids
 
std::map< int, int > m_nhits_per_tube
 number of hits per tube More...
 
std::map< NtupleStationId, MdtTubeFitContainer * > m_result
 tube constants More...
 
std::map< NtupleStationId, MdtRelativeTubeT0m_rel_tube_t0s
 
const std::vector< int > & m_sort_by
 
const std::vector< int > & m_adc_sort_by
 
bool m_delete_settings
 

Detailed Description

Implementation of a T0 calibration using the MT approach. Copied from T0CalibrationClassic

Author
Felix.nosp@m..Rau.nosp@m.scher.nosp@m.@Phy.nosp@m.sik.U.nosp@m.ni-M.nosp@m.uench.nosp@m.en.D.nosp@m.e
Date
June 2005

Definition at line 40 of file T0CalibrationMT.h.

Member Typedef Documentation

◆ MdtCalibOutputPtr

Definition at line 30 of file IMdtCalibration.h.

◆ MuonSegCit

using MuonCalib::IMdtCalibration::MuonSegCit = MuonSegVec::const_iterator
inherited

Definition at line 29 of file IMdtCalibration.h.

◆ MuonSegIt

using MuonCalib::IMdtCalibration::MuonSegIt = MuonSegVec::iterator
inherited

Definition at line 28 of file IMdtCalibration.h.

◆ MuonSegVec

using MuonCalib::IMdtCalibration::MuonSegVec = std::vector<std::shared_ptr<MuonCalibSegment> >
inherited

Definition at line 27 of file IMdtCalibration.h.

Constructor & Destructor Documentation

◆ T0CalibrationMT() [1/2]

MuonCalib::T0CalibrationMT::T0CalibrationMT ( const std::string &  name,
const T0MTSettings settings,
const std::vector< int > &  sort_by,
const std::vector< int > &  adc_sort_by 
)

constructor

Parameters
[in]nameof the region/chamber to be calibrated
[in]pointerto settings vector
[in]sortingcriteria (TUBE, CHAMBER, MULTILAYER...) default is by TUBE

Definition at line 33 of file T0CalibrationMT.cxx.

34  :
36  m_settings(settings),
37  m_converged(false),
38  m_name(name),
39  m_currentItnum(0),
40  m_sort_by(sort_by),
41  m_adc_sort_by(adc_sort_by),
42  m_delete_settings(false) {
43  if (!m_settings) {
44  m_settings = new T0MTSettings();
45  m_delete_settings = true;
46  }
47 
48  std::string HistoFileName = "T0MT_" + m_name + ".root";
49  m_file = std::make_unique<TFile>(HistoFileName.c_str(), "recreate");
50  m_regiondir = m_file->mkdir(m_name.c_str());
51 
52  m_histos.resize(sort_by.size());
53  m_adc_histos.resize(adc_sort_by.size());
54 
55  m_tube_ids.resize(sort_by.size());
56  m_adc_tube_ids.resize(adc_sort_by.size());
57  }

◆ ~T0CalibrationMT()

MuonCalib::T0CalibrationMT::~T0CalibrationMT ( )

destructor

Definition at line 59 of file T0CalibrationMT.cxx.

59  {
60  m_file->Write();
61  m_file->Close();
62  if (m_delete_settings) delete m_settings;
63  }

◆ T0CalibrationMT() [2/2]

MuonCalib::T0CalibrationMT::T0CalibrationMT ( const T0CalibrationMT )
privatedelete

Member Function Documentation

◆ analyse()

bool MuonCalib::T0CalibrationMT::analyse ( )

extract parameters from spectra

Definition at line 106 of file T0CalibrationMT.cxx.

106  {
107  MsgStream log(Athena::getMessageSvc(), "T0CalibrationMT");
108  std::map<int, MdtTubeFitContainer::SingleTubeFit> full;
109  std::map<int, MdtTubeFitContainer::SingleTubeCalib> st;
110  std::map<int, std::string> fit_by;
111  if (m_settings->FitTime())
112  for (unsigned int i = 0; i < m_sort_by.size(); i++) { analyse_tdc(i, full, st, fit_by); }
113  for (unsigned int i = 0; i < m_adc_sort_by.size(); i++) { analyse_adc(i, full, st); }
114 
115  for (auto & it : full) {
116  if (it.first == 0) continue;
117  MuonFixedId fId(it.first);
118  NtupleStationId sid(fId);
119  sid.SetMultilayer(0);
122  fi.group_by = fit_by[it.first];
123  int nML = fId.mdtMultilayer();
124  int nL = fId.mdtTubeLayer();
125  int nT = fId.mdtTube();
126  const MdtIdHelper& idHelper{m_result[sid]->idHelperSvc()->mdtIdHelper()};
127  const Identifier tubeId = idHelper.channelID(fId.stationNameString(),
128  fId.eta(), fId.phi(), nML, nL, nT);
129 
130  bool setInfo = m_result[sid]->setCalib(std::move(stc), tubeId, log);
131  if (!setInfo) {
132  log << MSG::WARNING << "T0CalibrationMT::PROBLEM! could not set SingleTubeCalib info" << endmsg;
133  }
134  fi.n_hits = m_nhits_per_tube[fId.getIdInt()];
135  fi.n_hits_above_adc_cut = m_nhits_per_tube[fId.getIdInt()];
136  setInfo = m_result[sid]->setFit(std::move(fi), tubeId, log);
137  if (!setInfo) {
138  MsgStream log(Athena::getMessageSvc(), "T0CalibrationMT");
139  log << MSG::WARNING << "T0CalibrationMT::PROBLEM! could not set SingleTubeFit info" << endmsg;
140  }
141  }
142 
143  m_currentItnum++;
144  m_file->Write();
145  return true;
146  }

◆ analyse_adc()

bool MuonCalib::T0CalibrationMT::analyse_adc ( const int &  nr,
std::map< int, MdtTubeFitContainer::SingleTubeFit > &  full,
std::map< int, MdtTubeFitContainer::SingleTubeCalib > &  st 
)
private

Definition at line 171 of file T0CalibrationMT.cxx.

172  {
173  for (std::map<HistogramId, std::unique_ptr<ADCMTHistos>>::iterator it = m_adc_histos[nr].begin(); it != m_adc_histos[nr].end();
174  ++it)
175  if (m_settings->FitADC()) { doAdcFit(it->second.get(), m_adc_tube_ids[nr][it->first], full, st); }
176  return true;
177  }

◆ analyse_tdc()

bool MuonCalib::T0CalibrationMT::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 
)
private

Definition at line 148 of file T0CalibrationMT.cxx.

149  {
150  if (m_settings->VerboseLevel() > 1) {
151  MsgStream log(Athena::getMessageSvc(), "T0CalibrationMT");
152  log << MSG::VERBOSE << "T0CalibrationMT::analyse iteration " << m_currentItnum << endmsg;
153  }
154  std::string fit_by("UNKNOWN");
155  switch (m_sort_by[nr]) {
156  case HistogramId::TUBE: fit_by = "TUBE"; break;
157  case HistogramId::LAYER: fit_by = "LAYER"; break;
158  case HistogramId::MULTILAYER: fit_by = "MULTILAYER"; break;
159  case HistogramId::CHAMBER: fit_by = "CHAMBER"; break;
160  case HistogramId::MEZZ_CARD: fit_by = "MEZZ_CARD"; break;
161  }
162 
163  for (std::map<HistogramId, std::unique_ptr<T0MTHistos>>::iterator it = m_histos[nr].begin(); it != m_histos[nr].end(); ++it)
164  // loop over m_histos histograms
165  {
166  doTimeFit(it->second.get(), m_tube_ids[nr][it->first], full, st, fit_by_map, fit_by);
167  }
168  return true;
169  }

◆ analyseSegments()

IMdtCalibration::MdtCalibOutputPtr MuonCalib::T0CalibrationMT::analyseSegments ( const MuonSegVec segs)
overridevirtual

new interface function

Implements MuonCalib::IMdtCalibration.

Definition at line 179 of file T0CalibrationMT.cxx.

179  {
180  for (const auto & seg : segs) handleSegment(*seg);
181  analyse();
182  return getResults();
183  }

◆ converged()

bool MuonCalib::T0CalibrationMT::converged ( ) const

return m_converged

Definition at line 304 of file T0CalibrationMT.cxx.

304 { return m_converged; }

◆ doAdcFit()

void MuonCalib::T0CalibrationMT::doAdcFit ( ADCMTHistos T0h,
const std::set< MuonFixedId > &  tube_ids,
std::map< int, MdtTubeFitContainer::SingleTubeFit > &  fim,
std::map< int, MdtTubeFitContainer::SingleTubeCalib > &  stcm 
)
private

fit adc spectrum

Definition at line 241 of file T0CalibrationMT.cxx.

243  {
244  if (T0h->FitAdc() && m_settings->MinEntriesADC() <= T0h->GetADCSpec()->GetEntries()) {
245  const TF1 *fun(T0h->GetAdcFunction());
246  if (fun == nullptr) return;
247  for (auto tube_id : tube_ids) {
248  if (tube_id.getIdInt() == 0) continue;
250  MdtTubeFitContainer::SingleTubeCalib &stc(stcm[tube_id.getIdInt()]);
251 
252  stc.adcCal = fun->GetParameter(1);
253  for (int i = 0; (i < fun->GetNpar() && i < 4); i++) {
254  fi.adc_par[i] = fun->GetParameter(i);
255  fi.adc_err[i] = fun->GetParError(i);
256  }
257  fi.adc_chi2 = fun->GetChisquare() / fun->GetNDF();
258  }
259  }
260  }

◆ doTimeFit()

void MuonCalib::T0CalibrationMT::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 
)
private

fit time spectrum

Definition at line 185 of file T0CalibrationMT.cxx.

188  {
189  TDirectory *cwd = gDirectory;
190  m_regiondir->cd();
191  // do t0 fit
193  if (fit_by == "CHAMBER")
194  theGroup = MdtRelativeTubeT0::CHAMBER;
195  else if (fit_by == "MULTILAYER")
197  else if (fit_by == "LAYER")
198  theGroup = MdtRelativeTubeT0::LAYER;
199  else if (fit_by == "MEZZ_CARD")
200  theGroup = MdtRelativeTubeT0::MEZZ_CARD;
201  if (T0h->FitT0() && m_settings->MinEntriesTime() <= T0h->GetTSpec()->GetEntries()) {
202  const TF1 *fun(T0h->GetT0Function());
203  for (auto tube_id : tube_ids) {
204  if (tube_id.getIdInt() == 0) continue;
205  NtupleStationId stId(tube_id);
206  stId.SetMultilayer(0);
207  double rel_t0(0.0);
208  if (m_settings->T0Settings()->CorrectRelT0s()) rel_t0 = m_rel_tube_t0s[stId].GetRelativeOffset(tube_id, theGroup);
210  MdtTubeFitContainer::SingleTubeCalib &stc(stcm[tube_id.getIdInt()]);
211  // store parameters
212  fi.statistics = static_cast<int>(T0h->GetTSpec()->GetEntries());
213  fi.chi2Tdc = T0h->T0Chi2();
214  fi.par[0] = fun->GetParameter(T0MTHistos ::T0_PAR_NR_BACK);
215  fi.cov[0] = fun->GetParError(T0MTHistos ::T0_PAR_NR_BACK);
216  fi.par[4] = fun->GetParameter(T0MTHistos ::T0_PAR_NR_T0) + rel_t0;
217  fi.cov[4] = fun->GetParError(T0MTHistos ::T0_PAR_NR_T0);
218  fi.par[6] = fun->GetParameter(T0MTHistos ::T0_PAR_NR_T);
219  fi.cov[6] = fun->GetParError(T0MTHistos ::T0_PAR_NR_T);
220  stc.t0 = fun->GetParameter(T0MTHistos ::T0_PAR_NR_T0) + rel_t0;
221  stc.statusCode = T0h->StatusCode();
222  m_converged = true;
223  fit_by_map[tube_id.getIdInt()] = fit_by;
224  }
225  }
226  if (T0h->FitTmax() && m_settings->MinEntriesTime() <= T0h->GetTSpec()->GetEntries()) {
227  const TF1 *fun(T0h->GetTMaxFunction());
228  // store parameters
229  for (auto tube_id : tube_ids) {
230  if (tube_id.getIdInt() == 0) continue;
232  // MdtTubeFitContainer::SingleTubeCalib &stc(stcm[*it]);
233  fi.par[5] = fun->GetParameter(T0MTHistos ::TMAX_PAR_NR_TMAX);
234  fi.cov[5] = fun->GetParError(T0MTHistos ::TMAX_PAR_NR_TMAX);
235  fi.chi2TdcEnd = fun->GetChisquare() / fun->GetNDF();
236  }
237  }
238  cwd->cd();
239  }

◆ getADCHistos()

ADCMTHistos * MuonCalib::T0CalibrationMT::getADCHistos ( const MuonFixedId idtube,
unsigned int  nr 
)
private

retrieve pointer for tube idtube histograms

Definition at line 264 of file T0CalibrationMT.cxx.

264  {
265  HistogramId id;
266  id.Initialize(idtube, m_adc_sort_by[nr]);
267  if (!m_adc_histos[nr][id]) {
268  TDirectory *cwd = gDirectory;
269  m_regiondir->cd();
270  m_adc_histos[nr][id] = std::make_unique<ADCMTHistos>(id.getIdInt(), m_settings, id.HistogramName().c_str());
271  cwd->cd();
272  }
273  m_adc_tube_ids[nr][id].insert(idtube);
274  return m_adc_histos[nr][id].get();
275  }

◆ getHistos()

T0MTHistos * MuonCalib::T0CalibrationMT::getHistos ( const MuonFixedId idtube,
unsigned int  nr 
)
private

retrieve pointer for tube idtube histograms

Definition at line 277 of file T0CalibrationMT.cxx.

277  {
278  HistogramId id;
279  id.Initialize(idtube, m_sort_by[nr]);
280  if (!m_histos[nr][id]) {
281  TDirectory *cwd = gDirectory;
282  m_regiondir->cd();
283  m_histos[nr][id] = std::make_unique<T0MTHistos>(id.getIdInt(), m_settings, id.HistogramName().c_str());
284  cwd->cd();
285  }
286  m_tube_ids[nr][id].insert(idtube);
287  return m_histos[nr][id].get();
288  }

◆ getResults()

IMdtCalibration::MdtCalibOutputPtr MuonCalib::T0CalibrationMT::getResults ( ) const
overridevirtual
Returns
the calibration results

Implements MuonCalib::IMdtCalibration.

Definition at line 262 of file T0CalibrationMT.cxx.

262 { return std::make_shared<T0CalibrationOutput>(m_result); }

◆ handleSegment()

bool MuonCalib::T0CalibrationMT::handleSegment ( MuonCalibSegment seg)

fill tube spectra

Definition at line 65 of file T0CalibrationMT.cxx.

65  {
66  for (const MuonCalibSegment::MdtHitPtr& hit : seg.mdtHOT()) {
67  MuonFixedId id = hit->identify();
68  m_nhits_per_tube[id.getIdInt()]++;
69  // get the T0 originally subtracted for this hit
70  int nML = id.mdtMultilayer();
71  int nL = id.mdtTubeLayer();
72  int nT = id.mdtTube();
73  const MdtTubeFitContainer::SingleTubeCalib *stc(nullptr);
74  NtupleStationId sid(id);
75  sid.SetMultilayer(0);
76  std::map<NtupleStationId, MdtTubeFitContainer *>::const_iterator res_it(m_result.find(sid));
77  if (res_it != m_result.end()) {
78  const MdtIdHelper& idHelper{res_it->second->idHelperSvc()->mdtIdHelper()};
79  const Identifier tubeId = idHelper.channelID(id.stationNameString(),
80  id.eta(), id.phi(), nML, nL, nT);
81  stc = res_it->second->getCalib(tubeId);
82  }
83  double oldT0 = 0;
84  if (stc)
85  oldT0 = stc->t0;
86  else {
87  MsgStream log(Athena::getMessageSvc(), "T0CalibrationMT");
88  log << MSG::WARNING << "no Single Tube Calib info found for ML=" << nML << " L=" << nL << " T=" << nT << endmsg;
89  }
90 
91  // get histos
92  for (unsigned int i = 0; i < m_sort_by.size(); i++) {
93  T0MTHistos *histos = getHistos(id, i);
94  histos->GetTSpec()->Fill(hit->driftTime() + oldT0 + hit->tubeT0());
95  }
96  for (unsigned int i = 0; i < m_adc_sort_by.size(); i++) {
97  ADCMTHistos *adc_histos = getADCHistos(id, i);
98  adc_histos->GetADCSpec()->Fill(hit->adcCount());
99  }
100  // relative t0 offsets
101  m_rel_tube_t0s[sid].AddHit(*hit);
102  }
103  return true;
104  }

◆ name()

virtual std::string MuonCalib::IMdtCalibration::name ( ) const
inlinevirtualinherited

returns name (region) of instance

Definition at line 49 of file IMdtCalibration.h.

49 { return m_name; }

◆ operator=()

T0CalibrationMT& MuonCalib::T0CalibrationMT::operator= ( const T0CalibrationMT right)
privatedelete

◆ setInput()

void MuonCalib::T0CalibrationMT::setInput ( const IMdtCalibrationOutput input)
overridevirtual

unused

Implements MuonCalib::IMdtCalibration.

Definition at line 290 of file T0CalibrationMT.cxx.

290  {
291  // This method is called both by the event loop and by the tool.
292  // Only the call from the tool is relevant for this implementation
293  // and should be performed only once.
294 
295  if (m_result.size()) return;
296 
297  const T0CalibrationOutput *t0Input = dynamic_cast<const T0CalibrationOutput *>(calib_in);
298  if (!calib_in || !t0Input) return;
299  m_result = t0Input->GetMap();
300  for (auto & it : m_result)
301  it.second->setImplementation("T0CalibrationMT");
302  }

Member Data Documentation

◆ m_adc_histos

std::vector<std::map<HistogramId, std::unique_ptr<ADCMTHistos> > > MuonCalib::T0CalibrationMT::m_adc_histos
private

vector of pointers tube histograms

Definition at line 91 of file T0CalibrationMT.h.

◆ m_adc_sort_by

const std::vector<int>& MuonCalib::T0CalibrationMT::m_adc_sort_by
private

Definition at line 98 of file T0CalibrationMT.h.

◆ m_adc_tube_ids

std::vector<std::map<HistogramId, std::set<MuonFixedId> > > MuonCalib::T0CalibrationMT::m_adc_tube_ids
private

Definition at line 93 of file T0CalibrationMT.h.

◆ m_converged

bool MuonCalib::T0CalibrationMT::m_converged
private

convergence status

Definition at line 84 of file T0CalibrationMT.h.

◆ m_currentItnum

int MuonCalib::T0CalibrationMT::m_currentItnum
private

current iteration (always 1?)

Definition at line 86 of file T0CalibrationMT.h.

◆ m_delete_settings

bool MuonCalib::T0CalibrationMT::m_delete_settings
private

Definition at line 99 of file T0CalibrationMT.h.

◆ m_file

std::unique_ptr<TFile> MuonCalib::T0CalibrationMT::m_file
private

pointer to the histogram file

Definition at line 87 of file T0CalibrationMT.h.

◆ m_histos

std::vector<std::map<HistogramId, std::unique_ptr<T0MTHistos> > > MuonCalib::T0CalibrationMT::m_histos
private

vector of pointers tube histograms

Definition at line 90 of file T0CalibrationMT.h.

◆ m_name

std::string MuonCalib::T0CalibrationMT::m_name
private

calibration region name

Definition at line 85 of file T0CalibrationMT.h.

◆ m_nhits_per_tube

std::map<int, int> MuonCalib::T0CalibrationMT::m_nhits_per_tube
private

number of hits per tube

Definition at line 94 of file T0CalibrationMT.h.

◆ m_regiondir

TDirectory* MuonCalib::T0CalibrationMT::m_regiondir
private

pointer to the ROOT directory

Definition at line 88 of file T0CalibrationMT.h.

◆ m_rel_tube_t0s

std::map<NtupleStationId, MdtRelativeTubeT0> MuonCalib::T0CalibrationMT::m_rel_tube_t0s
private

Definition at line 96 of file T0CalibrationMT.h.

◆ m_result

std::map<NtupleStationId, MdtTubeFitContainer *> MuonCalib::T0CalibrationMT::m_result
private

tube constants

Definition at line 95 of file T0CalibrationMT.h.

◆ m_settings

const T0MTSettings* MuonCalib::T0CalibrationMT::m_settings
private

pointer to the settings

Definition at line 83 of file T0CalibrationMT.h.

◆ m_sort_by

const std::vector<int>& MuonCalib::T0CalibrationMT::m_sort_by
private

Definition at line 97 of file T0CalibrationMT.h.

◆ m_tube_ids

std::vector<std::map<HistogramId, std::set<MuonFixedId> > > MuonCalib::T0CalibrationMT::m_tube_ids
private

Definition at line 92 of file T0CalibrationMT.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
generateReferenceFile.fun
fun
Definition: generateReferenceFile.py:18
MuonCalib::T0CalibrationMT::m_result
std::map< NtupleStationId, MdtTubeFitContainer * > m_result
tube constants
Definition: T0CalibrationMT.h:95
MuonCalib::T0CalibrationMT::m_file
std::unique_ptr< TFile > m_file
pointer to the histogram file
Definition: T0CalibrationMT.h:87
MuonCalib::IMdtCalibration::IMdtCalibration
IMdtCalibration(const std::string &name)
constructor, string used to identify the instance
Definition: IMdtCalibration.h:34
SingleTubeCalib
MuonCalib::MdtTubeCalibContainer::SingleTubeCalib SingleTubeCalib
Definition: MdtCalibrationTool.cxx:30
MuonCalib::T0CalibrationMT::m_adc_tube_ids
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_adc_tube_ids
Definition: T0CalibrationMT.h:93
MuonCalib::T0MTSettings::MinEntriesADC
const int & MinEntriesADC() const
Definition: T0MTSettings.h:92
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MuonCalib::T0CalibrationMT::m_currentItnum
int m_currentItnum
current iteration (always 1?)
Definition: T0CalibrationMT.h:86
MuonCalib::T0MTSettings::MinEntriesTime
const int & MinEntriesTime() const
Definition: T0MTSettings.h:90
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
MuonCalib::SingleTubeFit
MdtTubeFitContainer::SingleTubeFit SingleTubeFit
Definition: MdtTubeFitContainer.cxx:7
MuonCalib::T0CalibrationMT::m_delete_settings
bool m_delete_settings
Definition: T0CalibrationMT.h:99
MuonCalib::MdtRelativeTubeT0::CHAMBER
@ CHAMBER
Definition: MdtRelativeTubeT0.h:17
MuonCalib::MdtRelativeTubeT0::MULTILAYER
@ MULTILAYER
Definition: MdtRelativeTubeT0.h:17
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonCalib::T0MTSettingsT0::CorrectRelT0s
const bool & CorrectRelT0s() const
Definition: T0MTSettingsT0.h:77
MuonCalib::T0CalibrationMT::getResults
virtual IMdtCalibration::MdtCalibOutputPtr getResults() const override
Definition: T0CalibrationMT.cxx:262
MuonCalib::T0CalibrationMT::m_nhits_per_tube
std::map< int, int > m_nhits_per_tube
number of hits per tube
Definition: T0CalibrationMT.h:94
MuonCalib::T0MTSettings::T0Settings
const T0MTSettingsT0 * T0Settings() const
get settings for the t0-fit
Definition: T0MTSettings.h:78
MuonCalib::T0CalibrationMT::analyse_adc
bool analyse_adc(const int &nr, std::map< int, MdtTubeFitContainer::SingleTubeFit > &full, std::map< int, MdtTubeFitContainer::SingleTubeCalib > &st)
Definition: T0CalibrationMT.cxx:171
MuonCalib::MdtRelativeTubeT0::UNKNOWN
@ UNKNOWN
Definition: MdtRelativeTubeT0.h:17
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonCalib::T0CalibrationMT::doAdcFit
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
Definition: T0CalibrationMT.cxx:241
MuonCalib::T0CalibrationMT::m_sort_by
const std::vector< int > & m_sort_by
Definition: T0CalibrationMT.h:97
MuonCalib::T0MTHistos::T0_PAR_NR_T
static constexpr int T0_PAR_NR_T
Definition: T0MTHistos.h:57
MuonCalib::T0CalibrationMT::handleSegment
bool handleSegment(MuonCalibSegment &seg)
fill tube spectra
Definition: T0CalibrationMT.cxx:65
calibdata.tube_id
tube_id
Definition: calibdata.py:30
MuonCalib::T0CalibrationMT::doTimeFit
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
Definition: T0CalibrationMT.cxx:185
MuonCalib::T0MTHistos::T0_PAR_NR_BACK
static constexpr int T0_PAR_NR_BACK
Definition: T0MTHistos.h:57
MuonCalib::T0CalibrationMT::m_adc_histos
std::vector< std::map< HistogramId, std::unique_ptr< ADCMTHistos > > > m_adc_histos
vector of pointers tube histograms
Definition: T0CalibrationMT.h:91
MuonCalib::T0MTSettings::FitADC
const bool & FitADC() const
if true fit adc spectrum
Definition: T0MTSettings.h:87
ParseInputs.gDirectory
gDirectory
Definition: Final2012/ParseInputs.py:133
MuonCalib::HistogramId::MEZZ_CARD
static const int MEZZ_CARD
Definition: HistogramId.h:45
lumiFormat.i
int i
Definition: lumiFormat.py:92
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MuonCalib::T0MTSettings::VerboseLevel
const int & VerboseLevel() const
verbose level 0: no output 1: Fitter output
Definition: T0MTSettings.h:73
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
MuonCalib::T0CalibrationMT::m_tube_ids
std::vector< std::map< HistogramId, std::set< MuonFixedId > > > m_tube_ids
Definition: T0CalibrationMT.h:92
MuonCalib::T0CalibrationMT::getADCHistos
ADCMTHistos * getADCHistos(const MuonFixedId &idtube, unsigned int nr)
retrieve pointer for tube idtube histograms
Definition: T0CalibrationMT.cxx:264
MdtIdHelper
Definition: MdtIdHelper.h:61
MuonCalib::IMdtCalibration::m_name
std::string m_name
Definition: IMdtCalibration.h:52
MuonCalib::T0CalibrationMT::m_adc_sort_by
const std::vector< int > & m_adc_sort_by
Definition: T0CalibrationMT.h:98
MuonCalib::T0CalibrationMT::m_histos
std::vector< std::map< HistogramId, std::unique_ptr< T0MTHistos > > > m_histos
vector of pointers tube histograms
Definition: T0CalibrationMT.h:90
MuonCalib::T0MTSettings::FitTime
const bool & FitTime() const
if true fit drift time spectrum
Definition: T0MTSettings.h:84
MuonCalib::T0MTHistos::T0_PAR_NR_T0
static constexpr int T0_PAR_NR_T0
parameter numbers in t0 fit
Definition: T0MTHistos.h:57
MuonCalib::IMdtCalibration::name
virtual std::string name() const
returns name (region) of instance
Definition: IMdtCalibration.h:49
MuonCalib::T0CalibrationMT::m_name
std::string m_name
calibration region name
Definition: T0CalibrationMT.h:85
MuonCalib::HistogramId::TUBE
static const int TUBE
valid values of the sort_by argument of the Initialize function
Definition: HistogramId.h:45
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
MuonCalib::T0CalibrationMT::getHistos
T0MTHistos * getHistos(const MuonFixedId &idtube, unsigned int nr)
retrieve pointer for tube idtube histograms
Definition: T0CalibrationMT.cxx:277
find_data.full
full
Definition: find_data.py:27
MuonCalib::MdtRelativeTubeT0::TubeGroup
TubeGroup
Definition: MdtRelativeTubeT0.h:17
MuonCalib::MdtRelativeTubeT0::MEZZ_CARD
@ MEZZ_CARD
Definition: MdtRelativeTubeT0.h:17
cwd
std::string cwd
Definition: listroot.cxx:38
MuonCalib::T0CalibrationMT::analyse
bool analyse()
extract parameters from spectra
Definition: T0CalibrationMT.cxx:106
MuonCalib::HistogramId::LAYER
static const int LAYER
Definition: HistogramId.h:45
MuonCalib::T0CalibrationMT::m_regiondir
TDirectory * m_regiondir
pointer to the ROOT directory
Definition: T0CalibrationMT.h:88
MuonCalib::T0CalibrationMT::m_rel_tube_t0s
std::map< NtupleStationId, MdtRelativeTubeT0 > m_rel_tube_t0s
Definition: T0CalibrationMT.h:96
MuonCalib::MdtRelativeTubeT0::LAYER
@ LAYER
Definition: MdtRelativeTubeT0.h:17
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
MuonCalib::HistogramId::MULTILAYER
static const int MULTILAYER
Definition: HistogramId.h:45
MuonCalib::T0CalibrationMT::analyse_tdc
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)
Definition: T0CalibrationMT.cxx:148
checkFileSG.fi
fi
Definition: checkFileSG.py:65
MuonCalib::T0MTHistos::TMAX_PAR_NR_TMAX
static constexpr int TMAX_PAR_NR_TMAX
parameters numbers for tmax fit
Definition: T0MTHistos.h:61
checkCorrelInHIST.histos
dictionary histos
Definition: checkCorrelInHIST.py:413
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
MuonCalib::T0CalibrationMT::m_settings
const T0MTSettings * m_settings
pointer to the settings
Definition: T0CalibrationMT.h:83
MuonCalib::T0CalibrationMT::m_converged
bool m_converged
convergence status
Definition: T0CalibrationMT.h:84
MuonCalib::HistogramId::CHAMBER
static const int CHAMBER
Definition: HistogramId.h:45
MuonCalib::MuonCalibSegment::MdtHitPtr
std::shared_ptr< MdtCalibHitBase > MdtHitPtr
typedef for a collection of MdtCalibHitBase s
Definition: MuonCalibSegment.h:44