Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
MuonCalib Namespace Reference

CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO. More...

Namespaces

 Legendre
 

Classes

class  AdaptiveResidualSmoothing
 
class  ADCMTHistos
 
class  BaseFunction
 
class  BaseFunctionFitter
 
class  BFieldCorFunc
 
class  CalibDbConnection
 
class  CalibFunc
 generic interface for a calibration function. More...
 
class  CalibHeadOperations
 
struct  CalibParamSorter
 Helper struct to group Mdt calibration constants which are equivalent within the target precision. More...
 
class  CalibrationDbIOTool
 
class  CalibrationFileIOTool
 
class  CalibrationOracleFileIOTool
 
class  CalibrationTeeIOTool
 
class  CalibRtDbOperations
 
class  CalibT0DbOperations
 
class  ChebyshevPolynomial
 
class  Combination
 
class  ConstantContentBinMaker
 
class  CoolInserter
 
class  CscCalcPed
 does calibration of the CSC chambers More...
 
class  CscCalcSlope
 does calibration of the CSC chambers More...
 
class  CscCalibHitBase
 
class  CscCondData
 
class  CscCondDataCollection
 
class  CscCondDataCollectionBase
 
class  CscCondDataContainer
 
class  CscCondParType
 
class  CurvedCandidateFinder
 
class  CurvedLine
 
class  CurvedPatRec
 
class  DataBin
 
class  DataPoint
 
class  DCSLFitter
 
class  EventHandler
 
class  FixedIdDecoder
 
class  GlobalTimeFitter
 
class  HistogramId
 
class  ICalibPatternSelector
 
class  ICalibrationIOTool
 
class  ICalibSegmentPreparationTool
 
class  IConditionsStorage
 
class  IdToFixedIdTool
 
class  IIdToFixedIdTool
 
class  IMdtBackgroundCorFunc
 generic interface for cavern background correction functions More...
 
class  IMdtBFieldCorFunc
 generic interface for b-field correction functions More...
 
class  IMdtCalibration
 
class  IMdtCalibrationOutput
 
class  IMdtPatRecFitter
 
class  IMdtSegmentFitter
 
class  IMdtSegmentSelector
 
class  IMdtSlewCorFunc
 generic interface for slewing correction functions More...
 
class  IMdtTempCorFunc
 generic interface for temperature correction functions More...
 
class  IMooPatternForCalibrationTool
 
class  IMuonCalibConditionsSource
 
class  IMuonCalibTool
 
class  IndexSet
 
class  INtupleCalibrationTool
 
class  IRegionSelectorTool
 
class  IRtRelation
 generic interface for a rt-relation More...
 
class  IRtResolution
 Generic interface to retrieve the resolution on the drift radius as a function of the drift time. More...
 
class  IShiftMapTools
 
class  ITrRelation
 
class  LegendrePolynomial
 
class  LocalSegmentResolver
 
class  LocalToPrecision
 Provides transformation between local and presicion reference frames. More...
 
class  MdtCalibDataContainer
 
class  MdtCalibEventLoop
 
class  MdtCalibHitBase
 
class  MdtCorFuncSet
 Class which holds all correction functions for a given region. More...
 
struct  MdtFullCalibData
 class which holds the full set of calibration constants for a given tube More...
 
class  MdtRelativeTubeT0
 
class  MdtRtRelation
 class which holds calibration constants per rt-region More...
 
class  MdtSlewCorFuncHardcoded
 An implementation of a time slew correction function for AMT digitization chip. More...
 
class  MdtStationT0Container
 
class  MdtTubeCalibContainer
 Holds single-tube calibration constants of one chamber. More...
 
class  MdtTubeFitContainer
 Holds single-tube full calibration information of one chamber. More...
 
class  MdtTubeFullInfoContainer
 Holds single-tube full calibration information of one chamber. More...
 
class  MeanRMS
 
class  MTStraightLine
 
class  MTT0PatternRecognition
 
class  MTTmaxPatternRecognition
 
class  MuCCaFitter
 
class  MuCCaFitterImplementation
 
struct  MultilayerId
 Holds the station, eta, phi and multilayer Ids for a given multilayer. More...
 
class  MultilayerRtDifference
 
class  MultilayerRtDifference_Histograms
 
class  MuonCalibCaloHit
 Simplified class designed to store information of a MBTS hit. More...
 
class  MuonCalibCscTruthHit
 
class  MuonCalibCylinder
 
class  MuonCalibDbCalibrationSource
 
class  MuonCalibDefaultCalibrationSource
 
class  MuonCalibDisk
 
class  MuonCalibEvent
 
class  MuonCalibEvent_E
 
class  MuonCalibEventInfo
 
class  MuonCalibExtendedRawHits
 
class  MuonCalibExtendedSegment
 
class  MuonCalibExtendedTrack
 
struct  MuonCalibExtendedTrackOverlap
 
class  MuonCalibHit_E
 
class  MuonCalibHole_E
 
class  MuonCalibMdtTruthHit
 
class  MuonCalibMUCTPI
 Simplified class designed to store information from MuCTPi processor. More...
 
class  MuonCalibPattern
 
class  MuonCalibRawCscHit
 
class  MuonCalibRawHitAssociationMap
 
class  MuonCalibRawHitCollection
 
class  MuonCalibRawMdtHit
 
class  MuonCalibRawRpcCoin
 
class  MuonCalibRawRpcHit
 
class  MuonCalibRawRpcTriggerHit
 
class  MuonCalibRawTgcCoin
 
class  MuonCalibRawTgcHit
 
class  MuonCalibRawTriggerHitCollection
 
class  MuonCalibRpcSectorLogic
 Simplified class designed to store information from RpcSectorLogic. More...
 
class  MuonCalibRpcTruthHit
 
class  MuonCalibSegment
 
class  MuonCalibSelector
 
class  MuonCalibSimpleGeometry
 
class  MuonCalibSimpleHoleSearch
 
class  MuonCalibSLPropagator
 straight line propagator More...
 
class  MuonCalibSurface
 
class  MuonCalibTgcTruthHit
 
class  MuonCalibTrack_E
 
class  MuonCalibTrackSummary
 
class  MuonCalibTriggerInfo
 Simplified class designed to store information of a trigger. More...
 
class  MuonCalibTriggerTimeInfo
 
class  MuonCalibTriggerTypeHelper
 helper class to for MuonCalibTriggerType which provides a mapping to the actual bit number More...
 
class  MuonCalibTruth
 
class  MuonCalibTruthCollection
 
class  MuonFixedId
 
class  MuonFixedIdManipulator
 
class  MuonFixedIdPrinter
 
class  MuonFixedLongId
 
class  MuonSegmentReader
 
class  MuonSegmentToCalibSegment
 
class  NtupleStationId
 
class  PolygonBase
 
class  QuasianalyticLineReconstruction
 
class  RadiusResolutionChebyshev
 RadiusResolutionChebyshev parametrizes the uncertainty on the drift-radius as a function of the drift radius itself and not of the drift time. More...
 
class  RegionDataFromFile
 Manages the I/O of the list of multilayers belonging to a calibration region. More...
 
class  RegionElement
 
class  RegionLogicalOperation
 
class  RegionSelectorBase
 
class  RpcCalibData
 holds all conditions data for rpc strip. More...
 
class  RpcCalibDataContainer
 
class  RpcCalibDBEntry
 representation of a db entry in rpc cond db. More...
 
class  RpcCalibHitBase
 
class  RpcCondParType
 
class  RpcOnlineDBEntry
 representation of an online db entry (masked chans) in rpc cond db. More...
 
class  RtCalibrationAnalytic
 
class  RtCalibrationCurved
 
class  RtCalibrationIntegration
 
class  RtCalibrationOutput
 
class  RtChebyshev
 
class  RtData_t_r_reso
 Represents an Rt relation in the form of a set of (time,radius,resolution) points. More...
 
class  RtDataFromFile
 Manages the I/O of the Rt realtions from/to file. More...
 
class  RtFromPoints
 
class  RtFullInfo
 addiitonal information used in validation of a rt-relation More...
 
class  RtLegendre
 
class  RtParabolicExtrapolation
 
class  RtRelationLookUp
 Equidistant look up table for rt-relations with the time as key. More...
 
class  RtResolutionChebyshev
 
class  RtResolutionFromPoints
 
class  RtResolutionLookUp
 Equidistant look up table for resolution tables with the time as key. More...
 
class  RtSimplePolynomial
 
class  RtSpline
 
class  SamplePoint
 
class  SimpleMdtSegmentSelector
 
class  SimplePatternSelector
 
class  SimplePolynomial
 
class  StraightPatRec
 
class  T0CalibrationClassic
 
class  T0CalibrationMT
 
class  T0CalibrationOutput
 
class  T0ClassicHistos
 
class  T0ClassicSettings
 
class  T0MTHistos
 
class  T0MTSettings
 
class  T0MTSettingsT0
 
class  T0MTSettingsTMax
 
class  T0Refinement
 
class  TgcCalibHitBase
 
class  TrChebyshev
 
class  TrLegendre
 
class  TrRelationLookUp
 
class  TrSimplePolynomial
 
class  TubeDataFromFile
 
class  typeNamer
 
class  typeNamer< bool >
 
class  typeNamer< double >
 
class  typeNamer< float >
 
class  typeNamer< int >
 
class  typeNamer< std::string >
 
class  typeNamer< uint16_t >
 
class  typeNamer< uint32_t >
 
class  typeNamer< uint8_t >
 
class  UpdateCalibHit
 
class  VariableBinwidthHistogram
 
class  VariableBinwidthHistogramBin
 
class  VBHBinPtrSrt
 

Typedefs

using IRtRelationPtr = GeoModel::TransientConstSharedPtr< IRtRelation >
 
using IRtResolutionPtr = GeoModel::TransientConstSharedPtr< IRtResolution >
 
using ITrRelationPtr = GeoModel::TransientConstSharedPtr< ITrRelation >
 
using SingleTubeFit = MdtTubeFitContainer::SingleTubeFit
 
using SingleTubeFullInfo = MdtTubeFullInfoContainer::SingleTubeFullInfo
 
using CalibHitE_Ptr = std::shared_ptr< const MuonCalibHit_E >
 hit information per station layer index More...
 
using StationIndexHitsMap = std::map< MuonFixedIdManipulator::StationIndex, std::vector< CalibHitE_Ptr > >
 
using IdHitsMap = std::map< MuonFixedId, std::vector< CalibHitE_Ptr > >
 hit information per station More...
 
using IdHitMap = std::map< MuonFixedId, CalibHitE_Ptr >
 hit information per identifier More...
 
using StationIntersectedLayerMap = std::map< MuonFixedId, MuonCalibSimpleHoleSearch::Result >
 intersected layers in the simplified geometry per station More...
 
using StationIndexSet = std::set< MuonFixedIdManipulator::StationIndex >
 set with station layer index More...
 
using IdSet = std::set< MuonFixedId >
 set of identifiers More...
 
typedef Identifier MdtBasicRegionId
 define type MdtBasicRegionId for the smallest possible MDT calibration region More...
 
typedef IdentifierHash MdtBasicRegionHash
 define type MdtBasicRegionHash for the smallest possible MDT calibration region More...
 
typedef IdentifierHash MdtRegionHash
 define type MdtRegionHash More...
 

Enumerations

enum  MuonCalibTriggerType {
  L1_EM3 = 0, L1_TAU5, L1_J5, L1_XE20,
  L1_MBTS_1_COMM, L1_MBTS_2_COMM, L1_MU0_LOW_RPC, L1_MU6_RPC,
  L1_MU0_HIGH_RPC, L1_MU0_TGC_HALO, L1_MU0_TGC, L1_MU6_TGC,
  NUMBEROFKNOWNTRIGGERS, UNKNOWNTRIGGERTYPE = 999
}
 enum for all trigger type More...
 
enum  MdtCalibCreationFlags { TIME_SLEWING_CORRECTION_APPLIED =0x10, B_FIELD_CORRECTIONS_APPLIED =0x20 }
 

Functions

std::istream & operator>> (std::istream &is, RtFullInfo &data)
 
std::ostream & operator<< (std::ostream &os, const RtFullInfo &data)
 
float RtScalePolynomial (const float r)
 
float RtScaleFunction (const float t, const bool ml2, const IRtRelation &rtrelation)
 
std::vector< SamplePointfetchDataPoints (const IRtRelation &rtRel, const double relUnc)
 Constructs a list of sample points from the rt-relation. More...
 
std::vector< SamplePointfetchDataPoints (const IRtRelation &rtRel, const IRtResolution &resoFunc)
 Constructs a list of sample points from the rt-relation. More...
 
std::vector< SamplePointswapCoordinates (const std::vector< SamplePoint > &points, const IRtRelation &rtRel)
 Creates a new vector of samples points with x1 exchanged by x2 and vice-versa. More...
 
std::vector< SamplePointresoFromRadius (const std::vector< SamplePoint > &points, const double uncert)
 Creates a new vector of sample points where the x2 coordinate becomes the x1 coordinate and the resolution becomes x2. More...
 
std::vector< SamplePointfetchResolution (const std::vector< SamplePoint > &points, const double uncert)
 Creates a new vector of sample points where the x2 is assigned to the uncertainty and the uncertainty is replaced by a constant value. More...
 
std::vector< SamplePointnormalizeDomain (const std::vector< SamplePoint > &dataPoints)
 Normalizes the domain of the samples points to the interval -1 to 1. More...
 
double calculateChi2 (const std::vector< SamplePoint > &dataPoints, const IRtRelation &rtRel)
 Returns the chi2 of the rt-relation w.r.t. More...
 
double calculateChi2 (const std::vector< SamplePoint > &dataPoints, const ITrRelation &trRel)
 
double calculateChi2 (const std::vector< SamplePoint > &dataPoints, const IRtResolution &rtReso)
 
std::pair< double, double > minMax (const std::vector< SamplePoint > &points)
 Returns the minimum & maximum values covered by the sample points. More...
 
std::pair< double, double > interval (const std::vector< SamplePoint > &points)
 Returns the interval covered by the sample points. More...
 
Double_t MultilayerRtDifference_ScaleFunction (Double_t *x, Double_t *par)
 
template<typename T >
void clearall (T &container)
 
Double_t adcfitf_skewnormal (Double_t *x, Double_t *par)
 skew normal ADC fitting More...
 
unsigned int get_group_id (const MuonFixedId &id, const MdtRelativeTubeT0::TubeGroup &grp)
 
Double_t myexp (Double_t *x, Double_t *p)
 
Double_t TimeSpectrum_func (Double_t *xx, Double_t *par)
 
TRandom3 * getTLSRandomGen ()
 
Double_t mt_t0_fermi (Double_t *x, Double_t *par)
 The fermi function to be fitted at the rising edge of the spectrum. More...
 
Double_t mt_tmax_fermi (Double_t *x, Double_t *par)
 The fermi function to be fitted at the trailing slope of the spectrum. More...
 
std::istream & operator>> (std::istream &is, RtData_t_r_reso &data)
 
std::ostream & operator<< (std::ostream &os, const RtData_t_r_reso &data)
 
std::ostream & operator<< (std::ostream &stream, const CscCalibHitBase &hit)
 
std::ostream & operator<< (std::ostream &stream, const RpcCalibHitBase &hit)
 
std::ostream & operator<< (std::ostream &stream, const TgcCalibHitBase &hit)
 
std::ostream & operator<< (std::ostream &os, const MuonCalib::MuonFixedId &id)
 
std::ostream & operator<< (std::ostream &os, const MuonCalib::MuonFixedLongId &id)
 
MuonFixedId OnlineToOffline (const std::string &online_id)
 
constexpr double chebyshevPoly1st (const unsigned int order, const double x)
 Returns the n-th Chebyshev polynomial of first kind evaluated at x (c.f. More...
 
constexpr double chebyshevPoly2nd (const unsigned int order, const double x)
 Returns the n-th Chebyshev polynomial of second kind evaluated at x (c.f. More...
 
constexpr double chebyshevPoly1stPrime (const unsigned int order, const double x)
 Returns the first derivative of the n-th Chebycheb polynomial of the first kind. More...
 
constexpr double chebyshevPoly2ndPrime (const unsigned int order, const double x)
 Returns the first derivative of the n-th Chebycheb polynomial of the first second kind. More...
 
constexpr double chebyshevPoly1st2Prime (const unsigned int order, const double x)
 Returns the second derivative of the n-th Chebycheb polynomial of the first kind. More...
 
constexpr double chebyshevPoly2nd2Prime (const unsigned int order, const double x)
 Returns the second derivative of the n-th Chebycheb polynomial of the first second kind. More...
 
constexpr unsigned long factorial (const int n)
 Evaluated the n-th factorial at compile time. More...
 
constexpr unsigned long binomial (const unsigned n, const unsigned k)
 Calculates the binomial coefficient at compile time. More...
 
template<int k>
constexpr double pow (const double x)
 Calculate the power of a variable x at compile time. More...
 
constexpr double pow (double x, int power)
 Calculate the power of a variable at run time. More...
 
constexpr double legendrePoly (const unsigned l, const double x)
 Calculates the legendre polynomial of rank l at x. More...
 
constexpr double legendreDeriv (const unsigned l, const unsigned d, const double x)
 Evaluates the n-th derivative of the l-th Legendre polynomial. More...
 
double mapToUnitInterval (const double x, const double lowerEdge, const double upperEdge)
 Maps the number x which is in [lowEdge;upperEdge] to the interval [-1;1]. More...
 
double unitIntervalPrime (const double lowerEdge, const double upperEdge)
 
std::ostream & operator<< (std::ostream &s, const CscCondParType &type)
 
std::ostream & operator<< (std::ostream &s, const RpcCondParType &type)
 

Detailed Description

CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.

namespace to identify classes related only to muon calibration

   @class CscCondData

   @author lampen@physics.arizona.edu

   @brief Containes information for a single index value for a CSC COOL data object. 

Every value from the CSC COOL database is kept in a CscCondData object.

Typedef Documentation

◆ CalibHitE_Ptr

using MuonCalib::CalibHitE_Ptr = typedef std::shared_ptr<const MuonCalibHit_E>

hit information per station layer index

Definition at line 20 of file MuonCalibLayerMapping.h.

◆ IdHitMap

using MuonCalib::IdHitMap = typedef std::map<MuonFixedId, CalibHitE_Ptr>

hit information per identifier

Definition at line 27 of file MuonCalibLayerMapping.h.

◆ IdHitsMap

using MuonCalib::IdHitsMap = typedef std::map<MuonFixedId, std::vector<CalibHitE_Ptr> >

hit information per station

Definition at line 24 of file MuonCalibLayerMapping.h.

◆ IdSet

using MuonCalib::IdSet = typedef std::set<MuonFixedId>

set of identifiers

Definition at line 36 of file MuonCalibLayerMapping.h.

◆ IRtRelationPtr

Definition at line 17 of file IRtRelation.h.

◆ IRtResolutionPtr

Definition at line 13 of file IRtResolution.h.

◆ ITrRelationPtr

Definition at line 16 of file ITrRelation.h.

◆ MdtBasicRegionHash

define type MdtBasicRegionHash for the smallest possible MDT calibration region

Definition at line 26 of file NtupleStationId.h.

◆ MdtBasicRegionId

define type MdtBasicRegionId for the smallest possible MDT calibration region

Definition at line 24 of file NtupleStationId.h.

◆ MdtRegionHash

define type MdtRegionHash

Definition at line 28 of file NtupleStationId.h.

◆ SingleTubeFit

Definition at line 7 of file MdtTubeFitContainer.cxx.

◆ SingleTubeFullInfo

Definition at line 7 of file MdtTubeFullInfoContainer.cxx.

◆ StationIndexHitsMap

Definition at line 21 of file MuonCalibLayerMapping.h.

◆ StationIndexSet

set with station layer index

Definition at line 33 of file MuonCalibLayerMapping.h.

◆ StationIntersectedLayerMap

intersected layers in the simplified geometry per station

Definition at line 30 of file MuonCalibLayerMapping.h.

Enumeration Type Documentation

◆ MdtCalibCreationFlags

Enumerator
TIME_SLEWING_CORRECTION_APPLIED 
B_FIELD_CORRECTIONS_APPLIED 

Definition at line 10 of file MdtCalibCreationFlags.h.

◆ MuonCalibTriggerType

enum for all trigger type

Enumerator
L1_EM3 
L1_TAU5 
L1_J5 
L1_XE20 
L1_MBTS_1_COMM 
L1_MBTS_2_COMM 
L1_MU0_LOW_RPC 
L1_MU6_RPC 
L1_MU0_HIGH_RPC 
L1_MU0_TGC_HALO 
L1_MU0_TGC 
L1_MU6_TGC 
NUMBEROFKNOWNTRIGGERS 
UNKNOWNTRIGGERTYPE 

Definition at line 16 of file MuonCalibTriggerInfo.h.

16  {
17  L1_EM3 = 0,
18  L1_TAU5,
19  L1_J5,
20  L1_XE20,
24  L1_MU6_RPC,
27  L1_MU0_TGC,
28  L1_MU6_TGC,
30  UNKNOWNTRIGGERTYPE = 999
31  };

Function Documentation

◆ adcfitf_skewnormal()

Double_t MuonCalib::adcfitf_skewnormal ( Double_t *  x,
Double_t *  par 
)
inline

skew normal ADC fitting

Definition at line 17 of file ADCMTHistos.cxx.

17  {
18  // par[0] = skew gauss norm
19  // par[1] = skew gauss mean (i.e. mu)
20  // par[2] = skew gauss sigma (i.e sigma)
21  // par[3] = skew factor (i.e. alpha)
22  // Numeric constants
23  Double_t invsq2pi = 1.0 / (std::sqrt(2 * M_PI));
24  Double_t twoPi = 2 * M_PI;
25 
26  Double_t delta_value = par[3] / (std::sqrt(1. + par[3] * par[3]));
27  Double_t omega_square = (par[2] * par[2]) / (1. - 4. * delta_value * delta_value / (twoPi));
28  Double_t omega_value = std::sqrt(omega_square);
29  Double_t xi_value = par[1] - delta_value * omega_value * 2. * invsq2pi;
30  Double_t Gauss_part =
31  (invsq2pi / omega_value) * std::exp(-((x[0] - xi_value) * (x[0] - xi_value)) / (2.0 * omega_square)); // phi(x)
32 
33  Double_t Erf_part = 0.5 * (1 + std::erf(par[3] * (x[0] - xi_value) / (omega_value)));
34 
35  Double_t SkewNormal_Value = par[0] * 2. * Gauss_part * Erf_part;
36 
37  Double_t MyGaussFuncValue = SkewNormal_Value;
38 
39  return (MyGaussFuncValue);
40  }

◆ binomial()

constexpr unsigned long MuonCalib::binomial ( const unsigned  n,
const unsigned  k 
)
constexpr

Calculates the binomial coefficient at compile time.

Definition at line 60 of file LegendrePoly.h.

60  {
61  unsigned long b = factorial(n) / (factorial(k) * factorial(n-k));
62  return b;
63  }

◆ calculateChi2() [1/3]

double MuonCalib::calculateChi2 ( const std::vector< SamplePoint > &  dataPoints,
const IRtRelation rtRel 
)

Returns the chi2 of the rt-relation w.r.t.

the data points

Definition at line 100 of file SamplePointUtils.cxx.

101  {
102  double chi2{0.};
103  for (const SamplePoint& point: dataPoints){
104  chi2+=std::pow((point.x2() - rtRel.radius(point.x1())) / point.error(), 2);
105  }
106  return chi2;
107  }

◆ calculateChi2() [2/3]

double MuonCalib::calculateChi2 ( const std::vector< SamplePoint > &  dataPoints,
const IRtResolution rtReso 
)

Definition at line 116 of file SamplePointUtils.cxx.

117  {
118  double chi2{0.};
119  for (const SamplePoint& point: dataPoints){
120  chi2+=std::pow((point.x2() - rtReso.resolution(point.x1())) / point.error(), 2);
121  }
122  return chi2;
123  }

◆ calculateChi2() [3/3]

double MuonCalib::calculateChi2 ( const std::vector< SamplePoint > &  dataPoints,
const ITrRelation trRel 
)

Definition at line 108 of file SamplePointUtils.cxx.

109  {
110  double chi2{0.};
111  for (const SamplePoint& point: dataPoints){
112  chi2+=std::pow((point.x2() - trRel.driftTime(point.x1()).value_or(2.*trRel.maxRadius()) ) / point.error(), 2);
113  }
114  return chi2;
115  }

◆ chebyshevPoly1st()

constexpr double MuonCalib::chebyshevPoly1st ( const unsigned int  order,
const double  x 
)
constexpr

Returns the n-th Chebyshev polynomial of first kind evaluated at x (c.f.

https://en.wikipedia.org/wiki/Chebyshev_polynomials)

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 13 of file ChebychevPoly.h.

13  {
14  double value{0.};
15  switch(order) {
16  case 0:
17  value=1.;
18  break;
19  case 1:
20  value = x;
21  break;
22  default:
24  break;
25  }
26  return value;
27  }

◆ chebyshevPoly1st2Prime()

constexpr double MuonCalib::chebyshevPoly1st2Prime ( const unsigned int  order,
const double  x 
)
constexpr

Returns the second derivative of the n-th Chebycheb polynomial of the first kind.

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 81 of file ChebychevPoly.h.

81  {
82  double value{0.};
83  switch (order) {
84  case 0:
85  case 1:
86  break;
87  default:
89  }
90  return value;
91  }

◆ chebyshevPoly1stPrime()

constexpr double MuonCalib::chebyshevPoly1stPrime ( const unsigned int  order,
const double  x 
)
constexpr

Returns the first derivative of the n-th Chebycheb polynomial of the first kind.

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 49 of file ChebychevPoly.h.

49  {
50  double value{0.};
51  switch (order) {
52  case 0:
53  break;
54  case 1:
55  value = 1.;
56  break;
57  default:
59  }
60  return value;
61  }

◆ chebyshevPoly2nd()

constexpr double MuonCalib::chebyshevPoly2nd ( const unsigned int  order,
const double  x 
)
constexpr

Returns the n-th Chebyshev polynomial of second kind evaluated at x (c.f.

https://en.wikipedia.org/wiki/Chebyshev_polynomials)

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 32 of file ChebychevPoly.h.

32  {
33  double value{0.};
34  switch (order) {
35  case 0:
36  value = 1.;
37  break;
38  case 1:
39  value = 2.*x;
40  break;
41  default:
43  }
44  return value;
45  }

◆ chebyshevPoly2nd2Prime()

constexpr double MuonCalib::chebyshevPoly2nd2Prime ( const unsigned int  order,
const double  x 
)
constexpr

Returns the second derivative of the n-th Chebycheb polynomial of the first second kind.

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 95 of file ChebychevPoly.h.

95  {
96  double value{0.};
97  switch (order) {
98  case 0:
99  case 1:
100  break;
101  default:
103  }
104  return value;
105  }

◆ chebyshevPoly2ndPrime()

constexpr double MuonCalib::chebyshevPoly2ndPrime ( const unsigned int  order,
const double  x 
)
constexpr

Returns the first derivative of the n-th Chebycheb polynomial of the first second kind.

Parameters
orderof the polynomial to evalue
xPlace at which the polynomial is evaluated

Definition at line 65 of file ChebychevPoly.h.

65  {
66  double value{0.};
67  switch (order) {
68  case 0:
69  break;
70  case 1:
71  value = 2.;
72  break;
73  default:
75  }
76  return value;
77  }

◆ clearall()

template<typename T >
void MuonCalib::clearall ( T &  container)
inline

Definition at line 83 of file MultilayerRtDifference.cxx.

83  {
84  typename T::iterator it = container.begin();
85  for (; it != container.end(); ++it) {
86  delete *it;
87  *it = NULL;
88  }
89  }

◆ factorial()

constexpr unsigned long MuonCalib::factorial ( const int  n)
constexpr

Evaluated the n-th factorial at compile time.

Definition at line 51 of file LegendrePoly.h.

51  {
52  if (n > 1) {
53  unsigned long f = n*factorial(n-1);
54  return f;
55  } else {
56  return 1;
57  }
58  }

◆ fetchDataPoints() [1/2]

std::vector< SamplePoint > MuonCalib::fetchDataPoints ( const IRtRelation rtRel,
const double  relUnc 
)

Constructs a list of sample points from the rt-relation.

The step-wdith between two points is taken from the rtRel bin width method and each point has the same uncertainty of 1 assigned

Parameters
rtRelReference of the rtRelation to transform to points.

Definition at line 17 of file SamplePointUtils.cxx.

17  {
18  assert(relUnc >0);
19  std::vector<SamplePoint> points{};
20  const double stepWidth = rtRel.tBinWidth();
21  double time = rtRel.tLower();
22  while (time <= rtRel.tUpper()){
23  const double r = rtRel.radius(time);
24  points.emplace_back(time, r, relUnc);
25  time+=stepWidth;
26  }
27  return points;
28  }

◆ fetchDataPoints() [2/2]

std::vector< SamplePoint > MuonCalib::fetchDataPoints ( const IRtRelation rtRel,
const IRtResolution resoFunc 
)

Constructs a list of sample points from the rt-relation.

The step-wdith between two points is taken from the rtRel bin width method and each point is weighted with the relative resolution

Parameters
rtRelReference of the rtRelation to transform to points.
reoReference to the r-t resolution function

Definition at line 29 of file SamplePointUtils.cxx.

29  {
30  std::vector<SamplePoint> points{};
31  const double stepWidth = rtRel.tBinWidth();
32  double time = rtRel.tLower();
33  while (time <= rtRel.tUpper()){
34  points.emplace_back(time,rtRel.radius(time), reso.resolution(time));
35  time+=stepWidth;
36  }
37  return points;
38  }

◆ fetchResolution()

std::vector< SamplePoint > MuonCalib::fetchResolution ( const std::vector< SamplePoint > &  points,
const double  uncert 
)

Creates a new vector of sample points where the x2 is assigned to the uncertainty and the uncertainty is replaced by a constant value.

Parameters
points: List of data points to transform
uncertUncertainty to assign instead

Definition at line 48 of file SamplePointUtils.cxx.

49  {
50  std::vector<SamplePoint> outPoints{};
51  outPoints.reserve(points.size());
52  for (const SamplePoint& point: points) {
53  outPoints.emplace_back(point.x1(),point.error(), uncert);
54  }
55  return outPoints;
56  }

◆ get_group_id()

unsigned int MuonCalib::get_group_id ( const MuonFixedId id,
const MdtRelativeTubeT0::TubeGroup grp 
)
inline

Definition at line 63 of file MdtRelativeTubeT0.cxx.

63  {
64  switch (grp) {
65  case MdtRelativeTubeT0::CHAMBER: return id.mdtChamberId().getIdInt(); break;
66  case MdtRelativeTubeT0::MULTILAYER: return id.mdtMultilayerId().getIdInt(); break;
67  case MdtRelativeTubeT0::LAYER: return 4 * (id.mdtMultilayer() - 1) + (id.mdtTubeLayer() - 1); break;
68  case MdtRelativeTubeT0::MEZZ_CARD: return id.mdtMezzanine(); break;
69  case MdtRelativeTubeT0::UNKNOWN: return 0;
70  }
71  return 0;
72  }

◆ getTLSRandomGen()

TRandom3* MuonCalib::getTLSRandomGen ( )

Definition at line 22 of file T0MTHistos.cxx.

23  {
24  static boost::thread_specific_ptr<TRandom3> rnd ATLAS_THREAD_SAFE;
25  TRandom3* random = rnd.get();
26  if (!random) {
27  random = new TRandom3();
28  rnd.reset(random);
29  }
30  return random;
31  }

◆ interval()

std::pair< double, double > MuonCalib::interval ( const std::vector< SamplePoint > &  points)

Returns the interval covered by the sample points.

Definition at line 92 of file SamplePointUtils.cxx.

92  {
94  for (const SamplePoint& point: points) {
95  min = std::min(min, point.x1());
96  max = std::max(max, point.x1());
97  }
98  return std::make_pair(min, max);
99  }

◆ legendreDeriv()

constexpr double MuonCalib::legendreDeriv ( const unsigned  l,
const unsigned  d,
const double  x 
)
constexpr

Evaluates the n-th derivative of the l-th Legendre polynomial.

Parameters
xPoint of evaluation [-1;1]
lOrder of the Legendre polynomial
dOrder of the derivative

Definition at line 198 of file LegendrePoly.h.

198  {
199  switch (d) {
200  case 0:
201  return legendrePoly(l,x);
202  break;
203  DERIVORDERSWITCH(l,1,x)
204  DERIVORDERSWITCH(l,2,x)
205  DERIVORDERSWITCH(l,3,x)
206  DERIVORDERSWITCH(l,4,x)
207  DERIVORDERSWITCH(l,5,x)
208  default:
209  return Legendre::derivativeSum(l, d, x);
210  }
211  return 0.;
212  }

◆ legendrePoly()

constexpr double MuonCalib::legendrePoly ( const unsigned  l,
const double  x 
)
constexpr

Calculates the legendre polynomial of rank l at x.

Parameters
lOrder of the legendre polynomial
xPoint of evaluation [-1;1]

Definition at line 171 of file LegendrePoly.h.

171  {
172  switch (l) {
173  POLYSWITCH( 0, x);
174  POLYSWITCH( 1, x);
175  POLYSWITCH( 2, x);
176  POLYSWITCH( 3, x);
177  POLYSWITCH( 4, x);
178  POLYSWITCH( 5, x);
179  POLYSWITCH( 6, x);
180  POLYSWITCH( 7, x);
181  POLYSWITCH( 8, x);
182  POLYSWITCH( 9, x);
183  POLYSWITCH(10, x);
184  POLYSWITCH(11, x);
185  POLYSWITCH(12, x);
186  POLYSWITCH(13, x);
187  POLYSWITCH(14, x);
188  POLYSWITCH(15, x);
189  POLYSWITCH(16, x);
190  default:
191  return Legendre::polySum(l, x);
192  }
193  }

◆ mapToUnitInterval()

double MuonCalib::mapToUnitInterval ( const double  x,
const double  lowerEdge,
const double  upperEdge 
)
inline

Maps the number x which is in [lowEdge;upperEdge] to the interval [-1;1].

Parameters
lowerEdgeLower edge of the

Definition at line 12 of file UtilFunc.h.

12  {
13  return 2. * (x - 0.5 * (upperEdge + lowerEdge)) / (upperEdge - lowerEdge);
14  }

◆ minMax()

std::pair< double, double > MuonCalib::minMax ( const std::vector< SamplePoint > &  points)

Returns the minimum & maximum values covered by the sample points.

Definition at line 84 of file SamplePointUtils.cxx.

84  {
86  for (const SamplePoint& point: points) {
87  min = std::min(min, point.x2());
88  max = std::max(max, point.x2());
89  }
90  return std::make_pair(min,max);
91  }

◆ mt_t0_fermi()

Double_t MuonCalib::mt_t0_fermi ( Double_t *  x,
Double_t *  par 
)
inline

The fermi function to be fitted at the rising edge of the spectrum.

Definition at line 34 of file T0MTHistos.cxx.

34  {
35  // more convenient parameters
36  const Double_t &t(x[0]);
37  const Double_t &t_0(par[T0MTHistos::T0_PAR_NR_T0]), &T(par[T0MTHistos::T0_PAR_NR_T]), &back(par[T0MTHistos::T0_PAR_NR_BACK]),
38  &A(par[T0MTHistos::T0_PAR_NR_A]);
39  // the formula
40  return (back + A / (1 + std::exp(-(t - t_0) / T)));
41  }

◆ mt_tmax_fermi()

Double_t MuonCalib::mt_tmax_fermi ( Double_t *  x,
Double_t *  par 
)
inline

The fermi function to be fitted at the trailing slope of the spectrum.

Definition at line 44 of file T0MTHistos.cxx.

44  {
45  // more convenient parameters
46  Double_t &t(x[0]);
47  Double_t &t_max(par[T0MTHistos::TMAX_PAR_NR_TMAX]), &T(par[T0MTHistos::TMAX_PAR_NR_T]), &back(par[T0MTHistos::TMAX_PAR_NR_BACK]),
48  &a(par[T0MTHistos::TMAX_PAR_NR_A]), &b(par[T0MTHistos::TMAX_PAR_NR_B]), &t_0(par[T0MTHistos::TMAX_PAR_NR_T0]);
49  // the formula
50  return (back + (std::exp(a + b * (t - t_0))) / (1 + std::exp((t - t_max) / T)));
51  }

◆ MultilayerRtDifference_ScaleFunction()

Double_t MuonCalib::MultilayerRtDifference_ScaleFunction ( Double_t *  x,
Double_t *  par 
)

Definition at line 35 of file MultilayerRtDifference.cxx.

35 { return par[0] * RtScalePolynomial(x[0]); }

◆ myexp()

Double_t MuonCalib::myexp ( Double_t *  x,
Double_t *  p 
)
inline

Definition at line 18 of file MTTmaxPatternRecognition.cxx.

18 { return std::exp(p[0] + p[1] * (x[0] - p[3])) + p[2]; }

◆ normalizeDomain()

std::vector< SamplePoint > MuonCalib::normalizeDomain ( const std::vector< SamplePoint > &  dataPoints)

Normalizes the domain of the samples points to the interval -1 to 1.

Definition at line 76 of file SamplePointUtils.cxx.

76  {
77  const auto [minX, maxX] = interval(dataPoints);
78  std::vector<SamplePoint> normedPoints{dataPoints};
79  for (unsigned k = 0; k < dataPoints.size(); ++k) {
80  normedPoints[k].set_x1(mapToUnitInterval(normedPoints[k].x1(), minX, maxX));
81  }
82  return normedPoints;
83  }

◆ OnlineToOffline()

MuonFixedId MuonCalib::OnlineToOffline ( const std::string &  online_id)

Definition at line 13 of file OfflineOnlineIdConversion.cxx.

14  {
15  MuonFixedId ret(0), invalid;
16  ret.set_mdt();
17 //minimum size of idenifier is 7
18  if (online_id.size()!=7 && online_id.size()!=9)
19  {
20  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
21  log<<MSG::WARNING<<"Wrong length for online_id="<<online_id<<endmsg;
22  return invalid;
23  }
24 //check for A/C side
25  bool c_side(false);
26  if(online_id[4]!='A' && online_id[4]!='C' && online_id[4]!='B')
27  {
28  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
29  log<<MSG::WARNING<<"Invalid side for online_id="<<online_id<<endmsg;
30  return invalid;
31  }
32  if(online_id[4]=='C')
33  {
34  c_side=true;
35  }
36 //set station name
37  std::string station_nm_string(online_id, 0, 3);
38  int station_mm = MuonFixedId::stationStringToFixedStationNumber(station_nm_string);
39  if (station_mm<0)
40  {
41  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
42  log<<MSG::WARNING<<"Invalid station name for online_id="<<online_id<<endmsg;
43  return invalid;
44  }
45 //set eta
46  ret.setStationName(station_mm);
47  char eta_str[2];
48  char *endptr;
49  eta_str[0]=online_id[3];
50  eta_str[1]='\0';
51  long int eta=strtol(eta_str, &endptr, 10);
52  if(endptr!=&(eta_str[1]))
53  {
54  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
55  log<<MSG::WARNING<<"eta is not a number for online_id="<<online_id<<endmsg;
56  return invalid;
57  }
58 //set phi
59  char phi_str[3];
60  phi_str[0]=online_id[5];
61  phi_str[1]=online_id[6];
62  phi_str[2]='\0';
63  long int phi=strtol(phi_str, &endptr, 10);
64  if(endptr!=&(phi_str[2]))
65  {
66  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
67  log<<MSG::WARNING<<"phi is not a number for online_id="<<online_id<<endmsg;
68  return invalid;
69  }
70 //treat special cases
71  if(phi==13 && eta>3 && station_nm_string=="BML")
72  {
73  eta--;
74  }
75  if(station_nm_string=="BOF")
76  eta=(eta+1)/2;
77  else if(station_nm_string=="BOG")
78  eta/=2;
79  else
80  {
81  if((phi==1 || phi==9) && station_nm_string=="EIL")
82  {
83  if(eta==5) eta=4;
84  else if(eta==4) eta=5;
85  }
86  if(phi==5 && station_nm_string=="EEL") eta=1;
87  }
88 //convert online to offline phi
89  if(station_nm_string[2]=='L' || station_nm_string[2]=='M' || station_nm_string[2]=='R')
90  {
91  phi++;
92  }
93  phi/=2;
94  ret.setStationEta(c_side?(eta*-1):eta);
95  ret.setStationPhi(phi);
96 //set multilayer id if present
97  if(online_id.size()==9)
98  {
99  switch(online_id[8])
100  {
101  case '1':
102  ret.setMdtMultilayer(1);
103  break;
104  case '2':
105  ret.setMdtMultilayer(2);
106  break;
107  default:
108  MsgStream log(Athena::getMessageSvc(),"OnlineToOffline");
109  log<<MSG::WARNING<<"Multilayer is neither 1 or 2 for online_id="<<online_id<<endmsg;
110  return invalid;
111  }
112  return ret.mdtMultilayerId();
113  }
114  return ret.mdtChamberId();
115  }

◆ operator<<() [1/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  os,
const MuonCalib::MuonFixedId id 
)
inline

Definition at line 1200 of file MuonFixedId.h.

1200  {
1201  return id.dump( os );
1202 }

◆ operator<<() [2/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  os,
const MuonCalib::MuonFixedLongId id 
)
inline

Definition at line 1577 of file MuonFixedLongId.h.

1577  {
1578  return id.dump( os );
1579 }

◆ operator<<() [3/9]

std::ostream & MuonCalib::operator<< ( std::ostream &  os,
const RtData_t_r_reso data 
)

Definition at line 99 of file RtData_t_r_reso.cxx.

99 { return data.write(os); }

◆ operator<<() [4/9]

std::ostream & MuonCalib::operator<< ( std::ostream &  os,
const RtFullInfo data 
)

Definition at line 13 of file RtFullInfo.cxx.

13 { return data.write(os); }

◆ operator<<() [5/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  s,
const CscCondParType type 
)
inline

Definition at line 71 of file CscCondParType.h.

71  {
72  switch(type) {
73 
74  case CscCondParType::GAIN :
75  return s << "GAIN";
76  case CscCondParType::PULSE_SLOPE :
77  return s << "PULSE_SLOPE";
78  case CscCondParType::RUN_SLOPE :
79  return s << "RUN_SLOPE";
80  case CscCondParType::PED :
81  return s << "PED";
82  case CscCondParType::NOISE :
83  return s << "NOISE";
84  case CscCondParType::THOLD :
85  return s << "THOLD";
86  case CscCondParType::PEAKT :
87  return s << "PEAKT";
88  case CscCondParType::WIDTH :
89  return s << "WIDTH";
90  case CscCondParType::SAT1 :
91  return s << "SAT1";
92  case CscCondParType::SAT2 :
93  return s << "SAT2";
94  case CscCondParType::PEAKC :
95  return s << "PEAKC";
96  case CscCondParType::SAMPLE_TIME_RATIO :
97  return s << "SAMPLE_TIME_RATIO";
98  case CscCondParType::OCCUPANCY :
99  return s << "OCCUPANCY";
100  case CscCondParType::STAT :
101  return s << "STAT";
102  case CscCondParType::HOT_STAT :
103  return s << "HOT_STAT";
104  case CscCondParType::DEAD_STAT :
105  return s << "DEAD_STAT";
106  case CscCondParType::PULSE_STAT :
107  return s << "PULSE_STAT";
108  case CscCondParType::SAT_STAT :
109  return s << "SAT_STAT";
110  default:
111  return s << "UNKNOWN";
112  };
113  }

◆ operator<<() [6/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  s,
const RpcCondParType type 
)
inline

Definition at line 60 of file RpcCondParType.h.

60  {
61  switch(type) {
62 
63  case RpcCondParType::EFF :
64  return s << "EFF";
65  case RpcCondParType::ERREFF :
66  return s << "ERREFF";
67  case RpcCondParType::RES1 :
68  return s << "RES1";
69  case RpcCondParType::RES2 :
70  return s << "RES2";
71  case RpcCondParType::RESX :
72  return s << "RESX";
73  case RpcCondParType::ERRRES1 :
74  return s << "ERRRES1";
75  case RpcCondParType::ERRRES2 :
76  return s << "ERRRES2";
77  case RpcCondParType::ERRRESX :
78  return s << "ERRRESX";
80  return s << "TIME";
81  case RpcCondParType::ERRTIME :
82  return s << "ERRTIME";
83  case RpcCondParType::NOISE :
84  return s << "NOISE";
85  case RpcCondParType::NOISEC :
86  return s << "NOISEC";
87  case RpcCondParType::ERRNOISE :
88  return s << "ERRNOISE";
89  case RpcCondParType::ERRNOISEC :
90  return s << "ERRNOISEC";
91  default:
92  return s << "UNKNOWN";
93  };
94  }

◆ operator<<() [7/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  stream,
const CscCalibHitBase hit 
)

Definition at line 26 of file CscCalibHitBase.cxx.

26 { return hit.dump(stream); }

◆ operator<<() [8/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  stream,
const RpcCalibHitBase hit 
)

Definition at line 61 of file RpcCalibHitBase.cxx.

◆ operator<<() [9/9]

std::ostream& MuonCalib::operator<< ( std::ostream &  stream,
const TgcCalibHitBase hit 
)

Definition at line 70 of file TgcCalibHitBase.cxx.

◆ operator>>() [1/2]

std::istream & MuonCalib::operator>> ( std::istream &  is,
RtData_t_r_reso data 
)

Definition at line 97 of file RtData_t_r_reso.cxx.

97 { return data.read(is); }

◆ operator>>() [2/2]

std::istream & MuonCalib::operator>> ( std::istream &  is,
RtFullInfo data 
)

Definition at line 11 of file RtFullInfo.cxx.

11 { return data.read(is); }

◆ pow() [1/2]

template<int k>
constexpr double MuonCalib::pow ( const double  x)
constexpr

Calculate the power of a variable x at compile time.

Definition at line 65 of file LegendrePoly.h.

65  {
66  if constexpr (k < 0) {
67  return pow<-k>(1./x);
68  } else if constexpr(k > 0) {
69  return x*pow<k-1>(x);
70  } else {
71  return 1.;
72  }
73  }

◆ pow() [2/2]

constexpr double MuonCalib::pow ( double  x,
int  power 
)
constexpr

Calculate the power of a variable at run time.

Definition at line 75 of file LegendrePoly.h.

75  {
76  double res{1.};
77  if (power < 0) {
78  x = 1./x;
79  power = - power;
80  }
81  for (int iter = 1; iter<=power; ++iter) {
82  res*=x;
83  }
84  return res;
85  }

◆ resoFromRadius()

std::vector< SamplePoint > MuonCalib::resoFromRadius ( const std::vector< SamplePoint > &  points,
const double  uncert 
)

Creates a new vector of sample points where the x2 coordinate becomes the x1 coordinate and the resolution becomes x2.

Each point has the same uncertainty assigned

Parameters
pointsList of rt- sample points of interest
uncertUncertainty oon each point

Definition at line 39 of file SamplePointUtils.cxx.

40  {
41  std::vector<SamplePoint> outPoints{};
42  outPoints.reserve(points.size());
43  for (const SamplePoint& point: points) {
44  outPoints.emplace_back(point.x2(),point.error(), uncert);
45  }
46  return outPoints;
47  }

◆ RtScaleFunction()

float MuonCalib::RtScaleFunction ( const float  t,
const bool  ml2,
const IRtRelation rtrelation 
)

Definition at line 20 of file RtScaleFunction.cxx.

20  {
21  if (t < rt.tLower() || !rt.hasTmaxDiff()) return 0.0;
22  // apply linear scale and calculate r as input to the polinomial
23  float rt_length = rt.tUpper() - rt.tLower();
24  float corr_val = (t / rt_length) * rt.GetTmaxDiff() * (ml2 ? -0.5 : +0.5);
25  float newt = t - corr_val;
26  // keep linear scale for t>t_max
27  if (newt > rt.tUpper()) return corr_val;
28 
29  // calculate polynomial
30  float p = 0;
31  float r = rt.radius(newt);
32  for (int i = 5; i >= 0; i--) { p = RtScaleFunction_p[i] + r * p; }
33  return p * rt.GetTmaxDiff() * (ml2 ? -0.5 : +0.5);
34  }

◆ RtScalePolynomial()

float MuonCalib::RtScalePolynomial ( const float  r)

Definition at line 13 of file RtScaleFunction.cxx.

13  {
14  // calculate polynomial
15  float p = 0;
16  for (int i = 5; i >= 0; i--) { p = RtScaleFunction_p[i] + r * p; }
17  return p;
18  }

◆ swapCoordinates()

std::vector< SamplePoint > MuonCalib::swapCoordinates ( const std::vector< SamplePoint > &  points,
const IRtRelation rtRel 
)

Creates a new vector of samples points with x1 exchanged by x2 and vice-versa.

Each point has the same uncertainty assigned.

Parameters
pointsList of rt- sample points of interest
rtRelReference to the rt-relation to calculate each point's uncertainty.

Definition at line 59 of file SamplePointUtils.cxx.

60  {
61 
62  std::vector<SamplePoint> outPoints{};
63  outPoints.reserve(inPoints.size());
64  /*
65  * Let's suppose that dY = f^{\prime} dX
66  */
67  for (const SamplePoint& in : inPoints) {
68  const double fPrime = std::abs(rtRel.driftVelocity(in.x1()));
69  outPoints.emplace_back(in.x2(), in.x1(), in.error() / (fPrime > 0 ? fPrime : 1.));
70  }
71  std::ranges::sort(outPoints, [](const SamplePoint& a, const SamplePoint& b) {
72  return a.x1() < b.x1();
73  });
74  return outPoints;
75  }

◆ TimeSpectrum_func()

Double_t MuonCalib::TimeSpectrum_func ( Double_t *  xx,
Double_t *  par 
)
inline

Definition at line 24 of file T0CalibrationClassic.cxx.

24  {
25  Double_t &x(xx[0]);
26  return par[0] + (par[1] * (1 + par[2] * std::exp(-(x - par[4]) / par[3]))) /
27  ((1 + std::exp((-x + par[4]) / par[6])) * (1 + std::exp((x - par[5]) / par[7])));
28  }

◆ unitIntervalPrime()

double MuonCalib::unitIntervalPrime ( const double  lowerEdge,
const double  upperEdge 
)
inline

Definition at line 15 of file UtilFunc.h.

15  {
16  return 2. / (upperEdge - lowerEdge);
17  }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
createDCubeDigitHistograms.mdtTubeLayer
mdtTubeLayer
Definition: createDCubeDigitHistograms.py:111
MuonCalib::L1_MU0_HIGH_RPC
@ L1_MU0_HIGH_RPC
Definition: MuonCalibTriggerInfo.h:25
python.StoreID.UNKNOWN
int UNKNOWN
Definition: StoreID.py:16
beamspotman.r
def r
Definition: beamspotman.py:676
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
MuonCalib::factorial
constexpr unsigned long factorial(const int n)
Evaluated the n-th factorial at compile time.
Definition: LegendrePoly.h:51
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
hist_file_dump.d
d
Definition: hist_file_dump.py:143
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
MuonCalib::L1_XE20
@ L1_XE20
Definition: MuonCalibTriggerInfo.h:20
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
MuonCalib::L1_MU6_TGC
@ L1_MU6_TGC
Definition: MuonCalibTriggerInfo.h:28
TIME
#define TIME(name)
Definition: FPGATrackSimDataPrepAlg.cxx:36
skel.it
it
Definition: skel.GENtoEVGEN.py:401
M_PI
#define M_PI
Definition: ActiveFraction.h:11
athena.value
value
Definition: athena.py:124
MuonCalib::RtScalePolynomial
float RtScalePolynomial(const float r)
Definition: RtScaleFunction.cxx:13
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
MuonCalib::Legendre::polySum
constexpr double polySum(const unsigned l, const double x)
Assembles the legendre polynomial at run-time.
Definition: LegendrePoly.h:145
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonCalib::chebyshevPoly2nd2Prime
constexpr double chebyshevPoly2nd2Prime(const unsigned int order, const double x)
Returns the second derivative of the n-th Chebycheb polynomial of the first second kind.
Definition: ChebychevPoly.h:95
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonCalib::chebyshevPoly1st2Prime
constexpr double chebyshevPoly1st2Prime(const unsigned int order, const double x)
Returns the second derivative of the n-th Chebycheb polynomial of the first kind.
Definition: ChebychevPoly.h:81
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
MuonCalib::UNKNOWNTRIGGERTYPE
@ UNKNOWNTRIGGERTYPE
Definition: MuonCalibTriggerInfo.h:30
A
MuonCalib::L1_MBTS_2_COMM
@ L1_MBTS_2_COMM
Definition: MuonCalibTriggerInfo.h:22
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
lumiFormat.i
int i
Definition: lumiFormat.py:85
MuonCalib::L1_J5
@ L1_J5
Definition: MuonCalibTriggerInfo.h:19
beamspotman.n
n
Definition: beamspotman.py:731
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
mc.order
order
Configure Herwig7.
Definition: mc.Herwig7_Dijet.py:12
getLatestRuns.interval
interval
Definition: getLatestRuns.py:24
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:11
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:525
MuonCalib::chebyshevPoly2ndPrime
constexpr double chebyshevPoly2ndPrime(const unsigned int order, const double x)
Returns the first derivative of the n-th Chebycheb polynomial of the first second kind.
Definition: ChebychevPoly.h:65
hist_file_dump.f
f
Definition: hist_file_dump.py:141
MuonCalib::L1_EM3
@ L1_EM3
Definition: MuonCalibTriggerInfo.h:17
MuonCalib::B_FIELD_CORRECTIONS_APPLIED
@ B_FIELD_CORRECTIONS_APPLIED
Definition: MdtCalibCreationFlags.h:10
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
DERIVORDERSWITCH
#define DERIVORDERSWITCH(l, d, x)
Definition: LegendrePoly.h:21
MuonCalib::L1_MU0_TGC_HALO
@ L1_MU0_TGC_HALO
Definition: MuonCalibTriggerInfo.h:26
MuonCalib::chebyshevPoly1st
constexpr double chebyshevPoly1st(const unsigned int order, const double x)
Returns the n-th Chebyshev polynomial of first kind evaluated at x (c.f.
Definition: ChebychevPoly.h:13
MuonCalib::TIME_SLEWING_CORRECTION_APPLIED
@ TIME_SLEWING_CORRECTION_APPLIED
Definition: MdtCalibCreationFlags.h:10
MuonCalib::legendrePoly
constexpr double legendrePoly(const unsigned l, const double x)
Calculates the legendre polynomial of rank l at x.
Definition: LegendrePoly.h:171
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
POLYSWITCH
#define POLYSWITCH(order, x)
Definition: LegendrePoly.h:9
a
TList * a
Definition: liststreamerinfos.cxx:10
MuonCalib::L1_TAU5
@ L1_TAU5
Definition: MuonCalibTriggerInfo.h:18
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MuonCalib::L1_MBTS_1_COMM
@ L1_MBTS_1_COMM
Definition: MuonCalibTriggerInfo.h:21
MuonCalib::L1_MU0_LOW_RPC
@ L1_MU0_LOW_RPC
Definition: MuonCalibTriggerInfo.h:23
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
MuonCalib::NUMBEROFKNOWNTRIGGERS
@ NUMBEROFKNOWNTRIGGERS
Definition: MuonCalibTriggerInfo.h:29
MuonCalib::mapToUnitInterval
double mapToUnitInterval(const double x, const double lowerEdge, const double upperEdge)
Maps the number x which is in [lowEdge;upperEdge] to the interval [-1;1].
Definition: UtilFunc.h:12
MuonCalib::chebyshevPoly2nd
constexpr double chebyshevPoly2nd(const unsigned int order, const double x)
Returns the n-th Chebyshev polynomial of second kind evaluated at x (c.f.
Definition: ChebychevPoly.h:32
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
MuonCalib::Legendre::derivativeSum
constexpr double derivativeSum(const unsigned l, const unsigned d, const double x)
Assembles the n-th derivative of a legendre polynomial at run time.
Definition: LegendrePoly.h:136
TauAnalysisTools::STAT
@ STAT
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:90
MuonCalib::chebyshevPoly1stPrime
constexpr double chebyshevPoly1stPrime(const unsigned int order, const double x)
Returns the first derivative of the n-th Chebycheb polynomial of the first kind.
Definition: ChebychevPoly.h:49
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
MuonCalib::L1_MU6_RPC
@ L1_MU6_RPC
Definition: MuonCalibTriggerInfo.h:24
MuonCalib::L1_MU0_TGC
@ L1_MU0_TGC
Definition: MuonCalibTriggerInfo.h:27
jobOptions.points
points
Definition: jobOptions.GenevaPy8_Zmumu.py:97
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
fitman.k
k
Definition: fitman.py:528