ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
MuonID
MuonIDAnalysis
MuonMomentumCorrections
Root
CalibInitializer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MuonMomentumCorrections/CalibInitializer.h
"
6
7
#include <cmath>
8
#include <stdexcept>
9
10
namespace
MCP
{
11
namespace
CalibInitializer
{
12
13
std::map<SagittaCorrection, std::shared_ptr<CalibContainer>>
createSagittaCorrMap
(
DataYear
dataYear,
TrackType
type
,
const
std::string& recommendationPath,
const
std::string& correctionType)
14
{
15
std::map<SagittaCorrection, std::shared_ptr<CalibContainer>> calibMap;
16
17
std::string path =
"MuonMomentumCorrections/"
+ recommendationPath +
"/sagittaBias/"
+
MCP::toString
(dataYear) +
"/"
;
18
19
std::string trackType =
MCP::toString
(
type
);
20
21
if
(correctionType ==
"data"
)
22
{
23
path += trackType +
"_data.root"
;
24
calibMap[
SagittaCorrection::Nominal
] = std::make_shared<CalibContainer>(path,
"p"
+ trackType +
"_0"
);
25
calibMap[
SagittaCorrection::Datastat__1up
] = std::make_shared<CalibContainer>(path,
"p"
+ trackType +
"_statError"
);
26
calibMap[
SagittaCorrection::Residual__1up
] = std::make_shared<CalibContainer>(path,
"p"
+ trackType +
"_1"
);
27
calibMap[
SagittaCorrection::PtExtra__1up
] = std::make_shared<CalibContainer>(path,
"p"
+ trackType +
"_ptExtra"
);
28
}
29
else
if
(correctionType ==
"mc"
)
30
{
31
path += trackType +
"_mc.root"
;
32
calibMap[
SagittaCorrection::Nominal
] = std::make_shared<CalibContainer>(path,
"p"
+ trackType +
"_0"
);
33
}
34
else
35
{
36
throw
std::invalid_argument(
"Cannot recognize saggita correction type: "
+ correctionType);
37
}
38
39
return
calibMap;
40
}
41
std::map<ScaleResCorrection, std::shared_ptr<CalibContainer>>
createScaleResCorrMap
(
DataYear
dataYear,
TrackType
type
,
const
std::string& recommendationPath,
ScaleSmearParam
param)
42
{
43
std::map<ScaleResCorrection, std::shared_ptr<CalibContainer>> calibMap;
44
45
46
std::string path =
"MuonMomentumCorrections/"
+ recommendationPath +
"/ScaleAndSmear/"
+
MCP::toString
(dataYear) +
"/"
;
47
48
std::string trackType =
MCP::toString
(
type
);
49
path += trackType +
".root"
;
50
51
std::string correctionType =
MCP::toString
(param);
52
53
calibMap[
ScaleResCorrection::Nominal
] = std::make_shared<CalibContainer>(path, correctionType +
"_nom"
);
54
calibMap[
ScaleResCorrection::SystErr__1up
] = std::make_shared<CalibContainer>(path, correctionType +
"_upErr"
);
55
calibMap[
ScaleResCorrection::SystErr__1down
] = std::make_shared<CalibContainer>(path, correctionType +
"_downErr"
);
56
57
return
calibMap;
58
}
59
60
std::map<MST_Categories, std::shared_ptr<CalibContainer>>
createHighpTCorrMap
(
DataYear
dataYear,
const
std::string&
type
,
const
std::string& recommendationPath,
const
std::string& param)
61
{
62
std::map<MST_Categories, std::shared_ptr<CalibContainer>> calibMap;
63
std::string path =
"MuonMomentumCorrections/"
+ recommendationPath +
"/ScaleAndSmear/"
+
MCP::toString
(dataYear) +
"/ExtraHighPt_"
+
type
+
"_muons.root"
;
64
65
calibMap[
MST_Categories::Zero
] = std::make_shared<CalibContainer>(path, param +
"_cat0"
);
66
calibMap[
MST_Categories::One
] = std::make_shared<CalibContainer>(path, param +
"-cat1"
);
67
calibMap[
MST_Categories::Two
] = std::make_shared<CalibContainer>(path, param +
"-cat2"
);
68
calibMap[
MST_Categories::Three
] = std::make_shared<CalibContainer>(path, param +
"-cat3"
);
69
calibMap[
MST_Categories::Four
] = std::make_shared<CalibContainer>(path, param +
"-cat4"
);
70
71
return
calibMap;
72
}
73
74
std::map<ExpectedResParam, std::shared_ptr<CalibContainer>>
createExpectedResMap
(
DataYear
dataYear,
TrackType
type
,
const
std::string& recommendationPath)
75
{
76
std::map<ExpectedResParam, std::shared_ptr<CalibContainer>> calibMap;
77
std::string path =
"MuonMomentumCorrections/"
+ recommendationPath +
"/ScaleAndSmear/"
+
MCP::toString
(dataYear) +
"/MC_values_muons.root"
;
78
79
if
(
type
==
TrackType::ID
)
80
{
81
calibMap[
ExpectedResParam::r1
] = std::make_shared<CalibContainer>(path,
"r1_ID_MC"
);
82
calibMap[
ExpectedResParam::r2
] = std::make_shared<CalibContainer>(path,
"r2_ID_MC"
);
83
calibMap[
ExpectedResParam::r2tan2
] = std::make_shared<CalibContainer>(path,
"r2_ID_TAN2_MC"
);
84
}
85
else
if
(
type
==
TrackType::ME
)
86
{
87
calibMap[
ExpectedResParam::r0
] = std::make_shared<CalibContainer>(path,
"r0_MS_MC"
);
88
calibMap[
ExpectedResParam::r1
] = std::make_shared<CalibContainer>(path,
"r1_MS_MC"
);
89
calibMap[
ExpectedResParam::r2
] = std::make_shared<CalibContainer>(path,
"r2_MS_MC"
);
90
}
91
92
return
calibMap;
93
}
94
95
96
97
98
}
99
}
CalibInitializer.h
MCP::CalibInitializer
Definition
CalibInitializer.h:16
MCP::CalibInitializer::createHighpTCorrMap
std::map< MST_Categories, std::shared_ptr< CalibContainer > > createHighpTCorrMap(DataYear dataYear, const std::string &type, const std::string &recommendationPath, const std::string ¶m)
Definition
CalibInitializer.cxx:60
MCP::CalibInitializer::createExpectedResMap
std::map< ExpectedResParam, std::shared_ptr< CalibContainer > > createExpectedResMap(DataYear dataYear, TrackType type, const std::string &recommendationPath)
Definition
CalibInitializer.cxx:74
MCP::CalibInitializer::createScaleResCorrMap
std::map< ScaleResCorrection, std::shared_ptr< CalibContainer > > createScaleResCorrMap(DataYear dataYear, TrackType type, const std::string &recommendationPath, ScaleSmearParam param)
Definition
CalibInitializer.cxx:41
MCP::CalibInitializer::createSagittaCorrMap
std::map< SagittaCorrection, std::shared_ptr< CalibContainer > > createSagittaCorrMap(DataYear dataYear, TrackType type, const std::string &recommendationPath, const std::string &correctionType)
Definition
CalibInitializer.cxx:13
MCP
Definition
CalibContainer.h:18
MCP::toString
std::string toString(TrackType trkType)
Definition
EnumDef.h:39
MCP::DataYear
DataYear
Definition
EnumDef.h:28
MCP::ScaleResCorrection::SystErr__1up
@ SystErr__1up
Definition
EnumDef.h:19
MCP::ScaleResCorrection::Nominal
@ Nominal
Definition
EnumDef.h:19
MCP::ScaleResCorrection::SystErr__1down
@ SystErr__1down
Definition
EnumDef.h:19
MCP::SagittaCorrection::Datastat__1up
@ Datastat__1up
Definition
EnumDef.h:16
MCP::SagittaCorrection::Nominal
@ Nominal
Definition
EnumDef.h:16
MCP::SagittaCorrection::Residual__1up
@ Residual__1up
Definition
EnumDef.h:16
MCP::SagittaCorrection::PtExtra__1up
@ PtExtra__1up
Definition
EnumDef.h:16
MCP::MST_Categories::One
@ One
Definition
EnumDef.h:31
MCP::MST_Categories::Four
@ Four
Definition
EnumDef.h:31
MCP::MST_Categories::Two
@ Two
Definition
EnumDef.h:31
MCP::MST_Categories::Three
@ Three
Definition
EnumDef.h:31
MCP::MST_Categories::Zero
@ Zero
Definition
EnumDef.h:31
MCP::ScaleSmearParam
ScaleSmearParam
Definition
EnumDef.h:22
MCP::TrackType
TrackType
Definition
EnumDef.h:13
MCP::TrackType::ME
@ ME
Definition
EnumDef.h:13
MCP::TrackType::ID
@ ID
Definition
EnumDef.h:13
MCP::ExpectedResParam::r1
@ r1
Definition
EnumDef.h:25
MCP::ExpectedResParam::r2tan2
@ r2tan2
Definition
EnumDef.h:25
MCP::ExpectedResParam::r0
@ r0
Definition
EnumDef.h:25
MCP::ExpectedResParam::r2
@ r2
Definition
EnumDef.h:25
type
Generated on
for ATLAS Offline Software by
1.17.0