ATLAS Offline Software
Loading...
Searching...
No Matches
CalibrationDataContainer.cxx File Reference
#include "CalibrationDataInterface/CalibrationDataContainer.h"
#include <iostream>
#include <cassert>
#include <limits>
#include <algorithm>
#include <cmath>
#include "TH1.h"
#include "TAxis.h"
#include "TF1.h"
#include "TVectorT.h"
#include "TMatrixT.h"
#include "TMatrixDSym.h"
#include "TMath.h"
#include "TString.h"
#include "TObjString.h"

Go to the source code of this file.

Classes

class  CalibrationDataContainer
 This is the interface for the objects to be stored in the calibration ROOT file. More...
class  CalibrationDataHistogramContainer
 This is the class holding information for histogram-based calibration results. More...
class  CalibrationDataMappedHistogramContainer
 This is the class holding information for histogram-based calibration results, in cases where 'irregular' binning is used (e.g., if the binning in one variable depends on another variable), or where the dimensionality becomes too high for even 3D histograms (so that a mapping is needed to use THx). More...
class  CalibrationDataFunctionContainer
 This is the class holding information for function-based calibration results. More...

Typedefs

typedef std::pair< double, double > UncertaintyResult
 The following typedef is for convenience: most uncertainties can be asymmetric.

Enumerations

enum  CalibrationStatus

Functions

 ClassImp (CalibrationDataContainer) CalibrationDataContainer
 ClassImp (CalibrationDataHistogramContainer) CalibrationDataHistogramContainer
 ClassImp (CalibrationDataMappedHistogramContainer) CalibrationDataMappedHistogramContainer
 ClassImp (CalibrationDataMappedHistogramContainer::Bin) CalibrationDataMappedHistogramContainer
 ClassImp (CalibrationDataFunctionContainer) CalibrationDataFunctionContainer

Typedef Documentation

◆ UncertaintyResult

typedef std::pair<double, double> Analysis::UncertaintyResult

The following typedef is for convenience: most uncertainties can be asymmetric.

The pair holds the positive (first) and negative (second) uncertainties. Note that in the context of systematic uncertainties, "positive" and "negative" may reflect what happens if the uncertainty parameter is varied. This means that the "positive" uncertainty result may be negative etc.

Definition at line 33 of file CalibrationDataContainer.h.

Enumeration Type Documentation

◆ CalibrationStatus

Definition at line 56 of file CalibrationDataVariables.h.

56 {
57 kSuccess = 0, // all OK
58 kRange = 1, // given coordinates outside the range of validity of the calibration
59 kExtrapolatedRange = 2, // given coordinates even outside the extrapolation range
60 kError = 3 // "technical" error (typically: nonexistent object)
61 };

Function Documentation

◆ ClassImp() [1/5]

Definition at line 83 of file CalibrationDataContainer.cxx.

87 :
88 TMap(), m_objResult(0), m_objSystematics(0), m_vars(), m_restrict(false)
89{
90 // default constructor
91 SetName(name);
92}

◆ ClassImp() [2/5]

Definition at line 1541 of file CalibrationDataContainer.cxx.

1545 :
1546 CalibrationDataContainer(name), m_objStatistics(0)
1547{
1548 // Default constructor
1549
1550 // Reset the validity bounds to reflect 'no bounds'.
1551 m_lowerBounds.clear();
1552 m_lowerBounds.resize(maxParameters, -std::numeric_limits<double>::max());
1553 m_lowerBounds[kPt] = m_lowerBounds[kAbsEta] = 0;
1554 m_upperBounds.clear();
1555 m_upperBounds.resize(maxParameters, std::numeric_limits<double>::max());
1556 // and do the same for the validity bounds associated with extrapolation uncertainties
1557 // (this should anyway not be relevant for function containers)
1558 m_lowerBoundsExtrapolated.clear();
1559 m_lowerBoundsExtrapolated.resize(maxParameters, -std::numeric_limits<double>::max());
1560 m_lowerBoundsExtrapolated[kPt] = m_lowerBoundsExtrapolated[kAbsEta] = 0;
1561 m_upperBoundsExtrapolated.clear();
1562 m_upperBoundsExtrapolated.resize(maxParameters, std::numeric_limits<double>::max());
1563}
This is the interface for the objects to be stored in the calibration ROOT file.

◆ ClassImp() [3/5]

Definition at line 448 of file CalibrationDataContainer.cxx.

452 :
453 CalibrationDataContainer(name), m_interpolate(false)
454{
455 // default constructor.
456
457 // // Reset 'regular' bin ranges to a nonsensical value
458 // for (unsigned int t = 0; t < 3; ++t) {
459 // m_binmin[t] = m_binmax[t] = 0;
460 // m_noExtrapolation[t] = false;
461 // }
462
463 // Reset the validity bounds (including those for extrapolation uncertainties) to reflect 'no bounds'.
464 // They will be re-determined upon the first computation.
465
466 m_lowerBounds.clear();
467 m_lowerBounds.resize(maxParameters, -std::numeric_limits<double>::max());
468 m_lowerBounds[kPt] = m_lowerBounds[kAbsEta] = 0;
469 m_upperBounds.clear();
470 m_upperBounds.resize(maxParameters, std::numeric_limits<double>::max());
471
472 m_lowerBoundsExtrapolated.clear();
473 m_lowerBoundsExtrapolated.resize(maxParameters, -std::numeric_limits<double>::max());
474 m_lowerBoundsExtrapolated[kPt] = m_lowerBounds[kAbsEta] = 0;
475 m_upperBoundsExtrapolated.clear();
476 m_upperBoundsExtrapolated.resize(maxParameters, std::numeric_limits<double>::max());
477
478 // But by default, switch on the range checking
479 restrictToRange(true);
480}

◆ ClassImp() [4/5]

Definition at line 1014 of file CalibrationDataContainer.cxx.

1018 :
1019 CalibrationDataHistogramContainer(name), m_beginMapped(0),m_lastBin(0)
1020{
1021}
This is the class holding information for histogram-based calibration results.

◆ ClassImp() [5/5]

Definition at line 1442 of file CalibrationDataContainer.cxx.

1446 :
1447 m_dimension(0), m_low(0), m_up(0)
1448{
1449 // Default constructor (for persistency)
1450}