ATLAS Offline Software
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
 
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 for a resolution function 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  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  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  TrRelation
 
class  TrRelationLookUp
 
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 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)
 
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 (int n)
 Evaluated the n-th factorial at compile time. More...
 
constexpr unsigned long binomial (unsigned int n, unsigned k)
 Calculates the binomial coefficient at compile time. More...
 
constexpr double legendrePoly (const unsigned int l, const double x)
 
constexpr double legendreDeriv (const unsigned int l, const double x, const unsigned int derivOrder)
 
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.

◆ 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 ( unsigned int  n,
unsigned  k 
)
constexpr

Calculates the binomial coefficient at compile time.

Definition at line 63 of file LegendrePoly.h.

63  {
64  unsigned long b = factorial(n) / (factorial(k) * factorial(n-k));
65  return b;
66  }

◆ 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 ( int  n)
constexpr

Evaluated the n-th factorial at compile time.

Definition at line 54 of file LegendrePoly.h.

54  {
55  if (n > 1) {
56  unsigned long f = n*factorial(n-1);
57  return f;
58  } else {
59  return 1;
60  }
61  }

◆ 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  }

◆ legendreDeriv()

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

Definition at line 150 of file LegendrePoly.h.

152  {
153  double value{0.};
154  switch (derivOrder) {
155  case 0:
156  value = legendrePoly(l,x);
157  break;
158  DERIVORDERSWITCH(l,1,x)
159  DERIVORDERSWITCH(l,2,x)
160  DERIVORDERSWITCH(l,3,x)
161  DERIVORDERSWITCH(l,4,x)
162  DERIVORDERSWITCH(l,5,x)
163  default:
164  break;
165 
166  }
167  return value;
168 
169  }

◆ legendrePoly()

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

Definition at line 125 of file LegendrePoly.h.

125  {
126  double value{0.};
127  switch (l) {
128  POLYSWITCH( 0, x);
129  POLYSWITCH( 1, x);
130  POLYSWITCH( 2, x);
131  POLYSWITCH( 3, x);
132  POLYSWITCH( 4, x);
133  POLYSWITCH( 5, x);
134  POLYSWITCH( 6, x);
135  POLYSWITCH( 7, x);
136  POLYSWITCH( 8, x);
137  POLYSWITCH( 9, x);
138  POLYSWITCH(10, x);
139  POLYSWITCH(11, x);
140  POLYSWITCH(12, x);
141  POLYSWITCH(13, x);
142  POLYSWITCH(14, x);
143  POLYSWITCH(15, x);
144  POLYSWITCH(16, x);
145  default:
146  value = std::legendre(l, x);
147  }
148  return value;
149  }

◆ 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]; }

◆ 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); }

◆ 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  }

◆ 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  }
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
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
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
MuonCalib::L1_XE20
@ L1_XE20
Definition: MuonCalibTriggerInfo.h:20
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:396
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
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
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
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:135
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:24
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
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
MuonCalib::legendrePoly
constexpr double legendrePoly(const unsigned int l, const double x)
Definition: LegendrePoly.h:125
POLYSWITCH
#define POLYSWITCH(order, x)
Definition: LegendrePoly.h:12
a
TList * a
Definition: liststreamerinfos.cxx:10
MuonCalib::L1_TAU5
@ L1_TAU5
Definition: MuonCalibTriggerInfo.h:18
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
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::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
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
MuonCalib::L1_MU6_RPC
@ L1_MU6_RPC
Definition: MuonCalibTriggerInfo.h:24
MuonCalib::L1_MU0_TGC
@ L1_MU0_TGC
Definition: MuonCalibTriggerInfo.h:27
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
fitman.k
k
Definition: fitman.py:528
MuonCalib::factorial
constexpr unsigned long factorial(int n)
Evaluated the n-th factorial at compile time.
Definition: LegendrePoly.h:54